packages feed

amazonka-s3 1.6.1 → 2.0

raw patch · 495 files changed

+64377/−23802 lines, 495 filesdep +case-insensitivedep ~amazonka-coredep ~amazonka-testdep ~basesetup-changedPVP ok

version bump matches the API change (PVP)

Dependencies added: case-insensitive

Dependency ranges changed: amazonka-core, amazonka-test, base, lens, text

API changes (from Hackage documentation)

- Network.AWS.S3: AES256 :: ServerSideEncryption
- Network.AWS.S3: ASNeeded :: QuoteFields
- Network.AWS.S3: AWSKMS :: ServerSideEncryption
- Network.AWS.S3: All :: InventoryIncludedObjectVersions
- Network.AWS.S3: Always :: QuoteFields
- Network.AWS.S3: AmazonCustomerByEmail :: Type
- Network.AWS.S3: BASEnabled :: BucketAccelerateStatus
- Network.AWS.S3: BASSuspended :: BucketAccelerateStatus
- Network.AWS.S3: BAuthenticatedRead :: BucketCannedACL
- Network.AWS.S3: BPrivate :: BucketCannedACL
- Network.AWS.S3: BPublicRead :: BucketCannedACL
- Network.AWS.S3: BPublicReadWrite :: BucketCannedACL
- Network.AWS.S3: BVSEnabled :: BucketVersioningStatus
- Network.AWS.S3: BVSSuspended :: BucketVersioningStatus
- Network.AWS.S3: Beijing :: Region
- Network.AWS.S3: BucketName :: Text -> BucketName
- Network.AWS.S3: BucketOwner :: Payer
- Network.AWS.S3: CSV :: AnalyticsS3ExportFileFormat
- Network.AWS.S3: CTGzip :: CompressionType
- Network.AWS.S3: CTNone :: CompressionType
- Network.AWS.S3: CanonicalUser :: Type
- Network.AWS.S3: Completed :: ReplicationStatus
- Network.AWS.S3: Copy :: TaggingDirective
- Network.AWS.S3: Current :: InventoryIncludedObjectVersions
- Network.AWS.S3: Daily :: InventoryFrequency
- Network.AWS.S3: Destination :: OwnerOverride
- Network.AWS.S3: Disabled :: ReplicationRuleStatus
- Network.AWS.S3: Document :: JSONType
- Network.AWS.S3: ESDisabled :: ExpirationStatus
- Network.AWS.S3: ESEnabled :: ExpirationStatus
- Network.AWS.S3: ETag :: ByteString -> ETag
- Network.AWS.S3: Enabled :: ReplicationRuleStatus
- Network.AWS.S3: Failed :: ReplicationStatus
- Network.AWS.S3: FieldETag :: InventoryOptionalField
- Network.AWS.S3: FieldEncryptionStatus :: InventoryOptionalField
- Network.AWS.S3: FieldIsMultipartUploaded :: InventoryOptionalField
- Network.AWS.S3: FieldLastModifiedDate :: InventoryOptionalField
- Network.AWS.S3: FieldReplicationStatus :: InventoryOptionalField
- Network.AWS.S3: FieldSize :: InventoryOptionalField
- Network.AWS.S3: FieldStorageClass :: InventoryOptionalField
- Network.AWS.S3: Frankfurt :: Region
- Network.AWS.S3: FullControl :: BucketLogsPermission
- Network.AWS.S3: GovCloud :: Region
- Network.AWS.S3: GovCloudFIPS :: Region
- Network.AWS.S3: Group :: Type
- Network.AWS.S3: HTTP :: Protocol
- Network.AWS.S3: HTTPS :: Protocol
- Network.AWS.S3: IFCSV :: InventoryFormat
- Network.AWS.S3: IFOrc :: InventoryFormat
- Network.AWS.S3: Ignore :: FileHeaderInfo
- Network.AWS.S3: Ireland :: Region
- Network.AWS.S3: Lines :: JSONType
- Network.AWS.S3: LocationConstraint :: Region -> LocationConstraint
- Network.AWS.S3: London :: Region
- Network.AWS.S3: MDCopy :: MetadataDirective
- Network.AWS.S3: MDDisabled :: MFADelete
- Network.AWS.S3: MDEnabled :: MFADelete
- Network.AWS.S3: MDReplace :: MetadataDirective
- Network.AWS.S3: MDSDisabled :: MFADeleteStatus
- Network.AWS.S3: MDSEnabled :: MFADeleteStatus
- Network.AWS.S3: Montreal :: Region
- Network.AWS.S3: Mumbai :: Region
- Network.AWS.S3: None :: FileHeaderInfo
- Network.AWS.S3: NorthCalifornia :: Region
- Network.AWS.S3: NorthVirginia :: Region
- Network.AWS.S3: OAWSExecRead :: ObjectCannedACL
- Network.AWS.S3: OAuthenticatedRead :: ObjectCannedACL
- Network.AWS.S3: OBucketOwnerFullControl :: ObjectCannedACL
- Network.AWS.S3: OBucketOwnerRead :: ObjectCannedACL
- Network.AWS.S3: OPrivate :: ObjectCannedACL
- Network.AWS.S3: OPublicRead :: ObjectCannedACL
- Network.AWS.S3: OPublicReadWrite :: ObjectCannedACL
- Network.AWS.S3: OSCGlacier :: ObjectStorageClass
- Network.AWS.S3: OSCReducedRedundancy :: ObjectStorageClass
- Network.AWS.S3: OSCStandard :: ObjectStorageClass
- Network.AWS.S3: OSCStandardIA :: ObjectStorageClass
- Network.AWS.S3: OVSCStandard :: ObjectVersionStorageClass
- Network.AWS.S3: ObjectKey :: Text -> ObjectKey
- Network.AWS.S3: ObjectVersionId :: Text -> ObjectVersionId
- Network.AWS.S3: Ohio :: Region
- Network.AWS.S3: OnezoneIA :: StorageClass
- Network.AWS.S3: Oregon :: Region
- Network.AWS.S3: PFullControl :: Permission
- Network.AWS.S3: PRead :: Permission
- Network.AWS.S3: PReadAcp :: Permission
- Network.AWS.S3: PWrite :: Permission
- Network.AWS.S3: PWriteAcp :: Permission
- Network.AWS.S3: Pending :: ReplicationStatus
- Network.AWS.S3: Prefix :: FilterRuleName
- Network.AWS.S3: RCRequester :: RequestCharged
- Network.AWS.S3: RPRequester :: RequestPayer
- Network.AWS.S3: Read :: BucketLogsPermission
- Network.AWS.S3: ReducedRedundancy :: StorageClass
- Network.AWS.S3: Replace :: TaggingDirective
- Network.AWS.S3: Replica :: ReplicationStatus
- Network.AWS.S3: Requester :: Payer
- Network.AWS.S3: S3ObjectCreated :: Event
- Network.AWS.S3: S3ObjectCreatedCompleteMultipartUpload :: Event
- Network.AWS.S3: S3ObjectCreatedCopy :: Event
- Network.AWS.S3: S3ObjectCreatedPost :: Event
- Network.AWS.S3: S3ObjectCreatedPut :: Event
- Network.AWS.S3: S3ObjectRemoved :: Event
- Network.AWS.S3: S3ObjectRemovedDelete :: Event
- Network.AWS.S3: S3ObjectRemovedDeleteMarkerCreated :: Event
- Network.AWS.S3: S3ReducedRedundancyLostObject :: Event
- Network.AWS.S3: SKEOSDisabled :: SseKMSEncryptedObjectsStatus
- Network.AWS.S3: SKEOSEnabled :: SseKMSEncryptedObjectsStatus
- Network.AWS.S3: SaoPaulo :: Region
- Network.AWS.S3: Select :: RestoreRequestType
- Network.AWS.S3: Seoul :: Region
- Network.AWS.S3: Singapore :: Region
- Network.AWS.S3: Sql :: ExpressionType
- Network.AWS.S3: Standard :: StorageClass
- Network.AWS.S3: StandardIA :: StorageClass
- Network.AWS.S3: Suffix :: FilterRuleName
- Network.AWS.S3: Sydney :: Region
- Network.AWS.S3: TBulk :: Tier
- Network.AWS.S3: TExpedited :: Tier
- Network.AWS.S3: TSCGlacier :: TransitionStorageClass
- Network.AWS.S3: TSCOnezoneIA :: TransitionStorageClass
- Network.AWS.S3: TSCStandardIA :: TransitionStorageClass
- Network.AWS.S3: TStandard :: Tier
- Network.AWS.S3: Tokyo :: Region
- Network.AWS.S3: URL :: EncodingType
- Network.AWS.S3: Use :: FileHeaderInfo
- Network.AWS.S3: V1 :: StorageClassAnalysisSchemaVersion
- Network.AWS.S3: Weekly :: InventoryFrequency
- Network.AWS.S3: Write :: BucketLogsPermission
- Network.AWS.S3: [constraintRegion] :: LocationConstraint -> Region
- Network.AWS.S3: _BucketAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: _BucketAlreadyOwnedByYou :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: _LocationConstraint :: Iso' LocationConstraint Region
- Network.AWS.S3: _NoSuchBucket :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: _NoSuchKey :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: _NoSuchUpload :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: _ObjectAlreadyInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: _ObjectKey :: Iso' ObjectKey Text
- Network.AWS.S3: _ObjectNotInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3: aaoPrefix :: Lens' AnalyticsAndOperator (Maybe Text)
- Network.AWS.S3: aaoTags :: Lens' AnalyticsAndOperator [Tag]
- Network.AWS.S3: abortIncompleteMultipartUpload :: AbortIncompleteMultipartUpload
- Network.AWS.S3: acFilter :: Lens' AnalyticsConfiguration (Maybe AnalyticsFilter)
- Network.AWS.S3: acId :: Lens' AnalyticsConfiguration Text
- Network.AWS.S3: acStatus :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)
- Network.AWS.S3: acStorageClassAnalysis :: Lens' AnalyticsConfiguration StorageClassAnalysis
- Network.AWS.S3: accelerateConfiguration :: AccelerateConfiguration
- Network.AWS.S3: accessControlPolicy :: AccessControlPolicy
- Network.AWS.S3: accessControlTranslation :: OwnerOverride -> AccessControlTranslation
- Network.AWS.S3: acpGrants :: Lens' AccessControlPolicy [Grant]
- Network.AWS.S3: acpOwner :: Lens' AccessControlPolicy (Maybe Owner)
- Network.AWS.S3: actOwner :: Lens' AccessControlTranslation OwnerOverride
- Network.AWS.S3: aedS3BucketDestination :: Lens' AnalyticsExportDestination AnalyticsS3BucketDestination
- Network.AWS.S3: afAnd :: Lens' AnalyticsFilter (Maybe AnalyticsAndOperator)
- Network.AWS.S3: afPrefix :: Lens' AnalyticsFilter (Maybe Text)
- Network.AWS.S3: afTag :: Lens' AnalyticsFilter (Maybe Tag)
- Network.AWS.S3: aimuDaysAfterInitiation :: Lens' AbortIncompleteMultipartUpload (Maybe Int)
- Network.AWS.S3: analyticsAndOperator :: AnalyticsAndOperator
- Network.AWS.S3: analyticsConfiguration :: Text -> StorageClassAnalysis -> AnalyticsConfiguration
- Network.AWS.S3: analyticsExportDestination :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
- Network.AWS.S3: analyticsFilter :: AnalyticsFilter
- Network.AWS.S3: analyticsS3BucketDestination :: AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
- Network.AWS.S3: asbdBucket :: Lens' AnalyticsS3BucketDestination BucketName
- Network.AWS.S3: asbdBucketAccountId :: Lens' AnalyticsS3BucketDestination (Maybe Text)
- Network.AWS.S3: asbdFormat :: Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat
- Network.AWS.S3: asbdPrefix :: Lens' AnalyticsS3BucketDestination (Maybe Text)
- Network.AWS.S3: bCreationDate :: Lens' Bucket UTCTime
- Network.AWS.S3: bName :: Lens' Bucket BucketName
- Network.AWS.S3: blcRules :: Lens' BucketLifecycleConfiguration [LifecycleRule]
- Network.AWS.S3: blsLoggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)
- Network.AWS.S3: bucket :: UTCTime -> BucketName -> Bucket
- Network.AWS.S3: bucketExists :: Wait HeadBucket
- Network.AWS.S3: bucketLifecycleConfiguration :: BucketLifecycleConfiguration
- Network.AWS.S3: bucketLoggingStatus :: BucketLoggingStatus
- Network.AWS.S3: bucketNotExists :: Wait HeadBucket
- Network.AWS.S3: cHTTPErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
- Network.AWS.S3: cKeyPrefixEquals :: Lens' Condition (Maybe Text)
- Network.AWS.S3: cbcLocationConstraint :: Lens' CreateBucketConfiguration (Maybe LocationConstraint)
- Network.AWS.S3: ccCORSRules :: Lens' CORSConfiguration [CORSRule]
- Network.AWS.S3: ciComments :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3: ciFieldDelimiter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3: ciFileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
- Network.AWS.S3: ciQuoteCharacter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3: ciQuoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3: ciRecordDelimiter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3: cmuParts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
- Network.AWS.S3: coFieldDelimiter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3: coQuoteCharacter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3: coQuoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3: coQuoteFields :: Lens' CSVOutput (Maybe QuoteFields)
- Network.AWS.S3: coRecordDelimiter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3: commonPrefix :: CommonPrefix
- Network.AWS.S3: completedMultipartUpload :: CompletedMultipartUpload
- Network.AWS.S3: completedPart :: Int -> ETag -> CompletedPart
- Network.AWS.S3: condition :: Condition
- Network.AWS.S3: continuationEvent :: ContinuationEvent
- Network.AWS.S3: copyObjectResult :: CopyObjectResult
- Network.AWS.S3: copyPartResult :: CopyPartResult
- Network.AWS.S3: corETag :: Lens' CopyObjectResult (Maybe ETag)
- Network.AWS.S3: corLastModified :: Lens' CopyObjectResult (Maybe UTCTime)
- Network.AWS.S3: corsConfiguration :: CORSConfiguration
- Network.AWS.S3: corsRule :: CORSRule
- Network.AWS.S3: cpETag :: Lens' CompletedPart ETag
- Network.AWS.S3: cpPartNumber :: Lens' CompletedPart Int
- Network.AWS.S3: cpPrefix :: Lens' CommonPrefix (Maybe Text)
- Network.AWS.S3: cprETag :: Lens' CopyPartResult (Maybe ETag)
- Network.AWS.S3: cprLastModified :: Lens' CopyPartResult (Maybe UTCTime)
- Network.AWS.S3: crAllowedHeaders :: Lens' CORSRule [Text]
- Network.AWS.S3: crAllowedMethods :: Lens' CORSRule [Text]
- Network.AWS.S3: crAllowedOrigins :: Lens' CORSRule [Text]
- Network.AWS.S3: crExposeHeaders :: Lens' CORSRule [Text]
- Network.AWS.S3: crMaxAgeSeconds :: Lens' CORSRule (Maybe Int)
- Network.AWS.S3: createBucketConfiguration :: CreateBucketConfiguration
- Network.AWS.S3: csvInput :: CSVInput
- Network.AWS.S3: csvOutput :: CSVOutput
- Network.AWS.S3: dAccessControlTranslation :: Lens' Destination (Maybe AccessControlTranslation)
- Network.AWS.S3: dAccount :: Lens' Destination (Maybe Text)
- Network.AWS.S3: dBucket :: Lens' Destination BucketName
- Network.AWS.S3: dDeleteMarker :: Lens' DeletedObject (Maybe Bool)
- Network.AWS.S3: dDeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
- Network.AWS.S3: dEncryptionConfiguration :: Lens' Destination (Maybe EncryptionConfiguration)
- Network.AWS.S3: dKey :: Lens' DeletedObject (Maybe ObjectKey)
- Network.AWS.S3: dObjects :: Lens' Delete [ObjectIdentifier]
- Network.AWS.S3: dQuiet :: Lens' Delete (Maybe Bool)
- Network.AWS.S3: dStorageClass :: Lens' Destination (Maybe StorageClass)
- Network.AWS.S3: dVersionId :: Lens' DeletedObject (Maybe ObjectVersionId)
- Network.AWS.S3: data AbortIncompleteMultipartUpload
- Network.AWS.S3: data AccelerateConfiguration
- Network.AWS.S3: data AccessControlPolicy
- Network.AWS.S3: data AccessControlTranslation
- Network.AWS.S3: data AnalyticsAndOperator
- Network.AWS.S3: data AnalyticsConfiguration
- Network.AWS.S3: data AnalyticsExportDestination
- Network.AWS.S3: data AnalyticsFilter
- Network.AWS.S3: data AnalyticsS3BucketDestination
- Network.AWS.S3: data AnalyticsS3ExportFileFormat
- Network.AWS.S3: data Bucket
- Network.AWS.S3: data BucketAccelerateStatus
- Network.AWS.S3: data BucketCannedACL
- Network.AWS.S3: data BucketLifecycleConfiguration
- Network.AWS.S3: data BucketLoggingStatus
- Network.AWS.S3: data BucketLogsPermission
- Network.AWS.S3: data BucketVersioningStatus
- Network.AWS.S3: data CORSConfiguration
- Network.AWS.S3: data CORSRule
- Network.AWS.S3: data CSVInput
- Network.AWS.S3: data CSVOutput
- Network.AWS.S3: data CommonPrefix
- Network.AWS.S3: data CompletedMultipartUpload
- Network.AWS.S3: data CompletedPart
- Network.AWS.S3: data CompressionType
- Network.AWS.S3: data Condition
- Network.AWS.S3: data ContinuationEvent
- Network.AWS.S3: data CopyObjectResult
- Network.AWS.S3: data CopyPartResult
- Network.AWS.S3: data CreateBucketConfiguration
- Network.AWS.S3: data Delete
- Network.AWS.S3: data DeleteMarkerEntry
- Network.AWS.S3: data DeletedObject
- Network.AWS.S3: data Destination
- Network.AWS.S3: data EncodingType
- Network.AWS.S3: data Encryption
- Network.AWS.S3: data EncryptionConfiguration
- Network.AWS.S3: data EndEvent
- Network.AWS.S3: data ErrorDocument
- Network.AWS.S3: data Event
- Network.AWS.S3: data ExpirationStatus
- Network.AWS.S3: data ExpressionType
- Network.AWS.S3: data FileHeaderInfo
- Network.AWS.S3: data FilterRule
- Network.AWS.S3: data FilterRuleName
- Network.AWS.S3: data GlacierJobParameters
- Network.AWS.S3: data Grant
- Network.AWS.S3: data Grantee
- Network.AWS.S3: data IndexDocument
- Network.AWS.S3: data Initiator
- Network.AWS.S3: data InputSerialization
- Network.AWS.S3: data InventoryConfiguration
- Network.AWS.S3: data InventoryDestination
- Network.AWS.S3: data InventoryEncryption
- Network.AWS.S3: data InventoryFilter
- Network.AWS.S3: data InventoryFormat
- Network.AWS.S3: data InventoryFrequency
- Network.AWS.S3: data InventoryIncludedObjectVersions
- Network.AWS.S3: data InventoryOptionalField
- Network.AWS.S3: data InventoryS3BucketDestination
- Network.AWS.S3: data InventorySchedule
- Network.AWS.S3: data JSONInput
- Network.AWS.S3: data JSONOutput
- Network.AWS.S3: data JSONType
- Network.AWS.S3: data LambdaFunctionConfiguration
- Network.AWS.S3: data LifecycleExpiration
- Network.AWS.S3: data LifecycleRule
- Network.AWS.S3: data LifecycleRuleAndOperator
- Network.AWS.S3: data LifecycleRuleFilter
- Network.AWS.S3: data LoggingEnabled
- Network.AWS.S3: data MFADelete
- Network.AWS.S3: data MFADeleteStatus
- Network.AWS.S3: data MetadataDirective
- Network.AWS.S3: data MetadataEntry
- Network.AWS.S3: data MetricsAndOperator
- Network.AWS.S3: data MetricsConfiguration
- Network.AWS.S3: data MetricsFilter
- Network.AWS.S3: data MultipartUpload
- Network.AWS.S3: data NoncurrentVersionExpiration
- Network.AWS.S3: data NoncurrentVersionTransition
- Network.AWS.S3: data NotificationConfiguration
- Network.AWS.S3: data NotificationConfigurationFilter
- Network.AWS.S3: data Object
- Network.AWS.S3: data ObjectCannedACL
- Network.AWS.S3: data ObjectIdentifier
- Network.AWS.S3: data ObjectStorageClass
- Network.AWS.S3: data ObjectVersion
- Network.AWS.S3: data ObjectVersionStorageClass
- Network.AWS.S3: data OutputLocation
- Network.AWS.S3: data OutputSerialization
- Network.AWS.S3: data Owner
- Network.AWS.S3: data OwnerOverride
- Network.AWS.S3: data Part
- Network.AWS.S3: data Payer
- Network.AWS.S3: data Permission
- Network.AWS.S3: data Progress
- Network.AWS.S3: data ProgressEvent
- Network.AWS.S3: data Protocol
- Network.AWS.S3: data QueueConfiguration
- Network.AWS.S3: data QuoteFields
- Network.AWS.S3: data RecordsEvent
- Network.AWS.S3: data Redirect
- Network.AWS.S3: data RedirectAllRequestsTo
- Network.AWS.S3: data Region
- Network.AWS.S3: data ReplicationConfiguration
- Network.AWS.S3: data ReplicationRule
- Network.AWS.S3: data ReplicationRuleStatus
- Network.AWS.S3: data ReplicationStatus
- Network.AWS.S3: data RequestCharged
- Network.AWS.S3: data RequestPayer
- Network.AWS.S3: data RequestPaymentConfiguration
- Network.AWS.S3: data RequestProgress
- Network.AWS.S3: data RestoreRequest
- Network.AWS.S3: data RestoreRequestType
- Network.AWS.S3: data RoutingRule
- Network.AWS.S3: data S3KeyFilter
- Network.AWS.S3: data S3Location
- Network.AWS.S3: data S3ServiceError
- Network.AWS.S3: data SSEKMS
- Network.AWS.S3: data SSES3
- Network.AWS.S3: data SelectObjectContentEventStream
- Network.AWS.S3: data SelectParameters
- Network.AWS.S3: data ServerSideEncryption
- Network.AWS.S3: data ServerSideEncryptionByDefault
- Network.AWS.S3: data ServerSideEncryptionConfiguration
- Network.AWS.S3: data ServerSideEncryptionRule
- Network.AWS.S3: data SourceSelectionCriteria
- Network.AWS.S3: data SseKMSEncryptedObjects
- Network.AWS.S3: data SseKMSEncryptedObjectsStatus
- Network.AWS.S3: data Stats
- Network.AWS.S3: data StatsEvent
- Network.AWS.S3: data StorageClass
- Network.AWS.S3: data StorageClassAnalysis
- Network.AWS.S3: data StorageClassAnalysisDataExport
- Network.AWS.S3: data StorageClassAnalysisSchemaVersion
- Network.AWS.S3: data Tag
- Network.AWS.S3: data Tagging
- Network.AWS.S3: data TaggingDirective
- Network.AWS.S3: data TargetGrant
- Network.AWS.S3: data Tier
- Network.AWS.S3: data TopicConfiguration
- Network.AWS.S3: data Transition
- Network.AWS.S3: data TransitionStorageClass
- Network.AWS.S3: data Type
- Network.AWS.S3: data VersioningConfiguration
- Network.AWS.S3: data WebsiteConfiguration
- Network.AWS.S3: delete' :: Delete
- Network.AWS.S3: deleteMarkerEntry :: DeleteMarkerEntry
- Network.AWS.S3: deletedObject :: DeletedObject
- Network.AWS.S3: destination :: BucketName -> Destination
- Network.AWS.S3: dmeIsLatest :: Lens' DeleteMarkerEntry (Maybe Bool)
- Network.AWS.S3: dmeKey :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
- Network.AWS.S3: dmeLastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)
- Network.AWS.S3: dmeOwner :: Lens' DeleteMarkerEntry (Maybe Owner)
- Network.AWS.S3: dmeVersionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
- Network.AWS.S3: eEncryptionType :: Lens' Encryption ServerSideEncryption
- Network.AWS.S3: eKMSContext :: Lens' Encryption (Maybe Text)
- Network.AWS.S3: eKMSKeyId :: Lens' Encryption (Maybe Text)
- Network.AWS.S3: ecReplicaKMSKeyId :: Lens' EncryptionConfiguration (Maybe Text)
- Network.AWS.S3: edKey :: Lens' ErrorDocument ObjectKey
- Network.AWS.S3: encryption :: ServerSideEncryption -> Encryption
- Network.AWS.S3: encryptionConfiguration :: EncryptionConfiguration
- Network.AWS.S3: endEvent :: EndEvent
- Network.AWS.S3: errorDocument :: ObjectKey -> ErrorDocument
- Network.AWS.S3: filterRule :: FilterRule
- Network.AWS.S3: frName :: Lens' FilterRule (Maybe FilterRuleName)
- Network.AWS.S3: frValue :: Lens' FilterRule (Maybe Text)
- Network.AWS.S3: gDisplayName :: Lens' Grantee (Maybe Text)
- Network.AWS.S3: gEmailAddress :: Lens' Grantee (Maybe Text)
- Network.AWS.S3: gGrantee :: Lens' Grant (Maybe Grantee)
- Network.AWS.S3: gId :: Lens' Grantee (Maybe Text)
- Network.AWS.S3: gPermission :: Lens' Grant (Maybe Permission)
- Network.AWS.S3: gType :: Lens' Grantee Type
- Network.AWS.S3: gURI :: Lens' Grantee (Maybe Text)
- Network.AWS.S3: getWebsiteEndpoint :: Region -> Text
- Network.AWS.S3: gjpTier :: Lens' GlacierJobParameters Tier
- Network.AWS.S3: glacierJobParameters :: Tier -> GlacierJobParameters
- Network.AWS.S3: grant :: Grant
- Network.AWS.S3: grantee :: Type -> Grantee
- Network.AWS.S3: iDisplayName :: Lens' Initiator (Maybe Text)
- Network.AWS.S3: iId :: Lens' Initiator (Maybe Text)
- Network.AWS.S3: icDestination :: Lens' InventoryConfiguration InventoryDestination
- Network.AWS.S3: icFilter :: Lens' InventoryConfiguration (Maybe InventoryFilter)
- Network.AWS.S3: icId :: Lens' InventoryConfiguration Text
- Network.AWS.S3: icIncludedObjectVersions :: Lens' InventoryConfiguration InventoryIncludedObjectVersions
- Network.AWS.S3: icIsEnabled :: Lens' InventoryConfiguration Bool
- Network.AWS.S3: icOptionalFields :: Lens' InventoryConfiguration [InventoryOptionalField]
- Network.AWS.S3: icSchedule :: Lens' InventoryConfiguration InventorySchedule
- Network.AWS.S3: idS3BucketDestination :: Lens' InventoryDestination InventoryS3BucketDestination
- Network.AWS.S3: idSuffix :: Lens' IndexDocument Text
- Network.AWS.S3: ieSSEKMS :: Lens' InventoryEncryption (Maybe SSEKMS)
- Network.AWS.S3: ieSSES3 :: Lens' InventoryEncryption (Maybe SSES3)
- Network.AWS.S3: ifPrefix :: Lens' InventoryFilter Text
- Network.AWS.S3: indexDocument :: Text -> IndexDocument
- Network.AWS.S3: initiator :: Initiator
- Network.AWS.S3: inputSerialization :: InputSerialization
- Network.AWS.S3: inventoryConfiguration :: InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
- Network.AWS.S3: inventoryDestination :: InventoryS3BucketDestination -> InventoryDestination
- Network.AWS.S3: inventoryEncryption :: InventoryEncryption
- Network.AWS.S3: inventoryFilter :: Text -> InventoryFilter
- Network.AWS.S3: inventoryS3BucketDestination :: BucketName -> InventoryFormat -> InventoryS3BucketDestination
- Network.AWS.S3: inventorySchedule :: InventoryFrequency -> InventorySchedule
- Network.AWS.S3: isCSV :: Lens' InputSerialization (Maybe CSVInput)
- Network.AWS.S3: isCompressionType :: Lens' InputSerialization (Maybe CompressionType)
- Network.AWS.S3: isFrequency :: Lens' InventorySchedule InventoryFrequency
- Network.AWS.S3: isJSON :: Lens' InputSerialization (Maybe JSONInput)
- Network.AWS.S3: isbdAccountId :: Lens' InventoryS3BucketDestination (Maybe Text)
- Network.AWS.S3: isbdBucket :: Lens' InventoryS3BucketDestination BucketName
- Network.AWS.S3: isbdEncryption :: Lens' InventoryS3BucketDestination (Maybe InventoryEncryption)
- Network.AWS.S3: isbdFormat :: Lens' InventoryS3BucketDestination InventoryFormat
- Network.AWS.S3: isbdPrefix :: Lens' InventoryS3BucketDestination (Maybe Text)
- Network.AWS.S3: jiType :: Lens' JSONInput (Maybe JSONType)
- Network.AWS.S3: joRecordDelimiter :: Lens' JSONOutput (Maybe Text)
- Network.AWS.S3: jsonInput :: JSONInput
- Network.AWS.S3: jsonOutput :: JSONOutput
- Network.AWS.S3: keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text
- Network.AWS.S3: keyName :: Delimiter -> Traversal' ObjectKey Text
- Network.AWS.S3: keyPrefix :: Delimiter -> Traversal' ObjectKey Text
- Network.AWS.S3: lambdaFunctionConfiguration :: Text -> LambdaFunctionConfiguration
- Network.AWS.S3: leDate :: Lens' LifecycleExpiration (Maybe UTCTime)
- Network.AWS.S3: leDays :: Lens' LifecycleExpiration (Maybe Int)
- Network.AWS.S3: leExpiredObjectDeleteMarker :: Lens' LifecycleExpiration (Maybe Bool)
- Network.AWS.S3: leTargetBucket :: Lens' LoggingEnabled Text
- Network.AWS.S3: leTargetGrants :: Lens' LoggingEnabled [TargetGrant]
- Network.AWS.S3: leTargetPrefix :: Lens' LoggingEnabled Text
- Network.AWS.S3: lfcEvents :: Lens' LambdaFunctionConfiguration [Event]
- Network.AWS.S3: lfcFilter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)
- Network.AWS.S3: lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)
- Network.AWS.S3: lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text
- Network.AWS.S3: lifecycleExpiration :: LifecycleExpiration
- Network.AWS.S3: lifecycleRule :: ExpirationStatus -> LifecycleRule
- Network.AWS.S3: lifecycleRuleAndOperator :: LifecycleRuleAndOperator
- Network.AWS.S3: lifecycleRuleFilter :: LifecycleRuleFilter
- Network.AWS.S3: loggingEnabled :: Text -> Text -> LoggingEnabled
- Network.AWS.S3: lrAbortIncompleteMultipartUpload :: Lens' LifecycleRule (Maybe AbortIncompleteMultipartUpload)
- Network.AWS.S3: lrExpiration :: Lens' LifecycleRule (Maybe LifecycleExpiration)
- Network.AWS.S3: lrFilter :: Lens' LifecycleRule (Maybe LifecycleRuleFilter)
- Network.AWS.S3: lrId :: Lens' LifecycleRule (Maybe Text)
- Network.AWS.S3: lrNoncurrentVersionExpiration :: Lens' LifecycleRule (Maybe NoncurrentVersionExpiration)
- Network.AWS.S3: lrNoncurrentVersionTransitions :: Lens' LifecycleRule [NoncurrentVersionTransition]
- Network.AWS.S3: lrPrefix :: Lens' LifecycleRule (Maybe Text)
- Network.AWS.S3: lrStatus :: Lens' LifecycleRule ExpirationStatus
- Network.AWS.S3: lrTransitions :: Lens' LifecycleRule [Transition]
- Network.AWS.S3: lraoPrefix :: Lens' LifecycleRuleAndOperator (Maybe Text)
- Network.AWS.S3: lraoTags :: Lens' LifecycleRuleAndOperator [Tag]
- Network.AWS.S3: lrfAnd :: Lens' LifecycleRuleFilter (Maybe LifecycleRuleAndOperator)
- Network.AWS.S3: lrfPrefix :: Lens' LifecycleRuleFilter (Maybe Text)
- Network.AWS.S3: lrfTag :: Lens' LifecycleRuleFilter (Maybe Tag)
- Network.AWS.S3: maoPrefix :: Lens' MetricsAndOperator (Maybe Text)
- Network.AWS.S3: maoTags :: Lens' MetricsAndOperator [Tag]
- Network.AWS.S3: mcFilter :: Lens' MetricsConfiguration (Maybe MetricsFilter)
- Network.AWS.S3: mcId :: Lens' MetricsConfiguration Text
- Network.AWS.S3: meName :: Lens' MetadataEntry (Maybe Text)
- Network.AWS.S3: meValue :: Lens' MetadataEntry (Maybe Text)
- Network.AWS.S3: metadataEntry :: MetadataEntry
- Network.AWS.S3: metricsAndOperator :: MetricsAndOperator
- Network.AWS.S3: metricsConfiguration :: Text -> MetricsConfiguration
- Network.AWS.S3: metricsFilter :: MetricsFilter
- Network.AWS.S3: mfAnd :: Lens' MetricsFilter (Maybe MetricsAndOperator)
- Network.AWS.S3: mfPrefix :: Lens' MetricsFilter (Maybe Text)
- Network.AWS.S3: mfTag :: Lens' MetricsFilter (Maybe Tag)
- Network.AWS.S3: muInitiated :: Lens' MultipartUpload (Maybe UTCTime)
- Network.AWS.S3: muInitiator :: Lens' MultipartUpload (Maybe Initiator)
- Network.AWS.S3: muKey :: Lens' MultipartUpload (Maybe ObjectKey)
- Network.AWS.S3: muOwner :: Lens' MultipartUpload (Maybe Owner)
- Network.AWS.S3: muStorageClass :: Lens' MultipartUpload (Maybe StorageClass)
- Network.AWS.S3: muUploadId :: Lens' MultipartUpload (Maybe Text)
- Network.AWS.S3: multipartUpload :: MultipartUpload
- Network.AWS.S3: ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]
- Network.AWS.S3: ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]
- Network.AWS.S3: ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]
- Network.AWS.S3: ncfKey :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)
- Network.AWS.S3: newtype BucketName
- Network.AWS.S3: newtype ETag
- Network.AWS.S3: newtype LocationConstraint
- Network.AWS.S3: newtype ObjectKey
- Network.AWS.S3: newtype ObjectVersionId
- Network.AWS.S3: noncurrentVersionExpiration :: Int -> NoncurrentVersionExpiration
- Network.AWS.S3: noncurrentVersionTransition :: Int -> TransitionStorageClass -> NoncurrentVersionTransition
- Network.AWS.S3: notificationConfiguration :: NotificationConfiguration
- Network.AWS.S3: notificationConfigurationFilter :: NotificationConfigurationFilter
- Network.AWS.S3: nveNoncurrentDays :: Lens' NoncurrentVersionExpiration Int
- Network.AWS.S3: nvtNoncurrentDays :: Lens' NoncurrentVersionTransition Int
- Network.AWS.S3: nvtStorageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass
- Network.AWS.S3: oDisplayName :: Lens' Owner (Maybe Text)
- Network.AWS.S3: oETag :: Lens' Object ETag
- Network.AWS.S3: oId :: Lens' Owner (Maybe Text)
- Network.AWS.S3: oKey :: Lens' Object ObjectKey
- Network.AWS.S3: oLastModified :: Lens' Object UTCTime
- Network.AWS.S3: oOwner :: Lens' Object (Maybe Owner)
- Network.AWS.S3: oSize :: Lens' Object Int
- Network.AWS.S3: oStorageClass :: Lens' Object ObjectStorageClass
- Network.AWS.S3: object' :: ETag -> Int -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
- Network.AWS.S3: objectExists :: Wait HeadObject
- Network.AWS.S3: objectIdentifier :: ObjectKey -> ObjectIdentifier
- Network.AWS.S3: objectNotExists :: Wait HeadObject
- Network.AWS.S3: objectVersion :: ObjectVersion
- Network.AWS.S3: oiKey :: Lens' ObjectIdentifier ObjectKey
- Network.AWS.S3: oiVersionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
- Network.AWS.S3: olS3 :: Lens' OutputLocation (Maybe S3Location)
- Network.AWS.S3: osCSV :: Lens' OutputSerialization (Maybe CSVOutput)
- Network.AWS.S3: osJSON :: Lens' OutputSerialization (Maybe JSONOutput)
- Network.AWS.S3: outputLocation :: OutputLocation
- Network.AWS.S3: outputSerialization :: OutputSerialization
- Network.AWS.S3: ovETag :: Lens' ObjectVersion (Maybe ETag)
- Network.AWS.S3: ovIsLatest :: Lens' ObjectVersion (Maybe Bool)
- Network.AWS.S3: ovKey :: Lens' ObjectVersion (Maybe ObjectKey)
- Network.AWS.S3: ovLastModified :: Lens' ObjectVersion (Maybe UTCTime)
- Network.AWS.S3: ovOwner :: Lens' ObjectVersion (Maybe Owner)
- Network.AWS.S3: ovSize :: Lens' ObjectVersion (Maybe Int)
- Network.AWS.S3: ovStorageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)
- Network.AWS.S3: ovVersionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
- Network.AWS.S3: owner :: Owner
- Network.AWS.S3: pBytesProcessed :: Lens' Progress (Maybe Integer)
- Network.AWS.S3: pBytesReturned :: Lens' Progress (Maybe Integer)
- Network.AWS.S3: pBytesScanned :: Lens' Progress (Maybe Integer)
- Network.AWS.S3: pETag :: Lens' Part (Maybe ETag)
- Network.AWS.S3: pLastModified :: Lens' Part (Maybe UTCTime)
- Network.AWS.S3: pPartNumber :: Lens' Part (Maybe Int)
- Network.AWS.S3: pSize :: Lens' Part (Maybe Int)
- Network.AWS.S3: part :: Part
- Network.AWS.S3: peDetails :: Lens' ProgressEvent (Maybe Progress)
- Network.AWS.S3: progress :: Progress
- Network.AWS.S3: progressEvent :: ProgressEvent
- Network.AWS.S3: qcEvents :: Lens' QueueConfiguration [Event]
- Network.AWS.S3: qcFilter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)
- Network.AWS.S3: qcId :: Lens' QueueConfiguration (Maybe Text)
- Network.AWS.S3: qcQueueARN :: Lens' QueueConfiguration Text
- Network.AWS.S3: queueConfiguration :: Text -> QueueConfiguration
- Network.AWS.S3: rHTTPRedirectCode :: Lens' Redirect (Maybe Text)
- Network.AWS.S3: rHostName :: Lens' Redirect (Maybe Text)
- Network.AWS.S3: rProtocol :: Lens' Redirect (Maybe Protocol)
- Network.AWS.S3: rReplaceKeyPrefixWith :: Lens' Redirect (Maybe Text)
- Network.AWS.S3: rReplaceKeyWith :: Lens' Redirect (Maybe Text)
- Network.AWS.S3: rartHostName :: Lens' RedirectAllRequestsTo Text
- Network.AWS.S3: rartProtocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)
- Network.AWS.S3: rcRole :: Lens' ReplicationConfiguration Text
- Network.AWS.S3: rcRules :: Lens' ReplicationConfiguration [ReplicationRule]
- Network.AWS.S3: rePayload :: Lens' RecordsEvent (Maybe ByteString)
- Network.AWS.S3: recordsEvent :: RecordsEvent
- Network.AWS.S3: redirect :: Redirect
- Network.AWS.S3: redirectAllRequestsTo :: Text -> RedirectAllRequestsTo
- Network.AWS.S3: replicationConfiguration :: Text -> ReplicationConfiguration
- Network.AWS.S3: replicationRule :: Text -> ReplicationRuleStatus -> Destination -> ReplicationRule
- Network.AWS.S3: requestPaymentConfiguration :: Payer -> RequestPaymentConfiguration
- Network.AWS.S3: requestProgress :: RequestProgress
- Network.AWS.S3: restoreRequest :: RestoreRequest
- Network.AWS.S3: routingRule :: Redirect -> RoutingRule
- Network.AWS.S3: rpEnabled :: Lens' RequestProgress (Maybe Bool)
- Network.AWS.S3: rpcPayer :: Lens' RequestPaymentConfiguration Payer
- Network.AWS.S3: rrCondition :: Lens' RoutingRule (Maybe Condition)
- Network.AWS.S3: rrDays :: Lens' RestoreRequest (Maybe Int)
- Network.AWS.S3: rrDescription :: Lens' RestoreRequest (Maybe Text)
- Network.AWS.S3: rrDestination :: Lens' ReplicationRule Destination
- Network.AWS.S3: rrGlacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)
- Network.AWS.S3: rrId :: Lens' ReplicationRule (Maybe Text)
- Network.AWS.S3: rrOutputLocation :: Lens' RestoreRequest (Maybe OutputLocation)
- Network.AWS.S3: rrPrefix :: Lens' ReplicationRule Text
- Network.AWS.S3: rrRedirect :: Lens' RoutingRule Redirect
- Network.AWS.S3: rrSelectParameters :: Lens' RestoreRequest (Maybe SelectParameters)
- Network.AWS.S3: rrSourceSelectionCriteria :: Lens' ReplicationRule (Maybe SourceSelectionCriteria)
- Network.AWS.S3: rrStatus :: Lens' ReplicationRule ReplicationRuleStatus
- Network.AWS.S3: rrTier :: Lens' RestoreRequest (Maybe Tier)
- Network.AWS.S3: rrType :: Lens' RestoreRequest (Maybe RestoreRequestType)
- Network.AWS.S3: s3 :: Service
- Network.AWS.S3: s3KeyFilter :: S3KeyFilter
- Network.AWS.S3: s3Location :: BucketName -> Text -> S3Location
- Network.AWS.S3: s3ServiceError :: S3ServiceError
- Network.AWS.S3: sBytesProcessed :: Lens' Stats (Maybe Integer)
- Network.AWS.S3: sBytesReturned :: Lens' Stats (Maybe Integer)
- Network.AWS.S3: sBytesScanned :: Lens' Stats (Maybe Integer)
- Network.AWS.S3: sSEKMS :: Text -> SSEKMS
- Network.AWS.S3: sSES3 :: SSES3
- Network.AWS.S3: scaDataExport :: Lens' StorageClassAnalysis (Maybe StorageClassAnalysisDataExport)
- Network.AWS.S3: scadeDestination :: Lens' StorageClassAnalysisDataExport AnalyticsExportDestination
- Network.AWS.S3: scadeOutputSchemaVersion :: Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion
- Network.AWS.S3: seDetails :: Lens' StatsEvent (Maybe Stats)
- Network.AWS.S3: selectObjectContentEventStream :: SelectObjectContentEventStream
- Network.AWS.S3: selectParameters :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
- Network.AWS.S3: serverSideEncryptionByDefault :: ServerSideEncryption -> ServerSideEncryptionByDefault
- Network.AWS.S3: serverSideEncryptionConfiguration :: ServerSideEncryptionConfiguration
- Network.AWS.S3: serverSideEncryptionRule :: ServerSideEncryptionRule
- Network.AWS.S3: skeoStatus :: Lens' SseKMSEncryptedObjects SseKMSEncryptedObjectsStatus
- Network.AWS.S3: skfFilterRules :: Lens' S3KeyFilter [FilterRule]
- Network.AWS.S3: slAccessControlList :: Lens' S3Location [Grant]
- Network.AWS.S3: slBucketName :: Lens' S3Location BucketName
- Network.AWS.S3: slCannedACL :: Lens' S3Location (Maybe ObjectCannedACL)
- Network.AWS.S3: slEncryption :: Lens' S3Location (Maybe Encryption)
- Network.AWS.S3: slPrefix :: Lens' S3Location Text
- Network.AWS.S3: slStorageClass :: Lens' S3Location (Maybe StorageClass)
- Network.AWS.S3: slTagging :: Lens' S3Location (Maybe Tagging)
- Network.AWS.S3: slUserMetadata :: Lens' S3Location [MetadataEntry]
- Network.AWS.S3: socesCont :: Lens' SelectObjectContentEventStream (Maybe ContinuationEvent)
- Network.AWS.S3: socesEnd :: Lens' SelectObjectContentEventStream (Maybe EndEvent)
- Network.AWS.S3: socesProgress :: Lens' SelectObjectContentEventStream (Maybe ProgressEvent)
- Network.AWS.S3: socesRecords :: Lens' SelectObjectContentEventStream (Maybe RecordsEvent)
- Network.AWS.S3: socesStats :: Lens' SelectObjectContentEventStream (Maybe StatsEvent)
- Network.AWS.S3: sourceSelectionCriteria :: SourceSelectionCriteria
- Network.AWS.S3: spExpression :: Lens' SelectParameters Text
- Network.AWS.S3: spExpressionType :: Lens' SelectParameters ExpressionType
- Network.AWS.S3: spInputSerialization :: Lens' SelectParameters InputSerialization
- Network.AWS.S3: spOutputSerialization :: Lens' SelectParameters OutputSerialization
- Network.AWS.S3: sscSseKMSEncryptedObjects :: Lens' SourceSelectionCriteria (Maybe SseKMSEncryptedObjects)
- Network.AWS.S3: sseCode :: Lens' S3ServiceError (Maybe Text)
- Network.AWS.S3: sseKMSEncryptedObjects :: SseKMSEncryptedObjectsStatus -> SseKMSEncryptedObjects
- Network.AWS.S3: sseKey :: Lens' S3ServiceError (Maybe ObjectKey)
- Network.AWS.S3: sseMessage :: Lens' S3ServiceError (Maybe Text)
- Network.AWS.S3: sseVersionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
- Network.AWS.S3: ssebdKMSMasterKeyId :: Lens' ServerSideEncryptionByDefault (Maybe Text)
- Network.AWS.S3: ssebdSSEAlgorithm :: Lens' ServerSideEncryptionByDefault ServerSideEncryption
- Network.AWS.S3: ssecRules :: Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]
- Network.AWS.S3: ssekKeyId :: Lens' SSEKMS Text
- Network.AWS.S3: sserApplyServerSideEncryptionByDefault :: Lens' ServerSideEncryptionRule (Maybe ServerSideEncryptionByDefault)
- Network.AWS.S3: stats :: Stats
- Network.AWS.S3: statsEvent :: StatsEvent
- Network.AWS.S3: storageClassAnalysis :: StorageClassAnalysis
- Network.AWS.S3: storageClassAnalysisDataExport :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
- Network.AWS.S3: tDate :: Lens' Transition (Maybe UTCTime)
- Network.AWS.S3: tDays :: Lens' Transition (Maybe Int)
- Network.AWS.S3: tStorageClass :: Lens' Transition (Maybe TransitionStorageClass)
- Network.AWS.S3: tTagSet :: Lens' Tagging [Tag]
- Network.AWS.S3: tag :: ObjectKey -> Text -> Tag
- Network.AWS.S3: tagKey :: Lens' Tag ObjectKey
- Network.AWS.S3: tagValue :: Lens' Tag Text
- Network.AWS.S3: tagging :: Tagging
- Network.AWS.S3: targetGrant :: TargetGrant
- Network.AWS.S3: tcEvents :: Lens' TopicConfiguration [Event]
- Network.AWS.S3: tcFilter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)
- Network.AWS.S3: tcId :: Lens' TopicConfiguration (Maybe Text)
- Network.AWS.S3: tcTopicARN :: Lens' TopicConfiguration Text
- Network.AWS.S3: tgGrantee :: Lens' TargetGrant (Maybe Grantee)
- Network.AWS.S3: tgPermission :: Lens' TargetGrant (Maybe BucketLogsPermission)
- Network.AWS.S3: topicConfiguration :: Text -> TopicConfiguration
- Network.AWS.S3: transition :: Transition
- Network.AWS.S3: type Delimiter = Char
- Network.AWS.S3: vcMFADelete :: Lens' VersioningConfiguration (Maybe MFADelete)
- Network.AWS.S3: vcStatus :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)
- Network.AWS.S3: versioningConfiguration :: VersioningConfiguration
- Network.AWS.S3: wcErrorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)
- Network.AWS.S3: wcIndexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)
- Network.AWS.S3: wcRedirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)
- Network.AWS.S3: wcRoutingRules :: Lens' WebsiteConfiguration [RoutingRule]
- Network.AWS.S3: websiteConfiguration :: WebsiteConfiguration
- Network.AWS.S3.AbortMultipartUpload: abortMultipartUpload :: BucketName -> ObjectKey -> Text -> AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: abortMultipartUploadResponse :: Int -> AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: amuBucket :: Lens' AbortMultipartUpload BucketName
- Network.AWS.S3.AbortMultipartUpload: amuKey :: Lens' AbortMultipartUpload ObjectKey
- Network.AWS.S3.AbortMultipartUpload: amuRequestPayer :: Lens' AbortMultipartUpload (Maybe RequestPayer)
- Network.AWS.S3.AbortMultipartUpload: amuUploadId :: Lens' AbortMultipartUpload Text
- Network.AWS.S3.AbortMultipartUpload: amursRequestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)
- Network.AWS.S3.AbortMultipartUpload: amursResponseStatus :: Lens' AbortMultipartUploadResponse Int
- Network.AWS.S3.AbortMultipartUpload: data AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: data AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance Control.DeepSeq.NFData Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance Control.DeepSeq.NFData Network.AWS.S3.AbortMultipartUpload.AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance Data.Data.Data Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance Data.Data.Data Network.AWS.S3.AbortMultipartUpload.AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance Data.Hashable.Class.Hashable Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Classes.Eq Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Classes.Eq Network.AWS.S3.AbortMultipartUpload.AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Generics.Generic Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Generics.Generic Network.AWS.S3.AbortMultipartUpload.AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Read.Read Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Read.Read Network.AWS.S3.AbortMultipartUpload.AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Show.Show Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance GHC.Show.Show Network.AWS.S3.AbortMultipartUpload.AbortMultipartUploadResponse
- Network.AWS.S3.AbortMultipartUpload: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.AbortMultipartUpload: instance Network.AWS.Types.AWSRequest Network.AWS.S3.AbortMultipartUpload.AbortMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: cBucket :: Lens' CompleteMultipartUpload BucketName
- Network.AWS.S3.CompleteMultipartUpload: cKey :: Lens' CompleteMultipartUpload ObjectKey
- Network.AWS.S3.CompleteMultipartUpload: cMultipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)
- Network.AWS.S3.CompleteMultipartUpload: cRequestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)
- Network.AWS.S3.CompleteMultipartUpload: cUploadId :: Lens' CompleteMultipartUpload Text
- Network.AWS.S3.CompleteMultipartUpload: completeMultipartUpload :: BucketName -> ObjectKey -> Text -> CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: completeMultipartUploadResponse :: Int -> CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: crsBucket :: Lens' CompleteMultipartUploadResponse (Maybe BucketName)
- Network.AWS.S3.CompleteMultipartUpload: crsETag :: Lens' CompleteMultipartUploadResponse (Maybe ETag)
- Network.AWS.S3.CompleteMultipartUpload: crsExpiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: crsKey :: Lens' CompleteMultipartUploadResponse (Maybe ObjectKey)
- Network.AWS.S3.CompleteMultipartUpload: crsLocation :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: crsRequestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)
- Network.AWS.S3.CompleteMultipartUpload: crsResponseStatus :: Lens' CompleteMultipartUploadResponse Int
- Network.AWS.S3.CompleteMultipartUpload: crsSSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CompleteMultipartUpload: crsServerSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.CompleteMultipartUpload: crsVersionId :: Lens' CompleteMultipartUploadResponse (Maybe ObjectVersionId)
- Network.AWS.S3.CompleteMultipartUpload: data CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: data CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: instance Control.DeepSeq.NFData Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance Control.DeepSeq.NFData Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: instance Data.Data.Data Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance Data.Data.Data Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: instance Data.Hashable.Class.Hashable Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Classes.Eq Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Classes.Eq Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Generics.Generic Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Generics.Generic Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Read.Read Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Show.Show Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance GHC.Show.Show Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
- Network.AWS.S3.CompleteMultipartUpload: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CompleteMultipartUpload: instance Network.AWS.Types.AWSRequest Network.AWS.S3.CompleteMultipartUpload.CompleteMultipartUpload
- Network.AWS.S3.CopyObject: coACL :: Lens' CopyObject (Maybe ObjectCannedACL)
- Network.AWS.S3.CopyObject: coBucket :: Lens' CopyObject BucketName
- Network.AWS.S3.CopyObject: coCacheControl :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coContentDisposition :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coContentEncoding :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coContentLanguage :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coContentType :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coCopySource :: Lens' CopyObject Text
- Network.AWS.S3.CopyObject: coCopySourceIfMatch :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coCopySourceIfModifiedSince :: Lens' CopyObject (Maybe UTCTime)
- Network.AWS.S3.CopyObject: coCopySourceIfNoneMatch :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coCopySourceIfUnmodifiedSince :: Lens' CopyObject (Maybe UTCTime)
- Network.AWS.S3.CopyObject: coCopySourceSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coCopySourceSSECustomerKey :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coCopySourceSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coExpires :: Lens' CopyObject (Maybe UTCTime)
- Network.AWS.S3.CopyObject: coGrantFullControl :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coGrantRead :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coGrantReadACP :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coGrantWriteACP :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coKey :: Lens' CopyObject ObjectKey
- Network.AWS.S3.CopyObject: coMetadata :: Lens' CopyObject (HashMap Text Text)
- Network.AWS.S3.CopyObject: coMetadataDirective :: Lens' CopyObject (Maybe MetadataDirective)
- Network.AWS.S3.CopyObject: coRequestPayer :: Lens' CopyObject (Maybe RequestPayer)
- Network.AWS.S3.CopyObject: coSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coSSECustomerKey :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coSSEKMSKeyId :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coServerSideEncryption :: Lens' CopyObject (Maybe ServerSideEncryption)
- Network.AWS.S3.CopyObject: coStorageClass :: Lens' CopyObject (Maybe StorageClass)
- Network.AWS.S3.CopyObject: coTagging :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: coTaggingDirective :: Lens' CopyObject (Maybe TaggingDirective)
- Network.AWS.S3.CopyObject: coWebsiteRedirectLocation :: Lens' CopyObject (Maybe Text)
- Network.AWS.S3.CopyObject: copyObject :: BucketName -> Text -> ObjectKey -> CopyObject
- Network.AWS.S3.CopyObject: copyObjectResponse :: Int -> CopyObjectResponse
- Network.AWS.S3.CopyObject: corsCopyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)
- Network.AWS.S3.CopyObject: corsCopySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corsExpiration :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corsRequestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.CopyObject: corsResponseStatus :: Lens' CopyObjectResponse Int
- Network.AWS.S3.CopyObject: corsSSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corsSSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corsSSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)
- Network.AWS.S3.CopyObject: corsServerSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.CopyObject: corsVersionId :: Lens' CopyObjectResponse (Maybe ObjectVersionId)
- Network.AWS.S3.CopyObject: data CopyObject
- Network.AWS.S3.CopyObject: data CopyObjectResponse
- Network.AWS.S3.CopyObject: instance Control.DeepSeq.NFData Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance Control.DeepSeq.NFData Network.AWS.S3.CopyObject.CopyObjectResponse
- Network.AWS.S3.CopyObject: instance Data.Data.Data Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance Data.Data.Data Network.AWS.S3.CopyObject.CopyObjectResponse
- Network.AWS.S3.CopyObject: instance Data.Hashable.Class.Hashable Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance GHC.Classes.Eq Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance GHC.Classes.Eq Network.AWS.S3.CopyObject.CopyObjectResponse
- Network.AWS.S3.CopyObject: instance GHC.Generics.Generic Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance GHC.Generics.Generic Network.AWS.S3.CopyObject.CopyObjectResponse
- Network.AWS.S3.CopyObject: instance GHC.Show.Show Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance GHC.Show.Show Network.AWS.S3.CopyObject.CopyObjectResponse
- Network.AWS.S3.CopyObject: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CopyObject: instance Network.AWS.Types.AWSRequest Network.AWS.S3.CopyObject.CopyObject
- Network.AWS.S3.CreateBucket: cbACL :: Lens' CreateBucket (Maybe BucketCannedACL)
- Network.AWS.S3.CreateBucket: cbBucket :: Lens' CreateBucket BucketName
- Network.AWS.S3.CreateBucket: cbCreateBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)
- Network.AWS.S3.CreateBucket: cbGrantFullControl :: Lens' CreateBucket (Maybe Text)
- Network.AWS.S3.CreateBucket: cbGrantRead :: Lens' CreateBucket (Maybe Text)
- Network.AWS.S3.CreateBucket: cbGrantReadACP :: Lens' CreateBucket (Maybe Text)
- Network.AWS.S3.CreateBucket: cbGrantWrite :: Lens' CreateBucket (Maybe Text)
- Network.AWS.S3.CreateBucket: cbGrantWriteACP :: Lens' CreateBucket (Maybe Text)
- Network.AWS.S3.CreateBucket: cbrsLocation :: Lens' CreateBucketResponse (Maybe Text)
- Network.AWS.S3.CreateBucket: cbrsResponseStatus :: Lens' CreateBucketResponse Int
- Network.AWS.S3.CreateBucket: createBucket :: BucketName -> CreateBucket
- Network.AWS.S3.CreateBucket: createBucketResponse :: Int -> CreateBucketResponse
- Network.AWS.S3.CreateBucket: data CreateBucket
- Network.AWS.S3.CreateBucket: data CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance Control.DeepSeq.NFData Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance Control.DeepSeq.NFData Network.AWS.S3.CreateBucket.CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance Data.Data.Data Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance Data.Data.Data Network.AWS.S3.CreateBucket.CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance Data.Hashable.Class.Hashable Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance GHC.Classes.Eq Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance GHC.Classes.Eq Network.AWS.S3.CreateBucket.CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance GHC.Generics.Generic Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance GHC.Generics.Generic Network.AWS.S3.CreateBucket.CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance GHC.Read.Read Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance GHC.Read.Read Network.AWS.S3.CreateBucket.CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance GHC.Show.Show Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance GHC.Show.Show Network.AWS.S3.CreateBucket.CreateBucketResponse
- Network.AWS.S3.CreateBucket: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateBucket: instance Network.AWS.Types.AWSRequest Network.AWS.S3.CreateBucket.CreateBucket
- Network.AWS.S3.CreateMultipartUpload: cmuACL :: Lens' CreateMultipartUpload (Maybe ObjectCannedACL)
- Network.AWS.S3.CreateMultipartUpload: cmuBucket :: Lens' CreateMultipartUpload BucketName
- Network.AWS.S3.CreateMultipartUpload: cmuCacheControl :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuContentDisposition :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuContentEncoding :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuContentLanguage :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuContentType :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuExpires :: Lens' CreateMultipartUpload (Maybe UTCTime)
- Network.AWS.S3.CreateMultipartUpload: cmuGrantFullControl :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuGrantRead :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuGrantReadACP :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuGrantWriteACP :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuKey :: Lens' CreateMultipartUpload ObjectKey
- Network.AWS.S3.CreateMultipartUpload: cmuMetadata :: Lens' CreateMultipartUpload (HashMap Text Text)
- Network.AWS.S3.CreateMultipartUpload: cmuRequestPayer :: Lens' CreateMultipartUpload (Maybe RequestPayer)
- Network.AWS.S3.CreateMultipartUpload: cmuSSECustomerAlgorithm :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuSSECustomerKey :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuSSECustomerKeyMD5 :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuSSEKMSKeyId :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuServerSideEncryption :: Lens' CreateMultipartUpload (Maybe ServerSideEncryption)
- Network.AWS.S3.CreateMultipartUpload: cmuStorageClass :: Lens' CreateMultipartUpload (Maybe StorageClass)
- Network.AWS.S3.CreateMultipartUpload: cmuTagging :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmuWebsiteRedirectLocation :: Lens' CreateMultipartUpload (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmursAbortDate :: Lens' CreateMultipartUploadResponse (Maybe UTCTime)
- Network.AWS.S3.CreateMultipartUpload: cmursAbortRuleId :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmursBucket :: Lens' CreateMultipartUploadResponse (Maybe BucketName)
- Network.AWS.S3.CreateMultipartUpload: cmursKey :: Lens' CreateMultipartUploadResponse (Maybe ObjectKey)
- Network.AWS.S3.CreateMultipartUpload: cmursRequestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)
- Network.AWS.S3.CreateMultipartUpload: cmursResponseStatus :: Lens' CreateMultipartUploadResponse Int
- Network.AWS.S3.CreateMultipartUpload: cmursSSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmursSSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmursSSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: cmursServerSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.CreateMultipartUpload: cmursUploadId :: Lens' CreateMultipartUploadResponse (Maybe Text)
- Network.AWS.S3.CreateMultipartUpload: createMultipartUpload :: BucketName -> ObjectKey -> CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: createMultipartUploadResponse :: Int -> CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: data CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: data CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: instance Control.DeepSeq.NFData Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance Control.DeepSeq.NFData Network.AWS.S3.CreateMultipartUpload.CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: instance Data.Data.Data Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance Data.Data.Data Network.AWS.S3.CreateMultipartUpload.CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: instance Data.Hashable.Class.Hashable Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance GHC.Classes.Eq Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance GHC.Classes.Eq Network.AWS.S3.CreateMultipartUpload.CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: instance GHC.Generics.Generic Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance GHC.Generics.Generic Network.AWS.S3.CreateMultipartUpload.CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: instance GHC.Show.Show Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance GHC.Show.Show Network.AWS.S3.CreateMultipartUpload.CreateMultipartUploadResponse
- Network.AWS.S3.CreateMultipartUpload: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.CreateMultipartUpload: instance Network.AWS.Types.AWSRequest Network.AWS.S3.CreateMultipartUpload.CreateMultipartUpload
- Network.AWS.S3.DeleteBucket: data DeleteBucket
- Network.AWS.S3.DeleteBucket: data DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: dbBucket :: Lens' DeleteBucket BucketName
- Network.AWS.S3.DeleteBucket: deleteBucket :: BucketName -> DeleteBucket
- Network.AWS.S3.DeleteBucket: deleteBucketResponse :: DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucket.DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance Data.Data.Data Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Data.Data.Data Network.AWS.S3.DeleteBucket.DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucket.DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucket.DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance GHC.Read.Read Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance GHC.Read.Read Network.AWS.S3.DeleteBucket.DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance GHC.Show.Show Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance GHC.Show.Show Network.AWS.S3.DeleteBucket.DeleteBucketResponse
- Network.AWS.S3.DeleteBucket: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucket: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucket.DeleteBucket
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: data DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: data DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: dbacBucket :: Lens' DeleteBucketAnalyticsConfiguration BucketName
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: dbacId :: Lens' DeleteBucketAnalyticsConfiguration Text
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: deleteBucketAnalyticsConfiguration :: BucketName -> Text -> DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: deleteBucketAnalyticsConfigurationResponse :: DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Data.Data.Data Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Data.Data.Data Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Read.Read Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Read.Read Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Show.Show Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Show.Show Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketAnalyticsConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
- Network.AWS.S3.DeleteBucketCORS: data DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: data DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: dbcBucket :: Lens' DeleteBucketCORS BucketName
- Network.AWS.S3.DeleteBucketCORS: deleteBucketCORS :: BucketName -> DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: deleteBucketCORSResponse :: DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance Data.Data.Data Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance Data.Data.Data Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Read.Read Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Read.Read Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Show.Show Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance GHC.Show.Show Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORSResponse
- Network.AWS.S3.DeleteBucketCORS: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketCORS: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketCORS.DeleteBucketCORS
- Network.AWS.S3.DeleteBucketEncryption: data DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: data DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: dbeBucket :: Lens' DeleteBucketEncryption BucketName
- Network.AWS.S3.DeleteBucketEncryption: deleteBucketEncryption :: BucketName -> DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: deleteBucketEncryptionResponse :: DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance Data.Data.Data Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance Data.Data.Data Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Read.Read Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Read.Read Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Show.Show Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance GHC.Show.Show Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
- Network.AWS.S3.DeleteBucketEncryption: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketEncryption: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketEncryption.DeleteBucketEncryption
- Network.AWS.S3.DeleteBucketInventoryConfiguration: data DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: data DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: dbicBucket :: Lens' DeleteBucketInventoryConfiguration BucketName
- Network.AWS.S3.DeleteBucketInventoryConfiguration: dbicId :: Lens' DeleteBucketInventoryConfiguration Text
- Network.AWS.S3.DeleteBucketInventoryConfiguration: deleteBucketInventoryConfiguration :: BucketName -> Text -> DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: deleteBucketInventoryConfigurationResponse :: DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Data.Data.Data Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Data.Data.Data Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Read.Read Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Read.Read Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Show.Show Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance GHC.Show.Show Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketInventoryConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
- Network.AWS.S3.DeleteBucketLifecycle: data DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: data DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: dblBucket :: Lens' DeleteBucketLifecycle BucketName
- Network.AWS.S3.DeleteBucketLifecycle: deleteBucketLifecycle :: BucketName -> DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: deleteBucketLifecycleResponse :: DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance Data.Data.Data Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Data.Data.Data Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Read.Read Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Read.Read Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Show.Show Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance GHC.Show.Show Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
- Network.AWS.S3.DeleteBucketLifecycle: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketLifecycle: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
- Network.AWS.S3.DeleteBucketMetricsConfiguration: data DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: data DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: dbmcBucket :: Lens' DeleteBucketMetricsConfiguration BucketName
- Network.AWS.S3.DeleteBucketMetricsConfiguration: dbmcId :: Lens' DeleteBucketMetricsConfiguration Text
- Network.AWS.S3.DeleteBucketMetricsConfiguration: deleteBucketMetricsConfiguration :: BucketName -> Text -> DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: deleteBucketMetricsConfigurationResponse :: DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Data.Data.Data Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Data.Data.Data Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Read.Read Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Read.Read Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Show.Show Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance GHC.Show.Show Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketMetricsConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
- Network.AWS.S3.DeleteBucketPolicy: data DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: data DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: dbpBucket :: Lens' DeleteBucketPolicy BucketName
- Network.AWS.S3.DeleteBucketPolicy: deleteBucketPolicy :: BucketName -> DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: deleteBucketPolicyResponse :: DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance Data.Data.Data Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Data.Data.Data Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Read.Read Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Read.Read Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Show.Show Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance GHC.Show.Show Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
- Network.AWS.S3.DeleteBucketPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketPolicy.DeleteBucketPolicy
- Network.AWS.S3.DeleteBucketReplication: data DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: data DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: dbrBucket :: Lens' DeleteBucketReplication BucketName
- Network.AWS.S3.DeleteBucketReplication: deleteBucketReplication :: BucketName -> DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: deleteBucketReplicationResponse :: DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance Data.Data.Data Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Data.Data.Data Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Read.Read Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Read.Read Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Show.Show Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance GHC.Show.Show Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
- Network.AWS.S3.DeleteBucketReplication: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketReplication: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketReplication.DeleteBucketReplication
- Network.AWS.S3.DeleteBucketTagging: data DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: data DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: dbtBucket :: Lens' DeleteBucketTagging BucketName
- Network.AWS.S3.DeleteBucketTagging: deleteBucketTagging :: BucketName -> DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: deleteBucketTaggingResponse :: DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance Data.Data.Data Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Data.Data.Data Network.AWS.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Read.Read Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Read.Read Network.AWS.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Show.Show Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance GHC.Show.Show Network.AWS.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
- Network.AWS.S3.DeleteBucketTagging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketTagging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketTagging.DeleteBucketTagging
- Network.AWS.S3.DeleteBucketWebsite: data DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: data DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: dbwBucket :: Lens' DeleteBucketWebsite BucketName
- Network.AWS.S3.DeleteBucketWebsite: deleteBucketWebsite :: BucketName -> DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: deleteBucketWebsiteResponse :: DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance Data.Data.Data Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Data.Data.Data Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Classes.Eq Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Generics.Generic Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Read.Read Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Read.Read Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Show.Show Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance GHC.Show.Show Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
- Network.AWS.S3.DeleteBucketWebsite: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteBucketWebsite: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteBucketWebsite.DeleteBucketWebsite
- Network.AWS.S3.DeleteObject: data DeleteObject
- Network.AWS.S3.DeleteObject: data DeleteObjectResponse
- Network.AWS.S3.DeleteObject: deleteObject :: BucketName -> ObjectKey -> DeleteObject
- Network.AWS.S3.DeleteObject: deleteObjectResponse :: Int -> DeleteObjectResponse
- Network.AWS.S3.DeleteObject: doBucket :: Lens' DeleteObject BucketName
- Network.AWS.S3.DeleteObject: doKey :: Lens' DeleteObject ObjectKey
- Network.AWS.S3.DeleteObject: doMFA :: Lens' DeleteObject (Maybe Text)
- Network.AWS.S3.DeleteObject: doRequestPayer :: Lens' DeleteObject (Maybe RequestPayer)
- Network.AWS.S3.DeleteObject: doVersionId :: Lens' DeleteObject (Maybe ObjectVersionId)
- Network.AWS.S3.DeleteObject: dorsDeleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)
- Network.AWS.S3.DeleteObject: dorsRequestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.DeleteObject: dorsResponseStatus :: Lens' DeleteObjectResponse Int
- Network.AWS.S3.DeleteObject: dorsVersionId :: Lens' DeleteObjectResponse (Maybe ObjectVersionId)
- Network.AWS.S3.DeleteObject: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteObject.DeleteObjectResponse
- Network.AWS.S3.DeleteObject: instance Data.Data.Data Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance Data.Data.Data Network.AWS.S3.DeleteObject.DeleteObjectResponse
- Network.AWS.S3.DeleteObject: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance GHC.Classes.Eq Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance GHC.Classes.Eq Network.AWS.S3.DeleteObject.DeleteObjectResponse
- Network.AWS.S3.DeleteObject: instance GHC.Generics.Generic Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance GHC.Generics.Generic Network.AWS.S3.DeleteObject.DeleteObjectResponse
- Network.AWS.S3.DeleteObject: instance GHC.Read.Read Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance GHC.Read.Read Network.AWS.S3.DeleteObject.DeleteObjectResponse
- Network.AWS.S3.DeleteObject: instance GHC.Show.Show Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance GHC.Show.Show Network.AWS.S3.DeleteObject.DeleteObjectResponse
- Network.AWS.S3.DeleteObject: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObject: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteObject.DeleteObject
- Network.AWS.S3.DeleteObjectTagging: data DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: data DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: deleteObjectTagging :: BucketName -> ObjectKey -> DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: deleteObjectTaggingResponse :: Int -> DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: dotBucket :: Lens' DeleteObjectTagging BucketName
- Network.AWS.S3.DeleteObjectTagging: dotKey :: Lens' DeleteObjectTagging ObjectKey
- Network.AWS.S3.DeleteObjectTagging: dotVersionId :: Lens' DeleteObjectTagging (Maybe ObjectVersionId)
- Network.AWS.S3.DeleteObjectTagging: dotrsResponseStatus :: Lens' DeleteObjectTaggingResponse Int
- Network.AWS.S3.DeleteObjectTagging: dotrsVersionId :: Lens' DeleteObjectTaggingResponse (Maybe ObjectVersionId)
- Network.AWS.S3.DeleteObjectTagging: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: instance Data.Data.Data Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance Data.Data.Data Network.AWS.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Classes.Eq Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Classes.Eq Network.AWS.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Generics.Generic Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Generics.Generic Network.AWS.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Read.Read Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Read.Read Network.AWS.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Show.Show Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance GHC.Show.Show Network.AWS.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
- Network.AWS.S3.DeleteObjectTagging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjectTagging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteObjectTagging.DeleteObjectTagging
- Network.AWS.S3.DeleteObjects: data DeleteObjects
- Network.AWS.S3.DeleteObjects: data DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: deleteObjects :: BucketName -> Delete -> DeleteObjects
- Network.AWS.S3.DeleteObjects: deleteObjectsResponse :: Int -> DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: dosBucket :: Lens' DeleteObjects BucketName
- Network.AWS.S3.DeleteObjects: dosDelete :: Lens' DeleteObjects Delete
- Network.AWS.S3.DeleteObjects: dosMFA :: Lens' DeleteObjects (Maybe Text)
- Network.AWS.S3.DeleteObjects: dosRequestPayer :: Lens' DeleteObjects (Maybe RequestPayer)
- Network.AWS.S3.DeleteObjects: drsDeleted :: Lens' DeleteObjectsResponse [DeletedObject]
- Network.AWS.S3.DeleteObjects: drsErrors :: Lens' DeleteObjectsResponse [S3ServiceError]
- Network.AWS.S3.DeleteObjects: drsRequestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)
- Network.AWS.S3.DeleteObjects: drsResponseStatus :: Lens' DeleteObjectsResponse Int
- Network.AWS.S3.DeleteObjects: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance Control.DeepSeq.NFData Network.AWS.S3.DeleteObjects.DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: instance Data.Data.Data Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance Data.Data.Data Network.AWS.S3.DeleteObjects.DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: instance Data.Hashable.Class.Hashable Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance GHC.Classes.Eq Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance GHC.Classes.Eq Network.AWS.S3.DeleteObjects.DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: instance GHC.Generics.Generic Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance GHC.Generics.Generic Network.AWS.S3.DeleteObjects.DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: instance GHC.Read.Read Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance GHC.Read.Read Network.AWS.S3.DeleteObjects.DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: instance GHC.Show.Show Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance GHC.Show.Show Network.AWS.S3.DeleteObjects.DeleteObjectsResponse
- Network.AWS.S3.DeleteObjects: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.DeleteObjects: instance Network.AWS.Types.AWSRequest Network.AWS.S3.DeleteObjects.DeleteObjects
- Network.AWS.S3.GetBucketACL: data GetBucketACL
- Network.AWS.S3.GetBucketACL: data GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: gbaBucket :: Lens' GetBucketACL BucketName
- Network.AWS.S3.GetBucketACL: gbarsGrants :: Lens' GetBucketACLResponse [Grant]
- Network.AWS.S3.GetBucketACL: gbarsOwner :: Lens' GetBucketACLResponse (Maybe Owner)
- Network.AWS.S3.GetBucketACL: gbarsResponseStatus :: Lens' GetBucketACLResponse Int
- Network.AWS.S3.GetBucketACL: getBucketACL :: BucketName -> GetBucketACL
- Network.AWS.S3.GetBucketACL: getBucketACLResponse :: Int -> GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketACL.GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance Data.Data.Data Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance Data.Data.Data Network.AWS.S3.GetBucketACL.GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance GHC.Classes.Eq Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance GHC.Classes.Eq Network.AWS.S3.GetBucketACL.GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance GHC.Generics.Generic Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance GHC.Generics.Generic Network.AWS.S3.GetBucketACL.GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance GHC.Read.Read Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance GHC.Read.Read Network.AWS.S3.GetBucketACL.GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance GHC.Show.Show Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance GHC.Show.Show Network.AWS.S3.GetBucketACL.GetBucketACLResponse
- Network.AWS.S3.GetBucketACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketACL: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketACL.GetBucketACL
- Network.AWS.S3.GetBucketAccelerateConfiguration: data GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: data GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: gbacBucket :: Lens' GetBucketAccelerateConfiguration BucketName
- Network.AWS.S3.GetBucketAccelerateConfiguration: getBucketAccelerateConfiguration :: BucketName -> GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: getBucketAccelerateConfigurationResponse :: Int -> GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: grsResponseStatus :: Lens' GetBucketAccelerateConfigurationResponse Int
- Network.AWS.S3.GetBucketAccelerateConfiguration: grsStatus :: Lens' GetBucketAccelerateConfigurationResponse (Maybe BucketAccelerateStatus)
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAccelerateConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: data GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: data GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: gbacrsAnalyticsConfiguration :: Lens' GetBucketAnalyticsConfigurationResponse (Maybe AnalyticsConfiguration)
- Network.AWS.S3.GetBucketAnalyticsConfiguration: gbacrsResponseStatus :: Lens' GetBucketAnalyticsConfigurationResponse Int
- Network.AWS.S3.GetBucketAnalyticsConfiguration: getBucket :: Lens' GetBucketAnalyticsConfiguration BucketName
- Network.AWS.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfiguration :: BucketName -> Text -> GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfigurationResponse :: Int -> GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: getId :: Lens' GetBucketAnalyticsConfiguration Text
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketAnalyticsConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
- Network.AWS.S3.GetBucketCORS: data GetBucketCORS
- Network.AWS.S3.GetBucketCORS: data GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: gbcBucket :: Lens' GetBucketCORS BucketName
- Network.AWS.S3.GetBucketCORS: gbcrsCORSRules :: Lens' GetBucketCORSResponse [CORSRule]
- Network.AWS.S3.GetBucketCORS: gbcrsResponseStatus :: Lens' GetBucketCORSResponse Int
- Network.AWS.S3.GetBucketCORS: getBucketCORS :: BucketName -> GetBucketCORS
- Network.AWS.S3.GetBucketCORS: getBucketCORSResponse :: Int -> GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketCORS.GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance Data.Data.Data Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance Data.Data.Data Network.AWS.S3.GetBucketCORS.GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance GHC.Classes.Eq Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance GHC.Classes.Eq Network.AWS.S3.GetBucketCORS.GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance GHC.Generics.Generic Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance GHC.Generics.Generic Network.AWS.S3.GetBucketCORS.GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance GHC.Read.Read Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance GHC.Read.Read Network.AWS.S3.GetBucketCORS.GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance GHC.Show.Show Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance GHC.Show.Show Network.AWS.S3.GetBucketCORS.GetBucketCORSResponse
- Network.AWS.S3.GetBucketCORS: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketCORS: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketCORS.GetBucketCORS
- Network.AWS.S3.GetBucketEncryption: data GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: data GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: gbeBucket :: Lens' GetBucketEncryption BucketName
- Network.AWS.S3.GetBucketEncryption: gbersResponseStatus :: Lens' GetBucketEncryptionResponse Int
- Network.AWS.S3.GetBucketEncryption: gbersServerSideEncryptionConfiguration :: Lens' GetBucketEncryptionResponse (Maybe ServerSideEncryptionConfiguration)
- Network.AWS.S3.GetBucketEncryption: getBucketEncryption :: BucketName -> GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: getBucketEncryptionResponse :: Int -> GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketEncryption.GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: instance Data.Data.Data Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance Data.Data.Data Network.AWS.S3.GetBucketEncryption.GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance GHC.Classes.Eq Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance GHC.Classes.Eq Network.AWS.S3.GetBucketEncryption.GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: instance GHC.Generics.Generic Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance GHC.Generics.Generic Network.AWS.S3.GetBucketEncryption.GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: instance GHC.Read.Read Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance GHC.Show.Show Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance GHC.Show.Show Network.AWS.S3.GetBucketEncryption.GetBucketEncryptionResponse
- Network.AWS.S3.GetBucketEncryption: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketEncryption: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketEncryption.GetBucketEncryption
- Network.AWS.S3.GetBucketInventoryConfiguration: data GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: data GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: gbicBucket :: Lens' GetBucketInventoryConfiguration BucketName
- Network.AWS.S3.GetBucketInventoryConfiguration: gbicId :: Lens' GetBucketInventoryConfiguration Text
- Network.AWS.S3.GetBucketInventoryConfiguration: gbicrsInventoryConfiguration :: Lens' GetBucketInventoryConfigurationResponse (Maybe InventoryConfiguration)
- Network.AWS.S3.GetBucketInventoryConfiguration: gbicrsResponseStatus :: Lens' GetBucketInventoryConfigurationResponse Int
- Network.AWS.S3.GetBucketInventoryConfiguration: getBucketInventoryConfiguration :: BucketName -> Text -> GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: getBucketInventoryConfigurationResponse :: Int -> GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketInventoryConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: data GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: data GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: gblcBucket :: Lens' GetBucketLifecycleConfiguration BucketName
- Network.AWS.S3.GetBucketLifecycleConfiguration: gblcrsResponseStatus :: Lens' GetBucketLifecycleConfigurationResponse Int
- Network.AWS.S3.GetBucketLifecycleConfiguration: gblcrsRules :: Lens' GetBucketLifecycleConfigurationResponse [LifecycleRule]
- Network.AWS.S3.GetBucketLifecycleConfiguration: getBucketLifecycleConfiguration :: BucketName -> GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: getBucketLifecycleConfigurationResponse :: Int -> GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLifecycleConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
- Network.AWS.S3.GetBucketLocation: data GetBucketLocation
- Network.AWS.S3.GetBucketLocation: data GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: gblBucket :: Lens' GetBucketLocation BucketName
- Network.AWS.S3.GetBucketLocation: gblbrsLocationConstraint :: Lens' GetBucketLocationResponse LocationConstraint
- Network.AWS.S3.GetBucketLocation: gblbrsResponseStatus :: Lens' GetBucketLocationResponse Int
- Network.AWS.S3.GetBucketLocation: getBucketLocation :: BucketName -> GetBucketLocation
- Network.AWS.S3.GetBucketLocation: getBucketLocationResponse :: Int -> LocationConstraint -> GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketLocation.GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance Data.Data.Data Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Data.Data.Data Network.AWS.S3.GetBucketLocation.GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance GHC.Classes.Eq Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance GHC.Classes.Eq Network.AWS.S3.GetBucketLocation.GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance GHC.Generics.Generic Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance GHC.Generics.Generic Network.AWS.S3.GetBucketLocation.GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance GHC.Read.Read Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance GHC.Read.Read Network.AWS.S3.GetBucketLocation.GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance GHC.Show.Show Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance GHC.Show.Show Network.AWS.S3.GetBucketLocation.GetBucketLocationResponse
- Network.AWS.S3.GetBucketLocation: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLocation: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketLocation.GetBucketLocation
- Network.AWS.S3.GetBucketLogging: data GetBucketLogging
- Network.AWS.S3.GetBucketLogging: data GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: gBucket :: Lens' GetBucketLogging BucketName
- Network.AWS.S3.GetBucketLogging: gblrsLoggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)
- Network.AWS.S3.GetBucketLogging: gblrsResponseStatus :: Lens' GetBucketLoggingResponse Int
- Network.AWS.S3.GetBucketLogging: getBucketLogging :: BucketName -> GetBucketLogging
- Network.AWS.S3.GetBucketLogging: getBucketLoggingResponse :: Int -> GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketLogging.GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance Data.Data.Data Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Data.Data.Data Network.AWS.S3.GetBucketLogging.GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance GHC.Classes.Eq Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance GHC.Classes.Eq Network.AWS.S3.GetBucketLogging.GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance GHC.Generics.Generic Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance GHC.Generics.Generic Network.AWS.S3.GetBucketLogging.GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance GHC.Read.Read Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance GHC.Read.Read Network.AWS.S3.GetBucketLogging.GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance GHC.Show.Show Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance GHC.Show.Show Network.AWS.S3.GetBucketLogging.GetBucketLoggingResponse
- Network.AWS.S3.GetBucketLogging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketLogging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketLogging.GetBucketLogging
- Network.AWS.S3.GetBucketMetricsConfiguration: data GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: data GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: gbmcBucket :: Lens' GetBucketMetricsConfiguration BucketName
- Network.AWS.S3.GetBucketMetricsConfiguration: gbmcId :: Lens' GetBucketMetricsConfiguration Text
- Network.AWS.S3.GetBucketMetricsConfiguration: gbmcrsMetricsConfiguration :: Lens' GetBucketMetricsConfigurationResponse (Maybe MetricsConfiguration)
- Network.AWS.S3.GetBucketMetricsConfiguration: gbmcrsResponseStatus :: Lens' GetBucketMetricsConfigurationResponse Int
- Network.AWS.S3.GetBucketMetricsConfiguration: getBucketMetricsConfiguration :: BucketName -> Text -> GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: getBucketMetricsConfigurationResponse :: Int -> GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketMetricsConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: data GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: data NotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: gbncBucket :: Lens' GetBucketNotificationConfiguration BucketName
- Network.AWS.S3.GetBucketNotificationConfiguration: getBucketNotificationConfiguration :: BucketName -> GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Data.Data.Data Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance GHC.Classes.Eq Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance GHC.Generics.Generic Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance GHC.Read.Read Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance GHC.Show.Show Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
- Network.AWS.S3.GetBucketNotificationConfiguration: ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]
- Network.AWS.S3.GetBucketNotificationConfiguration: ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]
- Network.AWS.S3.GetBucketNotificationConfiguration: ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]
- Network.AWS.S3.GetBucketNotificationConfiguration: notificationConfiguration :: NotificationConfiguration
- Network.AWS.S3.GetBucketPolicy: data GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: data GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: gbpBucket :: Lens' GetBucketPolicy BucketName
- Network.AWS.S3.GetBucketPolicy: gbprsPolicy :: Lens' GetBucketPolicyResponse ByteString
- Network.AWS.S3.GetBucketPolicy: gbprsResponseStatus :: Lens' GetBucketPolicyResponse Int
- Network.AWS.S3.GetBucketPolicy: getBucketPolicy :: BucketName -> GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: getBucketPolicyResponse :: Int -> ByteString -> GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketPolicy.GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance Data.Data.Data Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Data.Data.Data Network.AWS.S3.GetBucketPolicy.GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance GHC.Classes.Eq Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance GHC.Classes.Eq Network.AWS.S3.GetBucketPolicy.GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance GHC.Generics.Generic Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance GHC.Generics.Generic Network.AWS.S3.GetBucketPolicy.GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance GHC.Read.Read Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance GHC.Show.Show Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance GHC.Show.Show Network.AWS.S3.GetBucketPolicy.GetBucketPolicyResponse
- Network.AWS.S3.GetBucketPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketPolicy.GetBucketPolicy
- Network.AWS.S3.GetBucketReplication: data GetBucketReplication
- Network.AWS.S3.GetBucketReplication: data GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: gbrBucket :: Lens' GetBucketReplication BucketName
- Network.AWS.S3.GetBucketReplication: gbrrsReplicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)
- Network.AWS.S3.GetBucketReplication: gbrrsResponseStatus :: Lens' GetBucketReplicationResponse Int
- Network.AWS.S3.GetBucketReplication: getBucketReplication :: BucketName -> GetBucketReplication
- Network.AWS.S3.GetBucketReplication: getBucketReplicationResponse :: Int -> GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketReplication.GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance Data.Data.Data Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Data.Data.Data Network.AWS.S3.GetBucketReplication.GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance GHC.Classes.Eq Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance GHC.Classes.Eq Network.AWS.S3.GetBucketReplication.GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance GHC.Generics.Generic Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance GHC.Generics.Generic Network.AWS.S3.GetBucketReplication.GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance GHC.Read.Read Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance GHC.Read.Read Network.AWS.S3.GetBucketReplication.GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance GHC.Show.Show Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance GHC.Show.Show Network.AWS.S3.GetBucketReplication.GetBucketReplicationResponse
- Network.AWS.S3.GetBucketReplication: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketReplication: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketReplication.GetBucketReplication
- Network.AWS.S3.GetBucketRequestPayment: data GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: data GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: gbrpBucket :: Lens' GetBucketRequestPayment BucketName
- Network.AWS.S3.GetBucketRequestPayment: gbrprsPayer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)
- Network.AWS.S3.GetBucketRequestPayment: gbrprsResponseStatus :: Lens' GetBucketRequestPaymentResponse Int
- Network.AWS.S3.GetBucketRequestPayment: getBucketRequestPayment :: BucketName -> GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: getBucketRequestPaymentResponse :: Int -> GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance Data.Data.Data Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Data.Data.Data Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Classes.Eq Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Classes.Eq Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Generics.Generic Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Generics.Generic Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Read.Read Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Read.Read Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Show.Show Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance GHC.Show.Show Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
- Network.AWS.S3.GetBucketRequestPayment: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketRequestPayment: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketRequestPayment.GetBucketRequestPayment
- Network.AWS.S3.GetBucketTagging: data GetBucketTagging
- Network.AWS.S3.GetBucketTagging: data GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: gbtBucket :: Lens' GetBucketTagging BucketName
- Network.AWS.S3.GetBucketTagging: gbtrsResponseStatus :: Lens' GetBucketTaggingResponse Int
- Network.AWS.S3.GetBucketTagging: gbtrsTagSet :: Lens' GetBucketTaggingResponse [Tag]
- Network.AWS.S3.GetBucketTagging: getBucketTagging :: BucketName -> GetBucketTagging
- Network.AWS.S3.GetBucketTagging: getBucketTaggingResponse :: Int -> GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketTagging.GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance Data.Data.Data Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Data.Data.Data Network.AWS.S3.GetBucketTagging.GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance GHC.Classes.Eq Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance GHC.Classes.Eq Network.AWS.S3.GetBucketTagging.GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance GHC.Generics.Generic Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance GHC.Generics.Generic Network.AWS.S3.GetBucketTagging.GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance GHC.Read.Read Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance GHC.Read.Read Network.AWS.S3.GetBucketTagging.GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance GHC.Show.Show Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance GHC.Show.Show Network.AWS.S3.GetBucketTagging.GetBucketTaggingResponse
- Network.AWS.S3.GetBucketTagging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketTagging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketTagging.GetBucketTagging
- Network.AWS.S3.GetBucketVersioning: data GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: data GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: gbvBucket :: Lens' GetBucketVersioning BucketName
- Network.AWS.S3.GetBucketVersioning: gbvrsMFADelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)
- Network.AWS.S3.GetBucketVersioning: gbvrsResponseStatus :: Lens' GetBucketVersioningResponse Int
- Network.AWS.S3.GetBucketVersioning: gbvrsStatus :: Lens' GetBucketVersioningResponse (Maybe BucketVersioningStatus)
- Network.AWS.S3.GetBucketVersioning: getBucketVersioning :: BucketName -> GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: getBucketVersioningResponse :: Int -> GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketVersioning.GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance Data.Data.Data Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Data.Data.Data Network.AWS.S3.GetBucketVersioning.GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance GHC.Classes.Eq Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance GHC.Classes.Eq Network.AWS.S3.GetBucketVersioning.GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance GHC.Generics.Generic Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance GHC.Generics.Generic Network.AWS.S3.GetBucketVersioning.GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance GHC.Read.Read Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance GHC.Read.Read Network.AWS.S3.GetBucketVersioning.GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance GHC.Show.Show Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance GHC.Show.Show Network.AWS.S3.GetBucketVersioning.GetBucketVersioningResponse
- Network.AWS.S3.GetBucketVersioning: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketVersioning: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketVersioning.GetBucketVersioning
- Network.AWS.S3.GetBucketWebsite: data GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: data GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: gbwBucket :: Lens' GetBucketWebsite BucketName
- Network.AWS.S3.GetBucketWebsite: gbwrsErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)
- Network.AWS.S3.GetBucketWebsite: gbwrsIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)
- Network.AWS.S3.GetBucketWebsite: gbwrsRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)
- Network.AWS.S3.GetBucketWebsite: gbwrsResponseStatus :: Lens' GetBucketWebsiteResponse Int
- Network.AWS.S3.GetBucketWebsite: gbwrsRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]
- Network.AWS.S3.GetBucketWebsite: getBucketWebsite :: BucketName -> GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: getBucketWebsiteResponse :: Int -> GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Control.DeepSeq.NFData Network.AWS.S3.GetBucketWebsite.GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance Data.Data.Data Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Data.Data.Data Network.AWS.S3.GetBucketWebsite.GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance GHC.Classes.Eq Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance GHC.Classes.Eq Network.AWS.S3.GetBucketWebsite.GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance GHC.Generics.Generic Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance GHC.Generics.Generic Network.AWS.S3.GetBucketWebsite.GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance GHC.Read.Read Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance GHC.Read.Read Network.AWS.S3.GetBucketWebsite.GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance GHC.Show.Show Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance GHC.Show.Show Network.AWS.S3.GetBucketWebsite.GetBucketWebsiteResponse
- Network.AWS.S3.GetBucketWebsite: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetBucketWebsite: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetBucketWebsite.GetBucketWebsite
- Network.AWS.S3.GetObject: data GetObject
- Network.AWS.S3.GetObject: data GetObjectResponse
- Network.AWS.S3.GetObject: getObject :: BucketName -> ObjectKey -> GetObject
- Network.AWS.S3.GetObject: getObjectResponse :: Int -> RsBody -> GetObjectResponse
- Network.AWS.S3.GetObject: goBucket :: Lens' GetObject BucketName
- Network.AWS.S3.GetObject: goIfMatch :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goIfModifiedSince :: Lens' GetObject (Maybe UTCTime)
- Network.AWS.S3.GetObject: goIfNoneMatch :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goIfUnmodifiedSince :: Lens' GetObject (Maybe UTCTime)
- Network.AWS.S3.GetObject: goKey :: Lens' GetObject ObjectKey
- Network.AWS.S3.GetObject: goPartNumber :: Lens' GetObject (Maybe Int)
- Network.AWS.S3.GetObject: goRange :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goRequestPayer :: Lens' GetObject (Maybe RequestPayer)
- Network.AWS.S3.GetObject: goResponseCacheControl :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goResponseContentDisposition :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goResponseContentEncoding :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goResponseContentLanguage :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goResponseContentType :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goResponseExpires :: Lens' GetObject (Maybe UTCTime)
- Network.AWS.S3.GetObject: goSSECustomerAlgorithm :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goSSECustomerKey :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goSSECustomerKeyMD5 :: Lens' GetObject (Maybe Text)
- Network.AWS.S3.GetObject: goVersionId :: Lens' GetObject (Maybe ObjectVersionId)
- Network.AWS.S3.GetObject: gorsAcceptRanges :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsBody :: Lens' GetObjectResponse RsBody
- Network.AWS.S3.GetObject: gorsCacheControl :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsContentDisposition :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsContentEncoding :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsContentLanguage :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsContentLength :: Lens' GetObjectResponse (Maybe Integer)
- Network.AWS.S3.GetObject: gorsContentRange :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsContentType :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsDeleteMarker :: Lens' GetObjectResponse (Maybe Bool)
- Network.AWS.S3.GetObject: gorsETag :: Lens' GetObjectResponse (Maybe ETag)
- Network.AWS.S3.GetObject: gorsExpiration :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsExpires :: Lens' GetObjectResponse (Maybe UTCTime)
- Network.AWS.S3.GetObject: gorsLastModified :: Lens' GetObjectResponse (Maybe UTCTime)
- Network.AWS.S3.GetObject: gorsMetadata :: Lens' GetObjectResponse (HashMap Text Text)
- Network.AWS.S3.GetObject: gorsMissingMeta :: Lens' GetObjectResponse (Maybe Int)
- Network.AWS.S3.GetObject: gorsPartsCount :: Lens' GetObjectResponse (Maybe Int)
- Network.AWS.S3.GetObject: gorsReplicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)
- Network.AWS.S3.GetObject: gorsRequestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.GetObject: gorsResponseStatus :: Lens' GetObjectResponse Int
- Network.AWS.S3.GetObject: gorsRestore :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsSSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsSSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsSSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: gorsServerSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.GetObject: gorsStorageClass :: Lens' GetObjectResponse (Maybe StorageClass)
- Network.AWS.S3.GetObject: gorsTagCount :: Lens' GetObjectResponse (Maybe Int)
- Network.AWS.S3.GetObject: gorsVersionId :: Lens' GetObjectResponse (Maybe ObjectVersionId)
- Network.AWS.S3.GetObject: gorsWebsiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)
- Network.AWS.S3.GetObject: instance Control.DeepSeq.NFData Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance Data.Data.Data Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance GHC.Classes.Eq Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance GHC.Generics.Generic Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance GHC.Generics.Generic Network.AWS.S3.GetObject.GetObjectResponse
- Network.AWS.S3.GetObject: instance GHC.Show.Show Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance GHC.Show.Show Network.AWS.S3.GetObject.GetObjectResponse
- Network.AWS.S3.GetObject: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObject: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetObject.GetObject
- Network.AWS.S3.GetObjectACL: data GetObjectACL
- Network.AWS.S3.GetObjectACL: data GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: getObjectACL :: BucketName -> ObjectKey -> GetObjectACL
- Network.AWS.S3.GetObjectACL: getObjectACLResponse :: Int -> GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: goaBucket :: Lens' GetObjectACL BucketName
- Network.AWS.S3.GetObjectACL: goaKey :: Lens' GetObjectACL ObjectKey
- Network.AWS.S3.GetObjectACL: goaRequestPayer :: Lens' GetObjectACL (Maybe RequestPayer)
- Network.AWS.S3.GetObjectACL: goaVersionId :: Lens' GetObjectACL (Maybe ObjectVersionId)
- Network.AWS.S3.GetObjectACL: goarsGrants :: Lens' GetObjectACLResponse [Grant]
- Network.AWS.S3.GetObjectACL: goarsOwner :: Lens' GetObjectACLResponse (Maybe Owner)
- Network.AWS.S3.GetObjectACL: goarsRequestCharged :: Lens' GetObjectACLResponse (Maybe RequestCharged)
- Network.AWS.S3.GetObjectACL: goarsResponseStatus :: Lens' GetObjectACLResponse Int
- Network.AWS.S3.GetObjectACL: instance Control.DeepSeq.NFData Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance Control.DeepSeq.NFData Network.AWS.S3.GetObjectACL.GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: instance Data.Data.Data Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance Data.Data.Data Network.AWS.S3.GetObjectACL.GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance GHC.Classes.Eq Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance GHC.Classes.Eq Network.AWS.S3.GetObjectACL.GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: instance GHC.Generics.Generic Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance GHC.Generics.Generic Network.AWS.S3.GetObjectACL.GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: instance GHC.Read.Read Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance GHC.Read.Read Network.AWS.S3.GetObjectACL.GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: instance GHC.Show.Show Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance GHC.Show.Show Network.AWS.S3.GetObjectACL.GetObjectACLResponse
- Network.AWS.S3.GetObjectACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectACL: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetObjectACL.GetObjectACL
- Network.AWS.S3.GetObjectTagging: data GetObjectTagging
- Network.AWS.S3.GetObjectTagging: data GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: getObjectTagging :: BucketName -> ObjectKey -> GetObjectTagging
- Network.AWS.S3.GetObjectTagging: getObjectTaggingResponse :: Int -> GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: gotoBucket :: Lens' GetObjectTagging BucketName
- Network.AWS.S3.GetObjectTagging: gotoKey :: Lens' GetObjectTagging ObjectKey
- Network.AWS.S3.GetObjectTagging: gotoVersionId :: Lens' GetObjectTagging (Maybe ObjectVersionId)
- Network.AWS.S3.GetObjectTagging: gotrsResponseStatus :: Lens' GetObjectTaggingResponse Int
- Network.AWS.S3.GetObjectTagging: gotrsTagSet :: Lens' GetObjectTaggingResponse [Tag]
- Network.AWS.S3.GetObjectTagging: gotrsVersionId :: Lens' GetObjectTaggingResponse (Maybe ObjectVersionId)
- Network.AWS.S3.GetObjectTagging: instance Control.DeepSeq.NFData Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance Control.DeepSeq.NFData Network.AWS.S3.GetObjectTagging.GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: instance Data.Data.Data Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance Data.Data.Data Network.AWS.S3.GetObjectTagging.GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance GHC.Classes.Eq Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance GHC.Classes.Eq Network.AWS.S3.GetObjectTagging.GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: instance GHC.Generics.Generic Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance GHC.Generics.Generic Network.AWS.S3.GetObjectTagging.GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: instance GHC.Read.Read Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance GHC.Read.Read Network.AWS.S3.GetObjectTagging.GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: instance GHC.Show.Show Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance GHC.Show.Show Network.AWS.S3.GetObjectTagging.GetObjectTaggingResponse
- Network.AWS.S3.GetObjectTagging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTagging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetObjectTagging.GetObjectTagging
- Network.AWS.S3.GetObjectTorrent: data GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: data GetObjectTorrentResponse
- Network.AWS.S3.GetObjectTorrent: getObjectTorrent :: BucketName -> ObjectKey -> GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: getObjectTorrentResponse :: Int -> RsBody -> GetObjectTorrentResponse
- Network.AWS.S3.GetObjectTorrent: getrsBody :: Lens' GetObjectTorrentResponse RsBody
- Network.AWS.S3.GetObjectTorrent: getrsRequestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)
- Network.AWS.S3.GetObjectTorrent: getrsResponseStatus :: Lens' GetObjectTorrentResponse Int
- Network.AWS.S3.GetObjectTorrent: gotBucket :: Lens' GetObjectTorrent BucketName
- Network.AWS.S3.GetObjectTorrent: gotKey :: Lens' GetObjectTorrent ObjectKey
- Network.AWS.S3.GetObjectTorrent: gotRequestPayer :: Lens' GetObjectTorrent (Maybe RequestPayer)
- Network.AWS.S3.GetObjectTorrent: instance Control.DeepSeq.NFData Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance Data.Data.Data Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance Data.Hashable.Class.Hashable Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance GHC.Classes.Eq Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance GHC.Generics.Generic Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance GHC.Generics.Generic Network.AWS.S3.GetObjectTorrent.GetObjectTorrentResponse
- Network.AWS.S3.GetObjectTorrent: instance GHC.Read.Read Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance GHC.Show.Show Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance GHC.Show.Show Network.AWS.S3.GetObjectTorrent.GetObjectTorrentResponse
- Network.AWS.S3.GetObjectTorrent: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.GetObjectTorrent: instance Network.AWS.Types.AWSRequest Network.AWS.S3.GetObjectTorrent.GetObjectTorrent
- Network.AWS.S3.HeadBucket: data HeadBucket
- Network.AWS.S3.HeadBucket: data HeadBucketResponse
- Network.AWS.S3.HeadBucket: hbBucket :: Lens' HeadBucket BucketName
- Network.AWS.S3.HeadBucket: headBucket :: BucketName -> HeadBucket
- Network.AWS.S3.HeadBucket: headBucketResponse :: HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance Control.DeepSeq.NFData Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance Control.DeepSeq.NFData Network.AWS.S3.HeadBucket.HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance Data.Data.Data Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance Data.Data.Data Network.AWS.S3.HeadBucket.HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance Data.Hashable.Class.Hashable Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance GHC.Classes.Eq Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance GHC.Classes.Eq Network.AWS.S3.HeadBucket.HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance GHC.Generics.Generic Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance GHC.Generics.Generic Network.AWS.S3.HeadBucket.HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance GHC.Read.Read Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance GHC.Read.Read Network.AWS.S3.HeadBucket.HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance GHC.Show.Show Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance GHC.Show.Show Network.AWS.S3.HeadBucket.HeadBucketResponse
- Network.AWS.S3.HeadBucket: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadBucket: instance Network.AWS.Types.AWSRequest Network.AWS.S3.HeadBucket.HeadBucket
- Network.AWS.S3.HeadObject: data HeadObject
- Network.AWS.S3.HeadObject: data HeadObjectResponse
- Network.AWS.S3.HeadObject: headObject :: BucketName -> ObjectKey -> HeadObject
- Network.AWS.S3.HeadObject: headObjectResponse :: Int -> HeadObjectResponse
- Network.AWS.S3.HeadObject: hoBucket :: Lens' HeadObject BucketName
- Network.AWS.S3.HeadObject: hoIfMatch :: Lens' HeadObject (Maybe Text)
- Network.AWS.S3.HeadObject: hoIfModifiedSince :: Lens' HeadObject (Maybe UTCTime)
- Network.AWS.S3.HeadObject: hoIfNoneMatch :: Lens' HeadObject (Maybe Text)
- Network.AWS.S3.HeadObject: hoIfUnmodifiedSince :: Lens' HeadObject (Maybe UTCTime)
- Network.AWS.S3.HeadObject: hoKey :: Lens' HeadObject ObjectKey
- Network.AWS.S3.HeadObject: hoPartNumber :: Lens' HeadObject (Maybe Int)
- Network.AWS.S3.HeadObject: hoRange :: Lens' HeadObject (Maybe Text)
- Network.AWS.S3.HeadObject: hoRequestPayer :: Lens' HeadObject (Maybe RequestPayer)
- Network.AWS.S3.HeadObject: hoSSECustomerAlgorithm :: Lens' HeadObject (Maybe Text)
- Network.AWS.S3.HeadObject: hoSSECustomerKey :: Lens' HeadObject (Maybe Text)
- Network.AWS.S3.HeadObject: hoSSECustomerKeyMD5 :: Lens' HeadObject (Maybe Text)
- Network.AWS.S3.HeadObject: hoVersionId :: Lens' HeadObject (Maybe ObjectVersionId)
- Network.AWS.S3.HeadObject: horsAcceptRanges :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsCacheControl :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsContentDisposition :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsContentEncoding :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsContentLanguage :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsContentLength :: Lens' HeadObjectResponse (Maybe Integer)
- Network.AWS.S3.HeadObject: horsContentType :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsDeleteMarker :: Lens' HeadObjectResponse (Maybe Bool)
- Network.AWS.S3.HeadObject: horsETag :: Lens' HeadObjectResponse (Maybe ETag)
- Network.AWS.S3.HeadObject: horsExpiration :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsExpires :: Lens' HeadObjectResponse (Maybe UTCTime)
- Network.AWS.S3.HeadObject: horsLastModified :: Lens' HeadObjectResponse (Maybe UTCTime)
- Network.AWS.S3.HeadObject: horsMetadata :: Lens' HeadObjectResponse (HashMap Text Text)
- Network.AWS.S3.HeadObject: horsMissingMeta :: Lens' HeadObjectResponse (Maybe Int)
- Network.AWS.S3.HeadObject: horsPartsCount :: Lens' HeadObjectResponse (Maybe Int)
- Network.AWS.S3.HeadObject: horsReplicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)
- Network.AWS.S3.HeadObject: horsRequestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.HeadObject: horsResponseStatus :: Lens' HeadObjectResponse Int
- Network.AWS.S3.HeadObject: horsRestore :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsSSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsSSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsSSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: horsServerSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.HeadObject: horsStorageClass :: Lens' HeadObjectResponse (Maybe StorageClass)
- Network.AWS.S3.HeadObject: horsVersionId :: Lens' HeadObjectResponse (Maybe ObjectVersionId)
- Network.AWS.S3.HeadObject: horsWebsiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)
- Network.AWS.S3.HeadObject: instance Control.DeepSeq.NFData Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance Control.DeepSeq.NFData Network.AWS.S3.HeadObject.HeadObjectResponse
- Network.AWS.S3.HeadObject: instance Data.Data.Data Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance Data.Data.Data Network.AWS.S3.HeadObject.HeadObjectResponse
- Network.AWS.S3.HeadObject: instance Data.Hashable.Class.Hashable Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance GHC.Classes.Eq Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance GHC.Classes.Eq Network.AWS.S3.HeadObject.HeadObjectResponse
- Network.AWS.S3.HeadObject: instance GHC.Generics.Generic Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance GHC.Generics.Generic Network.AWS.S3.HeadObject.HeadObjectResponse
- Network.AWS.S3.HeadObject: instance GHC.Show.Show Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance GHC.Show.Show Network.AWS.S3.HeadObject.HeadObjectResponse
- Network.AWS.S3.HeadObject: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.HeadObject: instance Network.AWS.Types.AWSRequest Network.AWS.S3.HeadObject.HeadObject
- Network.AWS.S3.ListBucketAnalyticsConfigurations: data ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: data ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Control.DeepSeq.NFData Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Control.DeepSeq.NFData Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Data.Data.Data Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Data.Data.Data Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Classes.Eq Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Classes.Eq Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Generics.Generic Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Generics.Generic Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Read.Read Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Read.Read Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Show.Show Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance GHC.Show.Show Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacBucket :: Lens' ListBucketAnalyticsConfigurations BucketName
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacContinuationToken :: Lens' ListBucketAnalyticsConfigurations (Maybe Text)
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacrsAnalyticsConfigurationList :: Lens' ListBucketAnalyticsConfigurationsResponse [AnalyticsConfiguration]
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacrsContinuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacrsIsTruncated :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Bool)
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacrsNextContinuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)
- Network.AWS.S3.ListBucketAnalyticsConfigurations: lbacrsResponseStatus :: Lens' ListBucketAnalyticsConfigurationsResponse Int
- Network.AWS.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurations :: BucketName -> ListBucketAnalyticsConfigurations
- Network.AWS.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurationsResponse :: Int -> ListBucketAnalyticsConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: data ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: data ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Control.DeepSeq.NFData Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Control.DeepSeq.NFData Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Data.Data.Data Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Data.Data.Data Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Classes.Eq Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Classes.Eq Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Generics.Generic Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Generics.Generic Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Read.Read Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Show.Show Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance GHC.Show.Show Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicBucket :: Lens' ListBucketInventoryConfigurations BucketName
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicContinuationToken :: Lens' ListBucketInventoryConfigurations (Maybe Text)
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicrsContinuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicrsInventoryConfigurationList :: Lens' ListBucketInventoryConfigurationsResponse [InventoryConfiguration]
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicrsIsTruncated :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Bool)
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicrsNextContinuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)
- Network.AWS.S3.ListBucketInventoryConfigurations: lbicrsResponseStatus :: Lens' ListBucketInventoryConfigurationsResponse Int
- Network.AWS.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurations :: BucketName -> ListBucketInventoryConfigurations
- Network.AWS.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurationsResponse :: Int -> ListBucketInventoryConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: data ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: data ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Control.DeepSeq.NFData Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Control.DeepSeq.NFData Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Data.Data.Data Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Data.Data.Data Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Classes.Eq Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Classes.Eq Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Generics.Generic Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Generics.Generic Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Read.Read Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Read.Read Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Show.Show Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance GHC.Show.Show Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcBucket :: Lens' ListBucketMetricsConfigurations BucketName
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcContinuationToken :: Lens' ListBucketMetricsConfigurations (Maybe Text)
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcrsContinuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcrsIsTruncated :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Bool)
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcrsMetricsConfigurationList :: Lens' ListBucketMetricsConfigurationsResponse [MetricsConfiguration]
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcrsNextContinuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)
- Network.AWS.S3.ListBucketMetricsConfigurations: lbmcrsResponseStatus :: Lens' ListBucketMetricsConfigurationsResponse Int
- Network.AWS.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurations :: BucketName -> ListBucketMetricsConfigurations
- Network.AWS.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurationsResponse :: Int -> ListBucketMetricsConfigurationsResponse
- Network.AWS.S3.ListBuckets: data ListBuckets
- Network.AWS.S3.ListBuckets: data ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance Control.DeepSeq.NFData Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance Control.DeepSeq.NFData Network.AWS.S3.ListBuckets.ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance Data.Data.Data Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance Data.Data.Data Network.AWS.S3.ListBuckets.ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance GHC.Classes.Eq Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance GHC.Classes.Eq Network.AWS.S3.ListBuckets.ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance GHC.Generics.Generic Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance GHC.Generics.Generic Network.AWS.S3.ListBuckets.ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance GHC.Read.Read Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance GHC.Read.Read Network.AWS.S3.ListBuckets.ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance GHC.Show.Show Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance GHC.Show.Show Network.AWS.S3.ListBuckets.ListBucketsResponse
- Network.AWS.S3.ListBuckets: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListBuckets.ListBuckets
- Network.AWS.S3.ListBuckets: lbrsBuckets :: Lens' ListBucketsResponse [Bucket]
- Network.AWS.S3.ListBuckets: lbrsOwner :: Lens' ListBucketsResponse (Maybe Owner)
- Network.AWS.S3.ListBuckets: lbrsResponseStatus :: Lens' ListBucketsResponse Int
- Network.AWS.S3.ListBuckets: listBuckets :: ListBuckets
- Network.AWS.S3.ListBuckets: listBucketsResponse :: Int -> ListBucketsResponse
- Network.AWS.S3.ListMultipartUploads: data ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: data ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance Control.DeepSeq.NFData Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance Control.DeepSeq.NFData Network.AWS.S3.ListMultipartUploads.ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance Data.Data.Data Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance Data.Data.Data Network.AWS.S3.ListMultipartUploads.ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance GHC.Classes.Eq Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance GHC.Classes.Eq Network.AWS.S3.ListMultipartUploads.ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance GHC.Generics.Generic Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance GHC.Generics.Generic Network.AWS.S3.ListMultipartUploads.ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance GHC.Read.Read Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance GHC.Read.Read Network.AWS.S3.ListMultipartUploads.ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance GHC.Show.Show Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance GHC.Show.Show Network.AWS.S3.ListMultipartUploads.ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance Network.AWS.Pager.AWSPager Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListMultipartUploads.ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: listMultipartUploads :: BucketName -> ListMultipartUploads
- Network.AWS.S3.ListMultipartUploads: listMultipartUploadsResponse :: Int -> ListMultipartUploadsResponse
- Network.AWS.S3.ListMultipartUploads: lmuBucket :: Lens' ListMultipartUploads BucketName
- Network.AWS.S3.ListMultipartUploads: lmuDelimiter :: Lens' ListMultipartUploads (Maybe Delimiter)
- Network.AWS.S3.ListMultipartUploads: lmuEncodingType :: Lens' ListMultipartUploads (Maybe EncodingType)
- Network.AWS.S3.ListMultipartUploads: lmuKeyMarker :: Lens' ListMultipartUploads (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmuMaxUploads :: Lens' ListMultipartUploads (Maybe Int)
- Network.AWS.S3.ListMultipartUploads: lmuPrefix :: Lens' ListMultipartUploads (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmuUploadIdMarker :: Lens' ListMultipartUploads (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmursBucket :: Lens' ListMultipartUploadsResponse (Maybe BucketName)
- Network.AWS.S3.ListMultipartUploads: lmursCommonPrefixes :: Lens' ListMultipartUploadsResponse [CommonPrefix]
- Network.AWS.S3.ListMultipartUploads: lmursDelimiter :: Lens' ListMultipartUploadsResponse (Maybe Delimiter)
- Network.AWS.S3.ListMultipartUploads: lmursEncodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)
- Network.AWS.S3.ListMultipartUploads: lmursIsTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)
- Network.AWS.S3.ListMultipartUploads: lmursKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmursMaxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)
- Network.AWS.S3.ListMultipartUploads: lmursNextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmursNextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmursPrefix :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmursResponseStatus :: Lens' ListMultipartUploadsResponse Int
- Network.AWS.S3.ListMultipartUploads: lmursUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
- Network.AWS.S3.ListMultipartUploads: lmursUploads :: Lens' ListMultipartUploadsResponse [MultipartUpload]
- Network.AWS.S3.ListObjectVersions: data ListObjectVersions
- Network.AWS.S3.ListObjectVersions: data ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance Control.DeepSeq.NFData Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance Control.DeepSeq.NFData Network.AWS.S3.ListObjectVersions.ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance Data.Data.Data Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance Data.Data.Data Network.AWS.S3.ListObjectVersions.ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance GHC.Classes.Eq Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance GHC.Classes.Eq Network.AWS.S3.ListObjectVersions.ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance GHC.Generics.Generic Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance GHC.Generics.Generic Network.AWS.S3.ListObjectVersions.ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance GHC.Read.Read Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance GHC.Read.Read Network.AWS.S3.ListObjectVersions.ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance GHC.Show.Show Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance GHC.Show.Show Network.AWS.S3.ListObjectVersions.ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance Network.AWS.Pager.AWSPager Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListObjectVersions.ListObjectVersions
- Network.AWS.S3.ListObjectVersions: lBucket :: Lens' ListObjectVersions BucketName
- Network.AWS.S3.ListObjectVersions: lDelimiter :: Lens' ListObjectVersions (Maybe Delimiter)
- Network.AWS.S3.ListObjectVersions: lEncodingType :: Lens' ListObjectVersions (Maybe EncodingType)
- Network.AWS.S3.ListObjectVersions: lKeyMarker :: Lens' ListObjectVersions (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lMaxKeys :: Lens' ListObjectVersions (Maybe Int)
- Network.AWS.S3.ListObjectVersions: lPrefix :: Lens' ListObjectVersions (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lVersionIdMarker :: Lens' ListObjectVersions (Maybe Text)
- Network.AWS.S3.ListObjectVersions: listObjectVersions :: BucketName -> ListObjectVersions
- Network.AWS.S3.ListObjectVersions: listObjectVersionsResponse :: Int -> ListObjectVersionsResponse
- Network.AWS.S3.ListObjectVersions: lrsCommonPrefixes :: Lens' ListObjectVersionsResponse [CommonPrefix]
- Network.AWS.S3.ListObjectVersions: lrsDeleteMarkers :: Lens' ListObjectVersionsResponse [DeleteMarkerEntry]
- Network.AWS.S3.ListObjectVersions: lrsDelimiter :: Lens' ListObjectVersionsResponse (Maybe Delimiter)
- Network.AWS.S3.ListObjectVersions: lrsEncodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)
- Network.AWS.S3.ListObjectVersions: lrsIsTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)
- Network.AWS.S3.ListObjectVersions: lrsKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lrsMaxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)
- Network.AWS.S3.ListObjectVersions: lrsName :: Lens' ListObjectVersionsResponse (Maybe BucketName)
- Network.AWS.S3.ListObjectVersions: lrsNextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lrsNextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lrsPrefix :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lrsResponseStatus :: Lens' ListObjectVersionsResponse Int
- Network.AWS.S3.ListObjectVersions: lrsVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
- Network.AWS.S3.ListObjectVersions: lrsVersions :: Lens' ListObjectVersionsResponse [ObjectVersion]
- Network.AWS.S3.ListObjects: data ListObjects
- Network.AWS.S3.ListObjects: data ListObjectsResponse
- Network.AWS.S3.ListObjects: instance Control.DeepSeq.NFData Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance Control.DeepSeq.NFData Network.AWS.S3.ListObjects.ListObjectsResponse
- Network.AWS.S3.ListObjects: instance Data.Data.Data Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance Data.Data.Data Network.AWS.S3.ListObjects.ListObjectsResponse
- Network.AWS.S3.ListObjects: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance GHC.Classes.Eq Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance GHC.Classes.Eq Network.AWS.S3.ListObjects.ListObjectsResponse
- Network.AWS.S3.ListObjects: instance GHC.Generics.Generic Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance GHC.Generics.Generic Network.AWS.S3.ListObjects.ListObjectsResponse
- Network.AWS.S3.ListObjects: instance GHC.Read.Read Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance GHC.Read.Read Network.AWS.S3.ListObjects.ListObjectsResponse
- Network.AWS.S3.ListObjects: instance GHC.Show.Show Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance GHC.Show.Show Network.AWS.S3.ListObjects.ListObjectsResponse
- Network.AWS.S3.ListObjects: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance Network.AWS.Pager.AWSPager Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListObjects.ListObjects
- Network.AWS.S3.ListObjects: listObjects :: BucketName -> ListObjects
- Network.AWS.S3.ListObjects: listObjectsResponse :: Int -> ListObjectsResponse
- Network.AWS.S3.ListObjects: loBucket :: Lens' ListObjects BucketName
- Network.AWS.S3.ListObjects: loDelimiter :: Lens' ListObjects (Maybe Delimiter)
- Network.AWS.S3.ListObjects: loEncodingType :: Lens' ListObjects (Maybe EncodingType)
- Network.AWS.S3.ListObjects: loMarker :: Lens' ListObjects (Maybe Text)
- Network.AWS.S3.ListObjects: loMaxKeys :: Lens' ListObjects (Maybe Int)
- Network.AWS.S3.ListObjects: loPrefix :: Lens' ListObjects (Maybe Text)
- Network.AWS.S3.ListObjects: loRequestPayer :: Lens' ListObjects (Maybe RequestPayer)
- Network.AWS.S3.ListObjects: lorsCommonPrefixes :: Lens' ListObjectsResponse [CommonPrefix]
- Network.AWS.S3.ListObjects: lorsContents :: Lens' ListObjectsResponse [Object]
- Network.AWS.S3.ListObjects: lorsDelimiter :: Lens' ListObjectsResponse (Maybe Delimiter)
- Network.AWS.S3.ListObjects: lorsEncodingType :: Lens' ListObjectsResponse (Maybe EncodingType)
- Network.AWS.S3.ListObjects: lorsIsTruncated :: Lens' ListObjectsResponse (Maybe Bool)
- Network.AWS.S3.ListObjects: lorsMarker :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorsMaxKeys :: Lens' ListObjectsResponse (Maybe Int)
- Network.AWS.S3.ListObjects: lorsName :: Lens' ListObjectsResponse (Maybe BucketName)
- Network.AWS.S3.ListObjects: lorsNextMarker :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorsPrefix :: Lens' ListObjectsResponse (Maybe Text)
- Network.AWS.S3.ListObjects: lorsResponseStatus :: Lens' ListObjectsResponse Int
- Network.AWS.S3.ListObjectsV2: data ListObjectsV2
- Network.AWS.S3.ListObjectsV2: data ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance Control.DeepSeq.NFData Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance Control.DeepSeq.NFData Network.AWS.S3.ListObjectsV2.ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance Data.Data.Data Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance Data.Data.Data Network.AWS.S3.ListObjectsV2.ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance GHC.Classes.Eq Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance GHC.Classes.Eq Network.AWS.S3.ListObjectsV2.ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance GHC.Generics.Generic Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance GHC.Generics.Generic Network.AWS.S3.ListObjectsV2.ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance GHC.Read.Read Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance GHC.Read.Read Network.AWS.S3.ListObjectsV2.ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance GHC.Show.Show Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance GHC.Show.Show Network.AWS.S3.ListObjectsV2.ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance Network.AWS.Pager.AWSPager Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListObjectsV2.ListObjectsV2
- Network.AWS.S3.ListObjectsV2: listObjectsV2 :: BucketName -> ListObjectsV2
- Network.AWS.S3.ListObjectsV2: listObjectsV2Response :: Int -> ListObjectsV2Response
- Network.AWS.S3.ListObjectsV2: lovBucket :: Lens' ListObjectsV2 BucketName
- Network.AWS.S3.ListObjectsV2: lovContinuationToken :: Lens' ListObjectsV2 (Maybe Text)
- Network.AWS.S3.ListObjectsV2: lovDelimiter :: Lens' ListObjectsV2 (Maybe Delimiter)
- Network.AWS.S3.ListObjectsV2: lovEncodingType :: Lens' ListObjectsV2 (Maybe EncodingType)
- Network.AWS.S3.ListObjectsV2: lovFetchOwner :: Lens' ListObjectsV2 (Maybe Bool)
- Network.AWS.S3.ListObjectsV2: lovMaxKeys :: Lens' ListObjectsV2 (Maybe Int)
- Network.AWS.S3.ListObjectsV2: lovPrefix :: Lens' ListObjectsV2 (Maybe Text)
- Network.AWS.S3.ListObjectsV2: lovRequestPayer :: Lens' ListObjectsV2 (Maybe RequestPayer)
- Network.AWS.S3.ListObjectsV2: lovStartAfter :: Lens' ListObjectsV2 (Maybe Text)
- Network.AWS.S3.ListObjectsV2: lovrsCommonPrefixes :: Lens' ListObjectsV2Response [CommonPrefix]
- Network.AWS.S3.ListObjectsV2: lovrsContents :: Lens' ListObjectsV2Response [Object]
- Network.AWS.S3.ListObjectsV2: lovrsContinuationToken :: Lens' ListObjectsV2Response (Maybe Text)
- Network.AWS.S3.ListObjectsV2: lovrsDelimiter :: Lens' ListObjectsV2Response (Maybe Delimiter)
- Network.AWS.S3.ListObjectsV2: lovrsEncodingType :: Lens' ListObjectsV2Response (Maybe EncodingType)
- Network.AWS.S3.ListObjectsV2: lovrsIsTruncated :: Lens' ListObjectsV2Response (Maybe Bool)
- Network.AWS.S3.ListObjectsV2: lovrsKeyCount :: Lens' ListObjectsV2Response (Maybe Int)
- Network.AWS.S3.ListObjectsV2: lovrsMaxKeys :: Lens' ListObjectsV2Response (Maybe Int)
- Network.AWS.S3.ListObjectsV2: lovrsName :: Lens' ListObjectsV2Response (Maybe BucketName)
- Network.AWS.S3.ListObjectsV2: lovrsNextContinuationToken :: Lens' ListObjectsV2Response (Maybe Text)
- Network.AWS.S3.ListObjectsV2: lovrsPrefix :: Lens' ListObjectsV2Response (Maybe Text)
- Network.AWS.S3.ListObjectsV2: lovrsResponseStatus :: Lens' ListObjectsV2Response Int
- Network.AWS.S3.ListObjectsV2: lovrsStartAfter :: Lens' ListObjectsV2Response (Maybe Text)
- Network.AWS.S3.ListParts: data ListParts
- Network.AWS.S3.ListParts: data ListPartsResponse
- Network.AWS.S3.ListParts: instance Control.DeepSeq.NFData Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance Control.DeepSeq.NFData Network.AWS.S3.ListParts.ListPartsResponse
- Network.AWS.S3.ListParts: instance Data.Data.Data Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance Data.Data.Data Network.AWS.S3.ListParts.ListPartsResponse
- Network.AWS.S3.ListParts: instance Data.Hashable.Class.Hashable Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance GHC.Classes.Eq Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance GHC.Classes.Eq Network.AWS.S3.ListParts.ListPartsResponse
- Network.AWS.S3.ListParts: instance GHC.Generics.Generic Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance GHC.Generics.Generic Network.AWS.S3.ListParts.ListPartsResponse
- Network.AWS.S3.ListParts: instance GHC.Read.Read Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance GHC.Read.Read Network.AWS.S3.ListParts.ListPartsResponse
- Network.AWS.S3.ListParts: instance GHC.Show.Show Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance GHC.Show.Show Network.AWS.S3.ListParts.ListPartsResponse
- Network.AWS.S3.ListParts: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance Network.AWS.Pager.AWSPager Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: instance Network.AWS.Types.AWSRequest Network.AWS.S3.ListParts.ListParts
- Network.AWS.S3.ListParts: listParts :: BucketName -> ObjectKey -> Text -> ListParts
- Network.AWS.S3.ListParts: listPartsResponse :: Int -> ListPartsResponse
- Network.AWS.S3.ListParts: lpBucket :: Lens' ListParts BucketName
- Network.AWS.S3.ListParts: lpKey :: Lens' ListParts ObjectKey
- Network.AWS.S3.ListParts: lpMaxParts :: Lens' ListParts (Maybe Int)
- Network.AWS.S3.ListParts: lpPartNumberMarker :: Lens' ListParts (Maybe Int)
- Network.AWS.S3.ListParts: lpRequestPayer :: Lens' ListParts (Maybe RequestPayer)
- Network.AWS.S3.ListParts: lpUploadId :: Lens' ListParts Text
- Network.AWS.S3.ListParts: lprsAbortDate :: Lens' ListPartsResponse (Maybe UTCTime)
- Network.AWS.S3.ListParts: lprsAbortRuleId :: Lens' ListPartsResponse (Maybe Text)
- Network.AWS.S3.ListParts: lprsBucket :: Lens' ListPartsResponse (Maybe BucketName)
- Network.AWS.S3.ListParts: lprsInitiator :: Lens' ListPartsResponse (Maybe Initiator)
- Network.AWS.S3.ListParts: lprsIsTruncated :: Lens' ListPartsResponse (Maybe Bool)
- Network.AWS.S3.ListParts: lprsKey :: Lens' ListPartsResponse (Maybe ObjectKey)
- Network.AWS.S3.ListParts: lprsMaxParts :: Lens' ListPartsResponse (Maybe Int)
- Network.AWS.S3.ListParts: lprsNextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
- Network.AWS.S3.ListParts: lprsOwner :: Lens' ListPartsResponse (Maybe Owner)
- Network.AWS.S3.ListParts: lprsPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
- Network.AWS.S3.ListParts: lprsParts :: Lens' ListPartsResponse [Part]
- Network.AWS.S3.ListParts: lprsRequestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)
- Network.AWS.S3.ListParts: lprsResponseStatus :: Lens' ListPartsResponse Int
- Network.AWS.S3.ListParts: lprsStorageClass :: Lens' ListPartsResponse (Maybe StorageClass)
- Network.AWS.S3.ListParts: lprsUploadId :: Lens' ListPartsResponse (Maybe Text)
- Network.AWS.S3.PutBucketACL: data PutBucketACL
- Network.AWS.S3.PutBucketACL: data PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketACL.PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance Data.Data.Data Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance Data.Data.Data Network.AWS.S3.PutBucketACL.PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance GHC.Classes.Eq Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance GHC.Classes.Eq Network.AWS.S3.PutBucketACL.PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance GHC.Generics.Generic Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance GHC.Generics.Generic Network.AWS.S3.PutBucketACL.PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance GHC.Read.Read Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance GHC.Read.Read Network.AWS.S3.PutBucketACL.PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance GHC.Show.Show Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance GHC.Show.Show Network.AWS.S3.PutBucketACL.PutBucketACLResponse
- Network.AWS.S3.PutBucketACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketACL.PutBucketACL
- Network.AWS.S3.PutBucketACL: pbaACL :: Lens' PutBucketACL (Maybe BucketCannedACL)
- Network.AWS.S3.PutBucketACL: pbaAccessControlPolicy :: Lens' PutBucketACL (Maybe AccessControlPolicy)
- Network.AWS.S3.PutBucketACL: pbaBucket :: Lens' PutBucketACL BucketName
- Network.AWS.S3.PutBucketACL: pbaContentMD5 :: Lens' PutBucketACL (Maybe Text)
- Network.AWS.S3.PutBucketACL: pbaGrantFullControl :: Lens' PutBucketACL (Maybe Text)
- Network.AWS.S3.PutBucketACL: pbaGrantRead :: Lens' PutBucketACL (Maybe Text)
- Network.AWS.S3.PutBucketACL: pbaGrantReadACP :: Lens' PutBucketACL (Maybe Text)
- Network.AWS.S3.PutBucketACL: pbaGrantWrite :: Lens' PutBucketACL (Maybe Text)
- Network.AWS.S3.PutBucketACL: pbaGrantWriteACP :: Lens' PutBucketACL (Maybe Text)
- Network.AWS.S3.PutBucketACL: putBucketACL :: BucketName -> PutBucketACL
- Network.AWS.S3.PutBucketACL: putBucketACLResponse :: PutBucketACLResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: data PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: data PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: pbacAccelerateConfiguration :: Lens' PutBucketAccelerateConfiguration AccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: pbacBucket :: Lens' PutBucketAccelerateConfiguration BucketName
- Network.AWS.S3.PutBucketAccelerateConfiguration: putBucketAccelerateConfiguration :: BucketName -> AccelerateConfiguration -> PutBucketAccelerateConfiguration
- Network.AWS.S3.PutBucketAccelerateConfiguration: putBucketAccelerateConfigurationResponse :: PutBucketAccelerateConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: data PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: data PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: pAnalyticsConfiguration :: Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: pBucket :: Lens' PutBucketAnalyticsConfiguration BucketName
- Network.AWS.S3.PutBucketAnalyticsConfiguration: pId :: Lens' PutBucketAnalyticsConfiguration Text
- Network.AWS.S3.PutBucketAnalyticsConfiguration: putBucketAnalyticsConfiguration :: BucketName -> Text -> AnalyticsConfiguration -> PutBucketAnalyticsConfiguration
- Network.AWS.S3.PutBucketAnalyticsConfiguration: putBucketAnalyticsConfigurationResponse :: PutBucketAnalyticsConfigurationResponse
- Network.AWS.S3.PutBucketCORS: data PutBucketCORS
- Network.AWS.S3.PutBucketCORS: data PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketCORS.PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance Data.Data.Data Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance Data.Data.Data Network.AWS.S3.PutBucketCORS.PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance GHC.Classes.Eq Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance GHC.Classes.Eq Network.AWS.S3.PutBucketCORS.PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance GHC.Generics.Generic Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance GHC.Generics.Generic Network.AWS.S3.PutBucketCORS.PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance GHC.Read.Read Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance GHC.Read.Read Network.AWS.S3.PutBucketCORS.PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance GHC.Show.Show Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance GHC.Show.Show Network.AWS.S3.PutBucketCORS.PutBucketCORSResponse
- Network.AWS.S3.PutBucketCORS: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketCORS.PutBucketCORS
- Network.AWS.S3.PutBucketCORS: pbcBucket :: Lens' PutBucketCORS BucketName
- Network.AWS.S3.PutBucketCORS: pbcCORSConfiguration :: Lens' PutBucketCORS CORSConfiguration
- Network.AWS.S3.PutBucketCORS: pbcContentMD5 :: Lens' PutBucketCORS (Maybe Text)
- Network.AWS.S3.PutBucketCORS: putBucketCORS :: BucketName -> CORSConfiguration -> PutBucketCORS
- Network.AWS.S3.PutBucketCORS: putBucketCORSResponse :: PutBucketCORSResponse
- Network.AWS.S3.PutBucketEncryption: data PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: data PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketEncryption.PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance Data.Data.Data Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance Data.Data.Data Network.AWS.S3.PutBucketEncryption.PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance GHC.Classes.Eq Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance GHC.Classes.Eq Network.AWS.S3.PutBucketEncryption.PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance GHC.Generics.Generic Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance GHC.Generics.Generic Network.AWS.S3.PutBucketEncryption.PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance GHC.Read.Read Network.AWS.S3.PutBucketEncryption.PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance GHC.Show.Show Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance GHC.Show.Show Network.AWS.S3.PutBucketEncryption.PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketEncryption: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketEncryption.PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: pbeBucket :: Lens' PutBucketEncryption BucketName
- Network.AWS.S3.PutBucketEncryption: pbeContentMD5 :: Lens' PutBucketEncryption (Maybe Text)
- Network.AWS.S3.PutBucketEncryption: pbeServerSideEncryptionConfiguration :: Lens' PutBucketEncryption ServerSideEncryptionConfiguration
- Network.AWS.S3.PutBucketEncryption: putBucketEncryption :: BucketName -> ServerSideEncryptionConfiguration -> PutBucketEncryption
- Network.AWS.S3.PutBucketEncryption: putBucketEncryptionResponse :: PutBucketEncryptionResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: data PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: data PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: pbicBucket :: Lens' PutBucketInventoryConfiguration BucketName
- Network.AWS.S3.PutBucketInventoryConfiguration: pbicId :: Lens' PutBucketInventoryConfiguration Text
- Network.AWS.S3.PutBucketInventoryConfiguration: pbicInventoryConfiguration :: Lens' PutBucketInventoryConfiguration InventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: putBucketInventoryConfiguration :: BucketName -> Text -> InventoryConfiguration -> PutBucketInventoryConfiguration
- Network.AWS.S3.PutBucketInventoryConfiguration: putBucketInventoryConfigurationResponse :: PutBucketInventoryConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: data PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: data PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: pblcBucket :: Lens' PutBucketLifecycleConfiguration BucketName
- Network.AWS.S3.PutBucketLifecycleConfiguration: pblcLifecycleConfiguration :: Lens' PutBucketLifecycleConfiguration (Maybe BucketLifecycleConfiguration)
- Network.AWS.S3.PutBucketLifecycleConfiguration: putBucketLifecycleConfiguration :: BucketName -> PutBucketLifecycleConfiguration
- Network.AWS.S3.PutBucketLifecycleConfiguration: putBucketLifecycleConfigurationResponse :: PutBucketLifecycleConfigurationResponse
- Network.AWS.S3.PutBucketLogging: data PutBucketLogging
- Network.AWS.S3.PutBucketLogging: data PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketLogging.PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance Data.Data.Data Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance Data.Data.Data Network.AWS.S3.PutBucketLogging.PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance GHC.Classes.Eq Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance GHC.Classes.Eq Network.AWS.S3.PutBucketLogging.PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance GHC.Generics.Generic Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance GHC.Generics.Generic Network.AWS.S3.PutBucketLogging.PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance GHC.Read.Read Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance GHC.Read.Read Network.AWS.S3.PutBucketLogging.PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance GHC.Show.Show Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance GHC.Show.Show Network.AWS.S3.PutBucketLogging.PutBucketLoggingResponse
- Network.AWS.S3.PutBucketLogging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketLogging.PutBucketLogging
- Network.AWS.S3.PutBucketLogging: pblBucket :: Lens' PutBucketLogging BucketName
- Network.AWS.S3.PutBucketLogging: pblBucketLoggingStatus :: Lens' PutBucketLogging BucketLoggingStatus
- Network.AWS.S3.PutBucketLogging: pblContentMD5 :: Lens' PutBucketLogging (Maybe Text)
- Network.AWS.S3.PutBucketLogging: putBucketLogging :: BucketName -> BucketLoggingStatus -> PutBucketLogging
- Network.AWS.S3.PutBucketLogging: putBucketLoggingResponse :: PutBucketLoggingResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: data PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: data PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: pbmcBucket :: Lens' PutBucketMetricsConfiguration BucketName
- Network.AWS.S3.PutBucketMetricsConfiguration: pbmcId :: Lens' PutBucketMetricsConfiguration Text
- Network.AWS.S3.PutBucketMetricsConfiguration: pbmcMetricsConfiguration :: Lens' PutBucketMetricsConfiguration MetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: putBucketMetricsConfiguration :: BucketName -> Text -> MetricsConfiguration -> PutBucketMetricsConfiguration
- Network.AWS.S3.PutBucketMetricsConfiguration: putBucketMetricsConfigurationResponse :: PutBucketMetricsConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: data PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: data PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Data.Data.Data Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Classes.Eq Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Generics.Generic Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Read.Read Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance GHC.Show.Show Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: pbncBucket :: Lens' PutBucketNotificationConfiguration BucketName
- Network.AWS.S3.PutBucketNotificationConfiguration: pbncNotificationConfiguration :: Lens' PutBucketNotificationConfiguration NotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration :: BucketName -> NotificationConfiguration -> PutBucketNotificationConfiguration
- Network.AWS.S3.PutBucketNotificationConfiguration: putBucketNotificationConfigurationResponse :: PutBucketNotificationConfigurationResponse
- Network.AWS.S3.PutBucketPolicy: data PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: data PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketPolicy.PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance Data.Data.Data Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Data.Data.Data Network.AWS.S3.PutBucketPolicy.PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance GHC.Classes.Eq Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance GHC.Classes.Eq Network.AWS.S3.PutBucketPolicy.PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance GHC.Generics.Generic Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance GHC.Generics.Generic Network.AWS.S3.PutBucketPolicy.PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance GHC.Read.Read Network.AWS.S3.PutBucketPolicy.PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance GHC.Show.Show Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance GHC.Show.Show Network.AWS.S3.PutBucketPolicy.PutBucketPolicyResponse
- Network.AWS.S3.PutBucketPolicy: instance Network.AWS.Data.Body.ToBody Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketPolicy.PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: pbpBucket :: Lens' PutBucketPolicy BucketName
- Network.AWS.S3.PutBucketPolicy: pbpConfirmRemoveSelfBucketAccess :: Lens' PutBucketPolicy (Maybe Bool)
- Network.AWS.S3.PutBucketPolicy: pbpContentMD5 :: Lens' PutBucketPolicy (Maybe Text)
- Network.AWS.S3.PutBucketPolicy: pbpPolicy :: Lens' PutBucketPolicy ByteString
- Network.AWS.S3.PutBucketPolicy: putBucketPolicy :: BucketName -> ByteString -> PutBucketPolicy
- Network.AWS.S3.PutBucketPolicy: putBucketPolicyResponse :: PutBucketPolicyResponse
- Network.AWS.S3.PutBucketReplication: data PutBucketReplication
- Network.AWS.S3.PutBucketReplication: data PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketReplication.PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance Data.Data.Data Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance Data.Data.Data Network.AWS.S3.PutBucketReplication.PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance GHC.Classes.Eq Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance GHC.Classes.Eq Network.AWS.S3.PutBucketReplication.PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance GHC.Generics.Generic Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance GHC.Generics.Generic Network.AWS.S3.PutBucketReplication.PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance GHC.Read.Read Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance GHC.Read.Read Network.AWS.S3.PutBucketReplication.PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance GHC.Show.Show Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance GHC.Show.Show Network.AWS.S3.PutBucketReplication.PutBucketReplicationResponse
- Network.AWS.S3.PutBucketReplication: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketReplication.PutBucketReplication
- Network.AWS.S3.PutBucketReplication: pbrBucket :: Lens' PutBucketReplication BucketName
- Network.AWS.S3.PutBucketReplication: pbrContentMD5 :: Lens' PutBucketReplication (Maybe Text)
- Network.AWS.S3.PutBucketReplication: pbrReplicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration
- Network.AWS.S3.PutBucketReplication: putBucketReplication :: BucketName -> ReplicationConfiguration -> PutBucketReplication
- Network.AWS.S3.PutBucketReplication: putBucketReplicationResponse :: PutBucketReplicationResponse
- Network.AWS.S3.PutBucketRequestPayment: data PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: data PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance Data.Data.Data Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance Data.Data.Data Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Classes.Eq Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Classes.Eq Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Generics.Generic Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Generics.Generic Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Read.Read Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Read.Read Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Show.Show Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance GHC.Show.Show Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketRequestPayment: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketRequestPayment.PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: pbrpBucket :: Lens' PutBucketRequestPayment BucketName
- Network.AWS.S3.PutBucketRequestPayment: pbrpContentMD5 :: Lens' PutBucketRequestPayment (Maybe Text)
- Network.AWS.S3.PutBucketRequestPayment: pbrpRequestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration
- Network.AWS.S3.PutBucketRequestPayment: putBucketRequestPayment :: BucketName -> RequestPaymentConfiguration -> PutBucketRequestPayment
- Network.AWS.S3.PutBucketRequestPayment: putBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse
- Network.AWS.S3.PutBucketTagging: data PutBucketTagging
- Network.AWS.S3.PutBucketTagging: data PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketTagging.PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance Data.Data.Data Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance Data.Data.Data Network.AWS.S3.PutBucketTagging.PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance GHC.Classes.Eq Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance GHC.Classes.Eq Network.AWS.S3.PutBucketTagging.PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance GHC.Generics.Generic Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance GHC.Generics.Generic Network.AWS.S3.PutBucketTagging.PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance GHC.Read.Read Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance GHC.Read.Read Network.AWS.S3.PutBucketTagging.PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance GHC.Show.Show Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance GHC.Show.Show Network.AWS.S3.PutBucketTagging.PutBucketTaggingResponse
- Network.AWS.S3.PutBucketTagging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketTagging.PutBucketTagging
- Network.AWS.S3.PutBucketTagging: pbtBucket :: Lens' PutBucketTagging BucketName
- Network.AWS.S3.PutBucketTagging: pbtContentMD5 :: Lens' PutBucketTagging (Maybe Text)
- Network.AWS.S3.PutBucketTagging: pbtTagging :: Lens' PutBucketTagging Tagging
- Network.AWS.S3.PutBucketTagging: putBucketTagging :: BucketName -> Tagging -> PutBucketTagging
- Network.AWS.S3.PutBucketTagging: putBucketTaggingResponse :: PutBucketTaggingResponse
- Network.AWS.S3.PutBucketVersioning: data PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: data PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketVersioning.PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance Data.Data.Data Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance Data.Data.Data Network.AWS.S3.PutBucketVersioning.PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance GHC.Classes.Eq Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance GHC.Classes.Eq Network.AWS.S3.PutBucketVersioning.PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance GHC.Generics.Generic Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance GHC.Generics.Generic Network.AWS.S3.PutBucketVersioning.PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance GHC.Read.Read Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance GHC.Read.Read Network.AWS.S3.PutBucketVersioning.PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance GHC.Show.Show Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance GHC.Show.Show Network.AWS.S3.PutBucketVersioning.PutBucketVersioningResponse
- Network.AWS.S3.PutBucketVersioning: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketVersioning.PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: pbvBucket :: Lens' PutBucketVersioning BucketName
- Network.AWS.S3.PutBucketVersioning: pbvContentMD5 :: Lens' PutBucketVersioning (Maybe Text)
- Network.AWS.S3.PutBucketVersioning: pbvMFA :: Lens' PutBucketVersioning (Maybe Text)
- Network.AWS.S3.PutBucketVersioning: pbvVersioningConfiguration :: Lens' PutBucketVersioning VersioningConfiguration
- Network.AWS.S3.PutBucketVersioning: putBucketVersioning :: BucketName -> VersioningConfiguration -> PutBucketVersioning
- Network.AWS.S3.PutBucketVersioning: putBucketVersioningResponse :: PutBucketVersioningResponse
- Network.AWS.S3.PutBucketWebsite: data PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: data PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance Control.DeepSeq.NFData Network.AWS.S3.PutBucketWebsite.PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance Data.Data.Data Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance Data.Data.Data Network.AWS.S3.PutBucketWebsite.PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance GHC.Classes.Eq Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance GHC.Classes.Eq Network.AWS.S3.PutBucketWebsite.PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance GHC.Generics.Generic Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance GHC.Generics.Generic Network.AWS.S3.PutBucketWebsite.PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance GHC.Read.Read Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance GHC.Read.Read Network.AWS.S3.PutBucketWebsite.PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance GHC.Show.Show Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance GHC.Show.Show Network.AWS.S3.PutBucketWebsite.PutBucketWebsiteResponse
- Network.AWS.S3.PutBucketWebsite: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutBucketWebsite.PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: pbwBucket :: Lens' PutBucketWebsite BucketName
- Network.AWS.S3.PutBucketWebsite: pbwContentMD5 :: Lens' PutBucketWebsite (Maybe Text)
- Network.AWS.S3.PutBucketWebsite: pbwWebsiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration
- Network.AWS.S3.PutBucketWebsite: putBucketWebsite :: BucketName -> WebsiteConfiguration -> PutBucketWebsite
- Network.AWS.S3.PutBucketWebsite: putBucketWebsiteResponse :: PutBucketWebsiteResponse
- Network.AWS.S3.PutObject: data PutObject
- Network.AWS.S3.PutObject: data PutObjectResponse
- Network.AWS.S3.PutObject: instance Control.DeepSeq.NFData Network.AWS.S3.PutObject.PutObjectResponse
- Network.AWS.S3.PutObject: instance Data.Data.Data Network.AWS.S3.PutObject.PutObjectResponse
- Network.AWS.S3.PutObject: instance GHC.Classes.Eq Network.AWS.S3.PutObject.PutObjectResponse
- Network.AWS.S3.PutObject: instance GHC.Generics.Generic Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: instance GHC.Generics.Generic Network.AWS.S3.PutObject.PutObjectResponse
- Network.AWS.S3.PutObject: instance GHC.Show.Show Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: instance GHC.Show.Show Network.AWS.S3.PutObject.PutObjectResponse
- Network.AWS.S3.PutObject: instance Network.AWS.Data.Body.ToBody Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutObject.PutObject
- Network.AWS.S3.PutObject: poACL :: Lens' PutObject (Maybe ObjectCannedACL)
- Network.AWS.S3.PutObject: poBody :: Lens' PutObject RqBody
- Network.AWS.S3.PutObject: poBucket :: Lens' PutObject BucketName
- Network.AWS.S3.PutObject: poCacheControl :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poContentDisposition :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poContentEncoding :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poContentLanguage :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poContentLength :: Lens' PutObject (Maybe Integer)
- Network.AWS.S3.PutObject: poContentMD5 :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poContentType :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poExpires :: Lens' PutObject (Maybe UTCTime)
- Network.AWS.S3.PutObject: poGrantFullControl :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poGrantRead :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poGrantReadACP :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poGrantWriteACP :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poKey :: Lens' PutObject ObjectKey
- Network.AWS.S3.PutObject: poMetadata :: Lens' PutObject (HashMap Text Text)
- Network.AWS.S3.PutObject: poRequestPayer :: Lens' PutObject (Maybe RequestPayer)
- Network.AWS.S3.PutObject: poSSECustomerAlgorithm :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poSSECustomerKey :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poSSECustomerKeyMD5 :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poSSEKMSKeyId :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poServerSideEncryption :: Lens' PutObject (Maybe ServerSideEncryption)
- Network.AWS.S3.PutObject: poStorageClass :: Lens' PutObject (Maybe StorageClass)
- Network.AWS.S3.PutObject: poTagging :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: poWebsiteRedirectLocation :: Lens' PutObject (Maybe Text)
- Network.AWS.S3.PutObject: porsETag :: Lens' PutObjectResponse (Maybe ETag)
- Network.AWS.S3.PutObject: porsExpiration :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porsRequestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.PutObject: porsResponseStatus :: Lens' PutObjectResponse Int
- Network.AWS.S3.PutObject: porsSSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porsSSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porsSSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)
- Network.AWS.S3.PutObject: porsServerSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.PutObject: porsVersionId :: Lens' PutObjectResponse (Maybe ObjectVersionId)
- Network.AWS.S3.PutObject: putObject :: BucketName -> ObjectKey -> RqBody -> PutObject
- Network.AWS.S3.PutObject: putObjectResponse :: Int -> PutObjectResponse
- Network.AWS.S3.PutObjectACL: data PutObjectACL
- Network.AWS.S3.PutObjectACL: data PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance Control.DeepSeq.NFData Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance Control.DeepSeq.NFData Network.AWS.S3.PutObjectACL.PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance Data.Data.Data Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance Data.Data.Data Network.AWS.S3.PutObjectACL.PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance GHC.Classes.Eq Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance GHC.Classes.Eq Network.AWS.S3.PutObjectACL.PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance GHC.Generics.Generic Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance GHC.Generics.Generic Network.AWS.S3.PutObjectACL.PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance GHC.Read.Read Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance GHC.Read.Read Network.AWS.S3.PutObjectACL.PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance GHC.Show.Show Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance GHC.Show.Show Network.AWS.S3.PutObjectACL.PutObjectACLResponse
- Network.AWS.S3.PutObjectACL: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutObjectACL.PutObjectACL
- Network.AWS.S3.PutObjectACL: poaACL :: Lens' PutObjectACL (Maybe ObjectCannedACL)
- Network.AWS.S3.PutObjectACL: poaAccessControlPolicy :: Lens' PutObjectACL (Maybe AccessControlPolicy)
- Network.AWS.S3.PutObjectACL: poaBucket :: Lens' PutObjectACL BucketName
- Network.AWS.S3.PutObjectACL: poaContentMD5 :: Lens' PutObjectACL (Maybe Text)
- Network.AWS.S3.PutObjectACL: poaGrantFullControl :: Lens' PutObjectACL (Maybe Text)
- Network.AWS.S3.PutObjectACL: poaGrantRead :: Lens' PutObjectACL (Maybe Text)
- Network.AWS.S3.PutObjectACL: poaGrantReadACP :: Lens' PutObjectACL (Maybe Text)
- Network.AWS.S3.PutObjectACL: poaGrantWrite :: Lens' PutObjectACL (Maybe Text)
- Network.AWS.S3.PutObjectACL: poaGrantWriteACP :: Lens' PutObjectACL (Maybe Text)
- Network.AWS.S3.PutObjectACL: poaKey :: Lens' PutObjectACL ObjectKey
- Network.AWS.S3.PutObjectACL: poaRequestPayer :: Lens' PutObjectACL (Maybe RequestPayer)
- Network.AWS.S3.PutObjectACL: poaVersionId :: Lens' PutObjectACL (Maybe ObjectVersionId)
- Network.AWS.S3.PutObjectACL: poarsRequestCharged :: Lens' PutObjectACLResponse (Maybe RequestCharged)
- Network.AWS.S3.PutObjectACL: poarsResponseStatus :: Lens' PutObjectACLResponse Int
- Network.AWS.S3.PutObjectACL: putObjectACL :: BucketName -> ObjectKey -> PutObjectACL
- Network.AWS.S3.PutObjectACL: putObjectACLResponse :: Int -> PutObjectACLResponse
- Network.AWS.S3.PutObjectTagging: data PutObjectTagging
- Network.AWS.S3.PutObjectTagging: data PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance Control.DeepSeq.NFData Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance Control.DeepSeq.NFData Network.AWS.S3.PutObjectTagging.PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance Data.Data.Data Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance Data.Data.Data Network.AWS.S3.PutObjectTagging.PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance Data.Hashable.Class.Hashable Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance GHC.Classes.Eq Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance GHC.Classes.Eq Network.AWS.S3.PutObjectTagging.PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance GHC.Generics.Generic Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance GHC.Generics.Generic Network.AWS.S3.PutObjectTagging.PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance GHC.Read.Read Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance GHC.Read.Read Network.AWS.S3.PutObjectTagging.PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance GHC.Show.Show Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance GHC.Show.Show Network.AWS.S3.PutObjectTagging.PutObjectTaggingResponse
- Network.AWS.S3.PutObjectTagging: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: instance Network.AWS.Types.AWSRequest Network.AWS.S3.PutObjectTagging.PutObjectTagging
- Network.AWS.S3.PutObjectTagging: potBucket :: Lens' PutObjectTagging BucketName
- Network.AWS.S3.PutObjectTagging: potContentMD5 :: Lens' PutObjectTagging (Maybe Text)
- Network.AWS.S3.PutObjectTagging: potKey :: Lens' PutObjectTagging ObjectKey
- Network.AWS.S3.PutObjectTagging: potTagging :: Lens' PutObjectTagging Tagging
- Network.AWS.S3.PutObjectTagging: potVersionId :: Lens' PutObjectTagging (Maybe ObjectVersionId)
- Network.AWS.S3.PutObjectTagging: potrsResponseStatus :: Lens' PutObjectTaggingResponse Int
- Network.AWS.S3.PutObjectTagging: potrsVersionId :: Lens' PutObjectTaggingResponse (Maybe ObjectVersionId)
- Network.AWS.S3.PutObjectTagging: putObjectTagging :: BucketName -> ObjectKey -> Tagging -> PutObjectTagging
- Network.AWS.S3.PutObjectTagging: putObjectTaggingResponse :: Int -> PutObjectTaggingResponse
- Network.AWS.S3.RestoreObject: data RestoreObject
- Network.AWS.S3.RestoreObject: data RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance Control.DeepSeq.NFData Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance Control.DeepSeq.NFData Network.AWS.S3.RestoreObject.RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance Data.Data.Data Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance Data.Data.Data Network.AWS.S3.RestoreObject.RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance Data.Hashable.Class.Hashable Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance GHC.Classes.Eq Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance GHC.Classes.Eq Network.AWS.S3.RestoreObject.RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance GHC.Generics.Generic Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance GHC.Generics.Generic Network.AWS.S3.RestoreObject.RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance GHC.Read.Read Network.AWS.S3.RestoreObject.RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance GHC.Show.Show Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance GHC.Show.Show Network.AWS.S3.RestoreObject.RestoreObjectResponse
- Network.AWS.S3.RestoreObject: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: instance Network.AWS.Types.AWSRequest Network.AWS.S3.RestoreObject.RestoreObject
- Network.AWS.S3.RestoreObject: restoreObject :: BucketName -> ObjectKey -> RestoreObject
- Network.AWS.S3.RestoreObject: restoreObjectResponse :: Int -> RestoreObjectResponse
- Network.AWS.S3.RestoreObject: roBucket :: Lens' RestoreObject BucketName
- Network.AWS.S3.RestoreObject: roKey :: Lens' RestoreObject ObjectKey
- Network.AWS.S3.RestoreObject: roRequestPayer :: Lens' RestoreObject (Maybe RequestPayer)
- Network.AWS.S3.RestoreObject: roRestoreRequest :: Lens' RestoreObject (Maybe RestoreRequest)
- Network.AWS.S3.RestoreObject: roVersionId :: Lens' RestoreObject (Maybe ObjectVersionId)
- Network.AWS.S3.RestoreObject: rorsRequestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)
- Network.AWS.S3.RestoreObject: rorsResponseStatus :: Lens' RestoreObjectResponse Int
- Network.AWS.S3.RestoreObject: rorsRestoreOutputPath :: Lens' RestoreObjectResponse (Maybe Text)
- Network.AWS.S3.SelectObjectContent: data SelectObjectContent
- Network.AWS.S3.SelectObjectContent: data SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance Control.DeepSeq.NFData Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Control.DeepSeq.NFData Network.AWS.S3.SelectObjectContent.SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance Data.Data.Data Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Data.Data.Data Network.AWS.S3.SelectObjectContent.SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance Data.Hashable.Class.Hashable Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance GHC.Classes.Eq Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance GHC.Classes.Eq Network.AWS.S3.SelectObjectContent.SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance GHC.Generics.Generic Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance GHC.Generics.Generic Network.AWS.S3.SelectObjectContent.SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance GHC.Read.Read Network.AWS.S3.SelectObjectContent.SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance GHC.Show.Show Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance GHC.Show.Show Network.AWS.S3.SelectObjectContent.SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Network.AWS.Data.XML.ToElement Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Network.AWS.Data.XML.ToXML Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: instance Network.AWS.Types.AWSRequest Network.AWS.S3.SelectObjectContent.SelectObjectContent
- Network.AWS.S3.SelectObjectContent: selectObjectContent :: BucketName -> ObjectKey -> Text -> ExpressionType -> InputSerialization -> OutputSerialization -> SelectObjectContent
- Network.AWS.S3.SelectObjectContent: selectObjectContentResponse :: Int -> SelectObjectContentResponse
- Network.AWS.S3.SelectObjectContent: socBucket :: Lens' SelectObjectContent BucketName
- Network.AWS.S3.SelectObjectContent: socExpression :: Lens' SelectObjectContent Text
- Network.AWS.S3.SelectObjectContent: socExpressionType :: Lens' SelectObjectContent ExpressionType
- Network.AWS.S3.SelectObjectContent: socInputSerialization :: Lens' SelectObjectContent InputSerialization
- Network.AWS.S3.SelectObjectContent: socKey :: Lens' SelectObjectContent ObjectKey
- Network.AWS.S3.SelectObjectContent: socOutputSerialization :: Lens' SelectObjectContent OutputSerialization
- Network.AWS.S3.SelectObjectContent: socRequestProgress :: Lens' SelectObjectContent (Maybe RequestProgress)
- Network.AWS.S3.SelectObjectContent: socSSECustomerAlgorithm :: Lens' SelectObjectContent (Maybe Text)
- Network.AWS.S3.SelectObjectContent: socSSECustomerKey :: Lens' SelectObjectContent (Maybe Text)
- Network.AWS.S3.SelectObjectContent: socSSECustomerKeyMD5 :: Lens' SelectObjectContent (Maybe Text)
- Network.AWS.S3.SelectObjectContent: socrsPayload :: Lens' SelectObjectContentResponse (Maybe SelectObjectContentEventStream)
- Network.AWS.S3.SelectObjectContent: socrsResponseStatus :: Lens' SelectObjectContentResponse Int
- Network.AWS.S3.Types: AES256 :: ServerSideEncryption
- Network.AWS.S3.Types: ASNeeded :: QuoteFields
- Network.AWS.S3.Types: AWSKMS :: ServerSideEncryption
- Network.AWS.S3.Types: All :: InventoryIncludedObjectVersions
- Network.AWS.S3.Types: Always :: QuoteFields
- Network.AWS.S3.Types: AmazonCustomerByEmail :: Type
- Network.AWS.S3.Types: BASEnabled :: BucketAccelerateStatus
- Network.AWS.S3.Types: BASSuspended :: BucketAccelerateStatus
- Network.AWS.S3.Types: BAuthenticatedRead :: BucketCannedACL
- Network.AWS.S3.Types: BPrivate :: BucketCannedACL
- Network.AWS.S3.Types: BPublicRead :: BucketCannedACL
- Network.AWS.S3.Types: BPublicReadWrite :: BucketCannedACL
- Network.AWS.S3.Types: BVSEnabled :: BucketVersioningStatus
- Network.AWS.S3.Types: BVSSuspended :: BucketVersioningStatus
- Network.AWS.S3.Types: Beijing :: Region
- Network.AWS.S3.Types: BucketName :: Text -> BucketName
- Network.AWS.S3.Types: BucketOwner :: Payer
- Network.AWS.S3.Types: CSV :: AnalyticsS3ExportFileFormat
- Network.AWS.S3.Types: CTGzip :: CompressionType
- Network.AWS.S3.Types: CTNone :: CompressionType
- Network.AWS.S3.Types: CanonicalUser :: Type
- Network.AWS.S3.Types: Completed :: ReplicationStatus
- Network.AWS.S3.Types: Copy :: TaggingDirective
- Network.AWS.S3.Types: Current :: InventoryIncludedObjectVersions
- Network.AWS.S3.Types: Daily :: InventoryFrequency
- Network.AWS.S3.Types: Destination :: OwnerOverride
- Network.AWS.S3.Types: Disabled :: ReplicationRuleStatus
- Network.AWS.S3.Types: Document :: JSONType
- Network.AWS.S3.Types: ESDisabled :: ExpirationStatus
- Network.AWS.S3.Types: ESEnabled :: ExpirationStatus
- Network.AWS.S3.Types: ETag :: ByteString -> ETag
- Network.AWS.S3.Types: Enabled :: ReplicationRuleStatus
- Network.AWS.S3.Types: Failed :: ReplicationStatus
- Network.AWS.S3.Types: FieldETag :: InventoryOptionalField
- Network.AWS.S3.Types: FieldEncryptionStatus :: InventoryOptionalField
- Network.AWS.S3.Types: FieldIsMultipartUploaded :: InventoryOptionalField
- Network.AWS.S3.Types: FieldLastModifiedDate :: InventoryOptionalField
- Network.AWS.S3.Types: FieldReplicationStatus :: InventoryOptionalField
- Network.AWS.S3.Types: FieldSize :: InventoryOptionalField
- Network.AWS.S3.Types: FieldStorageClass :: InventoryOptionalField
- Network.AWS.S3.Types: Frankfurt :: Region
- Network.AWS.S3.Types: FullControl :: BucketLogsPermission
- Network.AWS.S3.Types: GovCloud :: Region
- Network.AWS.S3.Types: GovCloudFIPS :: Region
- Network.AWS.S3.Types: Group :: Type
- Network.AWS.S3.Types: HTTP :: Protocol
- Network.AWS.S3.Types: HTTPS :: Protocol
- Network.AWS.S3.Types: IFCSV :: InventoryFormat
- Network.AWS.S3.Types: IFOrc :: InventoryFormat
- Network.AWS.S3.Types: Ignore :: FileHeaderInfo
- Network.AWS.S3.Types: Ireland :: Region
- Network.AWS.S3.Types: Lines :: JSONType
- Network.AWS.S3.Types: LocationConstraint :: Region -> LocationConstraint
- Network.AWS.S3.Types: London :: Region
- Network.AWS.S3.Types: MDCopy :: MetadataDirective
- Network.AWS.S3.Types: MDDisabled :: MFADelete
- Network.AWS.S3.Types: MDEnabled :: MFADelete
- Network.AWS.S3.Types: MDReplace :: MetadataDirective
- Network.AWS.S3.Types: MDSDisabled :: MFADeleteStatus
- Network.AWS.S3.Types: MDSEnabled :: MFADeleteStatus
- Network.AWS.S3.Types: Montreal :: Region
- Network.AWS.S3.Types: Mumbai :: Region
- Network.AWS.S3.Types: None :: FileHeaderInfo
- Network.AWS.S3.Types: NorthCalifornia :: Region
- Network.AWS.S3.Types: NorthVirginia :: Region
- Network.AWS.S3.Types: OAWSExecRead :: ObjectCannedACL
- Network.AWS.S3.Types: OAuthenticatedRead :: ObjectCannedACL
- Network.AWS.S3.Types: OBucketOwnerFullControl :: ObjectCannedACL
- Network.AWS.S3.Types: OBucketOwnerRead :: ObjectCannedACL
- Network.AWS.S3.Types: OPrivate :: ObjectCannedACL
- Network.AWS.S3.Types: OPublicRead :: ObjectCannedACL
- Network.AWS.S3.Types: OPublicReadWrite :: ObjectCannedACL
- Network.AWS.S3.Types: OSCGlacier :: ObjectStorageClass
- Network.AWS.S3.Types: OSCReducedRedundancy :: ObjectStorageClass
- Network.AWS.S3.Types: OSCStandard :: ObjectStorageClass
- Network.AWS.S3.Types: OSCStandardIA :: ObjectStorageClass
- Network.AWS.S3.Types: OVSCStandard :: ObjectVersionStorageClass
- Network.AWS.S3.Types: ObjectKey :: Text -> ObjectKey
- Network.AWS.S3.Types: ObjectVersionId :: Text -> ObjectVersionId
- Network.AWS.S3.Types: Ohio :: Region
- Network.AWS.S3.Types: OnezoneIA :: StorageClass
- Network.AWS.S3.Types: Oregon :: Region
- Network.AWS.S3.Types: PFullControl :: Permission
- Network.AWS.S3.Types: PRead :: Permission
- Network.AWS.S3.Types: PReadAcp :: Permission
- Network.AWS.S3.Types: PWrite :: Permission
- Network.AWS.S3.Types: PWriteAcp :: Permission
- Network.AWS.S3.Types: Pending :: ReplicationStatus
- Network.AWS.S3.Types: Prefix :: FilterRuleName
- Network.AWS.S3.Types: RCRequester :: RequestCharged
- Network.AWS.S3.Types: RPRequester :: RequestPayer
- Network.AWS.S3.Types: Read :: BucketLogsPermission
- Network.AWS.S3.Types: ReducedRedundancy :: StorageClass
- Network.AWS.S3.Types: Replace :: TaggingDirective
- Network.AWS.S3.Types: Replica :: ReplicationStatus
- Network.AWS.S3.Types: Requester :: Payer
- Network.AWS.S3.Types: S3ObjectCreated :: Event
- Network.AWS.S3.Types: S3ObjectCreatedCompleteMultipartUpload :: Event
- Network.AWS.S3.Types: S3ObjectCreatedCopy :: Event
- Network.AWS.S3.Types: S3ObjectCreatedPost :: Event
- Network.AWS.S3.Types: S3ObjectCreatedPut :: Event
- Network.AWS.S3.Types: S3ObjectRemoved :: Event
- Network.AWS.S3.Types: S3ObjectRemovedDelete :: Event
- Network.AWS.S3.Types: S3ObjectRemovedDeleteMarkerCreated :: Event
- Network.AWS.S3.Types: S3ReducedRedundancyLostObject :: Event
- Network.AWS.S3.Types: SKEOSDisabled :: SseKMSEncryptedObjectsStatus
- Network.AWS.S3.Types: SKEOSEnabled :: SseKMSEncryptedObjectsStatus
- Network.AWS.S3.Types: SaoPaulo :: Region
- Network.AWS.S3.Types: Select :: RestoreRequestType
- Network.AWS.S3.Types: Seoul :: Region
- Network.AWS.S3.Types: Singapore :: Region
- Network.AWS.S3.Types: Sql :: ExpressionType
- Network.AWS.S3.Types: Standard :: StorageClass
- Network.AWS.S3.Types: StandardIA :: StorageClass
- Network.AWS.S3.Types: Suffix :: FilterRuleName
- Network.AWS.S3.Types: Sydney :: Region
- Network.AWS.S3.Types: TBulk :: Tier
- Network.AWS.S3.Types: TExpedited :: Tier
- Network.AWS.S3.Types: TSCGlacier :: TransitionStorageClass
- Network.AWS.S3.Types: TSCOnezoneIA :: TransitionStorageClass
- Network.AWS.S3.Types: TSCStandardIA :: TransitionStorageClass
- Network.AWS.S3.Types: TStandard :: Tier
- Network.AWS.S3.Types: Tokyo :: Region
- Network.AWS.S3.Types: URL :: EncodingType
- Network.AWS.S3.Types: Use :: FileHeaderInfo
- Network.AWS.S3.Types: V1 :: StorageClassAnalysisSchemaVersion
- Network.AWS.S3.Types: Weekly :: InventoryFrequency
- Network.AWS.S3.Types: Write :: BucketLogsPermission
- Network.AWS.S3.Types: [constraintRegion] :: LocationConstraint -> Region
- Network.AWS.S3.Types: _BucketAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: _BucketAlreadyOwnedByYou :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: _LocationConstraint :: Iso' LocationConstraint Region
- Network.AWS.S3.Types: _NoSuchBucket :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: _NoSuchKey :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: _NoSuchUpload :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: _ObjectAlreadyInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: _ObjectKey :: Iso' ObjectKey Text
- Network.AWS.S3.Types: _ObjectNotInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError
- Network.AWS.S3.Types: aaoPrefix :: Lens' AnalyticsAndOperator (Maybe Text)
- Network.AWS.S3.Types: aaoTags :: Lens' AnalyticsAndOperator [Tag]
- Network.AWS.S3.Types: abortIncompleteMultipartUpload :: AbortIncompleteMultipartUpload
- Network.AWS.S3.Types: acFilter :: Lens' AnalyticsConfiguration (Maybe AnalyticsFilter)
- Network.AWS.S3.Types: acId :: Lens' AnalyticsConfiguration Text
- Network.AWS.S3.Types: acStatus :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)
- Network.AWS.S3.Types: acStorageClassAnalysis :: Lens' AnalyticsConfiguration StorageClassAnalysis
- Network.AWS.S3.Types: accelerateConfiguration :: AccelerateConfiguration
- Network.AWS.S3.Types: accessControlPolicy :: AccessControlPolicy
- Network.AWS.S3.Types: accessControlTranslation :: OwnerOverride -> AccessControlTranslation
- Network.AWS.S3.Types: acpGrants :: Lens' AccessControlPolicy [Grant]
- Network.AWS.S3.Types: acpOwner :: Lens' AccessControlPolicy (Maybe Owner)
- Network.AWS.S3.Types: actOwner :: Lens' AccessControlTranslation OwnerOverride
- Network.AWS.S3.Types: aedS3BucketDestination :: Lens' AnalyticsExportDestination AnalyticsS3BucketDestination
- Network.AWS.S3.Types: afAnd :: Lens' AnalyticsFilter (Maybe AnalyticsAndOperator)
- Network.AWS.S3.Types: afPrefix :: Lens' AnalyticsFilter (Maybe Text)
- Network.AWS.S3.Types: afTag :: Lens' AnalyticsFilter (Maybe Tag)
- Network.AWS.S3.Types: aimuDaysAfterInitiation :: Lens' AbortIncompleteMultipartUpload (Maybe Int)
- Network.AWS.S3.Types: analyticsAndOperator :: AnalyticsAndOperator
- Network.AWS.S3.Types: analyticsConfiguration :: Text -> StorageClassAnalysis -> AnalyticsConfiguration
- Network.AWS.S3.Types: analyticsExportDestination :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
- Network.AWS.S3.Types: analyticsFilter :: AnalyticsFilter
- Network.AWS.S3.Types: analyticsS3BucketDestination :: AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
- Network.AWS.S3.Types: asbdBucket :: Lens' AnalyticsS3BucketDestination BucketName
- Network.AWS.S3.Types: asbdBucketAccountId :: Lens' AnalyticsS3BucketDestination (Maybe Text)
- Network.AWS.S3.Types: asbdFormat :: Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat
- Network.AWS.S3.Types: asbdPrefix :: Lens' AnalyticsS3BucketDestination (Maybe Text)
- Network.AWS.S3.Types: bCreationDate :: Lens' Bucket UTCTime
- Network.AWS.S3.Types: bName :: Lens' Bucket BucketName
- Network.AWS.S3.Types: blcRules :: Lens' BucketLifecycleConfiguration [LifecycleRule]
- Network.AWS.S3.Types: blsLoggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)
- Network.AWS.S3.Types: bucket :: UTCTime -> BucketName -> Bucket
- Network.AWS.S3.Types: bucketLifecycleConfiguration :: BucketLifecycleConfiguration
- Network.AWS.S3.Types: bucketLoggingStatus :: BucketLoggingStatus
- Network.AWS.S3.Types: cHTTPErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
- Network.AWS.S3.Types: cKeyPrefixEquals :: Lens' Condition (Maybe Text)
- Network.AWS.S3.Types: cbcLocationConstraint :: Lens' CreateBucketConfiguration (Maybe LocationConstraint)
- Network.AWS.S3.Types: ccCORSRules :: Lens' CORSConfiguration [CORSRule]
- Network.AWS.S3.Types: ciComments :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3.Types: ciFieldDelimiter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3.Types: ciFileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
- Network.AWS.S3.Types: ciQuoteCharacter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3.Types: ciQuoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3.Types: ciRecordDelimiter :: Lens' CSVInput (Maybe Text)
- Network.AWS.S3.Types: cmuParts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
- Network.AWS.S3.Types: coFieldDelimiter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3.Types: coQuoteCharacter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3.Types: coQuoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3.Types: coQuoteFields :: Lens' CSVOutput (Maybe QuoteFields)
- Network.AWS.S3.Types: coRecordDelimiter :: Lens' CSVOutput (Maybe Text)
- Network.AWS.S3.Types: commonPrefix :: CommonPrefix
- Network.AWS.S3.Types: completedMultipartUpload :: CompletedMultipartUpload
- Network.AWS.S3.Types: completedPart :: Int -> ETag -> CompletedPart
- Network.AWS.S3.Types: condition :: Condition
- Network.AWS.S3.Types: continuationEvent :: ContinuationEvent
- Network.AWS.S3.Types: copyObjectResult :: CopyObjectResult
- Network.AWS.S3.Types: copyPartResult :: CopyPartResult
- Network.AWS.S3.Types: corETag :: Lens' CopyObjectResult (Maybe ETag)
- Network.AWS.S3.Types: corLastModified :: Lens' CopyObjectResult (Maybe UTCTime)
- Network.AWS.S3.Types: corsConfiguration :: CORSConfiguration
- Network.AWS.S3.Types: corsRule :: CORSRule
- Network.AWS.S3.Types: cpETag :: Lens' CompletedPart ETag
- Network.AWS.S3.Types: cpPartNumber :: Lens' CompletedPart Int
- Network.AWS.S3.Types: cpPrefix :: Lens' CommonPrefix (Maybe Text)
- Network.AWS.S3.Types: cprETag :: Lens' CopyPartResult (Maybe ETag)
- Network.AWS.S3.Types: cprLastModified :: Lens' CopyPartResult (Maybe UTCTime)
- Network.AWS.S3.Types: crAllowedHeaders :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: crAllowedMethods :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: crAllowedOrigins :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: crExposeHeaders :: Lens' CORSRule [Text]
- Network.AWS.S3.Types: crMaxAgeSeconds :: Lens' CORSRule (Maybe Int)
- Network.AWS.S3.Types: createBucketConfiguration :: CreateBucketConfiguration
- Network.AWS.S3.Types: csvInput :: CSVInput
- Network.AWS.S3.Types: csvOutput :: CSVOutput
- Network.AWS.S3.Types: dAccessControlTranslation :: Lens' Destination (Maybe AccessControlTranslation)
- Network.AWS.S3.Types: dAccount :: Lens' Destination (Maybe Text)
- Network.AWS.S3.Types: dBucket :: Lens' Destination BucketName
- Network.AWS.S3.Types: dDeleteMarker :: Lens' DeletedObject (Maybe Bool)
- Network.AWS.S3.Types: dDeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
- Network.AWS.S3.Types: dEncryptionConfiguration :: Lens' Destination (Maybe EncryptionConfiguration)
- Network.AWS.S3.Types: dKey :: Lens' DeletedObject (Maybe ObjectKey)
- Network.AWS.S3.Types: dObjects :: Lens' Delete [ObjectIdentifier]
- Network.AWS.S3.Types: dQuiet :: Lens' Delete (Maybe Bool)
- Network.AWS.S3.Types: dStorageClass :: Lens' Destination (Maybe StorageClass)
- Network.AWS.S3.Types: dVersionId :: Lens' DeletedObject (Maybe ObjectVersionId)
- Network.AWS.S3.Types: data AbortIncompleteMultipartUpload
- Network.AWS.S3.Types: data AccelerateConfiguration
- Network.AWS.S3.Types: data AccessControlPolicy
- Network.AWS.S3.Types: data AccessControlTranslation
- Network.AWS.S3.Types: data AnalyticsAndOperator
- Network.AWS.S3.Types: data AnalyticsConfiguration
- Network.AWS.S3.Types: data AnalyticsExportDestination
- Network.AWS.S3.Types: data AnalyticsFilter
- Network.AWS.S3.Types: data AnalyticsS3BucketDestination
- Network.AWS.S3.Types: data AnalyticsS3ExportFileFormat
- Network.AWS.S3.Types: data Bucket
- Network.AWS.S3.Types: data BucketAccelerateStatus
- Network.AWS.S3.Types: data BucketCannedACL
- Network.AWS.S3.Types: data BucketLifecycleConfiguration
- Network.AWS.S3.Types: data BucketLoggingStatus
- Network.AWS.S3.Types: data BucketLogsPermission
- Network.AWS.S3.Types: data BucketVersioningStatus
- Network.AWS.S3.Types: data CORSConfiguration
- Network.AWS.S3.Types: data CORSRule
- Network.AWS.S3.Types: data CSVInput
- Network.AWS.S3.Types: data CSVOutput
- Network.AWS.S3.Types: data CommonPrefix
- Network.AWS.S3.Types: data CompletedMultipartUpload
- Network.AWS.S3.Types: data CompletedPart
- Network.AWS.S3.Types: data CompressionType
- Network.AWS.S3.Types: data Condition
- Network.AWS.S3.Types: data ContinuationEvent
- Network.AWS.S3.Types: data CopyObjectResult
- Network.AWS.S3.Types: data CopyPartResult
- Network.AWS.S3.Types: data CreateBucketConfiguration
- Network.AWS.S3.Types: data Delete
- Network.AWS.S3.Types: data DeleteMarkerEntry
- Network.AWS.S3.Types: data DeletedObject
- Network.AWS.S3.Types: data Destination
- Network.AWS.S3.Types: data EncodingType
- Network.AWS.S3.Types: data Encryption
- Network.AWS.S3.Types: data EncryptionConfiguration
- Network.AWS.S3.Types: data EndEvent
- Network.AWS.S3.Types: data ErrorDocument
- Network.AWS.S3.Types: data Event
- Network.AWS.S3.Types: data ExpirationStatus
- Network.AWS.S3.Types: data ExpressionType
- Network.AWS.S3.Types: data FileHeaderInfo
- Network.AWS.S3.Types: data FilterRule
- Network.AWS.S3.Types: data FilterRuleName
- Network.AWS.S3.Types: data GlacierJobParameters
- Network.AWS.S3.Types: data Grant
- Network.AWS.S3.Types: data Grantee
- Network.AWS.S3.Types: data IndexDocument
- Network.AWS.S3.Types: data Initiator
- Network.AWS.S3.Types: data InputSerialization
- Network.AWS.S3.Types: data InventoryConfiguration
- Network.AWS.S3.Types: data InventoryDestination
- Network.AWS.S3.Types: data InventoryEncryption
- Network.AWS.S3.Types: data InventoryFilter
- Network.AWS.S3.Types: data InventoryFormat
- Network.AWS.S3.Types: data InventoryFrequency
- Network.AWS.S3.Types: data InventoryIncludedObjectVersions
- Network.AWS.S3.Types: data InventoryOptionalField
- Network.AWS.S3.Types: data InventoryS3BucketDestination
- Network.AWS.S3.Types: data InventorySchedule
- Network.AWS.S3.Types: data JSONInput
- Network.AWS.S3.Types: data JSONOutput
- Network.AWS.S3.Types: data JSONType
- Network.AWS.S3.Types: data LambdaFunctionConfiguration
- Network.AWS.S3.Types: data LifecycleExpiration
- Network.AWS.S3.Types: data LifecycleRule
- Network.AWS.S3.Types: data LifecycleRuleAndOperator
- Network.AWS.S3.Types: data LifecycleRuleFilter
- Network.AWS.S3.Types: data LoggingEnabled
- Network.AWS.S3.Types: data MFADelete
- Network.AWS.S3.Types: data MFADeleteStatus
- Network.AWS.S3.Types: data MetadataDirective
- Network.AWS.S3.Types: data MetadataEntry
- Network.AWS.S3.Types: data MetricsAndOperator
- Network.AWS.S3.Types: data MetricsConfiguration
- Network.AWS.S3.Types: data MetricsFilter
- Network.AWS.S3.Types: data MultipartUpload
- Network.AWS.S3.Types: data NoncurrentVersionExpiration
- Network.AWS.S3.Types: data NoncurrentVersionTransition
- Network.AWS.S3.Types: data NotificationConfiguration
- Network.AWS.S3.Types: data NotificationConfigurationFilter
- Network.AWS.S3.Types: data Object
- Network.AWS.S3.Types: data ObjectCannedACL
- Network.AWS.S3.Types: data ObjectIdentifier
- Network.AWS.S3.Types: data ObjectStorageClass
- Network.AWS.S3.Types: data ObjectVersion
- Network.AWS.S3.Types: data ObjectVersionStorageClass
- Network.AWS.S3.Types: data OutputLocation
- Network.AWS.S3.Types: data OutputSerialization
- Network.AWS.S3.Types: data Owner
- Network.AWS.S3.Types: data OwnerOverride
- Network.AWS.S3.Types: data Part
- Network.AWS.S3.Types: data Payer
- Network.AWS.S3.Types: data Permission
- Network.AWS.S3.Types: data Progress
- Network.AWS.S3.Types: data ProgressEvent
- Network.AWS.S3.Types: data Protocol
- Network.AWS.S3.Types: data QueueConfiguration
- Network.AWS.S3.Types: data QuoteFields
- Network.AWS.S3.Types: data RecordsEvent
- Network.AWS.S3.Types: data Redirect
- Network.AWS.S3.Types: data RedirectAllRequestsTo
- Network.AWS.S3.Types: data Region
- Network.AWS.S3.Types: data ReplicationConfiguration
- Network.AWS.S3.Types: data ReplicationRule
- Network.AWS.S3.Types: data ReplicationRuleStatus
- Network.AWS.S3.Types: data ReplicationStatus
- Network.AWS.S3.Types: data RequestCharged
- Network.AWS.S3.Types: data RequestPayer
- Network.AWS.S3.Types: data RequestPaymentConfiguration
- Network.AWS.S3.Types: data RequestProgress
- Network.AWS.S3.Types: data RestoreRequest
- Network.AWS.S3.Types: data RestoreRequestType
- Network.AWS.S3.Types: data RoutingRule
- Network.AWS.S3.Types: data S3KeyFilter
- Network.AWS.S3.Types: data S3Location
- Network.AWS.S3.Types: data S3ServiceError
- Network.AWS.S3.Types: data SSEKMS
- Network.AWS.S3.Types: data SSES3
- Network.AWS.S3.Types: data SelectObjectContentEventStream
- Network.AWS.S3.Types: data SelectParameters
- Network.AWS.S3.Types: data ServerSideEncryption
- Network.AWS.S3.Types: data ServerSideEncryptionByDefault
- Network.AWS.S3.Types: data ServerSideEncryptionConfiguration
- Network.AWS.S3.Types: data ServerSideEncryptionRule
- Network.AWS.S3.Types: data SourceSelectionCriteria
- Network.AWS.S3.Types: data SseKMSEncryptedObjects
- Network.AWS.S3.Types: data SseKMSEncryptedObjectsStatus
- Network.AWS.S3.Types: data Stats
- Network.AWS.S3.Types: data StatsEvent
- Network.AWS.S3.Types: data StorageClass
- Network.AWS.S3.Types: data StorageClassAnalysis
- Network.AWS.S3.Types: data StorageClassAnalysisDataExport
- Network.AWS.S3.Types: data StorageClassAnalysisSchemaVersion
- Network.AWS.S3.Types: data Tag
- Network.AWS.S3.Types: data Tagging
- Network.AWS.S3.Types: data TaggingDirective
- Network.AWS.S3.Types: data TargetGrant
- Network.AWS.S3.Types: data Tier
- Network.AWS.S3.Types: data TopicConfiguration
- Network.AWS.S3.Types: data Transition
- Network.AWS.S3.Types: data TransitionStorageClass
- Network.AWS.S3.Types: data Type
- Network.AWS.S3.Types: data VersioningConfiguration
- Network.AWS.S3.Types: data WebsiteConfiguration
- Network.AWS.S3.Types: delete' :: Delete
- Network.AWS.S3.Types: deleteMarkerEntry :: DeleteMarkerEntry
- Network.AWS.S3.Types: deletedObject :: DeletedObject
- Network.AWS.S3.Types: destination :: BucketName -> Destination
- Network.AWS.S3.Types: dmeIsLatest :: Lens' DeleteMarkerEntry (Maybe Bool)
- Network.AWS.S3.Types: dmeKey :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
- Network.AWS.S3.Types: dmeLastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)
- Network.AWS.S3.Types: dmeOwner :: Lens' DeleteMarkerEntry (Maybe Owner)
- Network.AWS.S3.Types: dmeVersionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
- Network.AWS.S3.Types: eEncryptionType :: Lens' Encryption ServerSideEncryption
- Network.AWS.S3.Types: eKMSContext :: Lens' Encryption (Maybe Text)
- Network.AWS.S3.Types: eKMSKeyId :: Lens' Encryption (Maybe Text)
- Network.AWS.S3.Types: ecReplicaKMSKeyId :: Lens' EncryptionConfiguration (Maybe Text)
- Network.AWS.S3.Types: edKey :: Lens' ErrorDocument ObjectKey
- Network.AWS.S3.Types: encryption :: ServerSideEncryption -> Encryption
- Network.AWS.S3.Types: encryptionConfiguration :: EncryptionConfiguration
- Network.AWS.S3.Types: endEvent :: EndEvent
- Network.AWS.S3.Types: errorDocument :: ObjectKey -> ErrorDocument
- Network.AWS.S3.Types: filterRule :: FilterRule
- Network.AWS.S3.Types: frName :: Lens' FilterRule (Maybe FilterRuleName)
- Network.AWS.S3.Types: frValue :: Lens' FilterRule (Maybe Text)
- Network.AWS.S3.Types: gDisplayName :: Lens' Grantee (Maybe Text)
- Network.AWS.S3.Types: gEmailAddress :: Lens' Grantee (Maybe Text)
- Network.AWS.S3.Types: gGrantee :: Lens' Grant (Maybe Grantee)
- Network.AWS.S3.Types: gId :: Lens' Grantee (Maybe Text)
- Network.AWS.S3.Types: gPermission :: Lens' Grant (Maybe Permission)
- Network.AWS.S3.Types: gType :: Lens' Grantee Type
- Network.AWS.S3.Types: gURI :: Lens' Grantee (Maybe Text)
- Network.AWS.S3.Types: getWebsiteEndpoint :: Region -> Text
- Network.AWS.S3.Types: gjpTier :: Lens' GlacierJobParameters Tier
- Network.AWS.S3.Types: glacierJobParameters :: Tier -> GlacierJobParameters
- Network.AWS.S3.Types: grant :: Grant
- Network.AWS.S3.Types: grantee :: Type -> Grantee
- Network.AWS.S3.Types: iDisplayName :: Lens' Initiator (Maybe Text)
- Network.AWS.S3.Types: iId :: Lens' Initiator (Maybe Text)
- Network.AWS.S3.Types: icDestination :: Lens' InventoryConfiguration InventoryDestination
- Network.AWS.S3.Types: icFilter :: Lens' InventoryConfiguration (Maybe InventoryFilter)
- Network.AWS.S3.Types: icId :: Lens' InventoryConfiguration Text
- Network.AWS.S3.Types: icIncludedObjectVersions :: Lens' InventoryConfiguration InventoryIncludedObjectVersions
- Network.AWS.S3.Types: icIsEnabled :: Lens' InventoryConfiguration Bool
- Network.AWS.S3.Types: icOptionalFields :: Lens' InventoryConfiguration [InventoryOptionalField]
- Network.AWS.S3.Types: icSchedule :: Lens' InventoryConfiguration InventorySchedule
- Network.AWS.S3.Types: idS3BucketDestination :: Lens' InventoryDestination InventoryS3BucketDestination
- Network.AWS.S3.Types: idSuffix :: Lens' IndexDocument Text
- Network.AWS.S3.Types: ieSSEKMS :: Lens' InventoryEncryption (Maybe SSEKMS)
- Network.AWS.S3.Types: ieSSES3 :: Lens' InventoryEncryption (Maybe SSES3)
- Network.AWS.S3.Types: ifPrefix :: Lens' InventoryFilter Text
- Network.AWS.S3.Types: indexDocument :: Text -> IndexDocument
- Network.AWS.S3.Types: initiator :: Initiator
- Network.AWS.S3.Types: inputSerialization :: InputSerialization
- Network.AWS.S3.Types: inventoryConfiguration :: InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
- Network.AWS.S3.Types: inventoryDestination :: InventoryS3BucketDestination -> InventoryDestination
- Network.AWS.S3.Types: inventoryEncryption :: InventoryEncryption
- Network.AWS.S3.Types: inventoryFilter :: Text -> InventoryFilter
- Network.AWS.S3.Types: inventoryS3BucketDestination :: BucketName -> InventoryFormat -> InventoryS3BucketDestination
- Network.AWS.S3.Types: inventorySchedule :: InventoryFrequency -> InventorySchedule
- Network.AWS.S3.Types: isCSV :: Lens' InputSerialization (Maybe CSVInput)
- Network.AWS.S3.Types: isCompressionType :: Lens' InputSerialization (Maybe CompressionType)
- Network.AWS.S3.Types: isFrequency :: Lens' InventorySchedule InventoryFrequency
- Network.AWS.S3.Types: isJSON :: Lens' InputSerialization (Maybe JSONInput)
- Network.AWS.S3.Types: isbdAccountId :: Lens' InventoryS3BucketDestination (Maybe Text)
- Network.AWS.S3.Types: isbdBucket :: Lens' InventoryS3BucketDestination BucketName
- Network.AWS.S3.Types: isbdEncryption :: Lens' InventoryS3BucketDestination (Maybe InventoryEncryption)
- Network.AWS.S3.Types: isbdFormat :: Lens' InventoryS3BucketDestination InventoryFormat
- Network.AWS.S3.Types: isbdPrefix :: Lens' InventoryS3BucketDestination (Maybe Text)
- Network.AWS.S3.Types: jiType :: Lens' JSONInput (Maybe JSONType)
- Network.AWS.S3.Types: joRecordDelimiter :: Lens' JSONOutput (Maybe Text)
- Network.AWS.S3.Types: jsonInput :: JSONInput
- Network.AWS.S3.Types: jsonOutput :: JSONOutput
- Network.AWS.S3.Types: keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text
- Network.AWS.S3.Types: keyName :: Delimiter -> Traversal' ObjectKey Text
- Network.AWS.S3.Types: keyPrefix :: Delimiter -> Traversal' ObjectKey Text
- Network.AWS.S3.Types: lambdaFunctionConfiguration :: Text -> LambdaFunctionConfiguration
- Network.AWS.S3.Types: leDate :: Lens' LifecycleExpiration (Maybe UTCTime)
- Network.AWS.S3.Types: leDays :: Lens' LifecycleExpiration (Maybe Int)
- Network.AWS.S3.Types: leExpiredObjectDeleteMarker :: Lens' LifecycleExpiration (Maybe Bool)
- Network.AWS.S3.Types: leTargetBucket :: Lens' LoggingEnabled Text
- Network.AWS.S3.Types: leTargetGrants :: Lens' LoggingEnabled [TargetGrant]
- Network.AWS.S3.Types: leTargetPrefix :: Lens' LoggingEnabled Text
- Network.AWS.S3.Types: lfcEvents :: Lens' LambdaFunctionConfiguration [Event]
- Network.AWS.S3.Types: lfcFilter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)
- Network.AWS.S3.Types: lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)
- Network.AWS.S3.Types: lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text
- Network.AWS.S3.Types: lifecycleExpiration :: LifecycleExpiration
- Network.AWS.S3.Types: lifecycleRule :: ExpirationStatus -> LifecycleRule
- Network.AWS.S3.Types: lifecycleRuleAndOperator :: LifecycleRuleAndOperator
- Network.AWS.S3.Types: lifecycleRuleFilter :: LifecycleRuleFilter
- Network.AWS.S3.Types: loggingEnabled :: Text -> Text -> LoggingEnabled
- Network.AWS.S3.Types: lrAbortIncompleteMultipartUpload :: Lens' LifecycleRule (Maybe AbortIncompleteMultipartUpload)
- Network.AWS.S3.Types: lrExpiration :: Lens' LifecycleRule (Maybe LifecycleExpiration)
- Network.AWS.S3.Types: lrFilter :: Lens' LifecycleRule (Maybe LifecycleRuleFilter)
- Network.AWS.S3.Types: lrId :: Lens' LifecycleRule (Maybe Text)
- Network.AWS.S3.Types: lrNoncurrentVersionExpiration :: Lens' LifecycleRule (Maybe NoncurrentVersionExpiration)
- Network.AWS.S3.Types: lrNoncurrentVersionTransitions :: Lens' LifecycleRule [NoncurrentVersionTransition]
- Network.AWS.S3.Types: lrPrefix :: Lens' LifecycleRule (Maybe Text)
- Network.AWS.S3.Types: lrStatus :: Lens' LifecycleRule ExpirationStatus
- Network.AWS.S3.Types: lrTransitions :: Lens' LifecycleRule [Transition]
- Network.AWS.S3.Types: lraoPrefix :: Lens' LifecycleRuleAndOperator (Maybe Text)
- Network.AWS.S3.Types: lraoTags :: Lens' LifecycleRuleAndOperator [Tag]
- Network.AWS.S3.Types: lrfAnd :: Lens' LifecycleRuleFilter (Maybe LifecycleRuleAndOperator)
- Network.AWS.S3.Types: lrfPrefix :: Lens' LifecycleRuleFilter (Maybe Text)
- Network.AWS.S3.Types: lrfTag :: Lens' LifecycleRuleFilter (Maybe Tag)
- Network.AWS.S3.Types: maoPrefix :: Lens' MetricsAndOperator (Maybe Text)
- Network.AWS.S3.Types: maoTags :: Lens' MetricsAndOperator [Tag]
- Network.AWS.S3.Types: mcFilter :: Lens' MetricsConfiguration (Maybe MetricsFilter)
- Network.AWS.S3.Types: mcId :: Lens' MetricsConfiguration Text
- Network.AWS.S3.Types: meName :: Lens' MetadataEntry (Maybe Text)
- Network.AWS.S3.Types: meValue :: Lens' MetadataEntry (Maybe Text)
- Network.AWS.S3.Types: metadataEntry :: MetadataEntry
- Network.AWS.S3.Types: metricsAndOperator :: MetricsAndOperator
- Network.AWS.S3.Types: metricsConfiguration :: Text -> MetricsConfiguration
- Network.AWS.S3.Types: metricsFilter :: MetricsFilter
- Network.AWS.S3.Types: mfAnd :: Lens' MetricsFilter (Maybe MetricsAndOperator)
- Network.AWS.S3.Types: mfPrefix :: Lens' MetricsFilter (Maybe Text)
- Network.AWS.S3.Types: mfTag :: Lens' MetricsFilter (Maybe Tag)
- Network.AWS.S3.Types: muInitiated :: Lens' MultipartUpload (Maybe UTCTime)
- Network.AWS.S3.Types: muInitiator :: Lens' MultipartUpload (Maybe Initiator)
- Network.AWS.S3.Types: muKey :: Lens' MultipartUpload (Maybe ObjectKey)
- Network.AWS.S3.Types: muOwner :: Lens' MultipartUpload (Maybe Owner)
- Network.AWS.S3.Types: muStorageClass :: Lens' MultipartUpload (Maybe StorageClass)
- Network.AWS.S3.Types: muUploadId :: Lens' MultipartUpload (Maybe Text)
- Network.AWS.S3.Types: multipartUpload :: MultipartUpload
- Network.AWS.S3.Types: ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]
- Network.AWS.S3.Types: ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]
- Network.AWS.S3.Types: ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]
- Network.AWS.S3.Types: ncfKey :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)
- Network.AWS.S3.Types: newtype BucketName
- Network.AWS.S3.Types: newtype ETag
- Network.AWS.S3.Types: newtype LocationConstraint
- Network.AWS.S3.Types: newtype ObjectKey
- Network.AWS.S3.Types: newtype ObjectVersionId
- Network.AWS.S3.Types: noncurrentVersionExpiration :: Int -> NoncurrentVersionExpiration
- Network.AWS.S3.Types: noncurrentVersionTransition :: Int -> TransitionStorageClass -> NoncurrentVersionTransition
- Network.AWS.S3.Types: notificationConfiguration :: NotificationConfiguration
- Network.AWS.S3.Types: notificationConfigurationFilter :: NotificationConfigurationFilter
- Network.AWS.S3.Types: nveNoncurrentDays :: Lens' NoncurrentVersionExpiration Int
- Network.AWS.S3.Types: nvtNoncurrentDays :: Lens' NoncurrentVersionTransition Int
- Network.AWS.S3.Types: nvtStorageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass
- Network.AWS.S3.Types: oDisplayName :: Lens' Owner (Maybe Text)
- Network.AWS.S3.Types: oETag :: Lens' Object ETag
- Network.AWS.S3.Types: oId :: Lens' Owner (Maybe Text)
- Network.AWS.S3.Types: oKey :: Lens' Object ObjectKey
- Network.AWS.S3.Types: oLastModified :: Lens' Object UTCTime
- Network.AWS.S3.Types: oOwner :: Lens' Object (Maybe Owner)
- Network.AWS.S3.Types: oSize :: Lens' Object Int
- Network.AWS.S3.Types: oStorageClass :: Lens' Object ObjectStorageClass
- Network.AWS.S3.Types: object' :: ETag -> Int -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
- Network.AWS.S3.Types: objectIdentifier :: ObjectKey -> ObjectIdentifier
- Network.AWS.S3.Types: objectVersion :: ObjectVersion
- Network.AWS.S3.Types: oiKey :: Lens' ObjectIdentifier ObjectKey
- Network.AWS.S3.Types: oiVersionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
- Network.AWS.S3.Types: olS3 :: Lens' OutputLocation (Maybe S3Location)
- Network.AWS.S3.Types: osCSV :: Lens' OutputSerialization (Maybe CSVOutput)
- Network.AWS.S3.Types: osJSON :: Lens' OutputSerialization (Maybe JSONOutput)
- Network.AWS.S3.Types: outputLocation :: OutputLocation
- Network.AWS.S3.Types: outputSerialization :: OutputSerialization
- Network.AWS.S3.Types: ovETag :: Lens' ObjectVersion (Maybe ETag)
- Network.AWS.S3.Types: ovIsLatest :: Lens' ObjectVersion (Maybe Bool)
- Network.AWS.S3.Types: ovKey :: Lens' ObjectVersion (Maybe ObjectKey)
- Network.AWS.S3.Types: ovLastModified :: Lens' ObjectVersion (Maybe UTCTime)
- Network.AWS.S3.Types: ovOwner :: Lens' ObjectVersion (Maybe Owner)
- Network.AWS.S3.Types: ovSize :: Lens' ObjectVersion (Maybe Int)
- Network.AWS.S3.Types: ovStorageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)
- Network.AWS.S3.Types: ovVersionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
- Network.AWS.S3.Types: owner :: Owner
- Network.AWS.S3.Types: pBytesProcessed :: Lens' Progress (Maybe Integer)
- Network.AWS.S3.Types: pBytesReturned :: Lens' Progress (Maybe Integer)
- Network.AWS.S3.Types: pBytesScanned :: Lens' Progress (Maybe Integer)
- Network.AWS.S3.Types: pETag :: Lens' Part (Maybe ETag)
- Network.AWS.S3.Types: pLastModified :: Lens' Part (Maybe UTCTime)
- Network.AWS.S3.Types: pPartNumber :: Lens' Part (Maybe Int)
- Network.AWS.S3.Types: pSize :: Lens' Part (Maybe Int)
- Network.AWS.S3.Types: part :: Part
- Network.AWS.S3.Types: peDetails :: Lens' ProgressEvent (Maybe Progress)
- Network.AWS.S3.Types: progress :: Progress
- Network.AWS.S3.Types: progressEvent :: ProgressEvent
- Network.AWS.S3.Types: qcEvents :: Lens' QueueConfiguration [Event]
- Network.AWS.S3.Types: qcFilter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)
- Network.AWS.S3.Types: qcId :: Lens' QueueConfiguration (Maybe Text)
- Network.AWS.S3.Types: qcQueueARN :: Lens' QueueConfiguration Text
- Network.AWS.S3.Types: queueConfiguration :: Text -> QueueConfiguration
- Network.AWS.S3.Types: rHTTPRedirectCode :: Lens' Redirect (Maybe Text)
- Network.AWS.S3.Types: rHostName :: Lens' Redirect (Maybe Text)
- Network.AWS.S3.Types: rProtocol :: Lens' Redirect (Maybe Protocol)
- Network.AWS.S3.Types: rReplaceKeyPrefixWith :: Lens' Redirect (Maybe Text)
- Network.AWS.S3.Types: rReplaceKeyWith :: Lens' Redirect (Maybe Text)
- Network.AWS.S3.Types: rartHostName :: Lens' RedirectAllRequestsTo Text
- Network.AWS.S3.Types: rartProtocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)
- Network.AWS.S3.Types: rcRole :: Lens' ReplicationConfiguration Text
- Network.AWS.S3.Types: rcRules :: Lens' ReplicationConfiguration [ReplicationRule]
- Network.AWS.S3.Types: rePayload :: Lens' RecordsEvent (Maybe ByteString)
- Network.AWS.S3.Types: recordsEvent :: RecordsEvent
- Network.AWS.S3.Types: redirect :: Redirect
- Network.AWS.S3.Types: redirectAllRequestsTo :: Text -> RedirectAllRequestsTo
- Network.AWS.S3.Types: replicationConfiguration :: Text -> ReplicationConfiguration
- Network.AWS.S3.Types: replicationRule :: Text -> ReplicationRuleStatus -> Destination -> ReplicationRule
- Network.AWS.S3.Types: requestPaymentConfiguration :: Payer -> RequestPaymentConfiguration
- Network.AWS.S3.Types: requestProgress :: RequestProgress
- Network.AWS.S3.Types: restoreRequest :: RestoreRequest
- Network.AWS.S3.Types: routingRule :: Redirect -> RoutingRule
- Network.AWS.S3.Types: rpEnabled :: Lens' RequestProgress (Maybe Bool)
- Network.AWS.S3.Types: rpcPayer :: Lens' RequestPaymentConfiguration Payer
- Network.AWS.S3.Types: rrCondition :: Lens' RoutingRule (Maybe Condition)
- Network.AWS.S3.Types: rrDays :: Lens' RestoreRequest (Maybe Int)
- Network.AWS.S3.Types: rrDescription :: Lens' RestoreRequest (Maybe Text)
- Network.AWS.S3.Types: rrDestination :: Lens' ReplicationRule Destination
- Network.AWS.S3.Types: rrGlacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)
- Network.AWS.S3.Types: rrId :: Lens' ReplicationRule (Maybe Text)
- Network.AWS.S3.Types: rrOutputLocation :: Lens' RestoreRequest (Maybe OutputLocation)
- Network.AWS.S3.Types: rrPrefix :: Lens' ReplicationRule Text
- Network.AWS.S3.Types: rrRedirect :: Lens' RoutingRule Redirect
- Network.AWS.S3.Types: rrSelectParameters :: Lens' RestoreRequest (Maybe SelectParameters)
- Network.AWS.S3.Types: rrSourceSelectionCriteria :: Lens' ReplicationRule (Maybe SourceSelectionCriteria)
- Network.AWS.S3.Types: rrStatus :: Lens' ReplicationRule ReplicationRuleStatus
- Network.AWS.S3.Types: rrTier :: Lens' RestoreRequest (Maybe Tier)
- Network.AWS.S3.Types: rrType :: Lens' RestoreRequest (Maybe RestoreRequestType)
- Network.AWS.S3.Types: s3 :: Service
- Network.AWS.S3.Types: s3KeyFilter :: S3KeyFilter
- Network.AWS.S3.Types: s3Location :: BucketName -> Text -> S3Location
- Network.AWS.S3.Types: s3ServiceError :: S3ServiceError
- Network.AWS.S3.Types: sBytesProcessed :: Lens' Stats (Maybe Integer)
- Network.AWS.S3.Types: sBytesReturned :: Lens' Stats (Maybe Integer)
- Network.AWS.S3.Types: sBytesScanned :: Lens' Stats (Maybe Integer)
- Network.AWS.S3.Types: sSEKMS :: Text -> SSEKMS
- Network.AWS.S3.Types: sSES3 :: SSES3
- Network.AWS.S3.Types: scaDataExport :: Lens' StorageClassAnalysis (Maybe StorageClassAnalysisDataExport)
- Network.AWS.S3.Types: scadeDestination :: Lens' StorageClassAnalysisDataExport AnalyticsExportDestination
- Network.AWS.S3.Types: scadeOutputSchemaVersion :: Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion
- Network.AWS.S3.Types: seDetails :: Lens' StatsEvent (Maybe Stats)
- Network.AWS.S3.Types: selectObjectContentEventStream :: SelectObjectContentEventStream
- Network.AWS.S3.Types: selectParameters :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
- Network.AWS.S3.Types: serverSideEncryptionByDefault :: ServerSideEncryption -> ServerSideEncryptionByDefault
- Network.AWS.S3.Types: serverSideEncryptionConfiguration :: ServerSideEncryptionConfiguration
- Network.AWS.S3.Types: serverSideEncryptionRule :: ServerSideEncryptionRule
- Network.AWS.S3.Types: skeoStatus :: Lens' SseKMSEncryptedObjects SseKMSEncryptedObjectsStatus
- Network.AWS.S3.Types: skfFilterRules :: Lens' S3KeyFilter [FilterRule]
- Network.AWS.S3.Types: slAccessControlList :: Lens' S3Location [Grant]
- Network.AWS.S3.Types: slBucketName :: Lens' S3Location BucketName
- Network.AWS.S3.Types: slCannedACL :: Lens' S3Location (Maybe ObjectCannedACL)
- Network.AWS.S3.Types: slEncryption :: Lens' S3Location (Maybe Encryption)
- Network.AWS.S3.Types: slPrefix :: Lens' S3Location Text
- Network.AWS.S3.Types: slStorageClass :: Lens' S3Location (Maybe StorageClass)
- Network.AWS.S3.Types: slTagging :: Lens' S3Location (Maybe Tagging)
- Network.AWS.S3.Types: slUserMetadata :: Lens' S3Location [MetadataEntry]
- Network.AWS.S3.Types: socesCont :: Lens' SelectObjectContentEventStream (Maybe ContinuationEvent)
- Network.AWS.S3.Types: socesEnd :: Lens' SelectObjectContentEventStream (Maybe EndEvent)
- Network.AWS.S3.Types: socesProgress :: Lens' SelectObjectContentEventStream (Maybe ProgressEvent)
- Network.AWS.S3.Types: socesRecords :: Lens' SelectObjectContentEventStream (Maybe RecordsEvent)
- Network.AWS.S3.Types: socesStats :: Lens' SelectObjectContentEventStream (Maybe StatsEvent)
- Network.AWS.S3.Types: sourceSelectionCriteria :: SourceSelectionCriteria
- Network.AWS.S3.Types: spExpression :: Lens' SelectParameters Text
- Network.AWS.S3.Types: spExpressionType :: Lens' SelectParameters ExpressionType
- Network.AWS.S3.Types: spInputSerialization :: Lens' SelectParameters InputSerialization
- Network.AWS.S3.Types: spOutputSerialization :: Lens' SelectParameters OutputSerialization
- Network.AWS.S3.Types: sscSseKMSEncryptedObjects :: Lens' SourceSelectionCriteria (Maybe SseKMSEncryptedObjects)
- Network.AWS.S3.Types: sseCode :: Lens' S3ServiceError (Maybe Text)
- Network.AWS.S3.Types: sseKMSEncryptedObjects :: SseKMSEncryptedObjectsStatus -> SseKMSEncryptedObjects
- Network.AWS.S3.Types: sseKey :: Lens' S3ServiceError (Maybe ObjectKey)
- Network.AWS.S3.Types: sseMessage :: Lens' S3ServiceError (Maybe Text)
- Network.AWS.S3.Types: sseVersionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
- Network.AWS.S3.Types: ssebdKMSMasterKeyId :: Lens' ServerSideEncryptionByDefault (Maybe Text)
- Network.AWS.S3.Types: ssebdSSEAlgorithm :: Lens' ServerSideEncryptionByDefault ServerSideEncryption
- Network.AWS.S3.Types: ssecRules :: Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]
- Network.AWS.S3.Types: ssekKeyId :: Lens' SSEKMS Text
- Network.AWS.S3.Types: sserApplyServerSideEncryptionByDefault :: Lens' ServerSideEncryptionRule (Maybe ServerSideEncryptionByDefault)
- Network.AWS.S3.Types: stats :: Stats
- Network.AWS.S3.Types: statsEvent :: StatsEvent
- Network.AWS.S3.Types: storageClassAnalysis :: StorageClassAnalysis
- Network.AWS.S3.Types: storageClassAnalysisDataExport :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
- Network.AWS.S3.Types: tDate :: Lens' Transition (Maybe UTCTime)
- Network.AWS.S3.Types: tDays :: Lens' Transition (Maybe Int)
- Network.AWS.S3.Types: tStorageClass :: Lens' Transition (Maybe TransitionStorageClass)
- Network.AWS.S3.Types: tTagSet :: Lens' Tagging [Tag]
- Network.AWS.S3.Types: tag :: ObjectKey -> Text -> Tag
- Network.AWS.S3.Types: tagKey :: Lens' Tag ObjectKey
- Network.AWS.S3.Types: tagValue :: Lens' Tag Text
- Network.AWS.S3.Types: tagging :: Tagging
- Network.AWS.S3.Types: targetGrant :: TargetGrant
- Network.AWS.S3.Types: tcEvents :: Lens' TopicConfiguration [Event]
- Network.AWS.S3.Types: tcFilter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)
- Network.AWS.S3.Types: tcId :: Lens' TopicConfiguration (Maybe Text)
- Network.AWS.S3.Types: tcTopicARN :: Lens' TopicConfiguration Text
- Network.AWS.S3.Types: tgGrantee :: Lens' TargetGrant (Maybe Grantee)
- Network.AWS.S3.Types: tgPermission :: Lens' TargetGrant (Maybe BucketLogsPermission)
- Network.AWS.S3.Types: topicConfiguration :: Text -> TopicConfiguration
- Network.AWS.S3.Types: transition :: Transition
- Network.AWS.S3.Types: type Delimiter = Char
- Network.AWS.S3.Types: vcMFADelete :: Lens' VersioningConfiguration (Maybe MFADelete)
- Network.AWS.S3.Types: vcStatus :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)
- Network.AWS.S3.Types: versioningConfiguration :: VersioningConfiguration
- Network.AWS.S3.Types: wcErrorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)
- Network.AWS.S3.Types: wcIndexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)
- Network.AWS.S3.Types: wcRedirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)
- Network.AWS.S3.Types: wcRoutingRules :: Lens' WebsiteConfiguration [RoutingRule]
- Network.AWS.S3.Types: websiteConfiguration :: WebsiteConfiguration
- Network.AWS.S3.UploadPart: data UploadPart
- Network.AWS.S3.UploadPart: data UploadPartResponse
- Network.AWS.S3.UploadPart: instance Control.DeepSeq.NFData Network.AWS.S3.UploadPart.UploadPartResponse
- Network.AWS.S3.UploadPart: instance Data.Data.Data Network.AWS.S3.UploadPart.UploadPartResponse
- Network.AWS.S3.UploadPart: instance GHC.Classes.Eq Network.AWS.S3.UploadPart.UploadPartResponse
- Network.AWS.S3.UploadPart: instance GHC.Generics.Generic Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: instance GHC.Generics.Generic Network.AWS.S3.UploadPart.UploadPartResponse
- Network.AWS.S3.UploadPart: instance GHC.Show.Show Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: instance GHC.Show.Show Network.AWS.S3.UploadPart.UploadPartResponse
- Network.AWS.S3.UploadPart: instance Network.AWS.Data.Body.ToBody Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: instance Network.AWS.Types.AWSRequest Network.AWS.S3.UploadPart.UploadPart
- Network.AWS.S3.UploadPart: upBody :: Lens' UploadPart RqBody
- Network.AWS.S3.UploadPart: upBucket :: Lens' UploadPart BucketName
- Network.AWS.S3.UploadPart: upContentLength :: Lens' UploadPart (Maybe Integer)
- Network.AWS.S3.UploadPart: upContentMD5 :: Lens' UploadPart (Maybe Text)
- Network.AWS.S3.UploadPart: upKey :: Lens' UploadPart ObjectKey
- Network.AWS.S3.UploadPart: upPartNumber :: Lens' UploadPart Int
- Network.AWS.S3.UploadPart: upRequestPayer :: Lens' UploadPart (Maybe RequestPayer)
- Network.AWS.S3.UploadPart: upSSECustomerAlgorithm :: Lens' UploadPart (Maybe Text)
- Network.AWS.S3.UploadPart: upSSECustomerKey :: Lens' UploadPart (Maybe Text)
- Network.AWS.S3.UploadPart: upSSECustomerKeyMD5 :: Lens' UploadPart (Maybe Text)
- Network.AWS.S3.UploadPart: upUploadId :: Lens' UploadPart Text
- Network.AWS.S3.UploadPart: uploadPart :: BucketName -> ObjectKey -> Int -> Text -> RqBody -> UploadPart
- Network.AWS.S3.UploadPart: uploadPartResponse :: Int -> UploadPartResponse
- Network.AWS.S3.UploadPart: uprsETag :: Lens' UploadPartResponse (Maybe ETag)
- Network.AWS.S3.UploadPart: uprsRequestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)
- Network.AWS.S3.UploadPart: uprsResponseStatus :: Lens' UploadPartResponse Int
- Network.AWS.S3.UploadPart: uprsSSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprsSSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprsSSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)
- Network.AWS.S3.UploadPart: uprsServerSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.UploadPartCopy: data UploadPartCopy
- Network.AWS.S3.UploadPartCopy: data UploadPartCopyResponse
- Network.AWS.S3.UploadPartCopy: instance Control.DeepSeq.NFData Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance Control.DeepSeq.NFData Network.AWS.S3.UploadPartCopy.UploadPartCopyResponse
- Network.AWS.S3.UploadPartCopy: instance Data.Data.Data Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance Data.Data.Data Network.AWS.S3.UploadPartCopy.UploadPartCopyResponse
- Network.AWS.S3.UploadPartCopy: instance Data.Hashable.Class.Hashable Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance GHC.Classes.Eq Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance GHC.Classes.Eq Network.AWS.S3.UploadPartCopy.UploadPartCopyResponse
- Network.AWS.S3.UploadPartCopy: instance GHC.Generics.Generic Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance GHC.Generics.Generic Network.AWS.S3.UploadPartCopy.UploadPartCopyResponse
- Network.AWS.S3.UploadPartCopy: instance GHC.Show.Show Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance GHC.Show.Show Network.AWS.S3.UploadPartCopy.UploadPartCopyResponse
- Network.AWS.S3.UploadPartCopy: instance Network.AWS.Data.Headers.ToHeaders Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance Network.AWS.Data.Path.ToPath Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance Network.AWS.Data.Query.ToQuery Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: instance Network.AWS.Types.AWSRequest Network.AWS.S3.UploadPartCopy.UploadPartCopy
- Network.AWS.S3.UploadPartCopy: upcBucket :: Lens' UploadPartCopy BucketName
- Network.AWS.S3.UploadPartCopy: upcCopySource :: Lens' UploadPartCopy Text
- Network.AWS.S3.UploadPartCopy: upcCopySourceIfMatch :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcCopySourceIfModifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)
- Network.AWS.S3.UploadPartCopy: upcCopySourceIfNoneMatch :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcCopySourceIfUnmodifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)
- Network.AWS.S3.UploadPartCopy: upcCopySourceRange :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcCopySourceSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcCopySourceSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcCopySourceSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcKey :: Lens' UploadPartCopy ObjectKey
- Network.AWS.S3.UploadPartCopy: upcPartNumber :: Lens' UploadPartCopy Int
- Network.AWS.S3.UploadPartCopy: upcRequestPayer :: Lens' UploadPartCopy (Maybe RequestPayer)
- Network.AWS.S3.UploadPartCopy: upcSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcUploadId :: Lens' UploadPartCopy Text
- Network.AWS.S3.UploadPartCopy: upcrsCopyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)
- Network.AWS.S3.UploadPartCopy: upcrsCopySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrsRequestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)
- Network.AWS.S3.UploadPartCopy: upcrsResponseStatus :: Lens' UploadPartCopyResponse Int
- Network.AWS.S3.UploadPartCopy: upcrsSSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrsSSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrsSSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)
- Network.AWS.S3.UploadPartCopy: upcrsServerSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)
- Network.AWS.S3.UploadPartCopy: uploadPartCopy :: BucketName -> Text -> ObjectKey -> Int -> Text -> UploadPartCopy
- Network.AWS.S3.UploadPartCopy: uploadPartCopyResponse :: Int -> UploadPartCopyResponse
- Network.AWS.S3.Waiters: bucketExists :: Wait HeadBucket
- Network.AWS.S3.Waiters: bucketNotExists :: Wait HeadBucket
- Network.AWS.S3.Waiters: objectExists :: Wait HeadObject
- Network.AWS.S3.Waiters: objectNotExists :: Wait HeadObject
+ Amazonka.S3: AbortIncompleteMultipartUpload' :: Maybe Int -> AbortIncompleteMultipartUpload
+ Amazonka.S3: AbortMultipartUpload' :: Maybe Text -> Maybe RequestPayer -> BucketName -> ObjectKey -> Text -> AbortMultipartUpload
+ Amazonka.S3: AbortMultipartUploadResponse' :: Maybe RequestCharged -> Int -> AbortMultipartUploadResponse
+ Amazonka.S3: AccelerateConfiguration' :: Maybe BucketAccelerateStatus -> AccelerateConfiguration
+ Amazonka.S3: AccessControlPolicy' :: Maybe [Grant] -> Maybe Owner -> AccessControlPolicy
+ Amazonka.S3: AccessControlTranslation' :: OwnerOverride -> AccessControlTranslation
+ Amazonka.S3: AnalyticsAndOperator' :: Maybe Text -> Maybe [Tag] -> AnalyticsAndOperator
+ Amazonka.S3: AnalyticsConfiguration' :: Maybe AnalyticsFilter -> Text -> StorageClassAnalysis -> AnalyticsConfiguration
+ Amazonka.S3: AnalyticsExportDestination' :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
+ Amazonka.S3: AnalyticsFilter' :: Maybe AnalyticsAndOperator -> Maybe Text -> Maybe Tag -> AnalyticsFilter
+ Amazonka.S3: AnalyticsS3BucketDestination' :: Maybe Text -> Maybe Text -> AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
+ Amazonka.S3: AnalyticsS3ExportFileFormat' :: Text -> AnalyticsS3ExportFileFormat
+ Amazonka.S3: ArchiveStatus' :: Text -> ArchiveStatus
+ Amazonka.S3: Bucket' :: ISO8601 -> BucketName -> Bucket
+ Amazonka.S3: BucketAccelerateStatus' :: Text -> BucketAccelerateStatus
+ Amazonka.S3: BucketCannedACL' :: Text -> BucketCannedACL
+ Amazonka.S3: BucketLifecycleConfiguration' :: [LifecycleRule] -> BucketLifecycleConfiguration
+ Amazonka.S3: BucketLoggingStatus' :: Maybe LoggingEnabled -> BucketLoggingStatus
+ Amazonka.S3: BucketLogsPermission' :: Text -> BucketLogsPermission
+ Amazonka.S3: BucketVersioningStatus' :: Text -> BucketVersioningStatus
+ Amazonka.S3: CORSConfiguration' :: [CORSRule] -> CORSConfiguration
+ Amazonka.S3: CORSRule' :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Int -> [Text] -> [Text] -> CORSRule
+ Amazonka.S3: CSVInput' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe FileHeaderInfo -> Maybe Text -> Maybe Text -> Maybe Text -> CSVInput
+ Amazonka.S3: CSVOutput' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe QuoteFields -> Maybe Text -> CSVOutput
+ Amazonka.S3: Checksum' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Checksum
+ Amazonka.S3: ChecksumAlgorithm' :: Text -> ChecksumAlgorithm
+ Amazonka.S3: ChecksumMode' :: Text -> ChecksumMode
+ Amazonka.S3: CommonPrefix' :: Maybe Text -> CommonPrefix
+ Amazonka.S3: CompleteMultipartUpload' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe CompletedMultipartUpload -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> ObjectKey -> Text -> CompleteMultipartUpload
+ Amazonka.S3: CompleteMultipartUploadResponse' :: Maybe BucketName -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe Text -> Maybe ObjectKey -> Maybe Text -> Maybe RequestCharged -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe ObjectVersionId -> Int -> CompleteMultipartUploadResponse
+ Amazonka.S3: CompletedMultipartUpload' :: Maybe (NonEmpty CompletedPart) -> CompletedMultipartUpload
+ Amazonka.S3: CompletedPart' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ETag -> CompletedPart
+ Amazonka.S3: CompressionType' :: Text -> CompressionType
+ Amazonka.S3: Condition' :: Maybe Text -> Maybe Text -> Condition
+ Amazonka.S3: ContinuationEvent' :: ContinuationEvent
+ Amazonka.S3: CopyObject' :: Maybe ObjectCannedACL -> Maybe Bool -> Maybe Text -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> HashMap Text Text -> Maybe MetadataDirective -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Text -> Maybe TaggingDirective -> Maybe Text -> BucketName -> Text -> ObjectKey -> CopyObject
+ Amazonka.S3: CopyObjectResponse' :: Maybe Bool -> Maybe CopyObjectResult -> Maybe Text -> Maybe Text -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe ObjectVersionId -> Int -> CopyObjectResponse
+ Amazonka.S3: CopyObjectResult' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> CopyObjectResult
+ Amazonka.S3: CopyPartResult' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> CopyPartResult
+ Amazonka.S3: CreateBucket' :: Maybe BucketCannedACL -> Maybe CreateBucketConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe ObjectOwnership -> BucketName -> CreateBucket
+ Amazonka.S3: CreateBucketConfiguration' :: Maybe LocationConstraint -> CreateBucketConfiguration
+ Amazonka.S3: CreateBucketResponse' :: Maybe Text -> Int -> CreateBucketResponse
+ Amazonka.S3: CreateMultipartUpload' :: Maybe ObjectCannedACL -> Maybe Bool -> Maybe Text -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> HashMap Text Text -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Text -> Maybe Text -> BucketName -> ObjectKey -> CreateMultipartUpload
+ Amazonka.S3: CreateMultipartUploadResponse' :: Maybe RFC822 -> Maybe Text -> Maybe BucketName -> Maybe Bool -> Maybe ChecksumAlgorithm -> Maybe ObjectKey -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Int -> Text -> CreateMultipartUploadResponse
+ Amazonka.S3: DefaultRetention' :: Maybe Int -> Maybe ObjectLockRetentionMode -> Maybe Int -> DefaultRetention
+ Amazonka.S3: Delete' :: Maybe Bool -> [ObjectIdentifier] -> Delete
+ Amazonka.S3: DeleteBucket' :: Maybe Text -> BucketName -> DeleteBucket
+ Amazonka.S3: DeleteBucketAnalyticsConfiguration' :: Maybe Text -> BucketName -> Text -> DeleteBucketAnalyticsConfiguration
+ Amazonka.S3: DeleteBucketAnalyticsConfigurationResponse' :: DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3: DeleteBucketCors' :: Maybe Text -> BucketName -> DeleteBucketCors
+ Amazonka.S3: DeleteBucketCorsResponse' :: DeleteBucketCorsResponse
+ Amazonka.S3: DeleteBucketEncryption' :: Maybe Text -> BucketName -> DeleteBucketEncryption
+ Amazonka.S3: DeleteBucketEncryptionResponse' :: DeleteBucketEncryptionResponse
+ Amazonka.S3: DeleteBucketIntelligentTieringConfiguration' :: BucketName -> Text -> DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3: DeleteBucketIntelligentTieringConfigurationResponse' :: DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: DeleteBucketInventoryConfiguration' :: Maybe Text -> BucketName -> Text -> DeleteBucketInventoryConfiguration
+ Amazonka.S3: DeleteBucketInventoryConfigurationResponse' :: DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3: DeleteBucketLifecycle' :: Maybe Text -> BucketName -> DeleteBucketLifecycle
+ Amazonka.S3: DeleteBucketLifecycleResponse' :: DeleteBucketLifecycleResponse
+ Amazonka.S3: DeleteBucketMetricsConfiguration' :: Maybe Text -> BucketName -> Text -> DeleteBucketMetricsConfiguration
+ Amazonka.S3: DeleteBucketMetricsConfigurationResponse' :: DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3: DeleteBucketOwnershipControls' :: Maybe Text -> BucketName -> DeleteBucketOwnershipControls
+ Amazonka.S3: DeleteBucketOwnershipControlsResponse' :: DeleteBucketOwnershipControlsResponse
+ Amazonka.S3: DeleteBucketPolicy' :: Maybe Text -> BucketName -> DeleteBucketPolicy
+ Amazonka.S3: DeleteBucketPolicyResponse' :: DeleteBucketPolicyResponse
+ Amazonka.S3: DeleteBucketReplication' :: Maybe Text -> BucketName -> DeleteBucketReplication
+ Amazonka.S3: DeleteBucketReplicationResponse' :: DeleteBucketReplicationResponse
+ Amazonka.S3: DeleteBucketResponse' :: DeleteBucketResponse
+ Amazonka.S3: DeleteBucketTagging' :: Maybe Text -> BucketName -> DeleteBucketTagging
+ Amazonka.S3: DeleteBucketTaggingResponse' :: DeleteBucketTaggingResponse
+ Amazonka.S3: DeleteBucketWebsite' :: Maybe Text -> BucketName -> DeleteBucketWebsite
+ Amazonka.S3: DeleteBucketWebsiteResponse' :: DeleteBucketWebsiteResponse
+ Amazonka.S3: DeleteMarkerEntry' :: Maybe Bool -> Maybe ObjectKey -> Maybe RFC822 -> Maybe Owner -> Maybe ObjectVersionId -> DeleteMarkerEntry
+ Amazonka.S3: DeleteMarkerReplication' :: Maybe DeleteMarkerReplicationStatus -> DeleteMarkerReplication
+ Amazonka.S3: DeleteMarkerReplicationStatus' :: Text -> DeleteMarkerReplicationStatus
+ Amazonka.S3: DeleteObject' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> DeleteObject
+ Amazonka.S3: DeleteObjectResponse' :: Maybe Bool -> Maybe RequestCharged -> Maybe ObjectVersionId -> Int -> DeleteObjectResponse
+ Amazonka.S3: DeleteObjectTagging' :: Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> DeleteObjectTagging
+ Amazonka.S3: DeleteObjectTaggingResponse' :: Maybe ObjectVersionId -> Int -> DeleteObjectTaggingResponse
+ Amazonka.S3: DeleteObjects' :: Maybe Bool -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> BucketName -> Delete -> DeleteObjects
+ Amazonka.S3: DeleteObjectsResponse' :: Maybe [DeletedObject] -> Maybe [S3ServiceError] -> Maybe RequestCharged -> Int -> DeleteObjectsResponse
+ Amazonka.S3: DeletePublicAccessBlock' :: Maybe Text -> BucketName -> DeletePublicAccessBlock
+ Amazonka.S3: DeletePublicAccessBlockResponse' :: DeletePublicAccessBlockResponse
+ Amazonka.S3: DeletedObject' :: Maybe Bool -> Maybe Text -> Maybe ObjectKey -> Maybe ObjectVersionId -> DeletedObject
+ Amazonka.S3: Destination' :: Maybe AccessControlTranslation -> Maybe Text -> Maybe EncryptionConfiguration -> Maybe Metrics -> Maybe ReplicationTime -> Maybe StorageClass -> BucketName -> Destination
+ Amazonka.S3: EncodingType' :: Text -> EncodingType
+ Amazonka.S3: Encryption' :: Maybe Text -> Maybe (Sensitive Text) -> ServerSideEncryption -> Encryption
+ Amazonka.S3: EncryptionConfiguration' :: Maybe Text -> EncryptionConfiguration
+ Amazonka.S3: EndEvent' :: EndEvent
+ Amazonka.S3: ErrorDocument' :: ObjectKey -> ErrorDocument
+ Amazonka.S3: Event' :: Text -> Event
+ Amazonka.S3: EventBridgeConfiguration' :: EventBridgeConfiguration
+ Amazonka.S3: ExistingObjectReplication' :: ExistingObjectReplicationStatus -> ExistingObjectReplication
+ Amazonka.S3: ExistingObjectReplicationStatus' :: Text -> ExistingObjectReplicationStatus
+ Amazonka.S3: ExpirationStatus' :: Text -> ExpirationStatus
+ Amazonka.S3: ExpressionType' :: Text -> ExpressionType
+ Amazonka.S3: FileHeaderInfo' :: Text -> FileHeaderInfo
+ Amazonka.S3: FilterRule' :: Maybe FilterRuleName -> Maybe Text -> FilterRule
+ Amazonka.S3: FilterRuleName' :: Text -> FilterRuleName
+ Amazonka.S3: GetBucketAccelerateConfiguration' :: Maybe Text -> BucketName -> GetBucketAccelerateConfiguration
+ Amazonka.S3: GetBucketAccelerateConfigurationResponse' :: Maybe BucketAccelerateStatus -> Int -> GetBucketAccelerateConfigurationResponse
+ Amazonka.S3: GetBucketAcl' :: Maybe Text -> BucketName -> GetBucketAcl
+ Amazonka.S3: GetBucketAclResponse' :: Maybe [Grant] -> Maybe Owner -> Int -> GetBucketAclResponse
+ Amazonka.S3: GetBucketAnalyticsConfiguration' :: Maybe Text -> BucketName -> Text -> GetBucketAnalyticsConfiguration
+ Amazonka.S3: GetBucketAnalyticsConfigurationResponse' :: Maybe AnalyticsConfiguration -> Int -> GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3: GetBucketCors' :: Maybe Text -> BucketName -> GetBucketCors
+ Amazonka.S3: GetBucketCorsResponse' :: Maybe [CORSRule] -> Int -> GetBucketCorsResponse
+ Amazonka.S3: GetBucketEncryption' :: Maybe Text -> BucketName -> GetBucketEncryption
+ Amazonka.S3: GetBucketEncryptionResponse' :: Maybe ServerSideEncryptionConfiguration -> Int -> GetBucketEncryptionResponse
+ Amazonka.S3: GetBucketIntelligentTieringConfiguration' :: BucketName -> Text -> GetBucketIntelligentTieringConfiguration
+ Amazonka.S3: GetBucketIntelligentTieringConfigurationResponse' :: Maybe IntelligentTieringConfiguration -> Int -> GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: GetBucketInventoryConfiguration' :: Maybe Text -> BucketName -> Text -> GetBucketInventoryConfiguration
+ Amazonka.S3: GetBucketInventoryConfigurationResponse' :: Maybe InventoryConfiguration -> Int -> GetBucketInventoryConfigurationResponse
+ Amazonka.S3: GetBucketLifecycleConfiguration' :: Maybe Text -> BucketName -> GetBucketLifecycleConfiguration
+ Amazonka.S3: GetBucketLifecycleConfigurationResponse' :: Maybe [LifecycleRule] -> Int -> GetBucketLifecycleConfigurationResponse
+ Amazonka.S3: GetBucketLocation' :: Maybe Text -> BucketName -> GetBucketLocation
+ Amazonka.S3: GetBucketLocationResponse' :: Int -> LocationConstraint -> GetBucketLocationResponse
+ Amazonka.S3: GetBucketLogging' :: Maybe Text -> BucketName -> GetBucketLogging
+ Amazonka.S3: GetBucketLoggingResponse' :: Maybe LoggingEnabled -> Int -> GetBucketLoggingResponse
+ Amazonka.S3: GetBucketMetricsConfiguration' :: Maybe Text -> BucketName -> Text -> GetBucketMetricsConfiguration
+ Amazonka.S3: GetBucketMetricsConfigurationResponse' :: Maybe MetricsConfiguration -> Int -> GetBucketMetricsConfigurationResponse
+ Amazonka.S3: GetBucketNotificationConfiguration' :: Maybe Text -> BucketName -> GetBucketNotificationConfiguration
+ Amazonka.S3: GetBucketOwnershipControls' :: Maybe Text -> BucketName -> GetBucketOwnershipControls
+ Amazonka.S3: GetBucketOwnershipControlsResponse' :: Maybe OwnershipControls -> Int -> GetBucketOwnershipControlsResponse
+ Amazonka.S3: GetBucketPolicy' :: Maybe Text -> BucketName -> GetBucketPolicy
+ Amazonka.S3: GetBucketPolicyResponse' :: Int -> ByteString -> GetBucketPolicyResponse
+ Amazonka.S3: GetBucketPolicyStatus' :: Maybe Text -> BucketName -> GetBucketPolicyStatus
+ Amazonka.S3: GetBucketPolicyStatusResponse' :: Maybe PolicyStatus -> Int -> GetBucketPolicyStatusResponse
+ Amazonka.S3: GetBucketReplication' :: Maybe Text -> BucketName -> GetBucketReplication
+ Amazonka.S3: GetBucketReplicationResponse' :: Maybe ReplicationConfiguration -> Int -> GetBucketReplicationResponse
+ Amazonka.S3: GetBucketRequestPayment' :: Maybe Text -> BucketName -> GetBucketRequestPayment
+ Amazonka.S3: GetBucketRequestPaymentResponse' :: Maybe Payer -> Int -> GetBucketRequestPaymentResponse
+ Amazonka.S3: GetBucketTagging' :: Maybe Text -> BucketName -> GetBucketTagging
+ Amazonka.S3: GetBucketTaggingResponse' :: Int -> [Tag] -> GetBucketTaggingResponse
+ Amazonka.S3: GetBucketVersioning' :: Maybe Text -> BucketName -> GetBucketVersioning
+ Amazonka.S3: GetBucketVersioningResponse' :: Maybe MFADeleteStatus -> Maybe BucketVersioningStatus -> Int -> GetBucketVersioningResponse
+ Amazonka.S3: GetBucketWebsite' :: Maybe Text -> BucketName -> GetBucketWebsite
+ Amazonka.S3: GetBucketWebsiteResponse' :: Maybe ErrorDocument -> Maybe IndexDocument -> Maybe RedirectAllRequestsTo -> Maybe [RoutingRule] -> Int -> GetBucketWebsiteResponse
+ Amazonka.S3: GetObject' :: Maybe ChecksumMode -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObject
+ Amazonka.S3: GetObjectAcl' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectAcl
+ Amazonka.S3: GetObjectAclResponse' :: Maybe [Grant] -> Maybe Owner -> Maybe RequestCharged -> Int -> GetObjectAclResponse
+ Amazonka.S3: GetObjectAttributes' :: Maybe Text -> Maybe Int -> Maybe Int -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> [ObjectAttributes] -> GetObjectAttributes
+ Amazonka.S3: GetObjectAttributesParts' :: Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe [ObjectPart] -> Maybe Int -> GetObjectAttributesParts
+ Amazonka.S3: GetObjectAttributesResponse' :: Maybe Checksum -> Maybe Bool -> Maybe ETag -> Maybe RFC822 -> Maybe GetObjectAttributesParts -> Maybe Integer -> Maybe RequestCharged -> Maybe StorageClass -> Maybe ObjectVersionId -> Int -> GetObjectAttributesResponse
+ Amazonka.S3: GetObjectLegalHold' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectLegalHold
+ Amazonka.S3: GetObjectLegalHoldResponse' :: Maybe ObjectLockLegalHold -> Int -> GetObjectLegalHoldResponse
+ Amazonka.S3: GetObjectLockConfiguration' :: Maybe Text -> BucketName -> GetObjectLockConfiguration
+ Amazonka.S3: GetObjectLockConfigurationResponse' :: Maybe ObjectLockConfiguration -> Int -> GetObjectLockConfigurationResponse
+ Amazonka.S3: GetObjectResponse' :: Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe ETag -> Maybe Text -> Maybe RFC822 -> Maybe RFC822 -> HashMap Text Text -> Maybe Int -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe Int -> Maybe ReplicationStatus -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Int -> Maybe ObjectVersionId -> Maybe Text -> Int -> ResponseBody -> GetObjectResponse
+ Amazonka.S3: GetObjectRetention' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectRetention
+ Amazonka.S3: GetObjectRetentionResponse' :: Maybe ObjectLockRetention -> Int -> GetObjectRetentionResponse
+ Amazonka.S3: GetObjectTagging' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectTagging
+ Amazonka.S3: GetObjectTaggingResponse' :: Maybe ObjectVersionId -> Int -> [Tag] -> GetObjectTaggingResponse
+ Amazonka.S3: GetObjectTorrent' :: Maybe Text -> Maybe RequestPayer -> BucketName -> ObjectKey -> GetObjectTorrent
+ Amazonka.S3: GetObjectTorrentResponse' :: Maybe RequestCharged -> Int -> ResponseBody -> GetObjectTorrentResponse
+ Amazonka.S3: GetPublicAccessBlock' :: Maybe Text -> BucketName -> GetPublicAccessBlock
+ Amazonka.S3: GetPublicAccessBlockResponse' :: Maybe PublicAccessBlockConfiguration -> Int -> GetPublicAccessBlockResponse
+ Amazonka.S3: GlacierJobParameters' :: Tier -> GlacierJobParameters
+ Amazonka.S3: Grant' :: Maybe Grantee -> Maybe Permission -> Grant
+ Amazonka.S3: Grantee' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Type -> Grantee
+ Amazonka.S3: HeadBucket' :: Maybe Text -> BucketName -> HeadBucket
+ Amazonka.S3: HeadBucketResponse' :: HeadBucketResponse
+ Amazonka.S3: HeadObject' :: Maybe ChecksumMode -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> HeadObject
+ Amazonka.S3: HeadObjectResponse' :: Maybe Text -> Maybe ArchiveStatus -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Bool -> Maybe ETag -> Maybe Text -> Maybe RFC822 -> Maybe RFC822 -> HashMap Text Text -> Maybe Int -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe Int -> Maybe ReplicationStatus -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe ObjectVersionId -> Maybe Text -> Int -> HeadObjectResponse
+ Amazonka.S3: IndexDocument' :: Text -> IndexDocument
+ Amazonka.S3: Initiator' :: Maybe Text -> Maybe Text -> Initiator
+ Amazonka.S3: InputSerialization' :: Maybe CSVInput -> Maybe CompressionType -> Maybe JSONInput -> Maybe ParquetInput -> InputSerialization
+ Amazonka.S3: IntelligentTieringAccessTier' :: Text -> IntelligentTieringAccessTier
+ Amazonka.S3: IntelligentTieringAndOperator' :: Maybe Text -> Maybe [Tag] -> IntelligentTieringAndOperator
+ Amazonka.S3: IntelligentTieringConfiguration' :: Maybe IntelligentTieringFilter -> Text -> IntelligentTieringStatus -> [Tiering] -> IntelligentTieringConfiguration
+ Amazonka.S3: IntelligentTieringFilter' :: Maybe IntelligentTieringAndOperator -> Maybe Text -> Maybe Tag -> IntelligentTieringFilter
+ Amazonka.S3: IntelligentTieringStatus' :: Text -> IntelligentTieringStatus
+ Amazonka.S3: InventoryConfiguration' :: Maybe InventoryFilter -> Maybe [InventoryOptionalField] -> InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
+ Amazonka.S3: InventoryDestination' :: InventoryS3BucketDestination -> InventoryDestination
+ Amazonka.S3: InventoryEncryption' :: Maybe SSEKMS -> Maybe SSES3 -> InventoryEncryption
+ Amazonka.S3: InventoryFilter' :: Text -> InventoryFilter
+ Amazonka.S3: InventoryFormat' :: Text -> InventoryFormat
+ Amazonka.S3: InventoryFrequency' :: Text -> InventoryFrequency
+ Amazonka.S3: InventoryIncludedObjectVersions' :: Text -> InventoryIncludedObjectVersions
+ Amazonka.S3: InventoryOptionalField' :: Text -> InventoryOptionalField
+ Amazonka.S3: InventoryS3BucketDestination' :: Maybe Text -> Maybe InventoryEncryption -> Maybe Text -> BucketName -> InventoryFormat -> InventoryS3BucketDestination
+ Amazonka.S3: InventorySchedule' :: InventoryFrequency -> InventorySchedule
+ Amazonka.S3: JSONInput' :: Maybe JSONType -> JSONInput
+ Amazonka.S3: JSONOutput' :: Maybe Text -> JSONOutput
+ Amazonka.S3: JSONType' :: Text -> JSONType
+ Amazonka.S3: LambdaFunctionConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> LambdaFunctionConfiguration
+ Amazonka.S3: LifecycleExpiration' :: Maybe ISO8601 -> Maybe Int -> Maybe Bool -> LifecycleExpiration
+ Amazonka.S3: LifecycleRule' :: Maybe AbortIncompleteMultipartUpload -> Maybe LifecycleExpiration -> Maybe LifecycleRuleFilter -> Maybe Text -> Maybe NoncurrentVersionExpiration -> Maybe [NoncurrentVersionTransition] -> Maybe Text -> Maybe [Transition] -> ExpirationStatus -> LifecycleRule
+ Amazonka.S3: LifecycleRuleAndOperator' :: Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe [Tag] -> LifecycleRuleAndOperator
+ Amazonka.S3: LifecycleRuleFilter' :: Maybe LifecycleRuleAndOperator -> Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe Tag -> LifecycleRuleFilter
+ Amazonka.S3: ListBucketAnalyticsConfigurations' :: Maybe Text -> Maybe Text -> BucketName -> ListBucketAnalyticsConfigurations
+ Amazonka.S3: ListBucketAnalyticsConfigurationsResponse' :: Maybe [AnalyticsConfiguration] -> Maybe Text -> Maybe Bool -> Maybe Text -> Int -> ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3: ListBucketIntelligentTieringConfigurations' :: Maybe Text -> BucketName -> ListBucketIntelligentTieringConfigurations
+ Amazonka.S3: ListBucketIntelligentTieringConfigurationsResponse' :: Maybe Text -> Maybe [IntelligentTieringConfiguration] -> Maybe Bool -> Maybe Text -> Int -> ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3: ListBucketInventoryConfigurations' :: Maybe Text -> Maybe Text -> BucketName -> ListBucketInventoryConfigurations
+ Amazonka.S3: ListBucketInventoryConfigurationsResponse' :: Maybe Text -> Maybe [InventoryConfiguration] -> Maybe Bool -> Maybe Text -> Int -> ListBucketInventoryConfigurationsResponse
+ Amazonka.S3: ListBucketMetricsConfigurations' :: Maybe Text -> Maybe Text -> BucketName -> ListBucketMetricsConfigurations
+ Amazonka.S3: ListBucketMetricsConfigurationsResponse' :: Maybe Text -> Maybe Bool -> Maybe [MetricsConfiguration] -> Maybe Text -> Int -> ListBucketMetricsConfigurationsResponse
+ Amazonka.S3: ListBuckets' :: ListBuckets
+ Amazonka.S3: ListBucketsResponse' :: Maybe [Bucket] -> Maybe Owner -> Int -> ListBucketsResponse
+ Amazonka.S3: ListMultipartUploads' :: Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> BucketName -> ListMultipartUploads
+ Amazonka.S3: ListMultipartUploadsResponse' :: Maybe BucketName -> Maybe [CommonPrefix] -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [MultipartUpload] -> Int -> ListMultipartUploadsResponse
+ Amazonka.S3: ListObjectVersions' :: Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> BucketName -> ListObjectVersions
+ Amazonka.S3: ListObjectVersionsResponse' :: Maybe [CommonPrefix] -> Maybe [DeleteMarkerEntry] -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe BucketName -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ObjectVersion] -> Int -> ListObjectVersionsResponse
+ Amazonka.S3: ListObjects' :: Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> BucketName -> ListObjects
+ Amazonka.S3: ListObjectsResponse' :: Maybe [CommonPrefix] -> Maybe [Object] -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe BucketName -> Maybe Text -> Maybe Text -> Int -> ListObjectsResponse
+ Amazonka.S3: ListObjectsV2' :: Maybe Text -> Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> BucketName -> ListObjectsV2
+ Amazonka.S3: ListObjectsV2Response' :: Maybe [CommonPrefix] -> Maybe [Object] -> Maybe Text -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe BucketName -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ListObjectsV2Response
+ Amazonka.S3: ListParts' :: Maybe Text -> Maybe Int -> Maybe Int -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> ObjectKey -> Text -> ListParts
+ Amazonka.S3: ListPartsResponse' :: Maybe RFC822 -> Maybe Text -> Maybe BucketName -> Maybe ChecksumAlgorithm -> Maybe Initiator -> Maybe Bool -> Maybe ObjectKey -> Maybe Int -> Maybe Int -> Maybe Owner -> Maybe Int -> Maybe [Part] -> Maybe RequestCharged -> Maybe StorageClass -> Maybe Text -> Int -> ListPartsResponse
+ Amazonka.S3: LoggingEnabled' :: Maybe [TargetGrant] -> Text -> Text -> LoggingEnabled
+ Amazonka.S3: MFADelete' :: Text -> MFADelete
+ Amazonka.S3: MFADeleteStatus' :: Text -> MFADeleteStatus
+ Amazonka.S3: MetadataDirective' :: Text -> MetadataDirective
+ Amazonka.S3: MetadataEntry' :: Maybe Text -> Maybe Text -> MetadataEntry
+ Amazonka.S3: Metrics' :: Maybe ReplicationTimeValue -> MetricsStatus -> Metrics
+ Amazonka.S3: MetricsAndOperator' :: Maybe Text -> Maybe Text -> Maybe [Tag] -> MetricsAndOperator
+ Amazonka.S3: MetricsConfiguration' :: Maybe MetricsFilter -> Text -> MetricsConfiguration
+ Amazonka.S3: MetricsFilter' :: Maybe Text -> Maybe MetricsAndOperator -> Maybe Text -> Maybe Tag -> MetricsFilter
+ Amazonka.S3: MetricsStatus' :: Text -> MetricsStatus
+ Amazonka.S3: MultipartUpload' :: Maybe ChecksumAlgorithm -> Maybe ISO8601 -> Maybe Initiator -> Maybe ObjectKey -> Maybe Owner -> Maybe StorageClass -> Maybe Text -> MultipartUpload
+ Amazonka.S3: NoncurrentVersionExpiration' :: Maybe Int -> Int -> NoncurrentVersionExpiration
+ Amazonka.S3: NoncurrentVersionTransition' :: Maybe Int -> Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Amazonka.S3: NotificationConfiguration' :: Maybe EventBridgeConfiguration -> Maybe [LambdaFunctionConfiguration] -> Maybe [QueueConfiguration] -> Maybe [TopicConfiguration] -> NotificationConfiguration
+ Amazonka.S3: NotificationConfigurationFilter' :: Maybe S3KeyFilter -> NotificationConfigurationFilter
+ Amazonka.S3: Object' :: Maybe [ChecksumAlgorithm] -> Maybe Owner -> ETag -> Integer -> ObjectKey -> ObjectStorageClass -> RFC822 -> Object
+ Amazonka.S3: ObjectAttributes' :: Text -> ObjectAttributes
+ Amazonka.S3: ObjectCannedACL' :: Text -> ObjectCannedACL
+ Amazonka.S3: ObjectIdentifier' :: Maybe ObjectVersionId -> ObjectKey -> ObjectIdentifier
+ Amazonka.S3: ObjectLockConfiguration' :: Maybe ObjectLockEnabled -> Maybe ObjectLockRule -> ObjectLockConfiguration
+ Amazonka.S3: ObjectLockEnabled' :: Text -> ObjectLockEnabled
+ Amazonka.S3: ObjectLockLegalHold' :: Maybe ObjectLockLegalHoldStatus -> ObjectLockLegalHold
+ Amazonka.S3: ObjectLockLegalHoldStatus' :: Text -> ObjectLockLegalHoldStatus
+ Amazonka.S3: ObjectLockMode' :: Text -> ObjectLockMode
+ Amazonka.S3: ObjectLockRetention' :: Maybe ObjectLockRetentionMode -> Maybe ISO8601 -> ObjectLockRetention
+ Amazonka.S3: ObjectLockRetentionMode' :: Text -> ObjectLockRetentionMode
+ Amazonka.S3: ObjectLockRule' :: Maybe DefaultRetention -> ObjectLockRule
+ Amazonka.S3: ObjectOwnership' :: Text -> ObjectOwnership
+ Amazonka.S3: ObjectPart' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Integer -> ObjectPart
+ Amazonka.S3: ObjectStorageClass' :: Text -> ObjectStorageClass
+ Amazonka.S3: ObjectVersion' :: Maybe [ChecksumAlgorithm] -> Maybe ETag -> Maybe Bool -> Maybe ObjectKey -> Maybe RFC822 -> Maybe Owner -> Maybe Integer -> Maybe ObjectVersionStorageClass -> Maybe ObjectVersionId -> ObjectVersion
+ Amazonka.S3: ObjectVersionStorageClass' :: Text -> ObjectVersionStorageClass
+ Amazonka.S3: OutputLocation' :: Maybe S3Location -> OutputLocation
+ Amazonka.S3: OutputSerialization' :: Maybe CSVOutput -> Maybe JSONOutput -> OutputSerialization
+ Amazonka.S3: Owner' :: Maybe Text -> Maybe Text -> Owner
+ Amazonka.S3: OwnerOverride' :: Text -> OwnerOverride
+ Amazonka.S3: OwnershipControls' :: [OwnershipControlsRule] -> OwnershipControls
+ Amazonka.S3: OwnershipControlsRule' :: ObjectOwnership -> OwnershipControlsRule
+ Amazonka.S3: ParquetInput' :: ParquetInput
+ Amazonka.S3: Part' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> Maybe Int -> Maybe Integer -> Part
+ Amazonka.S3: Payer' :: Text -> Payer
+ Amazonka.S3: Permission' :: Text -> Permission
+ Amazonka.S3: PolicyStatus' :: Maybe Bool -> PolicyStatus
+ Amazonka.S3: Progress' :: Maybe Integer -> Maybe Integer -> Maybe Integer -> Progress
+ Amazonka.S3: ProgressEvent' :: Maybe Progress -> ProgressEvent
+ Amazonka.S3: Protocol' :: Text -> Protocol
+ Amazonka.S3: PublicAccessBlockConfiguration' :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> PublicAccessBlockConfiguration
+ Amazonka.S3: PutBucketAccelerateConfiguration' :: Maybe ChecksumAlgorithm -> Maybe Text -> BucketName -> AccelerateConfiguration -> PutBucketAccelerateConfiguration
+ Amazonka.S3: PutBucketAccelerateConfigurationResponse' :: PutBucketAccelerateConfigurationResponse
+ Amazonka.S3: PutBucketAcl' :: Maybe BucketCannedACL -> Maybe AccessControlPolicy -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> BucketName -> PutBucketAcl
+ Amazonka.S3: PutBucketAclResponse' :: PutBucketAclResponse
+ Amazonka.S3: PutBucketAnalyticsConfiguration' :: Maybe Text -> BucketName -> Text -> AnalyticsConfiguration -> PutBucketAnalyticsConfiguration
+ Amazonka.S3: PutBucketAnalyticsConfigurationResponse' :: PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3: PutBucketCors' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> CORSConfiguration -> PutBucketCors
+ Amazonka.S3: PutBucketCorsResponse' :: PutBucketCorsResponse
+ Amazonka.S3: PutBucketEncryption' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> ServerSideEncryptionConfiguration -> PutBucketEncryption
+ Amazonka.S3: PutBucketEncryptionResponse' :: PutBucketEncryptionResponse
+ Amazonka.S3: PutBucketIntelligentTieringConfiguration' :: BucketName -> Text -> IntelligentTieringConfiguration -> PutBucketIntelligentTieringConfiguration
+ Amazonka.S3: PutBucketIntelligentTieringConfigurationResponse' :: PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: PutBucketInventoryConfiguration' :: Maybe Text -> BucketName -> Text -> InventoryConfiguration -> PutBucketInventoryConfiguration
+ Amazonka.S3: PutBucketInventoryConfigurationResponse' :: PutBucketInventoryConfigurationResponse
+ Amazonka.S3: PutBucketLifecycleConfiguration' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe BucketLifecycleConfiguration -> BucketName -> PutBucketLifecycleConfiguration
+ Amazonka.S3: PutBucketLifecycleConfigurationResponse' :: PutBucketLifecycleConfigurationResponse
+ Amazonka.S3: PutBucketLogging' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> BucketLoggingStatus -> PutBucketLogging
+ Amazonka.S3: PutBucketLoggingResponse' :: PutBucketLoggingResponse
+ Amazonka.S3: PutBucketMetricsConfiguration' :: Maybe Text -> BucketName -> Text -> MetricsConfiguration -> PutBucketMetricsConfiguration
+ Amazonka.S3: PutBucketMetricsConfigurationResponse' :: PutBucketMetricsConfigurationResponse
+ Amazonka.S3: PutBucketNotificationConfiguration' :: Maybe Text -> Maybe Bool -> BucketName -> NotificationConfiguration -> PutBucketNotificationConfiguration
+ Amazonka.S3: PutBucketNotificationConfigurationResponse' :: PutBucketNotificationConfigurationResponse
+ Amazonka.S3: PutBucketOwnershipControls' :: Maybe Text -> Maybe Text -> BucketName -> OwnershipControls -> PutBucketOwnershipControls
+ Amazonka.S3: PutBucketOwnershipControlsResponse' :: PutBucketOwnershipControlsResponse
+ Amazonka.S3: PutBucketPolicy' :: Maybe ChecksumAlgorithm -> Maybe Bool -> Maybe Text -> Maybe Text -> BucketName -> ByteString -> PutBucketPolicy
+ Amazonka.S3: PutBucketPolicyResponse' :: PutBucketPolicyResponse
+ Amazonka.S3: PutBucketReplication' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> BucketName -> ReplicationConfiguration -> PutBucketReplication
+ Amazonka.S3: PutBucketReplicationResponse' :: PutBucketReplicationResponse
+ Amazonka.S3: PutBucketRequestPayment' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> RequestPaymentConfiguration -> PutBucketRequestPayment
+ Amazonka.S3: PutBucketRequestPaymentResponse' :: PutBucketRequestPaymentResponse
+ Amazonka.S3: PutBucketTagging' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> Tagging -> PutBucketTagging
+ Amazonka.S3: PutBucketTaggingResponse' :: PutBucketTaggingResponse
+ Amazonka.S3: PutBucketVersioning' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> BucketName -> VersioningConfiguration -> PutBucketVersioning
+ Amazonka.S3: PutBucketVersioningResponse' :: PutBucketVersioningResponse
+ Amazonka.S3: PutBucketWebsite' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> WebsiteConfiguration -> PutBucketWebsite
+ Amazonka.S3: PutBucketWebsiteResponse' :: PutBucketWebsiteResponse
+ Amazonka.S3: PutObject' :: Maybe ObjectCannedACL -> Maybe Bool -> Maybe Text -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> HashMap Text Text -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Text -> Maybe Text -> BucketName -> ObjectKey -> RequestBody -> PutObject
+ Amazonka.S3: PutObjectAcl' :: Maybe ObjectCannedACL -> Maybe AccessControlPolicy -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> PutObjectAcl
+ Amazonka.S3: PutObjectAclResponse' :: Maybe RequestCharged -> Int -> PutObjectAclResponse
+ Amazonka.S3: PutObjectLegalHold' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe ObjectLockLegalHold -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> PutObjectLegalHold
+ Amazonka.S3: PutObjectLegalHoldResponse' :: Maybe RequestCharged -> Int -> PutObjectLegalHoldResponse
+ Amazonka.S3: PutObjectLockConfiguration' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe ObjectLockConfiguration -> Maybe RequestPayer -> Maybe Text -> BucketName -> PutObjectLockConfiguration
+ Amazonka.S3: PutObjectLockConfigurationResponse' :: Maybe RequestCharged -> Int -> PutObjectLockConfigurationResponse
+ Amazonka.S3: PutObjectResponse' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe Text -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe ObjectVersionId -> Int -> PutObjectResponse
+ Amazonka.S3: PutObjectRetention' :: Maybe Bool -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectLockRetention -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> PutObjectRetention
+ Amazonka.S3: PutObjectRetentionResponse' :: Maybe RequestCharged -> Int -> PutObjectRetentionResponse
+ Amazonka.S3: PutObjectTagging' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> Tagging -> PutObjectTagging
+ Amazonka.S3: PutObjectTaggingResponse' :: Maybe ObjectVersionId -> Int -> PutObjectTaggingResponse
+ Amazonka.S3: PutPublicAccessBlock' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> PublicAccessBlockConfiguration -> PutPublicAccessBlock
+ Amazonka.S3: PutPublicAccessBlockResponse' :: PutPublicAccessBlockResponse
+ Amazonka.S3: QueueConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> QueueConfiguration
+ Amazonka.S3: QuoteFields' :: Text -> QuoteFields
+ Amazonka.S3: RecordsEvent' :: Maybe Base64 -> RecordsEvent
+ Amazonka.S3: Redirect' :: Maybe Text -> Maybe Text -> Maybe Protocol -> Maybe Text -> Maybe Text -> Redirect
+ Amazonka.S3: RedirectAllRequestsTo' :: Maybe Protocol -> Text -> RedirectAllRequestsTo
+ Amazonka.S3: ReplicaModifications' :: ReplicaModificationsStatus -> ReplicaModifications
+ Amazonka.S3: ReplicaModificationsStatus' :: Text -> ReplicaModificationsStatus
+ Amazonka.S3: ReplicationConfiguration' :: Text -> [ReplicationRule] -> ReplicationConfiguration
+ Amazonka.S3: ReplicationRule' :: Maybe DeleteMarkerReplication -> Maybe ExistingObjectReplication -> Maybe ReplicationRuleFilter -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe SourceSelectionCriteria -> ReplicationRuleStatus -> Destination -> ReplicationRule
+ Amazonka.S3: ReplicationRuleAndOperator' :: Maybe Text -> Maybe [Tag] -> ReplicationRuleAndOperator
+ Amazonka.S3: ReplicationRuleFilter' :: Maybe ReplicationRuleAndOperator -> Maybe Text -> Maybe Tag -> ReplicationRuleFilter
+ Amazonka.S3: ReplicationRuleStatus' :: Text -> ReplicationRuleStatus
+ Amazonka.S3: ReplicationStatus' :: Text -> ReplicationStatus
+ Amazonka.S3: ReplicationTime' :: ReplicationTimeStatus -> ReplicationTimeValue -> ReplicationTime
+ Amazonka.S3: ReplicationTimeStatus' :: Text -> ReplicationTimeStatus
+ Amazonka.S3: ReplicationTimeValue' :: Maybe Int -> ReplicationTimeValue
+ Amazonka.S3: RequestCharged' :: Text -> RequestCharged
+ Amazonka.S3: RequestPayer' :: Text -> RequestPayer
+ Amazonka.S3: RequestPaymentConfiguration' :: Payer -> RequestPaymentConfiguration
+ Amazonka.S3: RequestProgress' :: Maybe Bool -> RequestProgress
+ Amazonka.S3: RestoreObject' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe RequestPayer -> Maybe RestoreRequest -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> RestoreObject
+ Amazonka.S3: RestoreObjectResponse' :: Maybe RequestCharged -> Maybe Text -> Int -> RestoreObjectResponse
+ Amazonka.S3: RestoreRequest' :: Maybe Int -> Maybe Text -> Maybe GlacierJobParameters -> Maybe OutputLocation -> Maybe SelectParameters -> Maybe Tier -> Maybe RestoreRequestType -> RestoreRequest
+ Amazonka.S3: RestoreRequestType' :: Text -> RestoreRequestType
+ Amazonka.S3: RoutingRule' :: Maybe Condition -> Redirect -> RoutingRule
+ Amazonka.S3: S3KeyFilter' :: Maybe [FilterRule] -> S3KeyFilter
+ Amazonka.S3: S3Location' :: Maybe [Grant] -> Maybe ObjectCannedACL -> Maybe Encryption -> Maybe StorageClass -> Maybe Tagging -> Maybe [MetadataEntry] -> BucketName -> Text -> S3Location
+ Amazonka.S3: S3ServiceError' :: Maybe Text -> Maybe ObjectKey -> Maybe Text -> Maybe ObjectVersionId -> S3ServiceError
+ Amazonka.S3: SSEKMS' :: Sensitive Text -> SSEKMS
+ Amazonka.S3: SSES3' :: SSES3
+ Amazonka.S3: ScanRange' :: Maybe Integer -> Maybe Integer -> ScanRange
+ Amazonka.S3: SelectObjectContent' :: Maybe Text -> Maybe RequestProgress -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ScanRange -> BucketName -> ObjectKey -> Text -> ExpressionType -> InputSerialization -> OutputSerialization -> SelectObjectContent
+ Amazonka.S3: SelectObjectContentEventStream' :: Maybe ContinuationEvent -> Maybe EndEvent -> Maybe ProgressEvent -> Maybe RecordsEvent -> Maybe StatsEvent -> SelectObjectContentEventStream
+ Amazonka.S3: SelectObjectContentResponse' :: Maybe SelectObjectContentEventStream -> Int -> SelectObjectContentResponse
+ Amazonka.S3: SelectParameters' :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
+ Amazonka.S3: ServerSideEncryption' :: Text -> ServerSideEncryption
+ Amazonka.S3: ServerSideEncryptionByDefault' :: Maybe (Sensitive Text) -> ServerSideEncryption -> ServerSideEncryptionByDefault
+ Amazonka.S3: ServerSideEncryptionConfiguration' :: [ServerSideEncryptionRule] -> ServerSideEncryptionConfiguration
+ Amazonka.S3: ServerSideEncryptionRule' :: Maybe ServerSideEncryptionByDefault -> Maybe Bool -> ServerSideEncryptionRule
+ Amazonka.S3: SourceSelectionCriteria' :: Maybe ReplicaModifications -> Maybe SseKmsEncryptedObjects -> SourceSelectionCriteria
+ Amazonka.S3: SseKmsEncryptedObjects' :: SseKmsEncryptedObjectsStatus -> SseKmsEncryptedObjects
+ Amazonka.S3: SseKmsEncryptedObjectsStatus' :: Text -> SseKmsEncryptedObjectsStatus
+ Amazonka.S3: Stats' :: Maybe Integer -> Maybe Integer -> Maybe Integer -> Stats
+ Amazonka.S3: StatsEvent' :: Maybe Stats -> StatsEvent
+ Amazonka.S3: StorageClass' :: Text -> StorageClass
+ Amazonka.S3: StorageClassAnalysis' :: Maybe StorageClassAnalysisDataExport -> StorageClassAnalysis
+ Amazonka.S3: StorageClassAnalysisDataExport' :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
+ Amazonka.S3: StorageClassAnalysisSchemaVersion' :: Text -> StorageClassAnalysisSchemaVersion
+ Amazonka.S3: Tag' :: ObjectKey -> Text -> Tag
+ Amazonka.S3: Tagging' :: [Tag] -> Tagging
+ Amazonka.S3: TaggingDirective' :: Text -> TaggingDirective
+ Amazonka.S3: TargetGrant' :: Maybe Grantee -> Maybe BucketLogsPermission -> TargetGrant
+ Amazonka.S3: Tier' :: Text -> Tier
+ Amazonka.S3: Tiering' :: Int -> IntelligentTieringAccessTier -> Tiering
+ Amazonka.S3: TopicConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> TopicConfiguration
+ Amazonka.S3: Transition' :: Maybe ISO8601 -> Maybe Int -> Maybe TransitionStorageClass -> Transition
+ Amazonka.S3: TransitionStorageClass' :: Text -> TransitionStorageClass
+ Amazonka.S3: Type' :: Text -> Type
+ Amazonka.S3: UploadPart' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> ObjectKey -> Int -> Text -> RequestBody -> UploadPart
+ Amazonka.S3: UploadPartCopy' :: Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> Text -> ObjectKey -> Int -> Text -> UploadPartCopy
+ Amazonka.S3: UploadPartCopyResponse' :: Maybe Bool -> Maybe CopyPartResult -> Maybe Text -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Int -> UploadPartCopyResponse
+ Amazonka.S3: UploadPartResponse' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Int -> UploadPartResponse
+ Amazonka.S3: VersioningConfiguration' :: Maybe MFADelete -> Maybe BucketVersioningStatus -> VersioningConfiguration
+ Amazonka.S3: WebsiteConfiguration' :: Maybe ErrorDocument -> Maybe IndexDocument -> Maybe RedirectAllRequestsTo -> Maybe [RoutingRule] -> WebsiteConfiguration
+ Amazonka.S3: WriteGetObjectResponse' :: Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe ETag -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe RFC822 -> HashMap Text Text -> Maybe Int -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe Int -> Maybe ReplicationStatus -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe Int -> Maybe StorageClass -> Maybe Int -> Maybe ObjectVersionId -> Text -> Text -> RequestBody -> WriteGetObjectResponse
+ Amazonka.S3: WriteGetObjectResponseResponse' :: WriteGetObjectResponseResponse
+ Amazonka.S3: [fromAnalyticsS3ExportFileFormat] :: AnalyticsS3ExportFileFormat -> Text
+ Amazonka.S3: [fromArchiveStatus] :: ArchiveStatus -> Text
+ Amazonka.S3: [fromBucketAccelerateStatus] :: BucketAccelerateStatus -> Text
+ Amazonka.S3: [fromBucketCannedACL] :: BucketCannedACL -> Text
+ Amazonka.S3: [fromBucketLogsPermission] :: BucketLogsPermission -> Text
+ Amazonka.S3: [fromBucketVersioningStatus] :: BucketVersioningStatus -> Text
+ Amazonka.S3: [fromChecksumAlgorithm] :: ChecksumAlgorithm -> Text
+ Amazonka.S3: [fromChecksumMode] :: ChecksumMode -> Text
+ Amazonka.S3: [fromCompressionType] :: CompressionType -> Text
+ Amazonka.S3: [fromDeleteMarkerReplicationStatus] :: DeleteMarkerReplicationStatus -> Text
+ Amazonka.S3: [fromEncodingType] :: EncodingType -> Text
+ Amazonka.S3: [fromEvent] :: Event -> Text
+ Amazonka.S3: [fromExistingObjectReplicationStatus] :: ExistingObjectReplicationStatus -> Text
+ Amazonka.S3: [fromExpirationStatus] :: ExpirationStatus -> Text
+ Amazonka.S3: [fromExpressionType] :: ExpressionType -> Text
+ Amazonka.S3: [fromFileHeaderInfo] :: FileHeaderInfo -> Text
+ Amazonka.S3: [fromFilterRuleName] :: FilterRuleName -> Text
+ Amazonka.S3: [fromIntelligentTieringAccessTier] :: IntelligentTieringAccessTier -> Text
+ Amazonka.S3: [fromIntelligentTieringStatus] :: IntelligentTieringStatus -> Text
+ Amazonka.S3: [fromInventoryFormat] :: InventoryFormat -> Text
+ Amazonka.S3: [fromInventoryFrequency] :: InventoryFrequency -> Text
+ Amazonka.S3: [fromInventoryIncludedObjectVersions] :: InventoryIncludedObjectVersions -> Text
+ Amazonka.S3: [fromInventoryOptionalField] :: InventoryOptionalField -> Text
+ Amazonka.S3: [fromJSONType] :: JSONType -> Text
+ Amazonka.S3: [fromMFADeleteStatus] :: MFADeleteStatus -> Text
+ Amazonka.S3: [fromMFADelete] :: MFADelete -> Text
+ Amazonka.S3: [fromMetadataDirective] :: MetadataDirective -> Text
+ Amazonka.S3: [fromMetricsStatus] :: MetricsStatus -> Text
+ Amazonka.S3: [fromObjectAttributes] :: ObjectAttributes -> Text
+ Amazonka.S3: [fromObjectCannedACL] :: ObjectCannedACL -> Text
+ Amazonka.S3: [fromObjectLockEnabled] :: ObjectLockEnabled -> Text
+ Amazonka.S3: [fromObjectLockLegalHoldStatus] :: ObjectLockLegalHoldStatus -> Text
+ Amazonka.S3: [fromObjectLockMode] :: ObjectLockMode -> Text
+ Amazonka.S3: [fromObjectLockRetentionMode] :: ObjectLockRetentionMode -> Text
+ Amazonka.S3: [fromObjectOwnership] :: ObjectOwnership -> Text
+ Amazonka.S3: [fromObjectStorageClass] :: ObjectStorageClass -> Text
+ Amazonka.S3: [fromObjectVersionStorageClass] :: ObjectVersionStorageClass -> Text
+ Amazonka.S3: [fromOwnerOverride] :: OwnerOverride -> Text
+ Amazonka.S3: [fromPayer] :: Payer -> Text
+ Amazonka.S3: [fromPermission] :: Permission -> Text
+ Amazonka.S3: [fromProtocol] :: Protocol -> Text
+ Amazonka.S3: [fromQuoteFields] :: QuoteFields -> Text
+ Amazonka.S3: [fromReplicaModificationsStatus] :: ReplicaModificationsStatus -> Text
+ Amazonka.S3: [fromReplicationRuleStatus] :: ReplicationRuleStatus -> Text
+ Amazonka.S3: [fromReplicationStatus] :: ReplicationStatus -> Text
+ Amazonka.S3: [fromReplicationTimeStatus] :: ReplicationTimeStatus -> Text
+ Amazonka.S3: [fromRequestCharged] :: RequestCharged -> Text
+ Amazonka.S3: [fromRequestPayer] :: RequestPayer -> Text
+ Amazonka.S3: [fromRestoreRequestType] :: RestoreRequestType -> Text
+ Amazonka.S3: [fromServerSideEncryption] :: ServerSideEncryption -> Text
+ Amazonka.S3: [fromSseKmsEncryptedObjectsStatus] :: SseKmsEncryptedObjectsStatus -> Text
+ Amazonka.S3: [fromStorageClassAnalysisSchemaVersion] :: StorageClassAnalysisSchemaVersion -> Text
+ Amazonka.S3: [fromStorageClass] :: StorageClass -> Text
+ Amazonka.S3: [fromTaggingDirective] :: TaggingDirective -> Text
+ Amazonka.S3: [fromTier] :: Tier -> Text
+ Amazonka.S3: [fromTransitionStorageClass] :: TransitionStorageClass -> Text
+ Amazonka.S3: [fromType] :: Type -> Text
+ Amazonka.S3: _BucketAlreadyExists :: AsError a => Fold a ServiceError
+ Amazonka.S3: _BucketAlreadyOwnedByYou :: AsError a => Fold a ServiceError
+ Amazonka.S3: _InvalidObjectState :: AsError a => Fold a ServiceError
+ Amazonka.S3: _NoSuchBucket :: AsError a => Fold a ServiceError
+ Amazonka.S3: _NoSuchKey :: AsError a => Fold a ServiceError
+ Amazonka.S3: _NoSuchUpload :: AsError a => Fold a ServiceError
+ Amazonka.S3: _ObjectAlreadyInActiveTierError :: AsError a => Fold a ServiceError
+ Amazonka.S3: _ObjectNotInActiveTierError :: AsError a => Fold a ServiceError
+ Amazonka.S3: data AbortIncompleteMultipartUpload
+ Amazonka.S3: data AbortMultipartUpload
+ Amazonka.S3: data AbortMultipartUploadResponse
+ Amazonka.S3: data AccelerateConfiguration
+ Amazonka.S3: data AccessControlPolicy
+ Amazonka.S3: data AccessControlTranslation
+ Amazonka.S3: data AnalyticsAndOperator
+ Amazonka.S3: data AnalyticsConfiguration
+ Amazonka.S3: data AnalyticsExportDestination
+ Amazonka.S3: data AnalyticsFilter
+ Amazonka.S3: data AnalyticsS3BucketDestination
+ Amazonka.S3: data Bucket
+ Amazonka.S3: data BucketLifecycleConfiguration
+ Amazonka.S3: data BucketLoggingStatus
+ Amazonka.S3: data CORSConfiguration
+ Amazonka.S3: data CORSRule
+ Amazonka.S3: data CSVInput
+ Amazonka.S3: data CSVOutput
+ Amazonka.S3: data Checksum
+ Amazonka.S3: data CommonPrefix
+ Amazonka.S3: data CompleteMultipartUpload
+ Amazonka.S3: data CompleteMultipartUploadResponse
+ Amazonka.S3: data CompletedMultipartUpload
+ Amazonka.S3: data CompletedPart
+ Amazonka.S3: data Condition
+ Amazonka.S3: data ContinuationEvent
+ Amazonka.S3: data CopyObject
+ Amazonka.S3: data CopyObjectResponse
+ Amazonka.S3: data CopyObjectResult
+ Amazonka.S3: data CopyPartResult
+ Amazonka.S3: data CreateBucket
+ Amazonka.S3: data CreateBucketConfiguration
+ Amazonka.S3: data CreateBucketResponse
+ Amazonka.S3: data CreateMultipartUpload
+ Amazonka.S3: data CreateMultipartUploadResponse
+ Amazonka.S3: data DefaultRetention
+ Amazonka.S3: data Delete
+ Amazonka.S3: data DeleteBucket
+ Amazonka.S3: data DeleteBucketAnalyticsConfiguration
+ Amazonka.S3: data DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3: data DeleteBucketCors
+ Amazonka.S3: data DeleteBucketCorsResponse
+ Amazonka.S3: data DeleteBucketEncryption
+ Amazonka.S3: data DeleteBucketEncryptionResponse
+ Amazonka.S3: data DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3: data DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: data DeleteBucketInventoryConfiguration
+ Amazonka.S3: data DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3: data DeleteBucketLifecycle
+ Amazonka.S3: data DeleteBucketLifecycleResponse
+ Amazonka.S3: data DeleteBucketMetricsConfiguration
+ Amazonka.S3: data DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3: data DeleteBucketOwnershipControls
+ Amazonka.S3: data DeleteBucketOwnershipControlsResponse
+ Amazonka.S3: data DeleteBucketPolicy
+ Amazonka.S3: data DeleteBucketPolicyResponse
+ Amazonka.S3: data DeleteBucketReplication
+ Amazonka.S3: data DeleteBucketReplicationResponse
+ Amazonka.S3: data DeleteBucketResponse
+ Amazonka.S3: data DeleteBucketTagging
+ Amazonka.S3: data DeleteBucketTaggingResponse
+ Amazonka.S3: data DeleteBucketWebsite
+ Amazonka.S3: data DeleteBucketWebsiteResponse
+ Amazonka.S3: data DeleteMarkerEntry
+ Amazonka.S3: data DeleteMarkerReplication
+ Amazonka.S3: data DeleteObject
+ Amazonka.S3: data DeleteObjectResponse
+ Amazonka.S3: data DeleteObjectTagging
+ Amazonka.S3: data DeleteObjectTaggingResponse
+ Amazonka.S3: data DeleteObjects
+ Amazonka.S3: data DeleteObjectsResponse
+ Amazonka.S3: data DeletePublicAccessBlock
+ Amazonka.S3: data DeletePublicAccessBlockResponse
+ Amazonka.S3: data DeletedObject
+ Amazonka.S3: data Destination
+ Amazonka.S3: data Encryption
+ Amazonka.S3: data EncryptionConfiguration
+ Amazonka.S3: data EndEvent
+ Amazonka.S3: data ErrorDocument
+ Amazonka.S3: data EventBridgeConfiguration
+ Amazonka.S3: data ExistingObjectReplication
+ Amazonka.S3: data FilterRule
+ Amazonka.S3: data GetBucketAccelerateConfiguration
+ Amazonka.S3: data GetBucketAccelerateConfigurationResponse
+ Amazonka.S3: data GetBucketAcl
+ Amazonka.S3: data GetBucketAclResponse
+ Amazonka.S3: data GetBucketAnalyticsConfiguration
+ Amazonka.S3: data GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3: data GetBucketCors
+ Amazonka.S3: data GetBucketCorsResponse
+ Amazonka.S3: data GetBucketEncryption
+ Amazonka.S3: data GetBucketEncryptionResponse
+ Amazonka.S3: data GetBucketIntelligentTieringConfiguration
+ Amazonka.S3: data GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: data GetBucketInventoryConfiguration
+ Amazonka.S3: data GetBucketInventoryConfigurationResponse
+ Amazonka.S3: data GetBucketLifecycleConfiguration
+ Amazonka.S3: data GetBucketLifecycleConfigurationResponse
+ Amazonka.S3: data GetBucketLocation
+ Amazonka.S3: data GetBucketLocationResponse
+ Amazonka.S3: data GetBucketLogging
+ Amazonka.S3: data GetBucketLoggingResponse
+ Amazonka.S3: data GetBucketMetricsConfiguration
+ Amazonka.S3: data GetBucketMetricsConfigurationResponse
+ Amazonka.S3: data GetBucketNotificationConfiguration
+ Amazonka.S3: data GetBucketOwnershipControls
+ Amazonka.S3: data GetBucketOwnershipControlsResponse
+ Amazonka.S3: data GetBucketPolicy
+ Amazonka.S3: data GetBucketPolicyResponse
+ Amazonka.S3: data GetBucketPolicyStatus
+ Amazonka.S3: data GetBucketPolicyStatusResponse
+ Amazonka.S3: data GetBucketReplication
+ Amazonka.S3: data GetBucketReplicationResponse
+ Amazonka.S3: data GetBucketRequestPayment
+ Amazonka.S3: data GetBucketRequestPaymentResponse
+ Amazonka.S3: data GetBucketTagging
+ Amazonka.S3: data GetBucketTaggingResponse
+ Amazonka.S3: data GetBucketVersioning
+ Amazonka.S3: data GetBucketVersioningResponse
+ Amazonka.S3: data GetBucketWebsite
+ Amazonka.S3: data GetBucketWebsiteResponse
+ Amazonka.S3: data GetObject
+ Amazonka.S3: data GetObjectAcl
+ Amazonka.S3: data GetObjectAclResponse
+ Amazonka.S3: data GetObjectAttributes
+ Amazonka.S3: data GetObjectAttributesParts
+ Amazonka.S3: data GetObjectAttributesResponse
+ Amazonka.S3: data GetObjectLegalHold
+ Amazonka.S3: data GetObjectLegalHoldResponse
+ Amazonka.S3: data GetObjectLockConfiguration
+ Amazonka.S3: data GetObjectLockConfigurationResponse
+ Amazonka.S3: data GetObjectResponse
+ Amazonka.S3: data GetObjectRetention
+ Amazonka.S3: data GetObjectRetentionResponse
+ Amazonka.S3: data GetObjectTagging
+ Amazonka.S3: data GetObjectTaggingResponse
+ Amazonka.S3: data GetObjectTorrent
+ Amazonka.S3: data GetObjectTorrentResponse
+ Amazonka.S3: data GetPublicAccessBlock
+ Amazonka.S3: data GetPublicAccessBlockResponse
+ Amazonka.S3: data GlacierJobParameters
+ Amazonka.S3: data Grant
+ Amazonka.S3: data Grantee
+ Amazonka.S3: data HeadBucket
+ Amazonka.S3: data HeadBucketResponse
+ Amazonka.S3: data HeadObject
+ Amazonka.S3: data HeadObjectResponse
+ Amazonka.S3: data IndexDocument
+ Amazonka.S3: data Initiator
+ Amazonka.S3: data InputSerialization
+ Amazonka.S3: data IntelligentTieringAndOperator
+ Amazonka.S3: data IntelligentTieringConfiguration
+ Amazonka.S3: data IntelligentTieringFilter
+ Amazonka.S3: data InventoryConfiguration
+ Amazonka.S3: data InventoryDestination
+ Amazonka.S3: data InventoryEncryption
+ Amazonka.S3: data InventoryFilter
+ Amazonka.S3: data InventoryS3BucketDestination
+ Amazonka.S3: data InventorySchedule
+ Amazonka.S3: data JSONInput
+ Amazonka.S3: data JSONOutput
+ Amazonka.S3: data LambdaFunctionConfiguration
+ Amazonka.S3: data LifecycleExpiration
+ Amazonka.S3: data LifecycleRule
+ Amazonka.S3: data LifecycleRuleAndOperator
+ Amazonka.S3: data LifecycleRuleFilter
+ Amazonka.S3: data ListBucketAnalyticsConfigurations
+ Amazonka.S3: data ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3: data ListBucketIntelligentTieringConfigurations
+ Amazonka.S3: data ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3: data ListBucketInventoryConfigurations
+ Amazonka.S3: data ListBucketInventoryConfigurationsResponse
+ Amazonka.S3: data ListBucketMetricsConfigurations
+ Amazonka.S3: data ListBucketMetricsConfigurationsResponse
+ Amazonka.S3: data ListBuckets
+ Amazonka.S3: data ListBucketsResponse
+ Amazonka.S3: data ListMultipartUploads
+ Amazonka.S3: data ListMultipartUploadsResponse
+ Amazonka.S3: data ListObjectVersions
+ Amazonka.S3: data ListObjectVersionsResponse
+ Amazonka.S3: data ListObjects
+ Amazonka.S3: data ListObjectsResponse
+ Amazonka.S3: data ListObjectsV2
+ Amazonka.S3: data ListObjectsV2Response
+ Amazonka.S3: data ListParts
+ Amazonka.S3: data ListPartsResponse
+ Amazonka.S3: data LoggingEnabled
+ Amazonka.S3: data MetadataEntry
+ Amazonka.S3: data Metrics
+ Amazonka.S3: data MetricsAndOperator
+ Amazonka.S3: data MetricsConfiguration
+ Amazonka.S3: data MetricsFilter
+ Amazonka.S3: data MultipartUpload
+ Amazonka.S3: data NoncurrentVersionExpiration
+ Amazonka.S3: data NoncurrentVersionTransition
+ Amazonka.S3: data NotificationConfiguration
+ Amazonka.S3: data NotificationConfigurationFilter
+ Amazonka.S3: data Object
+ Amazonka.S3: data ObjectIdentifier
+ Amazonka.S3: data ObjectLockConfiguration
+ Amazonka.S3: data ObjectLockLegalHold
+ Amazonka.S3: data ObjectLockRetention
+ Amazonka.S3: data ObjectLockRule
+ Amazonka.S3: data ObjectPart
+ Amazonka.S3: data ObjectVersion
+ Amazonka.S3: data OutputLocation
+ Amazonka.S3: data OutputSerialization
+ Amazonka.S3: data Owner
+ Amazonka.S3: data OwnershipControls
+ Amazonka.S3: data OwnershipControlsRule
+ Amazonka.S3: data ParquetInput
+ Amazonka.S3: data Part
+ Amazonka.S3: data PolicyStatus
+ Amazonka.S3: data Progress
+ Amazonka.S3: data ProgressEvent
+ Amazonka.S3: data PublicAccessBlockConfiguration
+ Amazonka.S3: data PutBucketAccelerateConfiguration
+ Amazonka.S3: data PutBucketAccelerateConfigurationResponse
+ Amazonka.S3: data PutBucketAcl
+ Amazonka.S3: data PutBucketAclResponse
+ Amazonka.S3: data PutBucketAnalyticsConfiguration
+ Amazonka.S3: data PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3: data PutBucketCors
+ Amazonka.S3: data PutBucketCorsResponse
+ Amazonka.S3: data PutBucketEncryption
+ Amazonka.S3: data PutBucketEncryptionResponse
+ Amazonka.S3: data PutBucketIntelligentTieringConfiguration
+ Amazonka.S3: data PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: data PutBucketInventoryConfiguration
+ Amazonka.S3: data PutBucketInventoryConfigurationResponse
+ Amazonka.S3: data PutBucketLifecycleConfiguration
+ Amazonka.S3: data PutBucketLifecycleConfigurationResponse
+ Amazonka.S3: data PutBucketLogging
+ Amazonka.S3: data PutBucketLoggingResponse
+ Amazonka.S3: data PutBucketMetricsConfiguration
+ Amazonka.S3: data PutBucketMetricsConfigurationResponse
+ Amazonka.S3: data PutBucketNotificationConfiguration
+ Amazonka.S3: data PutBucketNotificationConfigurationResponse
+ Amazonka.S3: data PutBucketOwnershipControls
+ Amazonka.S3: data PutBucketOwnershipControlsResponse
+ Amazonka.S3: data PutBucketPolicy
+ Amazonka.S3: data PutBucketPolicyResponse
+ Amazonka.S3: data PutBucketReplication
+ Amazonka.S3: data PutBucketReplicationResponse
+ Amazonka.S3: data PutBucketRequestPayment
+ Amazonka.S3: data PutBucketRequestPaymentResponse
+ Amazonka.S3: data PutBucketTagging
+ Amazonka.S3: data PutBucketTaggingResponse
+ Amazonka.S3: data PutBucketVersioning
+ Amazonka.S3: data PutBucketVersioningResponse
+ Amazonka.S3: data PutBucketWebsite
+ Amazonka.S3: data PutBucketWebsiteResponse
+ Amazonka.S3: data PutObject
+ Amazonka.S3: data PutObjectAcl
+ Amazonka.S3: data PutObjectAclResponse
+ Amazonka.S3: data PutObjectLegalHold
+ Amazonka.S3: data PutObjectLegalHoldResponse
+ Amazonka.S3: data PutObjectLockConfiguration
+ Amazonka.S3: data PutObjectLockConfigurationResponse
+ Amazonka.S3: data PutObjectResponse
+ Amazonka.S3: data PutObjectRetention
+ Amazonka.S3: data PutObjectRetentionResponse
+ Amazonka.S3: data PutObjectTagging
+ Amazonka.S3: data PutObjectTaggingResponse
+ Amazonka.S3: data PutPublicAccessBlock
+ Amazonka.S3: data PutPublicAccessBlockResponse
+ Amazonka.S3: data QueueConfiguration
+ Amazonka.S3: data RecordsEvent
+ Amazonka.S3: data Redirect
+ Amazonka.S3: data RedirectAllRequestsTo
+ Amazonka.S3: data ReplicaModifications
+ Amazonka.S3: data ReplicationConfiguration
+ Amazonka.S3: data ReplicationRule
+ Amazonka.S3: data ReplicationRuleAndOperator
+ Amazonka.S3: data ReplicationRuleFilter
+ Amazonka.S3: data ReplicationTime
+ Amazonka.S3: data ReplicationTimeValue
+ Amazonka.S3: data RequestPaymentConfiguration
+ Amazonka.S3: data RequestProgress
+ Amazonka.S3: data RestoreObject
+ Amazonka.S3: data RestoreObjectResponse
+ Amazonka.S3: data RestoreRequest
+ Amazonka.S3: data RoutingRule
+ Amazonka.S3: data S3KeyFilter
+ Amazonka.S3: data S3Location
+ Amazonka.S3: data S3ServiceError
+ Amazonka.S3: data SSEKMS
+ Amazonka.S3: data SSES3
+ Amazonka.S3: data ScanRange
+ Amazonka.S3: data SelectObjectContent
+ Amazonka.S3: data SelectObjectContentEventStream
+ Amazonka.S3: data SelectObjectContentResponse
+ Amazonka.S3: data SelectParameters
+ Amazonka.S3: data ServerSideEncryptionByDefault
+ Amazonka.S3: data ServerSideEncryptionConfiguration
+ Amazonka.S3: data ServerSideEncryptionRule
+ Amazonka.S3: data SourceSelectionCriteria
+ Amazonka.S3: data SseKmsEncryptedObjects
+ Amazonka.S3: data Stats
+ Amazonka.S3: data StatsEvent
+ Amazonka.S3: data StorageClassAnalysis
+ Amazonka.S3: data StorageClassAnalysisDataExport
+ Amazonka.S3: data Tag
+ Amazonka.S3: data Tagging
+ Amazonka.S3: data TargetGrant
+ Amazonka.S3: data Tiering
+ Amazonka.S3: data TopicConfiguration
+ Amazonka.S3: data Transition
+ Amazonka.S3: data UploadPart
+ Amazonka.S3: data UploadPartCopy
+ Amazonka.S3: data UploadPartCopyResponse
+ Amazonka.S3: data UploadPartResponse
+ Amazonka.S3: data VersioningConfiguration
+ Amazonka.S3: data WebsiteConfiguration
+ Amazonka.S3: data WriteGetObjectResponse
+ Amazonka.S3: data WriteGetObjectResponseResponse
+ Amazonka.S3: defaultService :: Service
+ Amazonka.S3: newAbortIncompleteMultipartUpload :: AbortIncompleteMultipartUpload
+ Amazonka.S3: newAbortMultipartUpload :: BucketName -> ObjectKey -> Text -> AbortMultipartUpload
+ Amazonka.S3: newAbortMultipartUploadResponse :: Int -> AbortMultipartUploadResponse
+ Amazonka.S3: newAccelerateConfiguration :: AccelerateConfiguration
+ Amazonka.S3: newAccessControlPolicy :: AccessControlPolicy
+ Amazonka.S3: newAccessControlTranslation :: OwnerOverride -> AccessControlTranslation
+ Amazonka.S3: newAnalyticsAndOperator :: AnalyticsAndOperator
+ Amazonka.S3: newAnalyticsConfiguration :: Text -> StorageClassAnalysis -> AnalyticsConfiguration
+ Amazonka.S3: newAnalyticsExportDestination :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
+ Amazonka.S3: newAnalyticsFilter :: AnalyticsFilter
+ Amazonka.S3: newAnalyticsS3BucketDestination :: AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
+ Amazonka.S3: newBucket :: UTCTime -> BucketName -> Bucket
+ Amazonka.S3: newBucketExists :: Wait HeadBucket
+ Amazonka.S3: newBucketLifecycleConfiguration :: BucketLifecycleConfiguration
+ Amazonka.S3: newBucketLoggingStatus :: BucketLoggingStatus
+ Amazonka.S3: newBucketNotExists :: Wait HeadBucket
+ Amazonka.S3: newCORSConfiguration :: CORSConfiguration
+ Amazonka.S3: newCORSRule :: CORSRule
+ Amazonka.S3: newCSVInput :: CSVInput
+ Amazonka.S3: newCSVOutput :: CSVOutput
+ Amazonka.S3: newChecksum :: Checksum
+ Amazonka.S3: newCommonPrefix :: CommonPrefix
+ Amazonka.S3: newCompleteMultipartUpload :: BucketName -> ObjectKey -> Text -> CompleteMultipartUpload
+ Amazonka.S3: newCompleteMultipartUploadResponse :: Int -> CompleteMultipartUploadResponse
+ Amazonka.S3: newCompletedMultipartUpload :: CompletedMultipartUpload
+ Amazonka.S3: newCompletedPart :: Int -> ETag -> CompletedPart
+ Amazonka.S3: newCondition :: Condition
+ Amazonka.S3: newContinuationEvent :: ContinuationEvent
+ Amazonka.S3: newCopyObject :: BucketName -> Text -> ObjectKey -> CopyObject
+ Amazonka.S3: newCopyObjectResponse :: Int -> CopyObjectResponse
+ Amazonka.S3: newCopyObjectResult :: CopyObjectResult
+ Amazonka.S3: newCopyPartResult :: CopyPartResult
+ Amazonka.S3: newCreateBucket :: BucketName -> CreateBucket
+ Amazonka.S3: newCreateBucketConfiguration :: CreateBucketConfiguration
+ Amazonka.S3: newCreateBucketResponse :: Int -> CreateBucketResponse
+ Amazonka.S3: newCreateMultipartUpload :: BucketName -> ObjectKey -> CreateMultipartUpload
+ Amazonka.S3: newCreateMultipartUploadResponse :: Int -> Text -> CreateMultipartUploadResponse
+ Amazonka.S3: newDefaultRetention :: DefaultRetention
+ Amazonka.S3: newDelete :: Delete
+ Amazonka.S3: newDeleteBucket :: BucketName -> DeleteBucket
+ Amazonka.S3: newDeleteBucketAnalyticsConfiguration :: BucketName -> Text -> DeleteBucketAnalyticsConfiguration
+ Amazonka.S3: newDeleteBucketAnalyticsConfigurationResponse :: DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3: newDeleteBucketCors :: BucketName -> DeleteBucketCors
+ Amazonka.S3: newDeleteBucketCorsResponse :: DeleteBucketCorsResponse
+ Amazonka.S3: newDeleteBucketEncryption :: BucketName -> DeleteBucketEncryption
+ Amazonka.S3: newDeleteBucketEncryptionResponse :: DeleteBucketEncryptionResponse
+ Amazonka.S3: newDeleteBucketIntelligentTieringConfiguration :: BucketName -> Text -> DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3: newDeleteBucketIntelligentTieringConfigurationResponse :: DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: newDeleteBucketInventoryConfiguration :: BucketName -> Text -> DeleteBucketInventoryConfiguration
+ Amazonka.S3: newDeleteBucketInventoryConfigurationResponse :: DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3: newDeleteBucketLifecycle :: BucketName -> DeleteBucketLifecycle
+ Amazonka.S3: newDeleteBucketLifecycleResponse :: DeleteBucketLifecycleResponse
+ Amazonka.S3: newDeleteBucketMetricsConfiguration :: BucketName -> Text -> DeleteBucketMetricsConfiguration
+ Amazonka.S3: newDeleteBucketMetricsConfigurationResponse :: DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3: newDeleteBucketOwnershipControls :: BucketName -> DeleteBucketOwnershipControls
+ Amazonka.S3: newDeleteBucketOwnershipControlsResponse :: DeleteBucketOwnershipControlsResponse
+ Amazonka.S3: newDeleteBucketPolicy :: BucketName -> DeleteBucketPolicy
+ Amazonka.S3: newDeleteBucketPolicyResponse :: DeleteBucketPolicyResponse
+ Amazonka.S3: newDeleteBucketReplication :: BucketName -> DeleteBucketReplication
+ Amazonka.S3: newDeleteBucketReplicationResponse :: DeleteBucketReplicationResponse
+ Amazonka.S3: newDeleteBucketResponse :: DeleteBucketResponse
+ Amazonka.S3: newDeleteBucketTagging :: BucketName -> DeleteBucketTagging
+ Amazonka.S3: newDeleteBucketTaggingResponse :: DeleteBucketTaggingResponse
+ Amazonka.S3: newDeleteBucketWebsite :: BucketName -> DeleteBucketWebsite
+ Amazonka.S3: newDeleteBucketWebsiteResponse :: DeleteBucketWebsiteResponse
+ Amazonka.S3: newDeleteMarkerEntry :: DeleteMarkerEntry
+ Amazonka.S3: newDeleteMarkerReplication :: DeleteMarkerReplication
+ Amazonka.S3: newDeleteObject :: BucketName -> ObjectKey -> DeleteObject
+ Amazonka.S3: newDeleteObjectResponse :: Int -> DeleteObjectResponse
+ Amazonka.S3: newDeleteObjectTagging :: BucketName -> ObjectKey -> DeleteObjectTagging
+ Amazonka.S3: newDeleteObjectTaggingResponse :: Int -> DeleteObjectTaggingResponse
+ Amazonka.S3: newDeleteObjects :: BucketName -> Delete -> DeleteObjects
+ Amazonka.S3: newDeleteObjectsResponse :: Int -> DeleteObjectsResponse
+ Amazonka.S3: newDeletePublicAccessBlock :: BucketName -> DeletePublicAccessBlock
+ Amazonka.S3: newDeletePublicAccessBlockResponse :: DeletePublicAccessBlockResponse
+ Amazonka.S3: newDeletedObject :: DeletedObject
+ Amazonka.S3: newDestination :: BucketName -> Destination
+ Amazonka.S3: newEncryption :: ServerSideEncryption -> Encryption
+ Amazonka.S3: newEncryptionConfiguration :: EncryptionConfiguration
+ Amazonka.S3: newEndEvent :: EndEvent
+ Amazonka.S3: newErrorDocument :: ObjectKey -> ErrorDocument
+ Amazonka.S3: newEventBridgeConfiguration :: EventBridgeConfiguration
+ Amazonka.S3: newExistingObjectReplication :: ExistingObjectReplicationStatus -> ExistingObjectReplication
+ Amazonka.S3: newFilterRule :: FilterRule
+ Amazonka.S3: newGetBucketAccelerateConfiguration :: BucketName -> GetBucketAccelerateConfiguration
+ Amazonka.S3: newGetBucketAccelerateConfigurationResponse :: Int -> GetBucketAccelerateConfigurationResponse
+ Amazonka.S3: newGetBucketAcl :: BucketName -> GetBucketAcl
+ Amazonka.S3: newGetBucketAclResponse :: Int -> GetBucketAclResponse
+ Amazonka.S3: newGetBucketAnalyticsConfiguration :: BucketName -> Text -> GetBucketAnalyticsConfiguration
+ Amazonka.S3: newGetBucketAnalyticsConfigurationResponse :: Int -> GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3: newGetBucketCors :: BucketName -> GetBucketCors
+ Amazonka.S3: newGetBucketCorsResponse :: Int -> GetBucketCorsResponse
+ Amazonka.S3: newGetBucketEncryption :: BucketName -> GetBucketEncryption
+ Amazonka.S3: newGetBucketEncryptionResponse :: Int -> GetBucketEncryptionResponse
+ Amazonka.S3: newGetBucketIntelligentTieringConfiguration :: BucketName -> Text -> GetBucketIntelligentTieringConfiguration
+ Amazonka.S3: newGetBucketIntelligentTieringConfigurationResponse :: Int -> GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: newGetBucketInventoryConfiguration :: BucketName -> Text -> GetBucketInventoryConfiguration
+ Amazonka.S3: newGetBucketInventoryConfigurationResponse :: Int -> GetBucketInventoryConfigurationResponse
+ Amazonka.S3: newGetBucketLifecycleConfiguration :: BucketName -> GetBucketLifecycleConfiguration
+ Amazonka.S3: newGetBucketLifecycleConfigurationResponse :: Int -> GetBucketLifecycleConfigurationResponse
+ Amazonka.S3: newGetBucketLocation :: BucketName -> GetBucketLocation
+ Amazonka.S3: newGetBucketLocationResponse :: Int -> LocationConstraint -> GetBucketLocationResponse
+ Amazonka.S3: newGetBucketLogging :: BucketName -> GetBucketLogging
+ Amazonka.S3: newGetBucketLoggingResponse :: Int -> GetBucketLoggingResponse
+ Amazonka.S3: newGetBucketMetricsConfiguration :: BucketName -> Text -> GetBucketMetricsConfiguration
+ Amazonka.S3: newGetBucketMetricsConfigurationResponse :: Int -> GetBucketMetricsConfigurationResponse
+ Amazonka.S3: newGetBucketNotificationConfiguration :: BucketName -> GetBucketNotificationConfiguration
+ Amazonka.S3: newGetBucketOwnershipControls :: BucketName -> GetBucketOwnershipControls
+ Amazonka.S3: newGetBucketOwnershipControlsResponse :: Int -> GetBucketOwnershipControlsResponse
+ Amazonka.S3: newGetBucketPolicy :: BucketName -> GetBucketPolicy
+ Amazonka.S3: newGetBucketPolicyResponse :: Int -> ByteString -> GetBucketPolicyResponse
+ Amazonka.S3: newGetBucketPolicyStatus :: BucketName -> GetBucketPolicyStatus
+ Amazonka.S3: newGetBucketPolicyStatusResponse :: Int -> GetBucketPolicyStatusResponse
+ Amazonka.S3: newGetBucketReplication :: BucketName -> GetBucketReplication
+ Amazonka.S3: newGetBucketReplicationResponse :: Int -> GetBucketReplicationResponse
+ Amazonka.S3: newGetBucketRequestPayment :: BucketName -> GetBucketRequestPayment
+ Amazonka.S3: newGetBucketRequestPaymentResponse :: Int -> GetBucketRequestPaymentResponse
+ Amazonka.S3: newGetBucketTagging :: BucketName -> GetBucketTagging
+ Amazonka.S3: newGetBucketTaggingResponse :: Int -> GetBucketTaggingResponse
+ Amazonka.S3: newGetBucketVersioning :: BucketName -> GetBucketVersioning
+ Amazonka.S3: newGetBucketVersioningResponse :: Int -> GetBucketVersioningResponse
+ Amazonka.S3: newGetBucketWebsite :: BucketName -> GetBucketWebsite
+ Amazonka.S3: newGetBucketWebsiteResponse :: Int -> GetBucketWebsiteResponse
+ Amazonka.S3: newGetObject :: BucketName -> ObjectKey -> GetObject
+ Amazonka.S3: newGetObjectAcl :: BucketName -> ObjectKey -> GetObjectAcl
+ Amazonka.S3: newGetObjectAclResponse :: Int -> GetObjectAclResponse
+ Amazonka.S3: newGetObjectAttributes :: BucketName -> ObjectKey -> GetObjectAttributes
+ Amazonka.S3: newGetObjectAttributesParts :: GetObjectAttributesParts
+ Amazonka.S3: newGetObjectAttributesResponse :: Int -> GetObjectAttributesResponse
+ Amazonka.S3: newGetObjectLegalHold :: BucketName -> ObjectKey -> GetObjectLegalHold
+ Amazonka.S3: newGetObjectLegalHoldResponse :: Int -> GetObjectLegalHoldResponse
+ Amazonka.S3: newGetObjectLockConfiguration :: BucketName -> GetObjectLockConfiguration
+ Amazonka.S3: newGetObjectLockConfigurationResponse :: Int -> GetObjectLockConfigurationResponse
+ Amazonka.S3: newGetObjectResponse :: Int -> ResponseBody -> GetObjectResponse
+ Amazonka.S3: newGetObjectRetention :: BucketName -> ObjectKey -> GetObjectRetention
+ Amazonka.S3: newGetObjectRetentionResponse :: Int -> GetObjectRetentionResponse
+ Amazonka.S3: newGetObjectTagging :: BucketName -> ObjectKey -> GetObjectTagging
+ Amazonka.S3: newGetObjectTaggingResponse :: Int -> GetObjectTaggingResponse
+ Amazonka.S3: newGetObjectTorrent :: BucketName -> ObjectKey -> GetObjectTorrent
+ Amazonka.S3: newGetObjectTorrentResponse :: Int -> ResponseBody -> GetObjectTorrentResponse
+ Amazonka.S3: newGetPublicAccessBlock :: BucketName -> GetPublicAccessBlock
+ Amazonka.S3: newGetPublicAccessBlockResponse :: Int -> GetPublicAccessBlockResponse
+ Amazonka.S3: newGlacierJobParameters :: Tier -> GlacierJobParameters
+ Amazonka.S3: newGrant :: Grant
+ Amazonka.S3: newGrantee :: Type -> Grantee
+ Amazonka.S3: newHeadBucket :: BucketName -> HeadBucket
+ Amazonka.S3: newHeadBucketResponse :: HeadBucketResponse
+ Amazonka.S3: newHeadObject :: BucketName -> ObjectKey -> HeadObject
+ Amazonka.S3: newHeadObjectResponse :: Int -> HeadObjectResponse
+ Amazonka.S3: newIndexDocument :: Text -> IndexDocument
+ Amazonka.S3: newInitiator :: Initiator
+ Amazonka.S3: newInputSerialization :: InputSerialization
+ Amazonka.S3: newIntelligentTieringAndOperator :: IntelligentTieringAndOperator
+ Amazonka.S3: newIntelligentTieringConfiguration :: Text -> IntelligentTieringStatus -> IntelligentTieringConfiguration
+ Amazonka.S3: newIntelligentTieringFilter :: IntelligentTieringFilter
+ Amazonka.S3: newInventoryConfiguration :: InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
+ Amazonka.S3: newInventoryDestination :: InventoryS3BucketDestination -> InventoryDestination
+ Amazonka.S3: newInventoryEncryption :: InventoryEncryption
+ Amazonka.S3: newInventoryFilter :: Text -> InventoryFilter
+ Amazonka.S3: newInventoryS3BucketDestination :: BucketName -> InventoryFormat -> InventoryS3BucketDestination
+ Amazonka.S3: newInventorySchedule :: InventoryFrequency -> InventorySchedule
+ Amazonka.S3: newJSONInput :: JSONInput
+ Amazonka.S3: newJSONOutput :: JSONOutput
+ Amazonka.S3: newLambdaFunctionConfiguration :: Text -> LambdaFunctionConfiguration
+ Amazonka.S3: newLifecycleExpiration :: LifecycleExpiration
+ Amazonka.S3: newLifecycleRule :: ExpirationStatus -> LifecycleRule
+ Amazonka.S3: newLifecycleRuleAndOperator :: LifecycleRuleAndOperator
+ Amazonka.S3: newLifecycleRuleFilter :: LifecycleRuleFilter
+ Amazonka.S3: newListBucketAnalyticsConfigurations :: BucketName -> ListBucketAnalyticsConfigurations
+ Amazonka.S3: newListBucketAnalyticsConfigurationsResponse :: Int -> ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3: newListBucketIntelligentTieringConfigurations :: BucketName -> ListBucketIntelligentTieringConfigurations
+ Amazonka.S3: newListBucketIntelligentTieringConfigurationsResponse :: Int -> ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3: newListBucketInventoryConfigurations :: BucketName -> ListBucketInventoryConfigurations
+ Amazonka.S3: newListBucketInventoryConfigurationsResponse :: Int -> ListBucketInventoryConfigurationsResponse
+ Amazonka.S3: newListBucketMetricsConfigurations :: BucketName -> ListBucketMetricsConfigurations
+ Amazonka.S3: newListBucketMetricsConfigurationsResponse :: Int -> ListBucketMetricsConfigurationsResponse
+ Amazonka.S3: newListBuckets :: ListBuckets
+ Amazonka.S3: newListBucketsResponse :: Int -> ListBucketsResponse
+ Amazonka.S3: newListMultipartUploads :: BucketName -> ListMultipartUploads
+ Amazonka.S3: newListMultipartUploadsResponse :: Int -> ListMultipartUploadsResponse
+ Amazonka.S3: newListObjectVersions :: BucketName -> ListObjectVersions
+ Amazonka.S3: newListObjectVersionsResponse :: Int -> ListObjectVersionsResponse
+ Amazonka.S3: newListObjects :: BucketName -> ListObjects
+ Amazonka.S3: newListObjectsResponse :: Int -> ListObjectsResponse
+ Amazonka.S3: newListObjectsV2 :: BucketName -> ListObjectsV2
+ Amazonka.S3: newListObjectsV2Response :: Int -> ListObjectsV2Response
+ Amazonka.S3: newListParts :: BucketName -> ObjectKey -> Text -> ListParts
+ Amazonka.S3: newListPartsResponse :: Int -> ListPartsResponse
+ Amazonka.S3: newLoggingEnabled :: Text -> Text -> LoggingEnabled
+ Amazonka.S3: newMetadataEntry :: MetadataEntry
+ Amazonka.S3: newMetrics :: MetricsStatus -> Metrics
+ Amazonka.S3: newMetricsAndOperator :: MetricsAndOperator
+ Amazonka.S3: newMetricsConfiguration :: Text -> MetricsConfiguration
+ Amazonka.S3: newMetricsFilter :: MetricsFilter
+ Amazonka.S3: newMultipartUpload :: MultipartUpload
+ Amazonka.S3: newNoncurrentVersionExpiration :: Int -> NoncurrentVersionExpiration
+ Amazonka.S3: newNoncurrentVersionTransition :: Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Amazonka.S3: newNotificationConfiguration :: NotificationConfiguration
+ Amazonka.S3: newNotificationConfigurationFilter :: NotificationConfigurationFilter
+ Amazonka.S3: newObject :: ETag -> Integer -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
+ Amazonka.S3: newObjectExists :: Wait HeadObject
+ Amazonka.S3: newObjectIdentifier :: ObjectKey -> ObjectIdentifier
+ Amazonka.S3: newObjectLockConfiguration :: ObjectLockConfiguration
+ Amazonka.S3: newObjectLockLegalHold :: ObjectLockLegalHold
+ Amazonka.S3: newObjectLockRetention :: ObjectLockRetention
+ Amazonka.S3: newObjectLockRule :: ObjectLockRule
+ Amazonka.S3: newObjectNotExists :: Wait HeadObject
+ Amazonka.S3: newObjectPart :: ObjectPart
+ Amazonka.S3: newObjectVersion :: ObjectVersion
+ Amazonka.S3: newOutputLocation :: OutputLocation
+ Amazonka.S3: newOutputSerialization :: OutputSerialization
+ Amazonka.S3: newOwner :: Owner
+ Amazonka.S3: newOwnershipControls :: OwnershipControls
+ Amazonka.S3: newOwnershipControlsRule :: ObjectOwnership -> OwnershipControlsRule
+ Amazonka.S3: newParquetInput :: ParquetInput
+ Amazonka.S3: newPart :: Part
+ Amazonka.S3: newPolicyStatus :: PolicyStatus
+ Amazonka.S3: newProgress :: Progress
+ Amazonka.S3: newProgressEvent :: ProgressEvent
+ Amazonka.S3: newPublicAccessBlockConfiguration :: PublicAccessBlockConfiguration
+ Amazonka.S3: newPutBucketAccelerateConfiguration :: BucketName -> AccelerateConfiguration -> PutBucketAccelerateConfiguration
+ Amazonka.S3: newPutBucketAccelerateConfigurationResponse :: PutBucketAccelerateConfigurationResponse
+ Amazonka.S3: newPutBucketAcl :: BucketName -> PutBucketAcl
+ Amazonka.S3: newPutBucketAclResponse :: PutBucketAclResponse
+ Amazonka.S3: newPutBucketAnalyticsConfiguration :: BucketName -> Text -> AnalyticsConfiguration -> PutBucketAnalyticsConfiguration
+ Amazonka.S3: newPutBucketAnalyticsConfigurationResponse :: PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3: newPutBucketCors :: BucketName -> CORSConfiguration -> PutBucketCors
+ Amazonka.S3: newPutBucketCorsResponse :: PutBucketCorsResponse
+ Amazonka.S3: newPutBucketEncryption :: BucketName -> ServerSideEncryptionConfiguration -> PutBucketEncryption
+ Amazonka.S3: newPutBucketEncryptionResponse :: PutBucketEncryptionResponse
+ Amazonka.S3: newPutBucketIntelligentTieringConfiguration :: BucketName -> Text -> IntelligentTieringConfiguration -> PutBucketIntelligentTieringConfiguration
+ Amazonka.S3: newPutBucketIntelligentTieringConfigurationResponse :: PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3: newPutBucketInventoryConfiguration :: BucketName -> Text -> InventoryConfiguration -> PutBucketInventoryConfiguration
+ Amazonka.S3: newPutBucketInventoryConfigurationResponse :: PutBucketInventoryConfigurationResponse
+ Amazonka.S3: newPutBucketLifecycleConfiguration :: BucketName -> PutBucketLifecycleConfiguration
+ Amazonka.S3: newPutBucketLifecycleConfigurationResponse :: PutBucketLifecycleConfigurationResponse
+ Amazonka.S3: newPutBucketLogging :: BucketName -> BucketLoggingStatus -> PutBucketLogging
+ Amazonka.S3: newPutBucketLoggingResponse :: PutBucketLoggingResponse
+ Amazonka.S3: newPutBucketMetricsConfiguration :: BucketName -> Text -> MetricsConfiguration -> PutBucketMetricsConfiguration
+ Amazonka.S3: newPutBucketMetricsConfigurationResponse :: PutBucketMetricsConfigurationResponse
+ Amazonka.S3: newPutBucketNotificationConfiguration :: BucketName -> NotificationConfiguration -> PutBucketNotificationConfiguration
+ Amazonka.S3: newPutBucketNotificationConfigurationResponse :: PutBucketNotificationConfigurationResponse
+ Amazonka.S3: newPutBucketOwnershipControls :: BucketName -> OwnershipControls -> PutBucketOwnershipControls
+ Amazonka.S3: newPutBucketOwnershipControlsResponse :: PutBucketOwnershipControlsResponse
+ Amazonka.S3: newPutBucketPolicy :: BucketName -> ByteString -> PutBucketPolicy
+ Amazonka.S3: newPutBucketPolicyResponse :: PutBucketPolicyResponse
+ Amazonka.S3: newPutBucketReplication :: BucketName -> ReplicationConfiguration -> PutBucketReplication
+ Amazonka.S3: newPutBucketReplicationResponse :: PutBucketReplicationResponse
+ Amazonka.S3: newPutBucketRequestPayment :: BucketName -> RequestPaymentConfiguration -> PutBucketRequestPayment
+ Amazonka.S3: newPutBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse
+ Amazonka.S3: newPutBucketTagging :: BucketName -> Tagging -> PutBucketTagging
+ Amazonka.S3: newPutBucketTaggingResponse :: PutBucketTaggingResponse
+ Amazonka.S3: newPutBucketVersioning :: BucketName -> VersioningConfiguration -> PutBucketVersioning
+ Amazonka.S3: newPutBucketVersioningResponse :: PutBucketVersioningResponse
+ Amazonka.S3: newPutBucketWebsite :: BucketName -> WebsiteConfiguration -> PutBucketWebsite
+ Amazonka.S3: newPutBucketWebsiteResponse :: PutBucketWebsiteResponse
+ Amazonka.S3: newPutObject :: BucketName -> ObjectKey -> RequestBody -> PutObject
+ Amazonka.S3: newPutObjectAcl :: BucketName -> ObjectKey -> PutObjectAcl
+ Amazonka.S3: newPutObjectAclResponse :: Int -> PutObjectAclResponse
+ Amazonka.S3: newPutObjectLegalHold :: BucketName -> ObjectKey -> PutObjectLegalHold
+ Amazonka.S3: newPutObjectLegalHoldResponse :: Int -> PutObjectLegalHoldResponse
+ Amazonka.S3: newPutObjectLockConfiguration :: BucketName -> PutObjectLockConfiguration
+ Amazonka.S3: newPutObjectLockConfigurationResponse :: Int -> PutObjectLockConfigurationResponse
+ Amazonka.S3: newPutObjectResponse :: Int -> PutObjectResponse
+ Amazonka.S3: newPutObjectRetention :: BucketName -> ObjectKey -> PutObjectRetention
+ Amazonka.S3: newPutObjectRetentionResponse :: Int -> PutObjectRetentionResponse
+ Amazonka.S3: newPutObjectTagging :: BucketName -> ObjectKey -> Tagging -> PutObjectTagging
+ Amazonka.S3: newPutObjectTaggingResponse :: Int -> PutObjectTaggingResponse
+ Amazonka.S3: newPutPublicAccessBlock :: BucketName -> PublicAccessBlockConfiguration -> PutPublicAccessBlock
+ Amazonka.S3: newPutPublicAccessBlockResponse :: PutPublicAccessBlockResponse
+ Amazonka.S3: newQueueConfiguration :: Text -> QueueConfiguration
+ Amazonka.S3: newRecordsEvent :: RecordsEvent
+ Amazonka.S3: newRedirect :: Redirect
+ Amazonka.S3: newRedirectAllRequestsTo :: Text -> RedirectAllRequestsTo
+ Amazonka.S3: newReplicaModifications :: ReplicaModificationsStatus -> ReplicaModifications
+ Amazonka.S3: newReplicationConfiguration :: Text -> ReplicationConfiguration
+ Amazonka.S3: newReplicationRule :: ReplicationRuleStatus -> Destination -> ReplicationRule
+ Amazonka.S3: newReplicationRuleAndOperator :: ReplicationRuleAndOperator
+ Amazonka.S3: newReplicationRuleFilter :: ReplicationRuleFilter
+ Amazonka.S3: newReplicationTime :: ReplicationTimeStatus -> ReplicationTimeValue -> ReplicationTime
+ Amazonka.S3: newReplicationTimeValue :: ReplicationTimeValue
+ Amazonka.S3: newRequestPaymentConfiguration :: Payer -> RequestPaymentConfiguration
+ Amazonka.S3: newRequestProgress :: RequestProgress
+ Amazonka.S3: newRestoreObject :: BucketName -> ObjectKey -> RestoreObject
+ Amazonka.S3: newRestoreObjectResponse :: Int -> RestoreObjectResponse
+ Amazonka.S3: newRestoreRequest :: RestoreRequest
+ Amazonka.S3: newRoutingRule :: Redirect -> RoutingRule
+ Amazonka.S3: newS3KeyFilter :: S3KeyFilter
+ Amazonka.S3: newS3Location :: BucketName -> Text -> S3Location
+ Amazonka.S3: newS3ServiceError :: S3ServiceError
+ Amazonka.S3: newSSEKMS :: Text -> SSEKMS
+ Amazonka.S3: newSSES3 :: SSES3
+ Amazonka.S3: newScanRange :: ScanRange
+ Amazonka.S3: newSelectObjectContent :: BucketName -> ObjectKey -> Text -> ExpressionType -> InputSerialization -> OutputSerialization -> SelectObjectContent
+ Amazonka.S3: newSelectObjectContentEventStream :: SelectObjectContentEventStream
+ Amazonka.S3: newSelectObjectContentResponse :: Int -> SelectObjectContentResponse
+ Amazonka.S3: newSelectParameters :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
+ Amazonka.S3: newServerSideEncryptionByDefault :: ServerSideEncryption -> ServerSideEncryptionByDefault
+ Amazonka.S3: newServerSideEncryptionConfiguration :: ServerSideEncryptionConfiguration
+ Amazonka.S3: newServerSideEncryptionRule :: ServerSideEncryptionRule
+ Amazonka.S3: newSourceSelectionCriteria :: SourceSelectionCriteria
+ Amazonka.S3: newSseKmsEncryptedObjects :: SseKmsEncryptedObjectsStatus -> SseKmsEncryptedObjects
+ Amazonka.S3: newStats :: Stats
+ Amazonka.S3: newStatsEvent :: StatsEvent
+ Amazonka.S3: newStorageClassAnalysis :: StorageClassAnalysis
+ Amazonka.S3: newStorageClassAnalysisDataExport :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
+ Amazonka.S3: newTag :: ObjectKey -> Text -> Tag
+ Amazonka.S3: newTagging :: Tagging
+ Amazonka.S3: newTargetGrant :: TargetGrant
+ Amazonka.S3: newTiering :: Int -> IntelligentTieringAccessTier -> Tiering
+ Amazonka.S3: newTopicConfiguration :: Text -> TopicConfiguration
+ Amazonka.S3: newTransition :: Transition
+ Amazonka.S3: newUploadPart :: BucketName -> ObjectKey -> Int -> Text -> RequestBody -> UploadPart
+ Amazonka.S3: newUploadPartCopy :: BucketName -> Text -> ObjectKey -> Int -> Text -> UploadPartCopy
+ Amazonka.S3: newUploadPartCopyResponse :: Int -> UploadPartCopyResponse
+ Amazonka.S3: newUploadPartResponse :: Int -> UploadPartResponse
+ Amazonka.S3: newVersioningConfiguration :: VersioningConfiguration
+ Amazonka.S3: newWebsiteConfiguration :: WebsiteConfiguration
+ Amazonka.S3: newWriteGetObjectResponse :: Text -> Text -> RequestBody -> WriteGetObjectResponse
+ Amazonka.S3: newWriteGetObjectResponseResponse :: WriteGetObjectResponseResponse
+ Amazonka.S3: newtype AnalyticsS3ExportFileFormat
+ Amazonka.S3: newtype ArchiveStatus
+ Amazonka.S3: newtype BucketAccelerateStatus
+ Amazonka.S3: newtype BucketCannedACL
+ Amazonka.S3: newtype BucketLogsPermission
+ Amazonka.S3: newtype BucketVersioningStatus
+ Amazonka.S3: newtype ChecksumAlgorithm
+ Amazonka.S3: newtype ChecksumMode
+ Amazonka.S3: newtype CompressionType
+ Amazonka.S3: newtype DeleteMarkerReplicationStatus
+ Amazonka.S3: newtype EncodingType
+ Amazonka.S3: newtype Event
+ Amazonka.S3: newtype ExistingObjectReplicationStatus
+ Amazonka.S3: newtype ExpirationStatus
+ Amazonka.S3: newtype ExpressionType
+ Amazonka.S3: newtype FileHeaderInfo
+ Amazonka.S3: newtype FilterRuleName
+ Amazonka.S3: newtype IntelligentTieringAccessTier
+ Amazonka.S3: newtype IntelligentTieringStatus
+ Amazonka.S3: newtype InventoryFormat
+ Amazonka.S3: newtype InventoryFrequency
+ Amazonka.S3: newtype InventoryIncludedObjectVersions
+ Amazonka.S3: newtype InventoryOptionalField
+ Amazonka.S3: newtype JSONType
+ Amazonka.S3: newtype MFADelete
+ Amazonka.S3: newtype MFADeleteStatus
+ Amazonka.S3: newtype MetadataDirective
+ Amazonka.S3: newtype MetricsStatus
+ Amazonka.S3: newtype ObjectAttributes
+ Amazonka.S3: newtype ObjectCannedACL
+ Amazonka.S3: newtype ObjectLockEnabled
+ Amazonka.S3: newtype ObjectLockLegalHoldStatus
+ Amazonka.S3: newtype ObjectLockMode
+ Amazonka.S3: newtype ObjectLockRetentionMode
+ Amazonka.S3: newtype ObjectOwnership
+ Amazonka.S3: newtype ObjectStorageClass
+ Amazonka.S3: newtype ObjectVersionStorageClass
+ Amazonka.S3: newtype OwnerOverride
+ Amazonka.S3: newtype Payer
+ Amazonka.S3: newtype Permission
+ Amazonka.S3: newtype Protocol
+ Amazonka.S3: newtype QuoteFields
+ Amazonka.S3: newtype ReplicaModificationsStatus
+ Amazonka.S3: newtype ReplicationRuleStatus
+ Amazonka.S3: newtype ReplicationStatus
+ Amazonka.S3: newtype ReplicationTimeStatus
+ Amazonka.S3: newtype RequestCharged
+ Amazonka.S3: newtype RequestPayer
+ Amazonka.S3: newtype RestoreRequestType
+ Amazonka.S3: newtype ServerSideEncryption
+ Amazonka.S3: newtype SseKmsEncryptedObjectsStatus
+ Amazonka.S3: newtype StorageClass
+ Amazonka.S3: newtype StorageClassAnalysisSchemaVersion
+ Amazonka.S3: newtype TaggingDirective
+ Amazonka.S3: newtype Tier
+ Amazonka.S3: newtype TransitionStorageClass
+ Amazonka.S3: newtype Type
+ Amazonka.S3: pattern AnalyticsS3ExportFileFormat_CSV :: AnalyticsS3ExportFileFormat
+ Amazonka.S3: pattern ArchiveStatus_ARCHIVE_ACCESS :: ArchiveStatus
+ Amazonka.S3: pattern ArchiveStatus_DEEP_ARCHIVE_ACCESS :: ArchiveStatus
+ Amazonka.S3: pattern BucketAccelerateStatus_Enabled :: BucketAccelerateStatus
+ Amazonka.S3: pattern BucketAccelerateStatus_Suspended :: BucketAccelerateStatus
+ Amazonka.S3: pattern BucketCannedACL_Authenticated_read :: BucketCannedACL
+ Amazonka.S3: pattern BucketCannedACL_Private :: BucketCannedACL
+ Amazonka.S3: pattern BucketCannedACL_Public_read :: BucketCannedACL
+ Amazonka.S3: pattern BucketCannedACL_Public_read_write :: BucketCannedACL
+ Amazonka.S3: pattern BucketLogsPermission_FULL_CONTROL :: BucketLogsPermission
+ Amazonka.S3: pattern BucketLogsPermission_READ :: BucketLogsPermission
+ Amazonka.S3: pattern BucketLogsPermission_WRITE :: BucketLogsPermission
+ Amazonka.S3: pattern BucketVersioningStatus_Enabled :: BucketVersioningStatus
+ Amazonka.S3: pattern BucketVersioningStatus_Suspended :: BucketVersioningStatus
+ Amazonka.S3: pattern ChecksumAlgorithm_CRC32 :: ChecksumAlgorithm
+ Amazonka.S3: pattern ChecksumAlgorithm_CRC32C :: ChecksumAlgorithm
+ Amazonka.S3: pattern ChecksumAlgorithm_SHA1 :: ChecksumAlgorithm
+ Amazonka.S3: pattern ChecksumAlgorithm_SHA256 :: ChecksumAlgorithm
+ Amazonka.S3: pattern ChecksumMode_ENABLED :: ChecksumMode
+ Amazonka.S3: pattern CompressionType_BZIP2 :: CompressionType
+ Amazonka.S3: pattern CompressionType_GZIP :: CompressionType
+ Amazonka.S3: pattern CompressionType_NONE :: CompressionType
+ Amazonka.S3: pattern DeleteMarkerReplicationStatus_Disabled :: DeleteMarkerReplicationStatus
+ Amazonka.S3: pattern DeleteMarkerReplicationStatus_Enabled :: DeleteMarkerReplicationStatus
+ Amazonka.S3: pattern EncodingType_Url :: EncodingType
+ Amazonka.S3: pattern Event_S3_IntelligentTiering :: Event
+ Amazonka.S3: pattern Event_S3_LifecycleExpiration_Delete :: Event
+ Amazonka.S3: pattern Event_S3_LifecycleExpiration_DeleteMarkerCreated :: Event
+ Amazonka.S3: pattern Event_S3_LifecycleExpiration__ :: Event
+ Amazonka.S3: pattern Event_S3_LifecycleTransition :: Event
+ Amazonka.S3: pattern Event_S3_ObjectAcl_Put :: Event
+ Amazonka.S3: pattern Event_S3_ObjectCreated_CompleteMultipartUpload :: Event
+ Amazonka.S3: pattern Event_S3_ObjectCreated_Copy :: Event
+ Amazonka.S3: pattern Event_S3_ObjectCreated_Post :: Event
+ Amazonka.S3: pattern Event_S3_ObjectCreated_Put :: Event
+ Amazonka.S3: pattern Event_S3_ObjectCreated__ :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRemoved_Delete :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRemoved_DeleteMarkerCreated :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRemoved__ :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRestore_Completed :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRestore_Delete :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRestore_Post :: Event
+ Amazonka.S3: pattern Event_S3_ObjectRestore__ :: Event
+ Amazonka.S3: pattern Event_S3_ObjectTagging_Delete :: Event
+ Amazonka.S3: pattern Event_S3_ObjectTagging_Put :: Event
+ Amazonka.S3: pattern Event_S3_ObjectTagging__ :: Event
+ Amazonka.S3: pattern Event_S3_ReducedRedundancyLostObject :: Event
+ Amazonka.S3: pattern Event_S3_Replication_OperationFailedReplication :: Event
+ Amazonka.S3: pattern Event_S3_Replication_OperationMissedThreshold :: Event
+ Amazonka.S3: pattern Event_S3_Replication_OperationNotTracked :: Event
+ Amazonka.S3: pattern Event_S3_Replication_OperationReplicatedAfterThreshold :: Event
+ Amazonka.S3: pattern Event_S3_Replication__ :: Event
+ Amazonka.S3: pattern ExistingObjectReplicationStatus_Disabled :: ExistingObjectReplicationStatus
+ Amazonka.S3: pattern ExistingObjectReplicationStatus_Enabled :: ExistingObjectReplicationStatus
+ Amazonka.S3: pattern ExpirationStatus_Disabled :: ExpirationStatus
+ Amazonka.S3: pattern ExpirationStatus_Enabled :: ExpirationStatus
+ Amazonka.S3: pattern ExpressionType_SQL :: ExpressionType
+ Amazonka.S3: pattern FileHeaderInfo_IGNORE :: FileHeaderInfo
+ Amazonka.S3: pattern FileHeaderInfo_NONE :: FileHeaderInfo
+ Amazonka.S3: pattern FileHeaderInfo_USE :: FileHeaderInfo
+ Amazonka.S3: pattern FilterRuleName_Prefix :: FilterRuleName
+ Amazonka.S3: pattern FilterRuleName_Suffix :: FilterRuleName
+ Amazonka.S3: pattern IntelligentTieringAccessTier_ARCHIVE_ACCESS :: IntelligentTieringAccessTier
+ Amazonka.S3: pattern IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS :: IntelligentTieringAccessTier
+ Amazonka.S3: pattern IntelligentTieringStatus_Disabled :: IntelligentTieringStatus
+ Amazonka.S3: pattern IntelligentTieringStatus_Enabled :: IntelligentTieringStatus
+ Amazonka.S3: pattern InventoryFormat_CSV :: InventoryFormat
+ Amazonka.S3: pattern InventoryFormat_ORC :: InventoryFormat
+ Amazonka.S3: pattern InventoryFormat_Parquet :: InventoryFormat
+ Amazonka.S3: pattern InventoryFrequency_Daily :: InventoryFrequency
+ Amazonka.S3: pattern InventoryFrequency_Weekly :: InventoryFrequency
+ Amazonka.S3: pattern InventoryIncludedObjectVersions_All :: InventoryIncludedObjectVersions
+ Amazonka.S3: pattern InventoryIncludedObjectVersions_Current :: InventoryIncludedObjectVersions
+ Amazonka.S3: pattern InventoryOptionalField_BucketKeyStatus :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_ChecksumAlgorithm :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_ETag :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_EncryptionStatus :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_IntelligentTieringAccessTier :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_IsMultipartUploaded :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_LastModifiedDate :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_ObjectLockLegalHoldStatus :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_ObjectLockMode :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_ObjectLockRetainUntilDate :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_ReplicationStatus :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_Size :: InventoryOptionalField
+ Amazonka.S3: pattern InventoryOptionalField_StorageClass :: InventoryOptionalField
+ Amazonka.S3: pattern JSONType_DOCUMENT :: JSONType
+ Amazonka.S3: pattern JSONType_LINES :: JSONType
+ Amazonka.S3: pattern MFADeleteStatus_Disabled :: MFADeleteStatus
+ Amazonka.S3: pattern MFADeleteStatus_Enabled :: MFADeleteStatus
+ Amazonka.S3: pattern MFADelete_Disabled :: MFADelete
+ Amazonka.S3: pattern MFADelete_Enabled :: MFADelete
+ Amazonka.S3: pattern MetadataDirective_COPY :: MetadataDirective
+ Amazonka.S3: pattern MetadataDirective_REPLACE :: MetadataDirective
+ Amazonka.S3: pattern MetricsStatus_Disabled :: MetricsStatus
+ Amazonka.S3: pattern MetricsStatus_Enabled :: MetricsStatus
+ Amazonka.S3: pattern ObjectAttributes_Checksum :: ObjectAttributes
+ Amazonka.S3: pattern ObjectAttributes_ETag :: ObjectAttributes
+ Amazonka.S3: pattern ObjectAttributes_ObjectParts :: ObjectAttributes
+ Amazonka.S3: pattern ObjectAttributes_ObjectSize :: ObjectAttributes
+ Amazonka.S3: pattern ObjectAttributes_StorageClass :: ObjectAttributes
+ Amazonka.S3: pattern ObjectCannedACL_Authenticated_read :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectCannedACL_Aws_exec_read :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectCannedACL_Bucket_owner_full_control :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectCannedACL_Bucket_owner_read :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectCannedACL_Private :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectCannedACL_Public_read :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectCannedACL_Public_read_write :: ObjectCannedACL
+ Amazonka.S3: pattern ObjectLockEnabled_Enabled :: ObjectLockEnabled
+ Amazonka.S3: pattern ObjectLockLegalHoldStatus_OFF :: ObjectLockLegalHoldStatus
+ Amazonka.S3: pattern ObjectLockLegalHoldStatus_ON :: ObjectLockLegalHoldStatus
+ Amazonka.S3: pattern ObjectLockMode_COMPLIANCE :: ObjectLockMode
+ Amazonka.S3: pattern ObjectLockMode_GOVERNANCE :: ObjectLockMode
+ Amazonka.S3: pattern ObjectLockRetentionMode_COMPLIANCE :: ObjectLockRetentionMode
+ Amazonka.S3: pattern ObjectLockRetentionMode_GOVERNANCE :: ObjectLockRetentionMode
+ Amazonka.S3: pattern ObjectOwnership_BucketOwnerEnforced :: ObjectOwnership
+ Amazonka.S3: pattern ObjectOwnership_BucketOwnerPreferred :: ObjectOwnership
+ Amazonka.S3: pattern ObjectOwnership_ObjectWriter :: ObjectOwnership
+ Amazonka.S3: pattern ObjectStorageClass_GLACIER :: ObjectStorageClass
+ Amazonka.S3: pattern ObjectStorageClass_INTELLIGENT_TIERING :: ObjectStorageClass
+ Amazonka.S3: pattern ObjectStorageClass_REDUCED_REDUNDANCY :: ObjectStorageClass
+ Amazonka.S3: pattern ObjectStorageClass_STANDARD :: ObjectStorageClass
+ Amazonka.S3: pattern ObjectStorageClass_STANDARD_IA :: ObjectStorageClass
+ Amazonka.S3: pattern ObjectVersionStorageClass_STANDARD :: ObjectVersionStorageClass
+ Amazonka.S3: pattern OwnerOverride_Destination :: OwnerOverride
+ Amazonka.S3: pattern Payer_BucketOwner :: Payer
+ Amazonka.S3: pattern Payer_Requester :: Payer
+ Amazonka.S3: pattern Permission_FULL_CONTROL :: Permission
+ Amazonka.S3: pattern Permission_READ :: Permission
+ Amazonka.S3: pattern Permission_READ_ACP :: Permission
+ Amazonka.S3: pattern Permission_WRITE :: Permission
+ Amazonka.S3: pattern Permission_WRITE_ACP :: Permission
+ Amazonka.S3: pattern Protocol_Http :: Protocol
+ Amazonka.S3: pattern Protocol_Https :: Protocol
+ Amazonka.S3: pattern QuoteFields_ALWAYS :: QuoteFields
+ Amazonka.S3: pattern QuoteFields_ASNEEDED :: QuoteFields
+ Amazonka.S3: pattern ReplicaModificationsStatus_Disabled :: ReplicaModificationsStatus
+ Amazonka.S3: pattern ReplicaModificationsStatus_Enabled :: ReplicaModificationsStatus
+ Amazonka.S3: pattern ReplicationRuleStatus_Disabled :: ReplicationRuleStatus
+ Amazonka.S3: pattern ReplicationRuleStatus_Enabled :: ReplicationRuleStatus
+ Amazonka.S3: pattern ReplicationStatus_COMPLETED :: ReplicationStatus
+ Amazonka.S3: pattern ReplicationStatus_FAILED :: ReplicationStatus
+ Amazonka.S3: pattern ReplicationStatus_PENDING :: ReplicationStatus
+ Amazonka.S3: pattern ReplicationStatus_REPLICA :: ReplicationStatus
+ Amazonka.S3: pattern ReplicationTimeStatus_Disabled :: ReplicationTimeStatus
+ Amazonka.S3: pattern ReplicationTimeStatus_Enabled :: ReplicationTimeStatus
+ Amazonka.S3: pattern RequestCharged_Requester :: RequestCharged
+ Amazonka.S3: pattern RequestPayer_Requester :: RequestPayer
+ Amazonka.S3: pattern RestoreRequestType_SELECT :: RestoreRequestType
+ Amazonka.S3: pattern ServerSideEncryption_AES256 :: ServerSideEncryption
+ Amazonka.S3: pattern ServerSideEncryption_Aws_kms :: ServerSideEncryption
+ Amazonka.S3: pattern SseKmsEncryptedObjectsStatus_Disabled :: SseKmsEncryptedObjectsStatus
+ Amazonka.S3: pattern SseKmsEncryptedObjectsStatus_Enabled :: SseKmsEncryptedObjectsStatus
+ Amazonka.S3: pattern StorageClassAnalysisSchemaVersion_V_1 :: StorageClassAnalysisSchemaVersion
+ Amazonka.S3: pattern StorageClass_DEEP_ARCHIVE :: StorageClass
+ Amazonka.S3: pattern StorageClass_GLACIER :: StorageClass
+ Amazonka.S3: pattern StorageClass_GLACIER_IR :: StorageClass
+ Amazonka.S3: pattern StorageClass_INTELLIGENT_TIERING :: StorageClass
+ Amazonka.S3: pattern StorageClass_ONEZONE_IA :: StorageClass
+ Amazonka.S3: pattern StorageClass_OUTPOSTS :: StorageClass
+ Amazonka.S3: pattern StorageClass_REDUCED_REDUNDANCY :: StorageClass
+ Amazonka.S3: pattern StorageClass_STANDARD :: StorageClass
+ Amazonka.S3: pattern StorageClass_STANDARD_IA :: StorageClass
+ Amazonka.S3: pattern TaggingDirective_COPY :: TaggingDirective
+ Amazonka.S3: pattern TaggingDirective_REPLACE :: TaggingDirective
+ Amazonka.S3: pattern Tier_Bulk :: Tier
+ Amazonka.S3: pattern Tier_Expedited :: Tier
+ Amazonka.S3: pattern Tier_Standard :: Tier
+ Amazonka.S3: pattern TransitionStorageClass_DEEP_ARCHIVE :: TransitionStorageClass
+ Amazonka.S3: pattern TransitionStorageClass_GLACIER :: TransitionStorageClass
+ Amazonka.S3: pattern TransitionStorageClass_GLACIER_IR :: TransitionStorageClass
+ Amazonka.S3: pattern TransitionStorageClass_INTELLIGENT_TIERING :: TransitionStorageClass
+ Amazonka.S3: pattern TransitionStorageClass_ONEZONE_IA :: TransitionStorageClass
+ Amazonka.S3: pattern TransitionStorageClass_STANDARD_IA :: TransitionStorageClass
+ Amazonka.S3: pattern Type_AmazonCustomerByEmail :: Type
+ Amazonka.S3: pattern Type_CanonicalUser :: Type
+ Amazonka.S3: pattern Type_Group :: Type
+ Amazonka.S3.AbortMultipartUpload: AbortMultipartUpload' :: Maybe Text -> Maybe RequestPayer -> BucketName -> ObjectKey -> Text -> AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: AbortMultipartUploadResponse' :: Maybe RequestCharged -> Int -> AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: [$sel:bucket:AbortMultipartUpload'] :: AbortMultipartUpload -> BucketName
+ Amazonka.S3.AbortMultipartUpload: [$sel:expectedBucketOwner:AbortMultipartUpload'] :: AbortMultipartUpload -> Maybe Text
+ Amazonka.S3.AbortMultipartUpload: [$sel:httpStatus:AbortMultipartUploadResponse'] :: AbortMultipartUploadResponse -> Int
+ Amazonka.S3.AbortMultipartUpload: [$sel:key:AbortMultipartUpload'] :: AbortMultipartUpload -> ObjectKey
+ Amazonka.S3.AbortMultipartUpload: [$sel:requestCharged:AbortMultipartUploadResponse'] :: AbortMultipartUploadResponse -> Maybe RequestCharged
+ Amazonka.S3.AbortMultipartUpload: [$sel:requestPayer:AbortMultipartUpload'] :: AbortMultipartUpload -> Maybe RequestPayer
+ Amazonka.S3.AbortMultipartUpload: [$sel:uploadId:AbortMultipartUpload'] :: AbortMultipartUpload -> Text
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUploadResponse_httpStatus :: Lens' AbortMultipartUploadResponse Int
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUploadResponse_requestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUpload_bucket :: Lens' AbortMultipartUpload BucketName
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUpload_expectedBucketOwner :: Lens' AbortMultipartUpload (Maybe Text)
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUpload_key :: Lens' AbortMultipartUpload ObjectKey
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUpload_requestPayer :: Lens' AbortMultipartUpload (Maybe RequestPayer)
+ Amazonka.S3.AbortMultipartUpload: abortMultipartUpload_uploadId :: Lens' AbortMultipartUpload Text
+ Amazonka.S3.AbortMultipartUpload: data AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: data AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance Amazonka.Data.Path.ToPath Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance Amazonka.Data.Query.ToQuery Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance Amazonka.Types.AWSRequest Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.AbortMultipartUpload.AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: instance Data.Hashable.Class.Hashable Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.AbortMultipartUpload.AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.AbortMultipartUpload.AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Read.Read Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Read.Read Amazonka.S3.AbortMultipartUpload.AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Show.Show Amazonka.S3.AbortMultipartUpload.AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: instance GHC.Show.Show Amazonka.S3.AbortMultipartUpload.AbortMultipartUploadResponse
+ Amazonka.S3.AbortMultipartUpload: newAbortMultipartUpload :: BucketName -> ObjectKey -> Text -> AbortMultipartUpload
+ Amazonka.S3.AbortMultipartUpload: newAbortMultipartUploadResponse :: Int -> AbortMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: CompleteMultipartUpload' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe CompletedMultipartUpload -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> ObjectKey -> Text -> CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: CompleteMultipartUploadResponse' :: Maybe BucketName -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe Text -> Maybe ObjectKey -> Maybe Text -> Maybe RequestCharged -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe ObjectVersionId -> Int -> CompleteMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: [$sel:bucket:CompleteMultipartUpload'] :: CompleteMultipartUpload -> BucketName
+ Amazonka.S3.CompleteMultipartUpload: [$sel:bucket:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe BucketName
+ Amazonka.S3.CompleteMultipartUpload: [$sel:bucketKeyEnabled:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Bool
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumCRC32:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumCRC32:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumCRC32C:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumCRC32C:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumSHA1:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumSHA1:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumSHA256:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:checksumSHA256:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:eTag:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe ETag
+ Amazonka.S3.CompleteMultipartUpload: [$sel:expectedBucketOwner:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:expiration:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:httpStatus:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Int
+ Amazonka.S3.CompleteMultipartUpload: [$sel:key:CompleteMultipartUpload'] :: CompleteMultipartUpload -> ObjectKey
+ Amazonka.S3.CompleteMultipartUpload: [$sel:key:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe ObjectKey
+ Amazonka.S3.CompleteMultipartUpload: [$sel:location:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:multipartUpload:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe CompletedMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: [$sel:requestCharged:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe RequestCharged
+ Amazonka.S3.CompleteMultipartUpload: [$sel:requestPayer:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe RequestPayer
+ Amazonka.S3.CompleteMultipartUpload: [$sel:sSECustomerAlgorithm:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:sSECustomerKey:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe (Sensitive Text)
+ Amazonka.S3.CompleteMultipartUpload: [$sel:sSECustomerKeyMD5:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Maybe Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:sSEKMSKeyId:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.CompleteMultipartUpload: [$sel:serverSideEncryption:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.CompleteMultipartUpload: [$sel:uploadId:CompleteMultipartUpload'] :: CompleteMultipartUpload -> Text
+ Amazonka.S3.CompleteMultipartUpload: [$sel:versionId:CompleteMultipartUploadResponse'] :: CompleteMultipartUploadResponse -> Maybe ObjectVersionId
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_bucket :: Lens' CompleteMultipartUploadResponse (Maybe BucketName)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_bucketKeyEnabled :: Lens' CompleteMultipartUploadResponse (Maybe Bool)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_checksumCRC32 :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_checksumCRC32C :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_checksumSHA1 :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_checksumSHA256 :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_eTag :: Lens' CompleteMultipartUploadResponse (Maybe ETag)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_expiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_httpStatus :: Lens' CompleteMultipartUploadResponse Int
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_key :: Lens' CompleteMultipartUploadResponse (Maybe ObjectKey)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_location :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_requestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_sSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_serverSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUploadResponse_versionId :: Lens' CompleteMultipartUploadResponse (Maybe ObjectVersionId)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_bucket :: Lens' CompleteMultipartUpload BucketName
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_checksumCRC32 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_checksumCRC32C :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_checksumSHA1 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_checksumSHA256 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_expectedBucketOwner :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_key :: Lens' CompleteMultipartUpload ObjectKey
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_multipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_requestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_sSECustomerAlgorithm :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_sSECustomerKey :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_sSECustomerKeyMD5 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.CompleteMultipartUpload: completeMultipartUpload_uploadId :: Lens' CompleteMultipartUpload Text
+ Amazonka.S3.CompleteMultipartUpload: data CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: data CompleteMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance Amazonka.Data.Path.ToPath Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance Amazonka.Data.Query.ToQuery Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance Amazonka.Data.XML.ToElement Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance Amazonka.Types.AWSRequest Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: instance Data.Hashable.Class.Hashable Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: instance GHC.Show.Show Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: instance GHC.Show.Show Amazonka.S3.CompleteMultipartUpload.CompleteMultipartUploadResponse
+ Amazonka.S3.CompleteMultipartUpload: newCompleteMultipartUpload :: BucketName -> ObjectKey -> Text -> CompleteMultipartUpload
+ Amazonka.S3.CompleteMultipartUpload: newCompleteMultipartUploadResponse :: Int -> CompleteMultipartUploadResponse
+ Amazonka.S3.CopyObject: CopyObject' :: Maybe ObjectCannedACL -> Maybe Bool -> Maybe Text -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> HashMap Text Text -> Maybe MetadataDirective -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Text -> Maybe TaggingDirective -> Maybe Text -> BucketName -> Text -> ObjectKey -> CopyObject
+ Amazonka.S3.CopyObject: CopyObjectResponse' :: Maybe Bool -> Maybe CopyObjectResult -> Maybe Text -> Maybe Text -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe ObjectVersionId -> Int -> CopyObjectResponse
+ Amazonka.S3.CopyObject: [$sel:acl:CopyObject'] :: CopyObject -> Maybe ObjectCannedACL
+ Amazonka.S3.CopyObject: [$sel:bucket:CopyObject'] :: CopyObject -> BucketName
+ Amazonka.S3.CopyObject: [$sel:bucketKeyEnabled:CopyObject'] :: CopyObject -> Maybe Bool
+ Amazonka.S3.CopyObject: [$sel:bucketKeyEnabled:CopyObjectResponse'] :: CopyObjectResponse -> Maybe Bool
+ Amazonka.S3.CopyObject: [$sel:cacheControl:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:checksumAlgorithm:CopyObject'] :: CopyObject -> Maybe ChecksumAlgorithm
+ Amazonka.S3.CopyObject: [$sel:contentDisposition:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:contentEncoding:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:contentLanguage:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:contentType:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:copyObjectResult:CopyObjectResponse'] :: CopyObjectResponse -> Maybe CopyObjectResult
+ Amazonka.S3.CopyObject: [$sel:copySource:CopyObject'] :: CopyObject -> Text
+ Amazonka.S3.CopyObject: [$sel:copySourceIfMatch:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:copySourceIfModifiedSince:CopyObject'] :: CopyObject -> Maybe RFC822
+ Amazonka.S3.CopyObject: [$sel:copySourceIfNoneMatch:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:copySourceIfUnmodifiedSince:CopyObject'] :: CopyObject -> Maybe RFC822
+ Amazonka.S3.CopyObject: [$sel:copySourceSSECustomerAlgorithm:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:copySourceSSECustomerKey:CopyObject'] :: CopyObject -> Maybe (Sensitive Text)
+ Amazonka.S3.CopyObject: [$sel:copySourceSSECustomerKeyMD5:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:copySourceVersionId:CopyObjectResponse'] :: CopyObjectResponse -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:expectedBucketOwner:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:expectedSourceBucketOwner:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:expiration:CopyObjectResponse'] :: CopyObjectResponse -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:expires:CopyObject'] :: CopyObject -> Maybe RFC822
+ Amazonka.S3.CopyObject: [$sel:grantFullControl:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:grantRead:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:grantReadACP:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:grantWriteACP:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:httpStatus:CopyObjectResponse'] :: CopyObjectResponse -> Int
+ Amazonka.S3.CopyObject: [$sel:key:CopyObject'] :: CopyObject -> ObjectKey
+ Amazonka.S3.CopyObject: [$sel:metadata:CopyObject'] :: CopyObject -> HashMap Text Text
+ Amazonka.S3.CopyObject: [$sel:metadataDirective:CopyObject'] :: CopyObject -> Maybe MetadataDirective
+ Amazonka.S3.CopyObject: [$sel:objectLockLegalHoldStatus:CopyObject'] :: CopyObject -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.CopyObject: [$sel:objectLockMode:CopyObject'] :: CopyObject -> Maybe ObjectLockMode
+ Amazonka.S3.CopyObject: [$sel:objectLockRetainUntilDate:CopyObject'] :: CopyObject -> Maybe ISO8601
+ Amazonka.S3.CopyObject: [$sel:requestCharged:CopyObjectResponse'] :: CopyObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.CopyObject: [$sel:requestPayer:CopyObject'] :: CopyObject -> Maybe RequestPayer
+ Amazonka.S3.CopyObject: [$sel:sSECustomerAlgorithm:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:sSECustomerAlgorithm:CopyObjectResponse'] :: CopyObjectResponse -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:sSECustomerKey:CopyObject'] :: CopyObject -> Maybe (Sensitive Text)
+ Amazonka.S3.CopyObject: [$sel:sSECustomerKeyMD5:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:sSECustomerKeyMD5:CopyObjectResponse'] :: CopyObjectResponse -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:sSEKMSEncryptionContext:CopyObject'] :: CopyObject -> Maybe (Sensitive Text)
+ Amazonka.S3.CopyObject: [$sel:sSEKMSEncryptionContext:CopyObjectResponse'] :: CopyObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.CopyObject: [$sel:sSEKMSKeyId:CopyObject'] :: CopyObject -> Maybe (Sensitive Text)
+ Amazonka.S3.CopyObject: [$sel:sSEKMSKeyId:CopyObjectResponse'] :: CopyObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.CopyObject: [$sel:serverSideEncryption:CopyObject'] :: CopyObject -> Maybe ServerSideEncryption
+ Amazonka.S3.CopyObject: [$sel:serverSideEncryption:CopyObjectResponse'] :: CopyObjectResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.CopyObject: [$sel:storageClass:CopyObject'] :: CopyObject -> Maybe StorageClass
+ Amazonka.S3.CopyObject: [$sel:tagging:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: [$sel:taggingDirective:CopyObject'] :: CopyObject -> Maybe TaggingDirective
+ Amazonka.S3.CopyObject: [$sel:versionId:CopyObjectResponse'] :: CopyObjectResponse -> Maybe ObjectVersionId
+ Amazonka.S3.CopyObject: [$sel:websiteRedirectLocation:CopyObject'] :: CopyObject -> Maybe Text
+ Amazonka.S3.CopyObject: copyObjectResponse_bucketKeyEnabled :: Lens' CopyObjectResponse (Maybe Bool)
+ Amazonka.S3.CopyObject: copyObjectResponse_copyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)
+ Amazonka.S3.CopyObject: copyObjectResponse_copySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.CopyObject: copyObjectResponse_expiration :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.CopyObject: copyObjectResponse_httpStatus :: Lens' CopyObjectResponse Int
+ Amazonka.S3.CopyObject: copyObjectResponse_requestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.CopyObject: copyObjectResponse_sSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.CopyObject: copyObjectResponse_sSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.CopyObject: copyObjectResponse_sSEKMSEncryptionContext :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.CopyObject: copyObjectResponse_sSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.CopyObject: copyObjectResponse_serverSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.CopyObject: copyObjectResponse_versionId :: Lens' CopyObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.CopyObject: copyObject_acl :: Lens' CopyObject (Maybe ObjectCannedACL)
+ Amazonka.S3.CopyObject: copyObject_bucket :: Lens' CopyObject BucketName
+ Amazonka.S3.CopyObject: copyObject_bucketKeyEnabled :: Lens' CopyObject (Maybe Bool)
+ Amazonka.S3.CopyObject: copyObject_cacheControl :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_checksumAlgorithm :: Lens' CopyObject (Maybe ChecksumAlgorithm)
+ Amazonka.S3.CopyObject: copyObject_contentDisposition :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_contentEncoding :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_contentLanguage :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_contentType :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_copySource :: Lens' CopyObject Text
+ Amazonka.S3.CopyObject: copyObject_copySourceIfMatch :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_copySourceIfModifiedSince :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.CopyObject: copyObject_copySourceIfNoneMatch :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_copySourceIfUnmodifiedSince :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.CopyObject: copyObject_copySourceSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_copySourceSSECustomerKey :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_copySourceSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_expectedBucketOwner :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_expectedSourceBucketOwner :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_expires :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.CopyObject: copyObject_grantFullControl :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_grantRead :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_grantReadACP :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_grantWriteACP :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_key :: Lens' CopyObject ObjectKey
+ Amazonka.S3.CopyObject: copyObject_metadata :: Lens' CopyObject (HashMap Text Text)
+ Amazonka.S3.CopyObject: copyObject_metadataDirective :: Lens' CopyObject (Maybe MetadataDirective)
+ Amazonka.S3.CopyObject: copyObject_objectLockLegalHoldStatus :: Lens' CopyObject (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.CopyObject: copyObject_objectLockMode :: Lens' CopyObject (Maybe ObjectLockMode)
+ Amazonka.S3.CopyObject: copyObject_objectLockRetainUntilDate :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.CopyObject: copyObject_requestPayer :: Lens' CopyObject (Maybe RequestPayer)
+ Amazonka.S3.CopyObject: copyObject_sSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_sSECustomerKey :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_sSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_sSEKMSEncryptionContext :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_sSEKMSKeyId :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_serverSideEncryption :: Lens' CopyObject (Maybe ServerSideEncryption)
+ Amazonka.S3.CopyObject: copyObject_storageClass :: Lens' CopyObject (Maybe StorageClass)
+ Amazonka.S3.CopyObject: copyObject_tagging :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: copyObject_taggingDirective :: Lens' CopyObject (Maybe TaggingDirective)
+ Amazonka.S3.CopyObject: copyObject_websiteRedirectLocation :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.CopyObject: data CopyObject
+ Amazonka.S3.CopyObject: data CopyObjectResponse
+ Amazonka.S3.CopyObject: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance Amazonka.Data.Path.ToPath Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance Amazonka.Data.Query.ToQuery Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance Amazonka.Types.AWSRequest Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance Control.DeepSeq.NFData Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance Control.DeepSeq.NFData Amazonka.S3.CopyObject.CopyObjectResponse
+ Amazonka.S3.CopyObject: instance Data.Hashable.Class.Hashable Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance GHC.Classes.Eq Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance GHC.Classes.Eq Amazonka.S3.CopyObject.CopyObjectResponse
+ Amazonka.S3.CopyObject: instance GHC.Generics.Generic Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance GHC.Generics.Generic Amazonka.S3.CopyObject.CopyObjectResponse
+ Amazonka.S3.CopyObject: instance GHC.Show.Show Amazonka.S3.CopyObject.CopyObject
+ Amazonka.S3.CopyObject: instance GHC.Show.Show Amazonka.S3.CopyObject.CopyObjectResponse
+ Amazonka.S3.CopyObject: newCopyObject :: BucketName -> Text -> ObjectKey -> CopyObject
+ Amazonka.S3.CopyObject: newCopyObjectResponse :: Int -> CopyObjectResponse
+ Amazonka.S3.CreateBucket: CreateBucket' :: Maybe BucketCannedACL -> Maybe CreateBucketConfiguration -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe ObjectOwnership -> BucketName -> CreateBucket
+ Amazonka.S3.CreateBucket: CreateBucketResponse' :: Maybe Text -> Int -> CreateBucketResponse
+ Amazonka.S3.CreateBucket: [$sel:acl:CreateBucket'] :: CreateBucket -> Maybe BucketCannedACL
+ Amazonka.S3.CreateBucket: [$sel:bucket:CreateBucket'] :: CreateBucket -> BucketName
+ Amazonka.S3.CreateBucket: [$sel:createBucketConfiguration:CreateBucket'] :: CreateBucket -> Maybe CreateBucketConfiguration
+ Amazonka.S3.CreateBucket: [$sel:grantFullControl:CreateBucket'] :: CreateBucket -> Maybe Text
+ Amazonka.S3.CreateBucket: [$sel:grantRead:CreateBucket'] :: CreateBucket -> Maybe Text
+ Amazonka.S3.CreateBucket: [$sel:grantReadACP:CreateBucket'] :: CreateBucket -> Maybe Text
+ Amazonka.S3.CreateBucket: [$sel:grantWrite:CreateBucket'] :: CreateBucket -> Maybe Text
+ Amazonka.S3.CreateBucket: [$sel:grantWriteACP:CreateBucket'] :: CreateBucket -> Maybe Text
+ Amazonka.S3.CreateBucket: [$sel:httpStatus:CreateBucketResponse'] :: CreateBucketResponse -> Int
+ Amazonka.S3.CreateBucket: [$sel:location:CreateBucketResponse'] :: CreateBucketResponse -> Maybe Text
+ Amazonka.S3.CreateBucket: [$sel:objectLockEnabledForBucket:CreateBucket'] :: CreateBucket -> Maybe Bool
+ Amazonka.S3.CreateBucket: [$sel:objectOwnership:CreateBucket'] :: CreateBucket -> Maybe ObjectOwnership
+ Amazonka.S3.CreateBucket: createBucketResponse_httpStatus :: Lens' CreateBucketResponse Int
+ Amazonka.S3.CreateBucket: createBucketResponse_location :: Lens' CreateBucketResponse (Maybe Text)
+ Amazonka.S3.CreateBucket: createBucket_acl :: Lens' CreateBucket (Maybe BucketCannedACL)
+ Amazonka.S3.CreateBucket: createBucket_bucket :: Lens' CreateBucket BucketName
+ Amazonka.S3.CreateBucket: createBucket_createBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)
+ Amazonka.S3.CreateBucket: createBucket_grantFullControl :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.CreateBucket: createBucket_grantRead :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.CreateBucket: createBucket_grantReadACP :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.CreateBucket: createBucket_grantWrite :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.CreateBucket: createBucket_grantWriteACP :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.CreateBucket: createBucket_objectLockEnabledForBucket :: Lens' CreateBucket (Maybe Bool)
+ Amazonka.S3.CreateBucket: createBucket_objectOwnership :: Lens' CreateBucket (Maybe ObjectOwnership)
+ Amazonka.S3.CreateBucket: data CreateBucket
+ Amazonka.S3.CreateBucket: data CreateBucketResponse
+ Amazonka.S3.CreateBucket: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance Amazonka.Data.Path.ToPath Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance Amazonka.Data.Query.ToQuery Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance Amazonka.Data.XML.ToElement Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance Amazonka.Types.AWSRequest Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance Control.DeepSeq.NFData Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance Control.DeepSeq.NFData Amazonka.S3.CreateBucket.CreateBucketResponse
+ Amazonka.S3.CreateBucket: instance Data.Hashable.Class.Hashable Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance GHC.Classes.Eq Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance GHC.Classes.Eq Amazonka.S3.CreateBucket.CreateBucketResponse
+ Amazonka.S3.CreateBucket: instance GHC.Generics.Generic Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance GHC.Generics.Generic Amazonka.S3.CreateBucket.CreateBucketResponse
+ Amazonka.S3.CreateBucket: instance GHC.Read.Read Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance GHC.Read.Read Amazonka.S3.CreateBucket.CreateBucketResponse
+ Amazonka.S3.CreateBucket: instance GHC.Show.Show Amazonka.S3.CreateBucket.CreateBucket
+ Amazonka.S3.CreateBucket: instance GHC.Show.Show Amazonka.S3.CreateBucket.CreateBucketResponse
+ Amazonka.S3.CreateBucket: newCreateBucket :: BucketName -> CreateBucket
+ Amazonka.S3.CreateBucket: newCreateBucketResponse :: Int -> CreateBucketResponse
+ Amazonka.S3.CreateMultipartUpload: CreateMultipartUpload' :: Maybe ObjectCannedACL -> Maybe Bool -> Maybe Text -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> HashMap Text Text -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Text -> Maybe Text -> BucketName -> ObjectKey -> CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: CreateMultipartUploadResponse' :: Maybe RFC822 -> Maybe Text -> Maybe BucketName -> Maybe Bool -> Maybe ChecksumAlgorithm -> Maybe ObjectKey -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Int -> Text -> CreateMultipartUploadResponse
+ Amazonka.S3.CreateMultipartUpload: [$sel:abortDate:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe RFC822
+ Amazonka.S3.CreateMultipartUpload: [$sel:abortRuleId:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:acl:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe ObjectCannedACL
+ Amazonka.S3.CreateMultipartUpload: [$sel:bucket:CreateMultipartUpload'] :: CreateMultipartUpload -> BucketName
+ Amazonka.S3.CreateMultipartUpload: [$sel:bucket:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe BucketName
+ Amazonka.S3.CreateMultipartUpload: [$sel:bucketKeyEnabled:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Bool
+ Amazonka.S3.CreateMultipartUpload: [$sel:bucketKeyEnabled:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe Bool
+ Amazonka.S3.CreateMultipartUpload: [$sel:cacheControl:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:checksumAlgorithm:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe ChecksumAlgorithm
+ Amazonka.S3.CreateMultipartUpload: [$sel:checksumAlgorithm:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe ChecksumAlgorithm
+ Amazonka.S3.CreateMultipartUpload: [$sel:contentDisposition:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:contentEncoding:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:contentLanguage:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:contentType:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:expectedBucketOwner:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:expires:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe RFC822
+ Amazonka.S3.CreateMultipartUpload: [$sel:grantFullControl:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:grantRead:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:grantReadACP:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:grantWriteACP:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:httpStatus:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Int
+ Amazonka.S3.CreateMultipartUpload: [$sel:key:CreateMultipartUpload'] :: CreateMultipartUpload -> ObjectKey
+ Amazonka.S3.CreateMultipartUpload: [$sel:key:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe ObjectKey
+ Amazonka.S3.CreateMultipartUpload: [$sel:metadata:CreateMultipartUpload'] :: CreateMultipartUpload -> HashMap Text Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:objectLockLegalHoldStatus:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.CreateMultipartUpload: [$sel:objectLockMode:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe ObjectLockMode
+ Amazonka.S3.CreateMultipartUpload: [$sel:objectLockRetainUntilDate:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe ISO8601
+ Amazonka.S3.CreateMultipartUpload: [$sel:requestCharged:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe RequestCharged
+ Amazonka.S3.CreateMultipartUpload: [$sel:requestPayer:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe RequestPayer
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSECustomerAlgorithm:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSECustomerAlgorithm:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSECustomerKey:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe (Sensitive Text)
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSECustomerKeyMD5:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSECustomerKeyMD5:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSEKMSEncryptionContext:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe (Sensitive Text)
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSEKMSEncryptionContext:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSEKMSKeyId:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe (Sensitive Text)
+ Amazonka.S3.CreateMultipartUpload: [$sel:sSEKMSKeyId:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.CreateMultipartUpload: [$sel:serverSideEncryption:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe ServerSideEncryption
+ Amazonka.S3.CreateMultipartUpload: [$sel:serverSideEncryption:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.CreateMultipartUpload: [$sel:storageClass:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe StorageClass
+ Amazonka.S3.CreateMultipartUpload: [$sel:tagging:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:uploadId:CreateMultipartUploadResponse'] :: CreateMultipartUploadResponse -> Text
+ Amazonka.S3.CreateMultipartUpload: [$sel:websiteRedirectLocation:CreateMultipartUpload'] :: CreateMultipartUpload -> Maybe Text
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_abortDate :: Lens' CreateMultipartUploadResponse (Maybe UTCTime)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_abortRuleId :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_bucket :: Lens' CreateMultipartUploadResponse (Maybe BucketName)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_bucketKeyEnabled :: Lens' CreateMultipartUploadResponse (Maybe Bool)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_checksumAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe ChecksumAlgorithm)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_httpStatus :: Lens' CreateMultipartUploadResponse Int
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_key :: Lens' CreateMultipartUploadResponse (Maybe ObjectKey)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_requestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_sSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_sSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_sSEKMSEncryptionContext :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_sSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_serverSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUploadResponse_uploadId :: Lens' CreateMultipartUploadResponse Text
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_acl :: Lens' CreateMultipartUpload (Maybe ObjectCannedACL)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_bucket :: Lens' CreateMultipartUpload BucketName
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_bucketKeyEnabled :: Lens' CreateMultipartUpload (Maybe Bool)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_cacheControl :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_checksumAlgorithm :: Lens' CreateMultipartUpload (Maybe ChecksumAlgorithm)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_contentDisposition :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_contentEncoding :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_contentLanguage :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_contentType :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_expectedBucketOwner :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_expires :: Lens' CreateMultipartUpload (Maybe UTCTime)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_grantFullControl :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_grantRead :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_grantReadACP :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_grantWriteACP :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_key :: Lens' CreateMultipartUpload ObjectKey
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_metadata :: Lens' CreateMultipartUpload (HashMap Text Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_objectLockLegalHoldStatus :: Lens' CreateMultipartUpload (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_objectLockMode :: Lens' CreateMultipartUpload (Maybe ObjectLockMode)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_objectLockRetainUntilDate :: Lens' CreateMultipartUpload (Maybe UTCTime)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_requestPayer :: Lens' CreateMultipartUpload (Maybe RequestPayer)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_sSECustomerAlgorithm :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_sSECustomerKey :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_sSECustomerKeyMD5 :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_sSEKMSEncryptionContext :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_sSEKMSKeyId :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_serverSideEncryption :: Lens' CreateMultipartUpload (Maybe ServerSideEncryption)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_storageClass :: Lens' CreateMultipartUpload (Maybe StorageClass)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_tagging :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: createMultipartUpload_websiteRedirectLocation :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.CreateMultipartUpload: data CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: data CreateMultipartUploadResponse
+ Amazonka.S3.CreateMultipartUpload: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance Amazonka.Data.Path.ToPath Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance Amazonka.Data.Query.ToQuery Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance Amazonka.Types.AWSRequest Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.CreateMultipartUpload.CreateMultipartUploadResponse
+ Amazonka.S3.CreateMultipartUpload: instance Data.Hashable.Class.Hashable Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.CreateMultipartUpload.CreateMultipartUploadResponse
+ Amazonka.S3.CreateMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.CreateMultipartUpload.CreateMultipartUploadResponse
+ Amazonka.S3.CreateMultipartUpload: instance GHC.Show.Show Amazonka.S3.CreateMultipartUpload.CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: instance GHC.Show.Show Amazonka.S3.CreateMultipartUpload.CreateMultipartUploadResponse
+ Amazonka.S3.CreateMultipartUpload: newCreateMultipartUpload :: BucketName -> ObjectKey -> CreateMultipartUpload
+ Amazonka.S3.CreateMultipartUpload: newCreateMultipartUploadResponse :: Int -> Text -> CreateMultipartUploadResponse
+ Amazonka.S3.DeleteBucket: DeleteBucket' :: Maybe Text -> BucketName -> DeleteBucket
+ Amazonka.S3.DeleteBucket: DeleteBucketResponse' :: DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: [$sel:bucket:DeleteBucket'] :: DeleteBucket -> BucketName
+ Amazonka.S3.DeleteBucket: [$sel:expectedBucketOwner:DeleteBucket'] :: DeleteBucket -> Maybe Text
+ Amazonka.S3.DeleteBucket: data DeleteBucket
+ Amazonka.S3.DeleteBucket: data DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: deleteBucket_bucket :: Lens' DeleteBucket BucketName
+ Amazonka.S3.DeleteBucket: deleteBucket_expectedBucketOwner :: Lens' DeleteBucket (Maybe Text)
+ Amazonka.S3.DeleteBucket: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucket.DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance GHC.Classes.Eq Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance GHC.Classes.Eq Amazonka.S3.DeleteBucket.DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: instance GHC.Generics.Generic Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance GHC.Generics.Generic Amazonka.S3.DeleteBucket.DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: instance GHC.Read.Read Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance GHC.Read.Read Amazonka.S3.DeleteBucket.DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: instance GHC.Show.Show Amazonka.S3.DeleteBucket.DeleteBucket
+ Amazonka.S3.DeleteBucket: instance GHC.Show.Show Amazonka.S3.DeleteBucket.DeleteBucketResponse
+ Amazonka.S3.DeleteBucket: newDeleteBucket :: BucketName -> DeleteBucket
+ Amazonka.S3.DeleteBucket: newDeleteBucketResponse :: DeleteBucketResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: DeleteBucketAnalyticsConfiguration' :: Maybe Text -> BucketName -> Text -> DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: DeleteBucketAnalyticsConfigurationResponse' :: DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: [$sel:bucket:DeleteBucketAnalyticsConfiguration'] :: DeleteBucketAnalyticsConfiguration -> BucketName
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: [$sel:expectedBucketOwner:DeleteBucketAnalyticsConfiguration'] :: DeleteBucketAnalyticsConfiguration -> Maybe Text
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: [$sel:id:DeleteBucketAnalyticsConfiguration'] :: DeleteBucketAnalyticsConfiguration -> Text
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: data DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: data DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: deleteBucketAnalyticsConfiguration_bucket :: Lens' DeleteBucketAnalyticsConfiguration BucketName
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: deleteBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' DeleteBucketAnalyticsConfiguration (Maybe Text)
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: deleteBucketAnalyticsConfiguration_id :: Lens' DeleteBucketAnalyticsConfiguration Text
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketAnalyticsConfiguration.DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: newDeleteBucketAnalyticsConfiguration :: BucketName -> Text -> DeleteBucketAnalyticsConfiguration
+ Amazonka.S3.DeleteBucketAnalyticsConfiguration: newDeleteBucketAnalyticsConfigurationResponse :: DeleteBucketAnalyticsConfigurationResponse
+ Amazonka.S3.DeleteBucketCors: DeleteBucketCors' :: Maybe Text -> BucketName -> DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: DeleteBucketCorsResponse' :: DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: [$sel:bucket:DeleteBucketCors'] :: DeleteBucketCors -> BucketName
+ Amazonka.S3.DeleteBucketCors: [$sel:expectedBucketOwner:DeleteBucketCors'] :: DeleteBucketCors -> Maybe Text
+ Amazonka.S3.DeleteBucketCors: data DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: data DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: deleteBucketCors_bucket :: Lens' DeleteBucketCors BucketName
+ Amazonka.S3.DeleteBucketCors: deleteBucketCors_expectedBucketOwner :: Lens' DeleteBucketCors (Maybe Text)
+ Amazonka.S3.DeleteBucketCors: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketCors.DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketCors.DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketCors.DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: instance GHC.Read.Read Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance GHC.Read.Read Amazonka.S3.DeleteBucketCors.DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: instance GHC.Show.Show Amazonka.S3.DeleteBucketCors.DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: instance GHC.Show.Show Amazonka.S3.DeleteBucketCors.DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketCors: newDeleteBucketCors :: BucketName -> DeleteBucketCors
+ Amazonka.S3.DeleteBucketCors: newDeleteBucketCorsResponse :: DeleteBucketCorsResponse
+ Amazonka.S3.DeleteBucketEncryption: DeleteBucketEncryption' :: Maybe Text -> BucketName -> DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: DeleteBucketEncryptionResponse' :: DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: [$sel:bucket:DeleteBucketEncryption'] :: DeleteBucketEncryption -> BucketName
+ Amazonka.S3.DeleteBucketEncryption: [$sel:expectedBucketOwner:DeleteBucketEncryption'] :: DeleteBucketEncryption -> Maybe Text
+ Amazonka.S3.DeleteBucketEncryption: data DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: data DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: deleteBucketEncryption_bucket :: Lens' DeleteBucketEncryption BucketName
+ Amazonka.S3.DeleteBucketEncryption: deleteBucketEncryption_expectedBucketOwner :: Lens' DeleteBucketEncryption (Maybe Text)
+ Amazonka.S3.DeleteBucketEncryption: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Read.Read Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Read.Read Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Show.Show Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: instance GHC.Show.Show Amazonka.S3.DeleteBucketEncryption.DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketEncryption: newDeleteBucketEncryption :: BucketName -> DeleteBucketEncryption
+ Amazonka.S3.DeleteBucketEncryption: newDeleteBucketEncryptionResponse :: DeleteBucketEncryptionResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: DeleteBucketIntelligentTieringConfiguration' :: BucketName -> Text -> DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: DeleteBucketIntelligentTieringConfigurationResponse' :: DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: [$sel:bucket:DeleteBucketIntelligentTieringConfiguration'] :: DeleteBucketIntelligentTieringConfiguration -> BucketName
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: [$sel:id:DeleteBucketIntelligentTieringConfiguration'] :: DeleteBucketIntelligentTieringConfiguration -> Text
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: data DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: data DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: deleteBucketIntelligentTieringConfiguration_bucket :: Lens' DeleteBucketIntelligentTieringConfiguration BucketName
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: deleteBucketIntelligentTieringConfiguration_id :: Lens' DeleteBucketIntelligentTieringConfiguration Text
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketIntelligentTieringConfiguration.DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: newDeleteBucketIntelligentTieringConfiguration :: BucketName -> Text -> DeleteBucketIntelligentTieringConfiguration
+ Amazonka.S3.DeleteBucketIntelligentTieringConfiguration: newDeleteBucketIntelligentTieringConfigurationResponse :: DeleteBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: DeleteBucketInventoryConfiguration' :: Maybe Text -> BucketName -> Text -> DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: DeleteBucketInventoryConfigurationResponse' :: DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: [$sel:bucket:DeleteBucketInventoryConfiguration'] :: DeleteBucketInventoryConfiguration -> BucketName
+ Amazonka.S3.DeleteBucketInventoryConfiguration: [$sel:expectedBucketOwner:DeleteBucketInventoryConfiguration'] :: DeleteBucketInventoryConfiguration -> Maybe Text
+ Amazonka.S3.DeleteBucketInventoryConfiguration: [$sel:id:DeleteBucketInventoryConfiguration'] :: DeleteBucketInventoryConfiguration -> Text
+ Amazonka.S3.DeleteBucketInventoryConfiguration: data DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: data DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: deleteBucketInventoryConfiguration_bucket :: Lens' DeleteBucketInventoryConfiguration BucketName
+ Amazonka.S3.DeleteBucketInventoryConfiguration: deleteBucketInventoryConfiguration_expectedBucketOwner :: Lens' DeleteBucketInventoryConfiguration (Maybe Text)
+ Amazonka.S3.DeleteBucketInventoryConfiguration: deleteBucketInventoryConfiguration_id :: Lens' DeleteBucketInventoryConfiguration Text
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketInventoryConfiguration.DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketInventoryConfiguration: newDeleteBucketInventoryConfiguration :: BucketName -> Text -> DeleteBucketInventoryConfiguration
+ Amazonka.S3.DeleteBucketInventoryConfiguration: newDeleteBucketInventoryConfigurationResponse :: DeleteBucketInventoryConfigurationResponse
+ Amazonka.S3.DeleteBucketLifecycle: DeleteBucketLifecycle' :: Maybe Text -> BucketName -> DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: DeleteBucketLifecycleResponse' :: DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: [$sel:bucket:DeleteBucketLifecycle'] :: DeleteBucketLifecycle -> BucketName
+ Amazonka.S3.DeleteBucketLifecycle: [$sel:expectedBucketOwner:DeleteBucketLifecycle'] :: DeleteBucketLifecycle -> Maybe Text
+ Amazonka.S3.DeleteBucketLifecycle: data DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: data DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: deleteBucketLifecycle_bucket :: Lens' DeleteBucketLifecycle BucketName
+ Amazonka.S3.DeleteBucketLifecycle: deleteBucketLifecycle_expectedBucketOwner :: Lens' DeleteBucketLifecycle (Maybe Text)
+ Amazonka.S3.DeleteBucketLifecycle: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Read.Read Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Read.Read Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Show.Show Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: instance GHC.Show.Show Amazonka.S3.DeleteBucketLifecycle.DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketLifecycle: newDeleteBucketLifecycle :: BucketName -> DeleteBucketLifecycle
+ Amazonka.S3.DeleteBucketLifecycle: newDeleteBucketLifecycleResponse :: DeleteBucketLifecycleResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: DeleteBucketMetricsConfiguration' :: Maybe Text -> BucketName -> Text -> DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: DeleteBucketMetricsConfigurationResponse' :: DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: [$sel:bucket:DeleteBucketMetricsConfiguration'] :: DeleteBucketMetricsConfiguration -> BucketName
+ Amazonka.S3.DeleteBucketMetricsConfiguration: [$sel:expectedBucketOwner:DeleteBucketMetricsConfiguration'] :: DeleteBucketMetricsConfiguration -> Maybe Text
+ Amazonka.S3.DeleteBucketMetricsConfiguration: [$sel:id:DeleteBucketMetricsConfiguration'] :: DeleteBucketMetricsConfiguration -> Text
+ Amazonka.S3.DeleteBucketMetricsConfiguration: data DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: data DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: deleteBucketMetricsConfiguration_bucket :: Lens' DeleteBucketMetricsConfiguration BucketName
+ Amazonka.S3.DeleteBucketMetricsConfiguration: deleteBucketMetricsConfiguration_expectedBucketOwner :: Lens' DeleteBucketMetricsConfiguration (Maybe Text)
+ Amazonka.S3.DeleteBucketMetricsConfiguration: deleteBucketMetricsConfiguration_id :: Lens' DeleteBucketMetricsConfiguration Text
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Read.Read Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: instance GHC.Show.Show Amazonka.S3.DeleteBucketMetricsConfiguration.DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketMetricsConfiguration: newDeleteBucketMetricsConfiguration :: BucketName -> Text -> DeleteBucketMetricsConfiguration
+ Amazonka.S3.DeleteBucketMetricsConfiguration: newDeleteBucketMetricsConfigurationResponse :: DeleteBucketMetricsConfigurationResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: DeleteBucketOwnershipControls' :: Maybe Text -> BucketName -> DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: DeleteBucketOwnershipControlsResponse' :: DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: [$sel:bucket:DeleteBucketOwnershipControls'] :: DeleteBucketOwnershipControls -> BucketName
+ Amazonka.S3.DeleteBucketOwnershipControls: [$sel:expectedBucketOwner:DeleteBucketOwnershipControls'] :: DeleteBucketOwnershipControls -> Maybe Text
+ Amazonka.S3.DeleteBucketOwnershipControls: data DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: data DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: deleteBucketOwnershipControls_bucket :: Lens' DeleteBucketOwnershipControls BucketName
+ Amazonka.S3.DeleteBucketOwnershipControls: deleteBucketOwnershipControls_expectedBucketOwner :: Lens' DeleteBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Read.Read Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Read.Read Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Show.Show Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: instance GHC.Show.Show Amazonka.S3.DeleteBucketOwnershipControls.DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketOwnershipControls: newDeleteBucketOwnershipControls :: BucketName -> DeleteBucketOwnershipControls
+ Amazonka.S3.DeleteBucketOwnershipControls: newDeleteBucketOwnershipControlsResponse :: DeleteBucketOwnershipControlsResponse
+ Amazonka.S3.DeleteBucketPolicy: DeleteBucketPolicy' :: Maybe Text -> BucketName -> DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: DeleteBucketPolicyResponse' :: DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: [$sel:bucket:DeleteBucketPolicy'] :: DeleteBucketPolicy -> BucketName
+ Amazonka.S3.DeleteBucketPolicy: [$sel:expectedBucketOwner:DeleteBucketPolicy'] :: DeleteBucketPolicy -> Maybe Text
+ Amazonka.S3.DeleteBucketPolicy: data DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: data DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: deleteBucketPolicy_bucket :: Lens' DeleteBucketPolicy BucketName
+ Amazonka.S3.DeleteBucketPolicy: deleteBucketPolicy_expectedBucketOwner :: Lens' DeleteBucketPolicy (Maybe Text)
+ Amazonka.S3.DeleteBucketPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Read.Read Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Read.Read Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Show.Show Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: instance GHC.Show.Show Amazonka.S3.DeleteBucketPolicy.DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketPolicy: newDeleteBucketPolicy :: BucketName -> DeleteBucketPolicy
+ Amazonka.S3.DeleteBucketPolicy: newDeleteBucketPolicyResponse :: DeleteBucketPolicyResponse
+ Amazonka.S3.DeleteBucketReplication: DeleteBucketReplication' :: Maybe Text -> BucketName -> DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: DeleteBucketReplicationResponse' :: DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: [$sel:bucket:DeleteBucketReplication'] :: DeleteBucketReplication -> BucketName
+ Amazonka.S3.DeleteBucketReplication: [$sel:expectedBucketOwner:DeleteBucketReplication'] :: DeleteBucketReplication -> Maybe Text
+ Amazonka.S3.DeleteBucketReplication: data DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: data DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: deleteBucketReplication_bucket :: Lens' DeleteBucketReplication BucketName
+ Amazonka.S3.DeleteBucketReplication: deleteBucketReplication_expectedBucketOwner :: Lens' DeleteBucketReplication (Maybe Text)
+ Amazonka.S3.DeleteBucketReplication: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Read.Read Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Read.Read Amazonka.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Show.Show Amazonka.S3.DeleteBucketReplication.DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: instance GHC.Show.Show Amazonka.S3.DeleteBucketReplication.DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketReplication: newDeleteBucketReplication :: BucketName -> DeleteBucketReplication
+ Amazonka.S3.DeleteBucketReplication: newDeleteBucketReplicationResponse :: DeleteBucketReplicationResponse
+ Amazonka.S3.DeleteBucketTagging: DeleteBucketTagging' :: Maybe Text -> BucketName -> DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: DeleteBucketTaggingResponse' :: DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: [$sel:bucket:DeleteBucketTagging'] :: DeleteBucketTagging -> BucketName
+ Amazonka.S3.DeleteBucketTagging: [$sel:expectedBucketOwner:DeleteBucketTagging'] :: DeleteBucketTagging -> Maybe Text
+ Amazonka.S3.DeleteBucketTagging: data DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: data DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: deleteBucketTagging_bucket :: Lens' DeleteBucketTagging BucketName
+ Amazonka.S3.DeleteBucketTagging: deleteBucketTagging_expectedBucketOwner :: Lens' DeleteBucketTagging (Maybe Text)
+ Amazonka.S3.DeleteBucketTagging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Read.Read Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Read.Read Amazonka.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Show.Show Amazonka.S3.DeleteBucketTagging.DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: instance GHC.Show.Show Amazonka.S3.DeleteBucketTagging.DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketTagging: newDeleteBucketTagging :: BucketName -> DeleteBucketTagging
+ Amazonka.S3.DeleteBucketTagging: newDeleteBucketTaggingResponse :: DeleteBucketTaggingResponse
+ Amazonka.S3.DeleteBucketWebsite: DeleteBucketWebsite' :: Maybe Text -> BucketName -> DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: DeleteBucketWebsiteResponse' :: DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: [$sel:bucket:DeleteBucketWebsite'] :: DeleteBucketWebsite -> BucketName
+ Amazonka.S3.DeleteBucketWebsite: [$sel:expectedBucketOwner:DeleteBucketWebsite'] :: DeleteBucketWebsite -> Maybe Text
+ Amazonka.S3.DeleteBucketWebsite: data DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: data DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: deleteBucketWebsite_bucket :: Lens' DeleteBucketWebsite BucketName
+ Amazonka.S3.DeleteBucketWebsite: deleteBucketWebsite_expectedBucketOwner :: Lens' DeleteBucketWebsite (Maybe Text)
+ Amazonka.S3.DeleteBucketWebsite: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance Control.DeepSeq.NFData Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Classes.Eq Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Generics.Generic Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Read.Read Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Read.Read Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Show.Show Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: instance GHC.Show.Show Amazonka.S3.DeleteBucketWebsite.DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteBucketWebsite: newDeleteBucketWebsite :: BucketName -> DeleteBucketWebsite
+ Amazonka.S3.DeleteBucketWebsite: newDeleteBucketWebsiteResponse :: DeleteBucketWebsiteResponse
+ Amazonka.S3.DeleteObject: DeleteObject' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> DeleteObject
+ Amazonka.S3.DeleteObject: DeleteObjectResponse' :: Maybe Bool -> Maybe RequestCharged -> Maybe ObjectVersionId -> Int -> DeleteObjectResponse
+ Amazonka.S3.DeleteObject: [$sel:bucket:DeleteObject'] :: DeleteObject -> BucketName
+ Amazonka.S3.DeleteObject: [$sel:bypassGovernanceRetention:DeleteObject'] :: DeleteObject -> Maybe Bool
+ Amazonka.S3.DeleteObject: [$sel:deleteMarker:DeleteObjectResponse'] :: DeleteObjectResponse -> Maybe Bool
+ Amazonka.S3.DeleteObject: [$sel:expectedBucketOwner:DeleteObject'] :: DeleteObject -> Maybe Text
+ Amazonka.S3.DeleteObject: [$sel:httpStatus:DeleteObjectResponse'] :: DeleteObjectResponse -> Int
+ Amazonka.S3.DeleteObject: [$sel:key:DeleteObject'] :: DeleteObject -> ObjectKey
+ Amazonka.S3.DeleteObject: [$sel:mfa:DeleteObject'] :: DeleteObject -> Maybe Text
+ Amazonka.S3.DeleteObject: [$sel:requestCharged:DeleteObjectResponse'] :: DeleteObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.DeleteObject: [$sel:requestPayer:DeleteObject'] :: DeleteObject -> Maybe RequestPayer
+ Amazonka.S3.DeleteObject: [$sel:versionId:DeleteObject'] :: DeleteObject -> Maybe ObjectVersionId
+ Amazonka.S3.DeleteObject: [$sel:versionId:DeleteObjectResponse'] :: DeleteObjectResponse -> Maybe ObjectVersionId
+ Amazonka.S3.DeleteObject: data DeleteObject
+ Amazonka.S3.DeleteObject: data DeleteObjectResponse
+ Amazonka.S3.DeleteObject: deleteObjectResponse_deleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)
+ Amazonka.S3.DeleteObject: deleteObjectResponse_httpStatus :: Lens' DeleteObjectResponse Int
+ Amazonka.S3.DeleteObject: deleteObjectResponse_requestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.DeleteObject: deleteObjectResponse_versionId :: Lens' DeleteObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.DeleteObject: deleteObject_bucket :: Lens' DeleteObject BucketName
+ Amazonka.S3.DeleteObject: deleteObject_bypassGovernanceRetention :: Lens' DeleteObject (Maybe Bool)
+ Amazonka.S3.DeleteObject: deleteObject_expectedBucketOwner :: Lens' DeleteObject (Maybe Text)
+ Amazonka.S3.DeleteObject: deleteObject_key :: Lens' DeleteObject ObjectKey
+ Amazonka.S3.DeleteObject: deleteObject_mfa :: Lens' DeleteObject (Maybe Text)
+ Amazonka.S3.DeleteObject: deleteObject_requestPayer :: Lens' DeleteObject (Maybe RequestPayer)
+ Amazonka.S3.DeleteObject: deleteObject_versionId :: Lens' DeleteObject (Maybe ObjectVersionId)
+ Amazonka.S3.DeleteObject: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance Control.DeepSeq.NFData Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance Control.DeepSeq.NFData Amazonka.S3.DeleteObject.DeleteObjectResponse
+ Amazonka.S3.DeleteObject: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance GHC.Classes.Eq Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance GHC.Classes.Eq Amazonka.S3.DeleteObject.DeleteObjectResponse
+ Amazonka.S3.DeleteObject: instance GHC.Generics.Generic Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance GHC.Generics.Generic Amazonka.S3.DeleteObject.DeleteObjectResponse
+ Amazonka.S3.DeleteObject: instance GHC.Read.Read Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance GHC.Read.Read Amazonka.S3.DeleteObject.DeleteObjectResponse
+ Amazonka.S3.DeleteObject: instance GHC.Show.Show Amazonka.S3.DeleteObject.DeleteObject
+ Amazonka.S3.DeleteObject: instance GHC.Show.Show Amazonka.S3.DeleteObject.DeleteObjectResponse
+ Amazonka.S3.DeleteObject: newDeleteObject :: BucketName -> ObjectKey -> DeleteObject
+ Amazonka.S3.DeleteObject: newDeleteObjectResponse :: Int -> DeleteObjectResponse
+ Amazonka.S3.DeleteObjectTagging: DeleteObjectTagging' :: Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: DeleteObjectTaggingResponse' :: Maybe ObjectVersionId -> Int -> DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: [$sel:bucket:DeleteObjectTagging'] :: DeleteObjectTagging -> BucketName
+ Amazonka.S3.DeleteObjectTagging: [$sel:expectedBucketOwner:DeleteObjectTagging'] :: DeleteObjectTagging -> Maybe Text
+ Amazonka.S3.DeleteObjectTagging: [$sel:httpStatus:DeleteObjectTaggingResponse'] :: DeleteObjectTaggingResponse -> Int
+ Amazonka.S3.DeleteObjectTagging: [$sel:key:DeleteObjectTagging'] :: DeleteObjectTagging -> ObjectKey
+ Amazonka.S3.DeleteObjectTagging: [$sel:versionId:DeleteObjectTagging'] :: DeleteObjectTagging -> Maybe ObjectVersionId
+ Amazonka.S3.DeleteObjectTagging: [$sel:versionId:DeleteObjectTaggingResponse'] :: DeleteObjectTaggingResponse -> Maybe ObjectVersionId
+ Amazonka.S3.DeleteObjectTagging: data DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: data DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: deleteObjectTaggingResponse_httpStatus :: Lens' DeleteObjectTaggingResponse Int
+ Amazonka.S3.DeleteObjectTagging: deleteObjectTaggingResponse_versionId :: Lens' DeleteObjectTaggingResponse (Maybe ObjectVersionId)
+ Amazonka.S3.DeleteObjectTagging: deleteObjectTagging_bucket :: Lens' DeleteObjectTagging BucketName
+ Amazonka.S3.DeleteObjectTagging: deleteObjectTagging_expectedBucketOwner :: Lens' DeleteObjectTagging (Maybe Text)
+ Amazonka.S3.DeleteObjectTagging: deleteObjectTagging_key :: Lens' DeleteObjectTagging ObjectKey
+ Amazonka.S3.DeleteObjectTagging: deleteObjectTagging_versionId :: Lens' DeleteObjectTagging (Maybe ObjectVersionId)
+ Amazonka.S3.DeleteObjectTagging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance Control.DeepSeq.NFData Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance Control.DeepSeq.NFData Amazonka.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Classes.Eq Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Classes.Eq Amazonka.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Generics.Generic Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Generics.Generic Amazonka.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Read.Read Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Read.Read Amazonka.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Show.Show Amazonka.S3.DeleteObjectTagging.DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: instance GHC.Show.Show Amazonka.S3.DeleteObjectTagging.DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjectTagging: newDeleteObjectTagging :: BucketName -> ObjectKey -> DeleteObjectTagging
+ Amazonka.S3.DeleteObjectTagging: newDeleteObjectTaggingResponse :: Int -> DeleteObjectTaggingResponse
+ Amazonka.S3.DeleteObjects: DeleteObjects' :: Maybe Bool -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> BucketName -> Delete -> DeleteObjects
+ Amazonka.S3.DeleteObjects: DeleteObjectsResponse' :: Maybe [DeletedObject] -> Maybe [S3ServiceError] -> Maybe RequestCharged -> Int -> DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: [$sel:bucket:DeleteObjects'] :: DeleteObjects -> BucketName
+ Amazonka.S3.DeleteObjects: [$sel:bypassGovernanceRetention:DeleteObjects'] :: DeleteObjects -> Maybe Bool
+ Amazonka.S3.DeleteObjects: [$sel:checksumAlgorithm:DeleteObjects'] :: DeleteObjects -> Maybe ChecksumAlgorithm
+ Amazonka.S3.DeleteObjects: [$sel:delete':DeleteObjects'] :: DeleteObjects -> Delete
+ Amazonka.S3.DeleteObjects: [$sel:deleted:DeleteObjectsResponse'] :: DeleteObjectsResponse -> Maybe [DeletedObject]
+ Amazonka.S3.DeleteObjects: [$sel:errors:DeleteObjectsResponse'] :: DeleteObjectsResponse -> Maybe [S3ServiceError]
+ Amazonka.S3.DeleteObjects: [$sel:expectedBucketOwner:DeleteObjects'] :: DeleteObjects -> Maybe Text
+ Amazonka.S3.DeleteObjects: [$sel:httpStatus:DeleteObjectsResponse'] :: DeleteObjectsResponse -> Int
+ Amazonka.S3.DeleteObjects: [$sel:mfa:DeleteObjects'] :: DeleteObjects -> Maybe Text
+ Amazonka.S3.DeleteObjects: [$sel:requestCharged:DeleteObjectsResponse'] :: DeleteObjectsResponse -> Maybe RequestCharged
+ Amazonka.S3.DeleteObjects: [$sel:requestPayer:DeleteObjects'] :: DeleteObjects -> Maybe RequestPayer
+ Amazonka.S3.DeleteObjects: data DeleteObjects
+ Amazonka.S3.DeleteObjects: data DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: deleteObjectsResponse_deleted :: Lens' DeleteObjectsResponse (Maybe [DeletedObject])
+ Amazonka.S3.DeleteObjects: deleteObjectsResponse_errors :: Lens' DeleteObjectsResponse (Maybe [S3ServiceError])
+ Amazonka.S3.DeleteObjects: deleteObjectsResponse_httpStatus :: Lens' DeleteObjectsResponse Int
+ Amazonka.S3.DeleteObjects: deleteObjectsResponse_requestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)
+ Amazonka.S3.DeleteObjects: deleteObjects_bucket :: Lens' DeleteObjects BucketName
+ Amazonka.S3.DeleteObjects: deleteObjects_bypassGovernanceRetention :: Lens' DeleteObjects (Maybe Bool)
+ Amazonka.S3.DeleteObjects: deleteObjects_checksumAlgorithm :: Lens' DeleteObjects (Maybe ChecksumAlgorithm)
+ Amazonka.S3.DeleteObjects: deleteObjects_delete :: Lens' DeleteObjects Delete
+ Amazonka.S3.DeleteObjects: deleteObjects_expectedBucketOwner :: Lens' DeleteObjects (Maybe Text)
+ Amazonka.S3.DeleteObjects: deleteObjects_mfa :: Lens' DeleteObjects (Maybe Text)
+ Amazonka.S3.DeleteObjects: deleteObjects_requestPayer :: Lens' DeleteObjects (Maybe RequestPayer)
+ Amazonka.S3.DeleteObjects: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance Amazonka.Data.XML.ToElement Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance Amazonka.Types.AWSRequest Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance Control.DeepSeq.NFData Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance Control.DeepSeq.NFData Amazonka.S3.DeleteObjects.DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: instance Data.Hashable.Class.Hashable Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance GHC.Classes.Eq Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance GHC.Classes.Eq Amazonka.S3.DeleteObjects.DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: instance GHC.Generics.Generic Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance GHC.Generics.Generic Amazonka.S3.DeleteObjects.DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: instance GHC.Read.Read Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance GHC.Read.Read Amazonka.S3.DeleteObjects.DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: instance GHC.Show.Show Amazonka.S3.DeleteObjects.DeleteObjects
+ Amazonka.S3.DeleteObjects: instance GHC.Show.Show Amazonka.S3.DeleteObjects.DeleteObjectsResponse
+ Amazonka.S3.DeleteObjects: newDeleteObjects :: BucketName -> Delete -> DeleteObjects
+ Amazonka.S3.DeleteObjects: newDeleteObjectsResponse :: Int -> DeleteObjectsResponse
+ Amazonka.S3.DeletePublicAccessBlock: DeletePublicAccessBlock' :: Maybe Text -> BucketName -> DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: DeletePublicAccessBlockResponse' :: DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: [$sel:bucket:DeletePublicAccessBlock'] :: DeletePublicAccessBlock -> BucketName
+ Amazonka.S3.DeletePublicAccessBlock: [$sel:expectedBucketOwner:DeletePublicAccessBlock'] :: DeletePublicAccessBlock -> Maybe Text
+ Amazonka.S3.DeletePublicAccessBlock: data DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: data DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: deletePublicAccessBlock_bucket :: Lens' DeletePublicAccessBlock BucketName
+ Amazonka.S3.DeletePublicAccessBlock: deletePublicAccessBlock_expectedBucketOwner :: Lens' DeletePublicAccessBlock (Maybe Text)
+ Amazonka.S3.DeletePublicAccessBlock: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance Amazonka.Data.Path.ToPath Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance Amazonka.Data.Query.ToQuery Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance Amazonka.Types.AWSRequest Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance Control.DeepSeq.NFData Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance Control.DeepSeq.NFData Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: instance Data.Hashable.Class.Hashable Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Classes.Eq Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Classes.Eq Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Generics.Generic Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Generics.Generic Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Read.Read Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Read.Read Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Show.Show Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: instance GHC.Show.Show Amazonka.S3.DeletePublicAccessBlock.DeletePublicAccessBlockResponse
+ Amazonka.S3.DeletePublicAccessBlock: newDeletePublicAccessBlock :: BucketName -> DeletePublicAccessBlock
+ Amazonka.S3.DeletePublicAccessBlock: newDeletePublicAccessBlockResponse :: DeletePublicAccessBlockResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: GetBucketAccelerateConfiguration' :: Maybe Text -> BucketName -> GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: GetBucketAccelerateConfigurationResponse' :: Maybe BucketAccelerateStatus -> Int -> GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: [$sel:bucket:GetBucketAccelerateConfiguration'] :: GetBucketAccelerateConfiguration -> BucketName
+ Amazonka.S3.GetBucketAccelerateConfiguration: [$sel:expectedBucketOwner:GetBucketAccelerateConfiguration'] :: GetBucketAccelerateConfiguration -> Maybe Text
+ Amazonka.S3.GetBucketAccelerateConfiguration: [$sel:httpStatus:GetBucketAccelerateConfigurationResponse'] :: GetBucketAccelerateConfigurationResponse -> Int
+ Amazonka.S3.GetBucketAccelerateConfiguration: [$sel:status:GetBucketAccelerateConfigurationResponse'] :: GetBucketAccelerateConfigurationResponse -> Maybe BucketAccelerateStatus
+ Amazonka.S3.GetBucketAccelerateConfiguration: data GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: data GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: getBucketAccelerateConfigurationResponse_httpStatus :: Lens' GetBucketAccelerateConfigurationResponse Int
+ Amazonka.S3.GetBucketAccelerateConfiguration: getBucketAccelerateConfigurationResponse_status :: Lens' GetBucketAccelerateConfigurationResponse (Maybe BucketAccelerateStatus)
+ Amazonka.S3.GetBucketAccelerateConfiguration: getBucketAccelerateConfiguration_bucket :: Lens' GetBucketAccelerateConfiguration BucketName
+ Amazonka.S3.GetBucketAccelerateConfiguration: getBucketAccelerateConfiguration_expectedBucketOwner :: Lens' GetBucketAccelerateConfiguration (Maybe Text)
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketAccelerateConfiguration.GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAccelerateConfiguration: newGetBucketAccelerateConfiguration :: BucketName -> GetBucketAccelerateConfiguration
+ Amazonka.S3.GetBucketAccelerateConfiguration: newGetBucketAccelerateConfigurationResponse :: Int -> GetBucketAccelerateConfigurationResponse
+ Amazonka.S3.GetBucketAcl: GetBucketAcl' :: Maybe Text -> BucketName -> GetBucketAcl
+ Amazonka.S3.GetBucketAcl: GetBucketAclResponse' :: Maybe [Grant] -> Maybe Owner -> Int -> GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: [$sel:bucket:GetBucketAcl'] :: GetBucketAcl -> BucketName
+ Amazonka.S3.GetBucketAcl: [$sel:expectedBucketOwner:GetBucketAcl'] :: GetBucketAcl -> Maybe Text
+ Amazonka.S3.GetBucketAcl: [$sel:grants:GetBucketAclResponse'] :: GetBucketAclResponse -> Maybe [Grant]
+ Amazonka.S3.GetBucketAcl: [$sel:httpStatus:GetBucketAclResponse'] :: GetBucketAclResponse -> Int
+ Amazonka.S3.GetBucketAcl: [$sel:owner:GetBucketAclResponse'] :: GetBucketAclResponse -> Maybe Owner
+ Amazonka.S3.GetBucketAcl: data GetBucketAcl
+ Amazonka.S3.GetBucketAcl: data GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: getBucketAclResponse_grants :: Lens' GetBucketAclResponse (Maybe [Grant])
+ Amazonka.S3.GetBucketAcl: getBucketAclResponse_httpStatus :: Lens' GetBucketAclResponse Int
+ Amazonka.S3.GetBucketAcl: getBucketAclResponse_owner :: Lens' GetBucketAclResponse (Maybe Owner)
+ Amazonka.S3.GetBucketAcl: getBucketAcl_bucket :: Lens' GetBucketAcl BucketName
+ Amazonka.S3.GetBucketAcl: getBucketAcl_expectedBucketOwner :: Lens' GetBucketAcl (Maybe Text)
+ Amazonka.S3.GetBucketAcl: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketAcl.GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance GHC.Classes.Eq Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance GHC.Classes.Eq Amazonka.S3.GetBucketAcl.GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: instance GHC.Generics.Generic Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance GHC.Generics.Generic Amazonka.S3.GetBucketAcl.GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: instance GHC.Read.Read Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance GHC.Read.Read Amazonka.S3.GetBucketAcl.GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: instance GHC.Show.Show Amazonka.S3.GetBucketAcl.GetBucketAcl
+ Amazonka.S3.GetBucketAcl: instance GHC.Show.Show Amazonka.S3.GetBucketAcl.GetBucketAclResponse
+ Amazonka.S3.GetBucketAcl: newGetBucketAcl :: BucketName -> GetBucketAcl
+ Amazonka.S3.GetBucketAcl: newGetBucketAclResponse :: Int -> GetBucketAclResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: GetBucketAnalyticsConfiguration' :: Maybe Text -> BucketName -> Text -> GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: GetBucketAnalyticsConfigurationResponse' :: Maybe AnalyticsConfiguration -> Int -> GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: [$sel:analyticsConfiguration:GetBucketAnalyticsConfigurationResponse'] :: GetBucketAnalyticsConfigurationResponse -> Maybe AnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: [$sel:bucket:GetBucketAnalyticsConfiguration'] :: GetBucketAnalyticsConfiguration -> BucketName
+ Amazonka.S3.GetBucketAnalyticsConfiguration: [$sel:expectedBucketOwner:GetBucketAnalyticsConfiguration'] :: GetBucketAnalyticsConfiguration -> Maybe Text
+ Amazonka.S3.GetBucketAnalyticsConfiguration: [$sel:httpStatus:GetBucketAnalyticsConfigurationResponse'] :: GetBucketAnalyticsConfigurationResponse -> Int
+ Amazonka.S3.GetBucketAnalyticsConfiguration: [$sel:id:GetBucketAnalyticsConfiguration'] :: GetBucketAnalyticsConfiguration -> Text
+ Amazonka.S3.GetBucketAnalyticsConfiguration: data GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: data GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfigurationResponse_analyticsConfiguration :: Lens' GetBucketAnalyticsConfigurationResponse (Maybe AnalyticsConfiguration)
+ Amazonka.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfigurationResponse_httpStatus :: Lens' GetBucketAnalyticsConfigurationResponse Int
+ Amazonka.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfiguration_bucket :: Lens' GetBucketAnalyticsConfiguration BucketName
+ Amazonka.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' GetBucketAnalyticsConfiguration (Maybe Text)
+ Amazonka.S3.GetBucketAnalyticsConfiguration: getBucketAnalyticsConfiguration_id :: Lens' GetBucketAnalyticsConfiguration Text
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketAnalyticsConfiguration.GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketAnalyticsConfiguration: newGetBucketAnalyticsConfiguration :: BucketName -> Text -> GetBucketAnalyticsConfiguration
+ Amazonka.S3.GetBucketAnalyticsConfiguration: newGetBucketAnalyticsConfigurationResponse :: Int -> GetBucketAnalyticsConfigurationResponse
+ Amazonka.S3.GetBucketCors: GetBucketCors' :: Maybe Text -> BucketName -> GetBucketCors
+ Amazonka.S3.GetBucketCors: GetBucketCorsResponse' :: Maybe [CORSRule] -> Int -> GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: [$sel:bucket:GetBucketCors'] :: GetBucketCors -> BucketName
+ Amazonka.S3.GetBucketCors: [$sel:cORSRules:GetBucketCorsResponse'] :: GetBucketCorsResponse -> Maybe [CORSRule]
+ Amazonka.S3.GetBucketCors: [$sel:expectedBucketOwner:GetBucketCors'] :: GetBucketCors -> Maybe Text
+ Amazonka.S3.GetBucketCors: [$sel:httpStatus:GetBucketCorsResponse'] :: GetBucketCorsResponse -> Int
+ Amazonka.S3.GetBucketCors: data GetBucketCors
+ Amazonka.S3.GetBucketCors: data GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: getBucketCorsResponse_cORSRules :: Lens' GetBucketCorsResponse (Maybe [CORSRule])
+ Amazonka.S3.GetBucketCors: getBucketCorsResponse_httpStatus :: Lens' GetBucketCorsResponse Int
+ Amazonka.S3.GetBucketCors: getBucketCors_bucket :: Lens' GetBucketCors BucketName
+ Amazonka.S3.GetBucketCors: getBucketCors_expectedBucketOwner :: Lens' GetBucketCors (Maybe Text)
+ Amazonka.S3.GetBucketCors: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketCors.GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance GHC.Classes.Eq Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance GHC.Classes.Eq Amazonka.S3.GetBucketCors.GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: instance GHC.Generics.Generic Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance GHC.Generics.Generic Amazonka.S3.GetBucketCors.GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: instance GHC.Read.Read Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance GHC.Read.Read Amazonka.S3.GetBucketCors.GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: instance GHC.Show.Show Amazonka.S3.GetBucketCors.GetBucketCors
+ Amazonka.S3.GetBucketCors: instance GHC.Show.Show Amazonka.S3.GetBucketCors.GetBucketCorsResponse
+ Amazonka.S3.GetBucketCors: newGetBucketCors :: BucketName -> GetBucketCors
+ Amazonka.S3.GetBucketCors: newGetBucketCorsResponse :: Int -> GetBucketCorsResponse
+ Amazonka.S3.GetBucketEncryption: GetBucketEncryption' :: Maybe Text -> BucketName -> GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: GetBucketEncryptionResponse' :: Maybe ServerSideEncryptionConfiguration -> Int -> GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketEncryption: [$sel:bucket:GetBucketEncryption'] :: GetBucketEncryption -> BucketName
+ Amazonka.S3.GetBucketEncryption: [$sel:expectedBucketOwner:GetBucketEncryption'] :: GetBucketEncryption -> Maybe Text
+ Amazonka.S3.GetBucketEncryption: [$sel:httpStatus:GetBucketEncryptionResponse'] :: GetBucketEncryptionResponse -> Int
+ Amazonka.S3.GetBucketEncryption: [$sel:serverSideEncryptionConfiguration:GetBucketEncryptionResponse'] :: GetBucketEncryptionResponse -> Maybe ServerSideEncryptionConfiguration
+ Amazonka.S3.GetBucketEncryption: data GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: data GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketEncryption: getBucketEncryptionResponse_httpStatus :: Lens' GetBucketEncryptionResponse Int
+ Amazonka.S3.GetBucketEncryption: getBucketEncryptionResponse_serverSideEncryptionConfiguration :: Lens' GetBucketEncryptionResponse (Maybe ServerSideEncryptionConfiguration)
+ Amazonka.S3.GetBucketEncryption: getBucketEncryption_bucket :: Lens' GetBucketEncryption BucketName
+ Amazonka.S3.GetBucketEncryption: getBucketEncryption_expectedBucketOwner :: Lens' GetBucketEncryption (Maybe Text)
+ Amazonka.S3.GetBucketEncryption: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketEncryption.GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketEncryption: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance GHC.Classes.Eq Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance GHC.Classes.Eq Amazonka.S3.GetBucketEncryption.GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketEncryption: instance GHC.Generics.Generic Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance GHC.Generics.Generic Amazonka.S3.GetBucketEncryption.GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketEncryption: instance GHC.Read.Read Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance GHC.Show.Show Amazonka.S3.GetBucketEncryption.GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: instance GHC.Show.Show Amazonka.S3.GetBucketEncryption.GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketEncryption: newGetBucketEncryption :: BucketName -> GetBucketEncryption
+ Amazonka.S3.GetBucketEncryption: newGetBucketEncryptionResponse :: Int -> GetBucketEncryptionResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: GetBucketIntelligentTieringConfiguration' :: BucketName -> Text -> GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: GetBucketIntelligentTieringConfigurationResponse' :: Maybe IntelligentTieringConfiguration -> Int -> GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: [$sel:bucket:GetBucketIntelligentTieringConfiguration'] :: GetBucketIntelligentTieringConfiguration -> BucketName
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: [$sel:httpStatus:GetBucketIntelligentTieringConfigurationResponse'] :: GetBucketIntelligentTieringConfigurationResponse -> Int
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: [$sel:id:GetBucketIntelligentTieringConfiguration'] :: GetBucketIntelligentTieringConfiguration -> Text
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: [$sel:intelligentTieringConfiguration:GetBucketIntelligentTieringConfigurationResponse'] :: GetBucketIntelligentTieringConfigurationResponse -> Maybe IntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: data GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: data GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: getBucketIntelligentTieringConfigurationResponse_httpStatus :: Lens' GetBucketIntelligentTieringConfigurationResponse Int
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration :: Lens' GetBucketIntelligentTieringConfigurationResponse (Maybe IntelligentTieringConfiguration)
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: getBucketIntelligentTieringConfiguration_bucket :: Lens' GetBucketIntelligentTieringConfiguration BucketName
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: getBucketIntelligentTieringConfiguration_id :: Lens' GetBucketIntelligentTieringConfiguration Text
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketIntelligentTieringConfiguration.GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: newGetBucketIntelligentTieringConfiguration :: BucketName -> Text -> GetBucketIntelligentTieringConfiguration
+ Amazonka.S3.GetBucketIntelligentTieringConfiguration: newGetBucketIntelligentTieringConfigurationResponse :: Int -> GetBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: GetBucketInventoryConfiguration' :: Maybe Text -> BucketName -> Text -> GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: GetBucketInventoryConfigurationResponse' :: Maybe InventoryConfiguration -> Int -> GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: [$sel:bucket:GetBucketInventoryConfiguration'] :: GetBucketInventoryConfiguration -> BucketName
+ Amazonka.S3.GetBucketInventoryConfiguration: [$sel:expectedBucketOwner:GetBucketInventoryConfiguration'] :: GetBucketInventoryConfiguration -> Maybe Text
+ Amazonka.S3.GetBucketInventoryConfiguration: [$sel:httpStatus:GetBucketInventoryConfigurationResponse'] :: GetBucketInventoryConfigurationResponse -> Int
+ Amazonka.S3.GetBucketInventoryConfiguration: [$sel:id:GetBucketInventoryConfiguration'] :: GetBucketInventoryConfiguration -> Text
+ Amazonka.S3.GetBucketInventoryConfiguration: [$sel:inventoryConfiguration:GetBucketInventoryConfigurationResponse'] :: GetBucketInventoryConfigurationResponse -> Maybe InventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: data GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: data GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: getBucketInventoryConfigurationResponse_httpStatus :: Lens' GetBucketInventoryConfigurationResponse Int
+ Amazonka.S3.GetBucketInventoryConfiguration: getBucketInventoryConfigurationResponse_inventoryConfiguration :: Lens' GetBucketInventoryConfigurationResponse (Maybe InventoryConfiguration)
+ Amazonka.S3.GetBucketInventoryConfiguration: getBucketInventoryConfiguration_bucket :: Lens' GetBucketInventoryConfiguration BucketName
+ Amazonka.S3.GetBucketInventoryConfiguration: getBucketInventoryConfiguration_expectedBucketOwner :: Lens' GetBucketInventoryConfiguration (Maybe Text)
+ Amazonka.S3.GetBucketInventoryConfiguration: getBucketInventoryConfiguration_id :: Lens' GetBucketInventoryConfiguration Text
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketInventoryConfiguration.GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketInventoryConfiguration: newGetBucketInventoryConfiguration :: BucketName -> Text -> GetBucketInventoryConfiguration
+ Amazonka.S3.GetBucketInventoryConfiguration: newGetBucketInventoryConfigurationResponse :: Int -> GetBucketInventoryConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: GetBucketLifecycleConfiguration' :: Maybe Text -> BucketName -> GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: GetBucketLifecycleConfigurationResponse' :: Maybe [LifecycleRule] -> Int -> GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: [$sel:bucket:GetBucketLifecycleConfiguration'] :: GetBucketLifecycleConfiguration -> BucketName
+ Amazonka.S3.GetBucketLifecycleConfiguration: [$sel:expectedBucketOwner:GetBucketLifecycleConfiguration'] :: GetBucketLifecycleConfiguration -> Maybe Text
+ Amazonka.S3.GetBucketLifecycleConfiguration: [$sel:httpStatus:GetBucketLifecycleConfigurationResponse'] :: GetBucketLifecycleConfigurationResponse -> Int
+ Amazonka.S3.GetBucketLifecycleConfiguration: [$sel:rules:GetBucketLifecycleConfigurationResponse'] :: GetBucketLifecycleConfigurationResponse -> Maybe [LifecycleRule]
+ Amazonka.S3.GetBucketLifecycleConfiguration: data GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: data GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: getBucketLifecycleConfigurationResponse_httpStatus :: Lens' GetBucketLifecycleConfigurationResponse Int
+ Amazonka.S3.GetBucketLifecycleConfiguration: getBucketLifecycleConfigurationResponse_rules :: Lens' GetBucketLifecycleConfigurationResponse (Maybe [LifecycleRule])
+ Amazonka.S3.GetBucketLifecycleConfiguration: getBucketLifecycleConfiguration_bucket :: Lens' GetBucketLifecycleConfiguration BucketName
+ Amazonka.S3.GetBucketLifecycleConfiguration: getBucketLifecycleConfiguration_expectedBucketOwner :: Lens' GetBucketLifecycleConfiguration (Maybe Text)
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketLifecycleConfiguration.GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLifecycleConfiguration: newGetBucketLifecycleConfiguration :: BucketName -> GetBucketLifecycleConfiguration
+ Amazonka.S3.GetBucketLifecycleConfiguration: newGetBucketLifecycleConfigurationResponse :: Int -> GetBucketLifecycleConfigurationResponse
+ Amazonka.S3.GetBucketLocation: GetBucketLocation' :: Maybe Text -> BucketName -> GetBucketLocation
+ Amazonka.S3.GetBucketLocation: GetBucketLocationResponse' :: Int -> LocationConstraint -> GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: [$sel:bucket:GetBucketLocation'] :: GetBucketLocation -> BucketName
+ Amazonka.S3.GetBucketLocation: [$sel:expectedBucketOwner:GetBucketLocation'] :: GetBucketLocation -> Maybe Text
+ Amazonka.S3.GetBucketLocation: [$sel:httpStatus:GetBucketLocationResponse'] :: GetBucketLocationResponse -> Int
+ Amazonka.S3.GetBucketLocation: [$sel:locationConstraint:GetBucketLocationResponse'] :: GetBucketLocationResponse -> LocationConstraint
+ Amazonka.S3.GetBucketLocation: data GetBucketLocation
+ Amazonka.S3.GetBucketLocation: data GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: getBucketLocationResponse_httpStatus :: Lens' GetBucketLocationResponse Int
+ Amazonka.S3.GetBucketLocation: getBucketLocationResponse_locationConstraint :: Lens' GetBucketLocationResponse LocationConstraint
+ Amazonka.S3.GetBucketLocation: getBucketLocation_bucket :: Lens' GetBucketLocation BucketName
+ Amazonka.S3.GetBucketLocation: getBucketLocation_expectedBucketOwner :: Lens' GetBucketLocation (Maybe Text)
+ Amazonka.S3.GetBucketLocation: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketLocation.GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance GHC.Classes.Eq Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance GHC.Classes.Eq Amazonka.S3.GetBucketLocation.GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: instance GHC.Generics.Generic Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance GHC.Generics.Generic Amazonka.S3.GetBucketLocation.GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: instance GHC.Read.Read Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance GHC.Read.Read Amazonka.S3.GetBucketLocation.GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: instance GHC.Show.Show Amazonka.S3.GetBucketLocation.GetBucketLocation
+ Amazonka.S3.GetBucketLocation: instance GHC.Show.Show Amazonka.S3.GetBucketLocation.GetBucketLocationResponse
+ Amazonka.S3.GetBucketLocation: newGetBucketLocation :: BucketName -> GetBucketLocation
+ Amazonka.S3.GetBucketLocation: newGetBucketLocationResponse :: Int -> LocationConstraint -> GetBucketLocationResponse
+ Amazonka.S3.GetBucketLogging: GetBucketLogging' :: Maybe Text -> BucketName -> GetBucketLogging
+ Amazonka.S3.GetBucketLogging: GetBucketLoggingResponse' :: Maybe LoggingEnabled -> Int -> GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: [$sel:bucket:GetBucketLogging'] :: GetBucketLogging -> BucketName
+ Amazonka.S3.GetBucketLogging: [$sel:expectedBucketOwner:GetBucketLogging'] :: GetBucketLogging -> Maybe Text
+ Amazonka.S3.GetBucketLogging: [$sel:httpStatus:GetBucketLoggingResponse'] :: GetBucketLoggingResponse -> Int
+ Amazonka.S3.GetBucketLogging: [$sel:loggingEnabled:GetBucketLoggingResponse'] :: GetBucketLoggingResponse -> Maybe LoggingEnabled
+ Amazonka.S3.GetBucketLogging: data GetBucketLogging
+ Amazonka.S3.GetBucketLogging: data GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: getBucketLoggingResponse_httpStatus :: Lens' GetBucketLoggingResponse Int
+ Amazonka.S3.GetBucketLogging: getBucketLoggingResponse_loggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)
+ Amazonka.S3.GetBucketLogging: getBucketLogging_bucket :: Lens' GetBucketLogging BucketName
+ Amazonka.S3.GetBucketLogging: getBucketLogging_expectedBucketOwner :: Lens' GetBucketLogging (Maybe Text)
+ Amazonka.S3.GetBucketLogging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketLogging.GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance GHC.Classes.Eq Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance GHC.Classes.Eq Amazonka.S3.GetBucketLogging.GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: instance GHC.Generics.Generic Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance GHC.Generics.Generic Amazonka.S3.GetBucketLogging.GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: instance GHC.Read.Read Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance GHC.Read.Read Amazonka.S3.GetBucketLogging.GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: instance GHC.Show.Show Amazonka.S3.GetBucketLogging.GetBucketLogging
+ Amazonka.S3.GetBucketLogging: instance GHC.Show.Show Amazonka.S3.GetBucketLogging.GetBucketLoggingResponse
+ Amazonka.S3.GetBucketLogging: newGetBucketLogging :: BucketName -> GetBucketLogging
+ Amazonka.S3.GetBucketLogging: newGetBucketLoggingResponse :: Int -> GetBucketLoggingResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: GetBucketMetricsConfiguration' :: Maybe Text -> BucketName -> Text -> GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: GetBucketMetricsConfigurationResponse' :: Maybe MetricsConfiguration -> Int -> GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: [$sel:bucket:GetBucketMetricsConfiguration'] :: GetBucketMetricsConfiguration -> BucketName
+ Amazonka.S3.GetBucketMetricsConfiguration: [$sel:expectedBucketOwner:GetBucketMetricsConfiguration'] :: GetBucketMetricsConfiguration -> Maybe Text
+ Amazonka.S3.GetBucketMetricsConfiguration: [$sel:httpStatus:GetBucketMetricsConfigurationResponse'] :: GetBucketMetricsConfigurationResponse -> Int
+ Amazonka.S3.GetBucketMetricsConfiguration: [$sel:id:GetBucketMetricsConfiguration'] :: GetBucketMetricsConfiguration -> Text
+ Amazonka.S3.GetBucketMetricsConfiguration: [$sel:metricsConfiguration:GetBucketMetricsConfigurationResponse'] :: GetBucketMetricsConfigurationResponse -> Maybe MetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: data GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: data GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: getBucketMetricsConfigurationResponse_httpStatus :: Lens' GetBucketMetricsConfigurationResponse Int
+ Amazonka.S3.GetBucketMetricsConfiguration: getBucketMetricsConfigurationResponse_metricsConfiguration :: Lens' GetBucketMetricsConfigurationResponse (Maybe MetricsConfiguration)
+ Amazonka.S3.GetBucketMetricsConfiguration: getBucketMetricsConfiguration_bucket :: Lens' GetBucketMetricsConfiguration BucketName
+ Amazonka.S3.GetBucketMetricsConfiguration: getBucketMetricsConfiguration_expectedBucketOwner :: Lens' GetBucketMetricsConfiguration (Maybe Text)
+ Amazonka.S3.GetBucketMetricsConfiguration: getBucketMetricsConfiguration_id :: Lens' GetBucketMetricsConfiguration Text
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketMetricsConfiguration.GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketMetricsConfiguration: newGetBucketMetricsConfiguration :: BucketName -> Text -> GetBucketMetricsConfiguration
+ Amazonka.S3.GetBucketMetricsConfiguration: newGetBucketMetricsConfigurationResponse :: Int -> GetBucketMetricsConfigurationResponse
+ Amazonka.S3.GetBucketNotificationConfiguration: GetBucketNotificationConfiguration' :: Maybe Text -> BucketName -> GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: NotificationConfiguration' :: Maybe EventBridgeConfiguration -> Maybe [LambdaFunctionConfiguration] -> Maybe [QueueConfiguration] -> Maybe [TopicConfiguration] -> NotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: [$sel:bucket:GetBucketNotificationConfiguration'] :: GetBucketNotificationConfiguration -> BucketName
+ Amazonka.S3.GetBucketNotificationConfiguration: [$sel:eventBridgeConfiguration:NotificationConfiguration'] :: NotificationConfiguration -> Maybe EventBridgeConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: [$sel:expectedBucketOwner:GetBucketNotificationConfiguration'] :: GetBucketNotificationConfiguration -> Maybe Text
+ Amazonka.S3.GetBucketNotificationConfiguration: [$sel:lambdaFunctionConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [LambdaFunctionConfiguration]
+ Amazonka.S3.GetBucketNotificationConfiguration: [$sel:queueConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [QueueConfiguration]
+ Amazonka.S3.GetBucketNotificationConfiguration: [$sel:topicConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [TopicConfiguration]
+ Amazonka.S3.GetBucketNotificationConfiguration: data GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: data NotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: getBucketNotificationConfiguration_bucket :: Lens' GetBucketNotificationConfiguration BucketName
+ Amazonka.S3.GetBucketNotificationConfiguration: getBucketNotificationConfiguration_expectedBucketOwner :: Lens' GetBucketNotificationConfiguration (Maybe Text)
+ Amazonka.S3.GetBucketNotificationConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance GHC.Read.Read Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: instance GHC.Show.Show Amazonka.S3.GetBucketNotificationConfiguration.GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: newGetBucketNotificationConfiguration :: BucketName -> GetBucketNotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: newNotificationConfiguration :: NotificationConfiguration
+ Amazonka.S3.GetBucketNotificationConfiguration: notificationConfiguration_eventBridgeConfiguration :: Lens' NotificationConfiguration (Maybe EventBridgeConfiguration)
+ Amazonka.S3.GetBucketNotificationConfiguration: notificationConfiguration_lambdaFunctionConfigurations :: Lens' NotificationConfiguration (Maybe [LambdaFunctionConfiguration])
+ Amazonka.S3.GetBucketNotificationConfiguration: notificationConfiguration_queueConfigurations :: Lens' NotificationConfiguration (Maybe [QueueConfiguration])
+ Amazonka.S3.GetBucketNotificationConfiguration: notificationConfiguration_topicConfigurations :: Lens' NotificationConfiguration (Maybe [TopicConfiguration])
+ Amazonka.S3.GetBucketOwnershipControls: GetBucketOwnershipControls' :: Maybe Text -> BucketName -> GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: GetBucketOwnershipControlsResponse' :: Maybe OwnershipControls -> Int -> GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: [$sel:bucket:GetBucketOwnershipControls'] :: GetBucketOwnershipControls -> BucketName
+ Amazonka.S3.GetBucketOwnershipControls: [$sel:expectedBucketOwner:GetBucketOwnershipControls'] :: GetBucketOwnershipControls -> Maybe Text
+ Amazonka.S3.GetBucketOwnershipControls: [$sel:httpStatus:GetBucketOwnershipControlsResponse'] :: GetBucketOwnershipControlsResponse -> Int
+ Amazonka.S3.GetBucketOwnershipControls: [$sel:ownershipControls:GetBucketOwnershipControlsResponse'] :: GetBucketOwnershipControlsResponse -> Maybe OwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: data GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: data GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: getBucketOwnershipControlsResponse_httpStatus :: Lens' GetBucketOwnershipControlsResponse Int
+ Amazonka.S3.GetBucketOwnershipControls: getBucketOwnershipControlsResponse_ownershipControls :: Lens' GetBucketOwnershipControlsResponse (Maybe OwnershipControls)
+ Amazonka.S3.GetBucketOwnershipControls: getBucketOwnershipControls_bucket :: Lens' GetBucketOwnershipControls BucketName
+ Amazonka.S3.GetBucketOwnershipControls: getBucketOwnershipControls_expectedBucketOwner :: Lens' GetBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.GetBucketOwnershipControls: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Classes.Eq Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Classes.Eq Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Generics.Generic Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Generics.Generic Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Read.Read Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Read.Read Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Show.Show Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: instance GHC.Show.Show Amazonka.S3.GetBucketOwnershipControls.GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketOwnershipControls: newGetBucketOwnershipControls :: BucketName -> GetBucketOwnershipControls
+ Amazonka.S3.GetBucketOwnershipControls: newGetBucketOwnershipControlsResponse :: Int -> GetBucketOwnershipControlsResponse
+ Amazonka.S3.GetBucketPolicy: GetBucketPolicy' :: Maybe Text -> BucketName -> GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: GetBucketPolicyResponse' :: Int -> ByteString -> GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicy: [$sel:bucket:GetBucketPolicy'] :: GetBucketPolicy -> BucketName
+ Amazonka.S3.GetBucketPolicy: [$sel:expectedBucketOwner:GetBucketPolicy'] :: GetBucketPolicy -> Maybe Text
+ Amazonka.S3.GetBucketPolicy: [$sel:httpStatus:GetBucketPolicyResponse'] :: GetBucketPolicyResponse -> Int
+ Amazonka.S3.GetBucketPolicy: [$sel:policy:GetBucketPolicyResponse'] :: GetBucketPolicyResponse -> ByteString
+ Amazonka.S3.GetBucketPolicy: data GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: data GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicy: getBucketPolicyResponse_httpStatus :: Lens' GetBucketPolicyResponse Int
+ Amazonka.S3.GetBucketPolicy: getBucketPolicyResponse_policy :: Lens' GetBucketPolicyResponse ByteString
+ Amazonka.S3.GetBucketPolicy: getBucketPolicy_bucket :: Lens' GetBucketPolicy BucketName
+ Amazonka.S3.GetBucketPolicy: getBucketPolicy_expectedBucketOwner :: Lens' GetBucketPolicy (Maybe Text)
+ Amazonka.S3.GetBucketPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketPolicy.GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicy: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance GHC.Classes.Eq Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance GHC.Classes.Eq Amazonka.S3.GetBucketPolicy.GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicy: instance GHC.Generics.Generic Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance GHC.Generics.Generic Amazonka.S3.GetBucketPolicy.GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicy: instance GHC.Read.Read Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance GHC.Show.Show Amazonka.S3.GetBucketPolicy.GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: instance GHC.Show.Show Amazonka.S3.GetBucketPolicy.GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicy: newGetBucketPolicy :: BucketName -> GetBucketPolicy
+ Amazonka.S3.GetBucketPolicy: newGetBucketPolicyResponse :: Int -> ByteString -> GetBucketPolicyResponse
+ Amazonka.S3.GetBucketPolicyStatus: GetBucketPolicyStatus' :: Maybe Text -> BucketName -> GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: GetBucketPolicyStatusResponse' :: Maybe PolicyStatus -> Int -> GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: [$sel:bucket:GetBucketPolicyStatus'] :: GetBucketPolicyStatus -> BucketName
+ Amazonka.S3.GetBucketPolicyStatus: [$sel:expectedBucketOwner:GetBucketPolicyStatus'] :: GetBucketPolicyStatus -> Maybe Text
+ Amazonka.S3.GetBucketPolicyStatus: [$sel:httpStatus:GetBucketPolicyStatusResponse'] :: GetBucketPolicyStatusResponse -> Int
+ Amazonka.S3.GetBucketPolicyStatus: [$sel:policyStatus:GetBucketPolicyStatusResponse'] :: GetBucketPolicyStatusResponse -> Maybe PolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: data GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: data GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: getBucketPolicyStatusResponse_httpStatus :: Lens' GetBucketPolicyStatusResponse Int
+ Amazonka.S3.GetBucketPolicyStatus: getBucketPolicyStatusResponse_policyStatus :: Lens' GetBucketPolicyStatusResponse (Maybe PolicyStatus)
+ Amazonka.S3.GetBucketPolicyStatus: getBucketPolicyStatus_bucket :: Lens' GetBucketPolicyStatus BucketName
+ Amazonka.S3.GetBucketPolicyStatus: getBucketPolicyStatus_expectedBucketOwner :: Lens' GetBucketPolicyStatus (Maybe Text)
+ Amazonka.S3.GetBucketPolicyStatus: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Classes.Eq Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Classes.Eq Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Generics.Generic Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Generics.Generic Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Read.Read Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Read.Read Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Show.Show Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: instance GHC.Show.Show Amazonka.S3.GetBucketPolicyStatus.GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketPolicyStatus: newGetBucketPolicyStatus :: BucketName -> GetBucketPolicyStatus
+ Amazonka.S3.GetBucketPolicyStatus: newGetBucketPolicyStatusResponse :: Int -> GetBucketPolicyStatusResponse
+ Amazonka.S3.GetBucketReplication: GetBucketReplication' :: Maybe Text -> BucketName -> GetBucketReplication
+ Amazonka.S3.GetBucketReplication: GetBucketReplicationResponse' :: Maybe ReplicationConfiguration -> Int -> GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: [$sel:bucket:GetBucketReplication'] :: GetBucketReplication -> BucketName
+ Amazonka.S3.GetBucketReplication: [$sel:expectedBucketOwner:GetBucketReplication'] :: GetBucketReplication -> Maybe Text
+ Amazonka.S3.GetBucketReplication: [$sel:httpStatus:GetBucketReplicationResponse'] :: GetBucketReplicationResponse -> Int
+ Amazonka.S3.GetBucketReplication: [$sel:replicationConfiguration:GetBucketReplicationResponse'] :: GetBucketReplicationResponse -> Maybe ReplicationConfiguration
+ Amazonka.S3.GetBucketReplication: data GetBucketReplication
+ Amazonka.S3.GetBucketReplication: data GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: getBucketReplicationResponse_httpStatus :: Lens' GetBucketReplicationResponse Int
+ Amazonka.S3.GetBucketReplication: getBucketReplicationResponse_replicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)
+ Amazonka.S3.GetBucketReplication: getBucketReplication_bucket :: Lens' GetBucketReplication BucketName
+ Amazonka.S3.GetBucketReplication: getBucketReplication_expectedBucketOwner :: Lens' GetBucketReplication (Maybe Text)
+ Amazonka.S3.GetBucketReplication: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketReplication.GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance GHC.Classes.Eq Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance GHC.Classes.Eq Amazonka.S3.GetBucketReplication.GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: instance GHC.Generics.Generic Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance GHC.Generics.Generic Amazonka.S3.GetBucketReplication.GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: instance GHC.Read.Read Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance GHC.Read.Read Amazonka.S3.GetBucketReplication.GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: instance GHC.Show.Show Amazonka.S3.GetBucketReplication.GetBucketReplication
+ Amazonka.S3.GetBucketReplication: instance GHC.Show.Show Amazonka.S3.GetBucketReplication.GetBucketReplicationResponse
+ Amazonka.S3.GetBucketReplication: newGetBucketReplication :: BucketName -> GetBucketReplication
+ Amazonka.S3.GetBucketReplication: newGetBucketReplicationResponse :: Int -> GetBucketReplicationResponse
+ Amazonka.S3.GetBucketRequestPayment: GetBucketRequestPayment' :: Maybe Text -> BucketName -> GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: GetBucketRequestPaymentResponse' :: Maybe Payer -> Int -> GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: [$sel:bucket:GetBucketRequestPayment'] :: GetBucketRequestPayment -> BucketName
+ Amazonka.S3.GetBucketRequestPayment: [$sel:expectedBucketOwner:GetBucketRequestPayment'] :: GetBucketRequestPayment -> Maybe Text
+ Amazonka.S3.GetBucketRequestPayment: [$sel:httpStatus:GetBucketRequestPaymentResponse'] :: GetBucketRequestPaymentResponse -> Int
+ Amazonka.S3.GetBucketRequestPayment: [$sel:payer:GetBucketRequestPaymentResponse'] :: GetBucketRequestPaymentResponse -> Maybe Payer
+ Amazonka.S3.GetBucketRequestPayment: data GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: data GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: getBucketRequestPaymentResponse_httpStatus :: Lens' GetBucketRequestPaymentResponse Int
+ Amazonka.S3.GetBucketRequestPayment: getBucketRequestPaymentResponse_payer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)
+ Amazonka.S3.GetBucketRequestPayment: getBucketRequestPayment_bucket :: Lens' GetBucketRequestPayment BucketName
+ Amazonka.S3.GetBucketRequestPayment: getBucketRequestPayment_expectedBucketOwner :: Lens' GetBucketRequestPayment (Maybe Text)
+ Amazonka.S3.GetBucketRequestPayment: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Classes.Eq Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Classes.Eq Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Generics.Generic Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Generics.Generic Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Read.Read Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Read.Read Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Show.Show Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: instance GHC.Show.Show Amazonka.S3.GetBucketRequestPayment.GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketRequestPayment: newGetBucketRequestPayment :: BucketName -> GetBucketRequestPayment
+ Amazonka.S3.GetBucketRequestPayment: newGetBucketRequestPaymentResponse :: Int -> GetBucketRequestPaymentResponse
+ Amazonka.S3.GetBucketTagging: GetBucketTagging' :: Maybe Text -> BucketName -> GetBucketTagging
+ Amazonka.S3.GetBucketTagging: GetBucketTaggingResponse' :: Int -> [Tag] -> GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: [$sel:bucket:GetBucketTagging'] :: GetBucketTagging -> BucketName
+ Amazonka.S3.GetBucketTagging: [$sel:expectedBucketOwner:GetBucketTagging'] :: GetBucketTagging -> Maybe Text
+ Amazonka.S3.GetBucketTagging: [$sel:httpStatus:GetBucketTaggingResponse'] :: GetBucketTaggingResponse -> Int
+ Amazonka.S3.GetBucketTagging: [$sel:tagSet:GetBucketTaggingResponse'] :: GetBucketTaggingResponse -> [Tag]
+ Amazonka.S3.GetBucketTagging: data GetBucketTagging
+ Amazonka.S3.GetBucketTagging: data GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: getBucketTaggingResponse_httpStatus :: Lens' GetBucketTaggingResponse Int
+ Amazonka.S3.GetBucketTagging: getBucketTaggingResponse_tagSet :: Lens' GetBucketTaggingResponse [Tag]
+ Amazonka.S3.GetBucketTagging: getBucketTagging_bucket :: Lens' GetBucketTagging BucketName
+ Amazonka.S3.GetBucketTagging: getBucketTagging_expectedBucketOwner :: Lens' GetBucketTagging (Maybe Text)
+ Amazonka.S3.GetBucketTagging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketTagging.GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance GHC.Classes.Eq Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance GHC.Classes.Eq Amazonka.S3.GetBucketTagging.GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: instance GHC.Generics.Generic Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance GHC.Generics.Generic Amazonka.S3.GetBucketTagging.GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: instance GHC.Read.Read Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance GHC.Read.Read Amazonka.S3.GetBucketTagging.GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: instance GHC.Show.Show Amazonka.S3.GetBucketTagging.GetBucketTagging
+ Amazonka.S3.GetBucketTagging: instance GHC.Show.Show Amazonka.S3.GetBucketTagging.GetBucketTaggingResponse
+ Amazonka.S3.GetBucketTagging: newGetBucketTagging :: BucketName -> GetBucketTagging
+ Amazonka.S3.GetBucketTagging: newGetBucketTaggingResponse :: Int -> GetBucketTaggingResponse
+ Amazonka.S3.GetBucketVersioning: GetBucketVersioning' :: Maybe Text -> BucketName -> GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: GetBucketVersioningResponse' :: Maybe MFADeleteStatus -> Maybe BucketVersioningStatus -> Int -> GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: [$sel:bucket:GetBucketVersioning'] :: GetBucketVersioning -> BucketName
+ Amazonka.S3.GetBucketVersioning: [$sel:expectedBucketOwner:GetBucketVersioning'] :: GetBucketVersioning -> Maybe Text
+ Amazonka.S3.GetBucketVersioning: [$sel:httpStatus:GetBucketVersioningResponse'] :: GetBucketVersioningResponse -> Int
+ Amazonka.S3.GetBucketVersioning: [$sel:mfaDelete:GetBucketVersioningResponse'] :: GetBucketVersioningResponse -> Maybe MFADeleteStatus
+ Amazonka.S3.GetBucketVersioning: [$sel:status:GetBucketVersioningResponse'] :: GetBucketVersioningResponse -> Maybe BucketVersioningStatus
+ Amazonka.S3.GetBucketVersioning: data GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: data GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: getBucketVersioningResponse_httpStatus :: Lens' GetBucketVersioningResponse Int
+ Amazonka.S3.GetBucketVersioning: getBucketVersioningResponse_mfaDelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)
+ Amazonka.S3.GetBucketVersioning: getBucketVersioningResponse_status :: Lens' GetBucketVersioningResponse (Maybe BucketVersioningStatus)
+ Amazonka.S3.GetBucketVersioning: getBucketVersioning_bucket :: Lens' GetBucketVersioning BucketName
+ Amazonka.S3.GetBucketVersioning: getBucketVersioning_expectedBucketOwner :: Lens' GetBucketVersioning (Maybe Text)
+ Amazonka.S3.GetBucketVersioning: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketVersioning.GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance GHC.Classes.Eq Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance GHC.Classes.Eq Amazonka.S3.GetBucketVersioning.GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: instance GHC.Generics.Generic Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance GHC.Generics.Generic Amazonka.S3.GetBucketVersioning.GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: instance GHC.Read.Read Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance GHC.Read.Read Amazonka.S3.GetBucketVersioning.GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: instance GHC.Show.Show Amazonka.S3.GetBucketVersioning.GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: instance GHC.Show.Show Amazonka.S3.GetBucketVersioning.GetBucketVersioningResponse
+ Amazonka.S3.GetBucketVersioning: newGetBucketVersioning :: BucketName -> GetBucketVersioning
+ Amazonka.S3.GetBucketVersioning: newGetBucketVersioningResponse :: Int -> GetBucketVersioningResponse
+ Amazonka.S3.GetBucketWebsite: GetBucketWebsite' :: Maybe Text -> BucketName -> GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: GetBucketWebsiteResponse' :: Maybe ErrorDocument -> Maybe IndexDocument -> Maybe RedirectAllRequestsTo -> Maybe [RoutingRule] -> Int -> GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: [$sel:bucket:GetBucketWebsite'] :: GetBucketWebsite -> BucketName
+ Amazonka.S3.GetBucketWebsite: [$sel:errorDocument:GetBucketWebsiteResponse'] :: GetBucketWebsiteResponse -> Maybe ErrorDocument
+ Amazonka.S3.GetBucketWebsite: [$sel:expectedBucketOwner:GetBucketWebsite'] :: GetBucketWebsite -> Maybe Text
+ Amazonka.S3.GetBucketWebsite: [$sel:httpStatus:GetBucketWebsiteResponse'] :: GetBucketWebsiteResponse -> Int
+ Amazonka.S3.GetBucketWebsite: [$sel:indexDocument:GetBucketWebsiteResponse'] :: GetBucketWebsiteResponse -> Maybe IndexDocument
+ Amazonka.S3.GetBucketWebsite: [$sel:redirectAllRequestsTo:GetBucketWebsiteResponse'] :: GetBucketWebsiteResponse -> Maybe RedirectAllRequestsTo
+ Amazonka.S3.GetBucketWebsite: [$sel:routingRules:GetBucketWebsiteResponse'] :: GetBucketWebsiteResponse -> Maybe [RoutingRule]
+ Amazonka.S3.GetBucketWebsite: data GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: data GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: getBucketWebsiteResponse_errorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)
+ Amazonka.S3.GetBucketWebsite: getBucketWebsiteResponse_httpStatus :: Lens' GetBucketWebsiteResponse Int
+ Amazonka.S3.GetBucketWebsite: getBucketWebsiteResponse_indexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)
+ Amazonka.S3.GetBucketWebsite: getBucketWebsiteResponse_redirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)
+ Amazonka.S3.GetBucketWebsite: getBucketWebsiteResponse_routingRules :: Lens' GetBucketWebsiteResponse (Maybe [RoutingRule])
+ Amazonka.S3.GetBucketWebsite: getBucketWebsite_bucket :: Lens' GetBucketWebsite BucketName
+ Amazonka.S3.GetBucketWebsite: getBucketWebsite_expectedBucketOwner :: Lens' GetBucketWebsite (Maybe Text)
+ Amazonka.S3.GetBucketWebsite: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance Amazonka.Types.AWSRequest Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance Control.DeepSeq.NFData Amazonka.S3.GetBucketWebsite.GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: instance Data.Hashable.Class.Hashable Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance GHC.Classes.Eq Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance GHC.Classes.Eq Amazonka.S3.GetBucketWebsite.GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: instance GHC.Generics.Generic Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance GHC.Generics.Generic Amazonka.S3.GetBucketWebsite.GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: instance GHC.Read.Read Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance GHC.Read.Read Amazonka.S3.GetBucketWebsite.GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: instance GHC.Show.Show Amazonka.S3.GetBucketWebsite.GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: instance GHC.Show.Show Amazonka.S3.GetBucketWebsite.GetBucketWebsiteResponse
+ Amazonka.S3.GetBucketWebsite: newGetBucketWebsite :: BucketName -> GetBucketWebsite
+ Amazonka.S3.GetBucketWebsite: newGetBucketWebsiteResponse :: Int -> GetBucketWebsiteResponse
+ Amazonka.S3.GetObject: GetObject' :: Maybe ChecksumMode -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObject
+ Amazonka.S3.GetObject: GetObjectResponse' :: Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe ETag -> Maybe Text -> Maybe RFC822 -> Maybe RFC822 -> HashMap Text Text -> Maybe Int -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe Int -> Maybe ReplicationStatus -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Int -> Maybe ObjectVersionId -> Maybe Text -> Int -> ResponseBody -> GetObjectResponse
+ Amazonka.S3.GetObject: [$sel:acceptRanges:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:body:GetObjectResponse'] :: GetObjectResponse -> ResponseBody
+ Amazonka.S3.GetObject: [$sel:bucket:GetObject'] :: GetObject -> BucketName
+ Amazonka.S3.GetObject: [$sel:bucketKeyEnabled:GetObjectResponse'] :: GetObjectResponse -> Maybe Bool
+ Amazonka.S3.GetObject: [$sel:cacheControl:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:checksumCRC32:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:checksumCRC32C:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:checksumMode:GetObject'] :: GetObject -> Maybe ChecksumMode
+ Amazonka.S3.GetObject: [$sel:checksumSHA1:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:checksumSHA256:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:contentDisposition:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:contentEncoding:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:contentLanguage:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:contentLength:GetObjectResponse'] :: GetObjectResponse -> Maybe Integer
+ Amazonka.S3.GetObject: [$sel:contentRange:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:contentType:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:deleteMarker:GetObjectResponse'] :: GetObjectResponse -> Maybe Bool
+ Amazonka.S3.GetObject: [$sel:eTag:GetObjectResponse'] :: GetObjectResponse -> Maybe ETag
+ Amazonka.S3.GetObject: [$sel:expectedBucketOwner:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:expiration:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:expires:GetObjectResponse'] :: GetObjectResponse -> Maybe RFC822
+ Amazonka.S3.GetObject: [$sel:httpStatus:GetObjectResponse'] :: GetObjectResponse -> Int
+ Amazonka.S3.GetObject: [$sel:ifMatch:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:ifModifiedSince:GetObject'] :: GetObject -> Maybe RFC822
+ Amazonka.S3.GetObject: [$sel:ifNoneMatch:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:ifUnmodifiedSince:GetObject'] :: GetObject -> Maybe RFC822
+ Amazonka.S3.GetObject: [$sel:key:GetObject'] :: GetObject -> ObjectKey
+ Amazonka.S3.GetObject: [$sel:lastModified:GetObjectResponse'] :: GetObjectResponse -> Maybe RFC822
+ Amazonka.S3.GetObject: [$sel:metadata:GetObjectResponse'] :: GetObjectResponse -> HashMap Text Text
+ Amazonka.S3.GetObject: [$sel:missingMeta:GetObjectResponse'] :: GetObjectResponse -> Maybe Int
+ Amazonka.S3.GetObject: [$sel:objectLockLegalHoldStatus:GetObjectResponse'] :: GetObjectResponse -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.GetObject: [$sel:objectLockMode:GetObjectResponse'] :: GetObjectResponse -> Maybe ObjectLockMode
+ Amazonka.S3.GetObject: [$sel:objectLockRetainUntilDate:GetObjectResponse'] :: GetObjectResponse -> Maybe ISO8601
+ Amazonka.S3.GetObject: [$sel:partNumber:GetObject'] :: GetObject -> Maybe Int
+ Amazonka.S3.GetObject: [$sel:partsCount:GetObjectResponse'] :: GetObjectResponse -> Maybe Int
+ Amazonka.S3.GetObject: [$sel:range:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:replicationStatus:GetObjectResponse'] :: GetObjectResponse -> Maybe ReplicationStatus
+ Amazonka.S3.GetObject: [$sel:requestCharged:GetObjectResponse'] :: GetObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.GetObject: [$sel:requestPayer:GetObject'] :: GetObject -> Maybe RequestPayer
+ Amazonka.S3.GetObject: [$sel:responseCacheControl:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:responseContentDisposition:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:responseContentEncoding:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:responseContentLanguage:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:responseContentType:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:responseExpires:GetObject'] :: GetObject -> Maybe RFC822
+ Amazonka.S3.GetObject: [$sel:restore:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:sSECustomerAlgorithm:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:sSECustomerAlgorithm:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:sSECustomerKey:GetObject'] :: GetObject -> Maybe (Sensitive Text)
+ Amazonka.S3.GetObject: [$sel:sSECustomerKeyMD5:GetObject'] :: GetObject -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:sSECustomerKeyMD5:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: [$sel:sSEKMSKeyId:GetObjectResponse'] :: GetObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.GetObject: [$sel:serverSideEncryption:GetObjectResponse'] :: GetObjectResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.GetObject: [$sel:storageClass:GetObjectResponse'] :: GetObjectResponse -> Maybe StorageClass
+ Amazonka.S3.GetObject: [$sel:tagCount:GetObjectResponse'] :: GetObjectResponse -> Maybe Int
+ Amazonka.S3.GetObject: [$sel:versionId:GetObject'] :: GetObject -> Maybe ObjectVersionId
+ Amazonka.S3.GetObject: [$sel:versionId:GetObjectResponse'] :: GetObjectResponse -> Maybe ObjectVersionId
+ Amazonka.S3.GetObject: [$sel:websiteRedirectLocation:GetObjectResponse'] :: GetObjectResponse -> Maybe Text
+ Amazonka.S3.GetObject: data GetObject
+ Amazonka.S3.GetObject: data GetObjectResponse
+ Amazonka.S3.GetObject: getObjectResponse_acceptRanges :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_body :: Lens' GetObjectResponse ResponseBody
+ Amazonka.S3.GetObject: getObjectResponse_bucketKeyEnabled :: Lens' GetObjectResponse (Maybe Bool)
+ Amazonka.S3.GetObject: getObjectResponse_cacheControl :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_checksumCRC32 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_checksumCRC32C :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_checksumSHA1 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_checksumSHA256 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_contentDisposition :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_contentEncoding :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_contentLanguage :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_contentLength :: Lens' GetObjectResponse (Maybe Integer)
+ Amazonka.S3.GetObject: getObjectResponse_contentRange :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_contentType :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_deleteMarker :: Lens' GetObjectResponse (Maybe Bool)
+ Amazonka.S3.GetObject: getObjectResponse_eTag :: Lens' GetObjectResponse (Maybe ETag)
+ Amazonka.S3.GetObject: getObjectResponse_expiration :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_expires :: Lens' GetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.GetObject: getObjectResponse_httpStatus :: Lens' GetObjectResponse Int
+ Amazonka.S3.GetObject: getObjectResponse_lastModified :: Lens' GetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.GetObject: getObjectResponse_metadata :: Lens' GetObjectResponse (HashMap Text Text)
+ Amazonka.S3.GetObject: getObjectResponse_missingMeta :: Lens' GetObjectResponse (Maybe Int)
+ Amazonka.S3.GetObject: getObjectResponse_objectLockLegalHoldStatus :: Lens' GetObjectResponse (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.GetObject: getObjectResponse_objectLockMode :: Lens' GetObjectResponse (Maybe ObjectLockMode)
+ Amazonka.S3.GetObject: getObjectResponse_objectLockRetainUntilDate :: Lens' GetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.GetObject: getObjectResponse_partsCount :: Lens' GetObjectResponse (Maybe Int)
+ Amazonka.S3.GetObject: getObjectResponse_replicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)
+ Amazonka.S3.GetObject: getObjectResponse_requestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.GetObject: getObjectResponse_restore :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_sSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_sSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_sSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObjectResponse_serverSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.GetObject: getObjectResponse_storageClass :: Lens' GetObjectResponse (Maybe StorageClass)
+ Amazonka.S3.GetObject: getObjectResponse_tagCount :: Lens' GetObjectResponse (Maybe Int)
+ Amazonka.S3.GetObject: getObjectResponse_versionId :: Lens' GetObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.GetObject: getObjectResponse_websiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.GetObject: getObject_bucket :: Lens' GetObject BucketName
+ Amazonka.S3.GetObject: getObject_checksumMode :: Lens' GetObject (Maybe ChecksumMode)
+ Amazonka.S3.GetObject: getObject_expectedBucketOwner :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_ifMatch :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_ifModifiedSince :: Lens' GetObject (Maybe UTCTime)
+ Amazonka.S3.GetObject: getObject_ifNoneMatch :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_ifUnmodifiedSince :: Lens' GetObject (Maybe UTCTime)
+ Amazonka.S3.GetObject: getObject_key :: Lens' GetObject ObjectKey
+ Amazonka.S3.GetObject: getObject_partNumber :: Lens' GetObject (Maybe Int)
+ Amazonka.S3.GetObject: getObject_range :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_requestPayer :: Lens' GetObject (Maybe RequestPayer)
+ Amazonka.S3.GetObject: getObject_responseCacheControl :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_responseContentDisposition :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_responseContentEncoding :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_responseContentLanguage :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_responseContentType :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_responseExpires :: Lens' GetObject (Maybe UTCTime)
+ Amazonka.S3.GetObject: getObject_sSECustomerAlgorithm :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_sSECustomerKey :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_sSECustomerKeyMD5 :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.GetObject: getObject_versionId :: Lens' GetObject (Maybe ObjectVersionId)
+ Amazonka.S3.GetObject: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance Control.DeepSeq.NFData Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance GHC.Classes.Eq Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance GHC.Generics.Generic Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance GHC.Generics.Generic Amazonka.S3.GetObject.GetObjectResponse
+ Amazonka.S3.GetObject: instance GHC.Show.Show Amazonka.S3.GetObject.GetObject
+ Amazonka.S3.GetObject: instance GHC.Show.Show Amazonka.S3.GetObject.GetObjectResponse
+ Amazonka.S3.GetObject: newGetObject :: BucketName -> ObjectKey -> GetObject
+ Amazonka.S3.GetObject: newGetObjectResponse :: Int -> ResponseBody -> GetObjectResponse
+ Amazonka.S3.GetObjectAcl: GetObjectAcl' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectAcl
+ Amazonka.S3.GetObjectAcl: GetObjectAclResponse' :: Maybe [Grant] -> Maybe Owner -> Maybe RequestCharged -> Int -> GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: [$sel:bucket:GetObjectAcl'] :: GetObjectAcl -> BucketName
+ Amazonka.S3.GetObjectAcl: [$sel:expectedBucketOwner:GetObjectAcl'] :: GetObjectAcl -> Maybe Text
+ Amazonka.S3.GetObjectAcl: [$sel:grants:GetObjectAclResponse'] :: GetObjectAclResponse -> Maybe [Grant]
+ Amazonka.S3.GetObjectAcl: [$sel:httpStatus:GetObjectAclResponse'] :: GetObjectAclResponse -> Int
+ Amazonka.S3.GetObjectAcl: [$sel:key:GetObjectAcl'] :: GetObjectAcl -> ObjectKey
+ Amazonka.S3.GetObjectAcl: [$sel:owner:GetObjectAclResponse'] :: GetObjectAclResponse -> Maybe Owner
+ Amazonka.S3.GetObjectAcl: [$sel:requestCharged:GetObjectAclResponse'] :: GetObjectAclResponse -> Maybe RequestCharged
+ Amazonka.S3.GetObjectAcl: [$sel:requestPayer:GetObjectAcl'] :: GetObjectAcl -> Maybe RequestPayer
+ Amazonka.S3.GetObjectAcl: [$sel:versionId:GetObjectAcl'] :: GetObjectAcl -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectAcl: data GetObjectAcl
+ Amazonka.S3.GetObjectAcl: data GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: getObjectAclResponse_grants :: Lens' GetObjectAclResponse (Maybe [Grant])
+ Amazonka.S3.GetObjectAcl: getObjectAclResponse_httpStatus :: Lens' GetObjectAclResponse Int
+ Amazonka.S3.GetObjectAcl: getObjectAclResponse_owner :: Lens' GetObjectAclResponse (Maybe Owner)
+ Amazonka.S3.GetObjectAcl: getObjectAclResponse_requestCharged :: Lens' GetObjectAclResponse (Maybe RequestCharged)
+ Amazonka.S3.GetObjectAcl: getObjectAcl_bucket :: Lens' GetObjectAcl BucketName
+ Amazonka.S3.GetObjectAcl: getObjectAcl_expectedBucketOwner :: Lens' GetObjectAcl (Maybe Text)
+ Amazonka.S3.GetObjectAcl: getObjectAcl_key :: Lens' GetObjectAcl ObjectKey
+ Amazonka.S3.GetObjectAcl: getObjectAcl_requestPayer :: Lens' GetObjectAcl (Maybe RequestPayer)
+ Amazonka.S3.GetObjectAcl: getObjectAcl_versionId :: Lens' GetObjectAcl (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectAcl: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectAcl.GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance GHC.Classes.Eq Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance GHC.Classes.Eq Amazonka.S3.GetObjectAcl.GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: instance GHC.Generics.Generic Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance GHC.Generics.Generic Amazonka.S3.GetObjectAcl.GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: instance GHC.Read.Read Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance GHC.Read.Read Amazonka.S3.GetObjectAcl.GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: instance GHC.Show.Show Amazonka.S3.GetObjectAcl.GetObjectAcl
+ Amazonka.S3.GetObjectAcl: instance GHC.Show.Show Amazonka.S3.GetObjectAcl.GetObjectAclResponse
+ Amazonka.S3.GetObjectAcl: newGetObjectAcl :: BucketName -> ObjectKey -> GetObjectAcl
+ Amazonka.S3.GetObjectAcl: newGetObjectAclResponse :: Int -> GetObjectAclResponse
+ Amazonka.S3.GetObjectAttributes: GetObjectAttributes' :: Maybe Text -> Maybe Int -> Maybe Int -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> [ObjectAttributes] -> GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: GetObjectAttributesResponse' :: Maybe Checksum -> Maybe Bool -> Maybe ETag -> Maybe RFC822 -> Maybe GetObjectAttributesParts -> Maybe Integer -> Maybe RequestCharged -> Maybe StorageClass -> Maybe ObjectVersionId -> Int -> GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: [$sel:bucket:GetObjectAttributes'] :: GetObjectAttributes -> BucketName
+ Amazonka.S3.GetObjectAttributes: [$sel:checksum:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe Checksum
+ Amazonka.S3.GetObjectAttributes: [$sel:deleteMarker:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe Bool
+ Amazonka.S3.GetObjectAttributes: [$sel:eTag:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe ETag
+ Amazonka.S3.GetObjectAttributes: [$sel:expectedBucketOwner:GetObjectAttributes'] :: GetObjectAttributes -> Maybe Text
+ Amazonka.S3.GetObjectAttributes: [$sel:httpStatus:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Int
+ Amazonka.S3.GetObjectAttributes: [$sel:key:GetObjectAttributes'] :: GetObjectAttributes -> ObjectKey
+ Amazonka.S3.GetObjectAttributes: [$sel:lastModified:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe RFC822
+ Amazonka.S3.GetObjectAttributes: [$sel:maxParts:GetObjectAttributes'] :: GetObjectAttributes -> Maybe Int
+ Amazonka.S3.GetObjectAttributes: [$sel:objectAttributes:GetObjectAttributes'] :: GetObjectAttributes -> [ObjectAttributes]
+ Amazonka.S3.GetObjectAttributes: [$sel:objectParts:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe GetObjectAttributesParts
+ Amazonka.S3.GetObjectAttributes: [$sel:objectSize:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe Integer
+ Amazonka.S3.GetObjectAttributes: [$sel:partNumberMarker:GetObjectAttributes'] :: GetObjectAttributes -> Maybe Int
+ Amazonka.S3.GetObjectAttributes: [$sel:requestCharged:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe RequestCharged
+ Amazonka.S3.GetObjectAttributes: [$sel:requestPayer:GetObjectAttributes'] :: GetObjectAttributes -> Maybe RequestPayer
+ Amazonka.S3.GetObjectAttributes: [$sel:sSECustomerAlgorithm:GetObjectAttributes'] :: GetObjectAttributes -> Maybe Text
+ Amazonka.S3.GetObjectAttributes: [$sel:sSECustomerKey:GetObjectAttributes'] :: GetObjectAttributes -> Maybe (Sensitive Text)
+ Amazonka.S3.GetObjectAttributes: [$sel:sSECustomerKeyMD5:GetObjectAttributes'] :: GetObjectAttributes -> Maybe Text
+ Amazonka.S3.GetObjectAttributes: [$sel:storageClass:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe StorageClass
+ Amazonka.S3.GetObjectAttributes: [$sel:versionId:GetObjectAttributes'] :: GetObjectAttributes -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectAttributes: [$sel:versionId:GetObjectAttributesResponse'] :: GetObjectAttributesResponse -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectAttributes: data GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: data GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_checksum :: Lens' GetObjectAttributesResponse (Maybe Checksum)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_deleteMarker :: Lens' GetObjectAttributesResponse (Maybe Bool)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_eTag :: Lens' GetObjectAttributesResponse (Maybe ETag)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_httpStatus :: Lens' GetObjectAttributesResponse Int
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_lastModified :: Lens' GetObjectAttributesResponse (Maybe UTCTime)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_objectParts :: Lens' GetObjectAttributesResponse (Maybe GetObjectAttributesParts)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_objectSize :: Lens' GetObjectAttributesResponse (Maybe Integer)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_requestCharged :: Lens' GetObjectAttributesResponse (Maybe RequestCharged)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_storageClass :: Lens' GetObjectAttributesResponse (Maybe StorageClass)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributesResponse_versionId :: Lens' GetObjectAttributesResponse (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_bucket :: Lens' GetObjectAttributes BucketName
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_expectedBucketOwner :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_key :: Lens' GetObjectAttributes ObjectKey
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_maxParts :: Lens' GetObjectAttributes (Maybe Int)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_objectAttributes :: Lens' GetObjectAttributes [ObjectAttributes]
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_partNumberMarker :: Lens' GetObjectAttributes (Maybe Int)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_requestPayer :: Lens' GetObjectAttributes (Maybe RequestPayer)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_sSECustomerAlgorithm :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_sSECustomerKey :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_sSECustomerKeyMD5 :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.GetObjectAttributes: getObjectAttributes_versionId :: Lens' GetObjectAttributes (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectAttributes: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectAttributes.GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance GHC.Classes.Eq Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance GHC.Classes.Eq Amazonka.S3.GetObjectAttributes.GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: instance GHC.Generics.Generic Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance GHC.Generics.Generic Amazonka.S3.GetObjectAttributes.GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: instance GHC.Read.Read Amazonka.S3.GetObjectAttributes.GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: instance GHC.Show.Show Amazonka.S3.GetObjectAttributes.GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: instance GHC.Show.Show Amazonka.S3.GetObjectAttributes.GetObjectAttributesResponse
+ Amazonka.S3.GetObjectAttributes: newGetObjectAttributes :: BucketName -> ObjectKey -> GetObjectAttributes
+ Amazonka.S3.GetObjectAttributes: newGetObjectAttributesResponse :: Int -> GetObjectAttributesResponse
+ Amazonka.S3.GetObjectLegalHold: GetObjectLegalHold' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: GetObjectLegalHoldResponse' :: Maybe ObjectLockLegalHold -> Int -> GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: [$sel:bucket:GetObjectLegalHold'] :: GetObjectLegalHold -> BucketName
+ Amazonka.S3.GetObjectLegalHold: [$sel:expectedBucketOwner:GetObjectLegalHold'] :: GetObjectLegalHold -> Maybe Text
+ Amazonka.S3.GetObjectLegalHold: [$sel:httpStatus:GetObjectLegalHoldResponse'] :: GetObjectLegalHoldResponse -> Int
+ Amazonka.S3.GetObjectLegalHold: [$sel:key:GetObjectLegalHold'] :: GetObjectLegalHold -> ObjectKey
+ Amazonka.S3.GetObjectLegalHold: [$sel:legalHold:GetObjectLegalHoldResponse'] :: GetObjectLegalHoldResponse -> Maybe ObjectLockLegalHold
+ Amazonka.S3.GetObjectLegalHold: [$sel:requestPayer:GetObjectLegalHold'] :: GetObjectLegalHold -> Maybe RequestPayer
+ Amazonka.S3.GetObjectLegalHold: [$sel:versionId:GetObjectLegalHold'] :: GetObjectLegalHold -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectLegalHold: data GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: data GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHoldResponse_httpStatus :: Lens' GetObjectLegalHoldResponse Int
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHoldResponse_legalHold :: Lens' GetObjectLegalHoldResponse (Maybe ObjectLockLegalHold)
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHold_bucket :: Lens' GetObjectLegalHold BucketName
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHold_expectedBucketOwner :: Lens' GetObjectLegalHold (Maybe Text)
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHold_key :: Lens' GetObjectLegalHold ObjectKey
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHold_requestPayer :: Lens' GetObjectLegalHold (Maybe RequestPayer)
+ Amazonka.S3.GetObjectLegalHold: getObjectLegalHold_versionId :: Lens' GetObjectLegalHold (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectLegalHold: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectLegalHold.GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Classes.Eq Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Classes.Eq Amazonka.S3.GetObjectLegalHold.GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Generics.Generic Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Generics.Generic Amazonka.S3.GetObjectLegalHold.GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Read.Read Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Read.Read Amazonka.S3.GetObjectLegalHold.GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Show.Show Amazonka.S3.GetObjectLegalHold.GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: instance GHC.Show.Show Amazonka.S3.GetObjectLegalHold.GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLegalHold: newGetObjectLegalHold :: BucketName -> ObjectKey -> GetObjectLegalHold
+ Amazonka.S3.GetObjectLegalHold: newGetObjectLegalHoldResponse :: Int -> GetObjectLegalHoldResponse
+ Amazonka.S3.GetObjectLockConfiguration: GetObjectLockConfiguration' :: Maybe Text -> BucketName -> GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: GetObjectLockConfigurationResponse' :: Maybe ObjectLockConfiguration -> Int -> GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: [$sel:bucket:GetObjectLockConfiguration'] :: GetObjectLockConfiguration -> BucketName
+ Amazonka.S3.GetObjectLockConfiguration: [$sel:expectedBucketOwner:GetObjectLockConfiguration'] :: GetObjectLockConfiguration -> Maybe Text
+ Amazonka.S3.GetObjectLockConfiguration: [$sel:httpStatus:GetObjectLockConfigurationResponse'] :: GetObjectLockConfigurationResponse -> Int
+ Amazonka.S3.GetObjectLockConfiguration: [$sel:objectLockConfiguration:GetObjectLockConfigurationResponse'] :: GetObjectLockConfigurationResponse -> Maybe ObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: data GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: data GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: getObjectLockConfigurationResponse_httpStatus :: Lens' GetObjectLockConfigurationResponse Int
+ Amazonka.S3.GetObjectLockConfiguration: getObjectLockConfigurationResponse_objectLockConfiguration :: Lens' GetObjectLockConfigurationResponse (Maybe ObjectLockConfiguration)
+ Amazonka.S3.GetObjectLockConfiguration: getObjectLockConfiguration_bucket :: Lens' GetObjectLockConfiguration BucketName
+ Amazonka.S3.GetObjectLockConfiguration: getObjectLockConfiguration_expectedBucketOwner :: Lens' GetObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.GetObjectLockConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Classes.Eq Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Generics.Generic Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Read.Read Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Read.Read Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Show.Show Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: instance GHC.Show.Show Amazonka.S3.GetObjectLockConfiguration.GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectLockConfiguration: newGetObjectLockConfiguration :: BucketName -> GetObjectLockConfiguration
+ Amazonka.S3.GetObjectLockConfiguration: newGetObjectLockConfigurationResponse :: Int -> GetObjectLockConfigurationResponse
+ Amazonka.S3.GetObjectRetention: GetObjectRetention' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectRetention
+ Amazonka.S3.GetObjectRetention: GetObjectRetentionResponse' :: Maybe ObjectLockRetention -> Int -> GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: [$sel:bucket:GetObjectRetention'] :: GetObjectRetention -> BucketName
+ Amazonka.S3.GetObjectRetention: [$sel:expectedBucketOwner:GetObjectRetention'] :: GetObjectRetention -> Maybe Text
+ Amazonka.S3.GetObjectRetention: [$sel:httpStatus:GetObjectRetentionResponse'] :: GetObjectRetentionResponse -> Int
+ Amazonka.S3.GetObjectRetention: [$sel:key:GetObjectRetention'] :: GetObjectRetention -> ObjectKey
+ Amazonka.S3.GetObjectRetention: [$sel:requestPayer:GetObjectRetention'] :: GetObjectRetention -> Maybe RequestPayer
+ Amazonka.S3.GetObjectRetention: [$sel:retention:GetObjectRetentionResponse'] :: GetObjectRetentionResponse -> Maybe ObjectLockRetention
+ Amazonka.S3.GetObjectRetention: [$sel:versionId:GetObjectRetention'] :: GetObjectRetention -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectRetention: data GetObjectRetention
+ Amazonka.S3.GetObjectRetention: data GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: getObjectRetentionResponse_httpStatus :: Lens' GetObjectRetentionResponse Int
+ Amazonka.S3.GetObjectRetention: getObjectRetentionResponse_retention :: Lens' GetObjectRetentionResponse (Maybe ObjectLockRetention)
+ Amazonka.S3.GetObjectRetention: getObjectRetention_bucket :: Lens' GetObjectRetention BucketName
+ Amazonka.S3.GetObjectRetention: getObjectRetention_expectedBucketOwner :: Lens' GetObjectRetention (Maybe Text)
+ Amazonka.S3.GetObjectRetention: getObjectRetention_key :: Lens' GetObjectRetention ObjectKey
+ Amazonka.S3.GetObjectRetention: getObjectRetention_requestPayer :: Lens' GetObjectRetention (Maybe RequestPayer)
+ Amazonka.S3.GetObjectRetention: getObjectRetention_versionId :: Lens' GetObjectRetention (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectRetention: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectRetention.GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance GHC.Classes.Eq Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance GHC.Classes.Eq Amazonka.S3.GetObjectRetention.GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: instance GHC.Generics.Generic Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance GHC.Generics.Generic Amazonka.S3.GetObjectRetention.GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: instance GHC.Read.Read Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance GHC.Read.Read Amazonka.S3.GetObjectRetention.GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: instance GHC.Show.Show Amazonka.S3.GetObjectRetention.GetObjectRetention
+ Amazonka.S3.GetObjectRetention: instance GHC.Show.Show Amazonka.S3.GetObjectRetention.GetObjectRetentionResponse
+ Amazonka.S3.GetObjectRetention: newGetObjectRetention :: BucketName -> ObjectKey -> GetObjectRetention
+ Amazonka.S3.GetObjectRetention: newGetObjectRetentionResponse :: Int -> GetObjectRetentionResponse
+ Amazonka.S3.GetObjectTagging: GetObjectTagging' :: Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> GetObjectTagging
+ Amazonka.S3.GetObjectTagging: GetObjectTaggingResponse' :: Maybe ObjectVersionId -> Int -> [Tag] -> GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: [$sel:bucket:GetObjectTagging'] :: GetObjectTagging -> BucketName
+ Amazonka.S3.GetObjectTagging: [$sel:expectedBucketOwner:GetObjectTagging'] :: GetObjectTagging -> Maybe Text
+ Amazonka.S3.GetObjectTagging: [$sel:httpStatus:GetObjectTaggingResponse'] :: GetObjectTaggingResponse -> Int
+ Amazonka.S3.GetObjectTagging: [$sel:key:GetObjectTagging'] :: GetObjectTagging -> ObjectKey
+ Amazonka.S3.GetObjectTagging: [$sel:requestPayer:GetObjectTagging'] :: GetObjectTagging -> Maybe RequestPayer
+ Amazonka.S3.GetObjectTagging: [$sel:tagSet:GetObjectTaggingResponse'] :: GetObjectTaggingResponse -> [Tag]
+ Amazonka.S3.GetObjectTagging: [$sel:versionId:GetObjectTagging'] :: GetObjectTagging -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectTagging: [$sel:versionId:GetObjectTaggingResponse'] :: GetObjectTaggingResponse -> Maybe ObjectVersionId
+ Amazonka.S3.GetObjectTagging: data GetObjectTagging
+ Amazonka.S3.GetObjectTagging: data GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: getObjectTaggingResponse_httpStatus :: Lens' GetObjectTaggingResponse Int
+ Amazonka.S3.GetObjectTagging: getObjectTaggingResponse_tagSet :: Lens' GetObjectTaggingResponse [Tag]
+ Amazonka.S3.GetObjectTagging: getObjectTaggingResponse_versionId :: Lens' GetObjectTaggingResponse (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectTagging: getObjectTagging_bucket :: Lens' GetObjectTagging BucketName
+ Amazonka.S3.GetObjectTagging: getObjectTagging_expectedBucketOwner :: Lens' GetObjectTagging (Maybe Text)
+ Amazonka.S3.GetObjectTagging: getObjectTagging_key :: Lens' GetObjectTagging ObjectKey
+ Amazonka.S3.GetObjectTagging: getObjectTagging_requestPayer :: Lens' GetObjectTagging (Maybe RequestPayer)
+ Amazonka.S3.GetObjectTagging: getObjectTagging_versionId :: Lens' GetObjectTagging (Maybe ObjectVersionId)
+ Amazonka.S3.GetObjectTagging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectTagging.GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance GHC.Classes.Eq Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance GHC.Classes.Eq Amazonka.S3.GetObjectTagging.GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: instance GHC.Generics.Generic Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance GHC.Generics.Generic Amazonka.S3.GetObjectTagging.GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: instance GHC.Read.Read Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance GHC.Read.Read Amazonka.S3.GetObjectTagging.GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: instance GHC.Show.Show Amazonka.S3.GetObjectTagging.GetObjectTagging
+ Amazonka.S3.GetObjectTagging: instance GHC.Show.Show Amazonka.S3.GetObjectTagging.GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTagging: newGetObjectTagging :: BucketName -> ObjectKey -> GetObjectTagging
+ Amazonka.S3.GetObjectTagging: newGetObjectTaggingResponse :: Int -> GetObjectTaggingResponse
+ Amazonka.S3.GetObjectTorrent: GetObjectTorrent' :: Maybe Text -> Maybe RequestPayer -> BucketName -> ObjectKey -> GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: GetObjectTorrentResponse' :: Maybe RequestCharged -> Int -> ResponseBody -> GetObjectTorrentResponse
+ Amazonka.S3.GetObjectTorrent: [$sel:body:GetObjectTorrentResponse'] :: GetObjectTorrentResponse -> ResponseBody
+ Amazonka.S3.GetObjectTorrent: [$sel:bucket:GetObjectTorrent'] :: GetObjectTorrent -> BucketName
+ Amazonka.S3.GetObjectTorrent: [$sel:expectedBucketOwner:GetObjectTorrent'] :: GetObjectTorrent -> Maybe Text
+ Amazonka.S3.GetObjectTorrent: [$sel:httpStatus:GetObjectTorrentResponse'] :: GetObjectTorrentResponse -> Int
+ Amazonka.S3.GetObjectTorrent: [$sel:key:GetObjectTorrent'] :: GetObjectTorrent -> ObjectKey
+ Amazonka.S3.GetObjectTorrent: [$sel:requestCharged:GetObjectTorrentResponse'] :: GetObjectTorrentResponse -> Maybe RequestCharged
+ Amazonka.S3.GetObjectTorrent: [$sel:requestPayer:GetObjectTorrent'] :: GetObjectTorrent -> Maybe RequestPayer
+ Amazonka.S3.GetObjectTorrent: data GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: data GetObjectTorrentResponse
+ Amazonka.S3.GetObjectTorrent: getObjectTorrentResponse_body :: Lens' GetObjectTorrentResponse ResponseBody
+ Amazonka.S3.GetObjectTorrent: getObjectTorrentResponse_httpStatus :: Lens' GetObjectTorrentResponse Int
+ Amazonka.S3.GetObjectTorrent: getObjectTorrentResponse_requestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)
+ Amazonka.S3.GetObjectTorrent: getObjectTorrent_bucket :: Lens' GetObjectTorrent BucketName
+ Amazonka.S3.GetObjectTorrent: getObjectTorrent_expectedBucketOwner :: Lens' GetObjectTorrent (Maybe Text)
+ Amazonka.S3.GetObjectTorrent: getObjectTorrent_key :: Lens' GetObjectTorrent ObjectKey
+ Amazonka.S3.GetObjectTorrent: getObjectTorrent_requestPayer :: Lens' GetObjectTorrent (Maybe RequestPayer)
+ Amazonka.S3.GetObjectTorrent: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance Amazonka.Types.AWSRequest Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance Control.DeepSeq.NFData Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance Data.Hashable.Class.Hashable Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance GHC.Classes.Eq Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance GHC.Generics.Generic Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance GHC.Generics.Generic Amazonka.S3.GetObjectTorrent.GetObjectTorrentResponse
+ Amazonka.S3.GetObjectTorrent: instance GHC.Read.Read Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance GHC.Show.Show Amazonka.S3.GetObjectTorrent.GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: instance GHC.Show.Show Amazonka.S3.GetObjectTorrent.GetObjectTorrentResponse
+ Amazonka.S3.GetObjectTorrent: newGetObjectTorrent :: BucketName -> ObjectKey -> GetObjectTorrent
+ Amazonka.S3.GetObjectTorrent: newGetObjectTorrentResponse :: Int -> ResponseBody -> GetObjectTorrentResponse
+ Amazonka.S3.GetPublicAccessBlock: GetPublicAccessBlock' :: Maybe Text -> BucketName -> GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: GetPublicAccessBlockResponse' :: Maybe PublicAccessBlockConfiguration -> Int -> GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: [$sel:bucket:GetPublicAccessBlock'] :: GetPublicAccessBlock -> BucketName
+ Amazonka.S3.GetPublicAccessBlock: [$sel:expectedBucketOwner:GetPublicAccessBlock'] :: GetPublicAccessBlock -> Maybe Text
+ Amazonka.S3.GetPublicAccessBlock: [$sel:httpStatus:GetPublicAccessBlockResponse'] :: GetPublicAccessBlockResponse -> Int
+ Amazonka.S3.GetPublicAccessBlock: [$sel:publicAccessBlockConfiguration:GetPublicAccessBlockResponse'] :: GetPublicAccessBlockResponse -> Maybe PublicAccessBlockConfiguration
+ Amazonka.S3.GetPublicAccessBlock: data GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: data GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: getPublicAccessBlockResponse_httpStatus :: Lens' GetPublicAccessBlockResponse Int
+ Amazonka.S3.GetPublicAccessBlock: getPublicAccessBlockResponse_publicAccessBlockConfiguration :: Lens' GetPublicAccessBlockResponse (Maybe PublicAccessBlockConfiguration)
+ Amazonka.S3.GetPublicAccessBlock: getPublicAccessBlock_bucket :: Lens' GetPublicAccessBlock BucketName
+ Amazonka.S3.GetPublicAccessBlock: getPublicAccessBlock_expectedBucketOwner :: Lens' GetPublicAccessBlock (Maybe Text)
+ Amazonka.S3.GetPublicAccessBlock: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance Amazonka.Data.Path.ToPath Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance Amazonka.Data.Query.ToQuery Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance Amazonka.Types.AWSRequest Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance Control.DeepSeq.NFData Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance Control.DeepSeq.NFData Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: instance Data.Hashable.Class.Hashable Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Classes.Eq Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Classes.Eq Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Generics.Generic Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Generics.Generic Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Read.Read Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Read.Read Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Show.Show Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: instance GHC.Show.Show Amazonka.S3.GetPublicAccessBlock.GetPublicAccessBlockResponse
+ Amazonka.S3.GetPublicAccessBlock: newGetPublicAccessBlock :: BucketName -> GetPublicAccessBlock
+ Amazonka.S3.GetPublicAccessBlock: newGetPublicAccessBlockResponse :: Int -> GetPublicAccessBlockResponse
+ Amazonka.S3.HeadBucket: HeadBucket' :: Maybe Text -> BucketName -> HeadBucket
+ Amazonka.S3.HeadBucket: HeadBucketResponse' :: HeadBucketResponse
+ Amazonka.S3.HeadBucket: [$sel:bucket:HeadBucket'] :: HeadBucket -> BucketName
+ Amazonka.S3.HeadBucket: [$sel:expectedBucketOwner:HeadBucket'] :: HeadBucket -> Maybe Text
+ Amazonka.S3.HeadBucket: data HeadBucket
+ Amazonka.S3.HeadBucket: data HeadBucketResponse
+ Amazonka.S3.HeadBucket: headBucket_bucket :: Lens' HeadBucket BucketName
+ Amazonka.S3.HeadBucket: headBucket_expectedBucketOwner :: Lens' HeadBucket (Maybe Text)
+ Amazonka.S3.HeadBucket: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance Amazonka.Data.Path.ToPath Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance Amazonka.Data.Query.ToQuery Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance Amazonka.Types.AWSRequest Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance Control.DeepSeq.NFData Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance Control.DeepSeq.NFData Amazonka.S3.HeadBucket.HeadBucketResponse
+ Amazonka.S3.HeadBucket: instance Data.Hashable.Class.Hashable Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance GHC.Classes.Eq Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance GHC.Classes.Eq Amazonka.S3.HeadBucket.HeadBucketResponse
+ Amazonka.S3.HeadBucket: instance GHC.Generics.Generic Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance GHC.Generics.Generic Amazonka.S3.HeadBucket.HeadBucketResponse
+ Amazonka.S3.HeadBucket: instance GHC.Read.Read Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance GHC.Read.Read Amazonka.S3.HeadBucket.HeadBucketResponse
+ Amazonka.S3.HeadBucket: instance GHC.Show.Show Amazonka.S3.HeadBucket.HeadBucket
+ Amazonka.S3.HeadBucket: instance GHC.Show.Show Amazonka.S3.HeadBucket.HeadBucketResponse
+ Amazonka.S3.HeadBucket: newHeadBucket :: BucketName -> HeadBucket
+ Amazonka.S3.HeadBucket: newHeadBucketResponse :: HeadBucketResponse
+ Amazonka.S3.HeadObject: HeadObject' :: Maybe ChecksumMode -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> HeadObject
+ Amazonka.S3.HeadObject: HeadObjectResponse' :: Maybe Text -> Maybe ArchiveStatus -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Bool -> Maybe ETag -> Maybe Text -> Maybe RFC822 -> Maybe RFC822 -> HashMap Text Text -> Maybe Int -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe Int -> Maybe ReplicationStatus -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe ObjectVersionId -> Maybe Text -> Int -> HeadObjectResponse
+ Amazonka.S3.HeadObject: [$sel:acceptRanges:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:archiveStatus:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ArchiveStatus
+ Amazonka.S3.HeadObject: [$sel:bucket:HeadObject'] :: HeadObject -> BucketName
+ Amazonka.S3.HeadObject: [$sel:bucketKeyEnabled:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Bool
+ Amazonka.S3.HeadObject: [$sel:cacheControl:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:checksumCRC32:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:checksumCRC32C:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:checksumMode:HeadObject'] :: HeadObject -> Maybe ChecksumMode
+ Amazonka.S3.HeadObject: [$sel:checksumSHA1:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:checksumSHA256:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:contentDisposition:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:contentEncoding:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:contentLanguage:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:contentLength:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Integer
+ Amazonka.S3.HeadObject: [$sel:contentType:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:deleteMarker:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Bool
+ Amazonka.S3.HeadObject: [$sel:eTag:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ETag
+ Amazonka.S3.HeadObject: [$sel:expectedBucketOwner:HeadObject'] :: HeadObject -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:expiration:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:expires:HeadObjectResponse'] :: HeadObjectResponse -> Maybe RFC822
+ Amazonka.S3.HeadObject: [$sel:httpStatus:HeadObjectResponse'] :: HeadObjectResponse -> Int
+ Amazonka.S3.HeadObject: [$sel:ifMatch:HeadObject'] :: HeadObject -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:ifModifiedSince:HeadObject'] :: HeadObject -> Maybe RFC822
+ Amazonka.S3.HeadObject: [$sel:ifNoneMatch:HeadObject'] :: HeadObject -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:ifUnmodifiedSince:HeadObject'] :: HeadObject -> Maybe RFC822
+ Amazonka.S3.HeadObject: [$sel:key:HeadObject'] :: HeadObject -> ObjectKey
+ Amazonka.S3.HeadObject: [$sel:lastModified:HeadObjectResponse'] :: HeadObjectResponse -> Maybe RFC822
+ Amazonka.S3.HeadObject: [$sel:metadata:HeadObjectResponse'] :: HeadObjectResponse -> HashMap Text Text
+ Amazonka.S3.HeadObject: [$sel:missingMeta:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Int
+ Amazonka.S3.HeadObject: [$sel:objectLockLegalHoldStatus:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.HeadObject: [$sel:objectLockMode:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ObjectLockMode
+ Amazonka.S3.HeadObject: [$sel:objectLockRetainUntilDate:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ISO8601
+ Amazonka.S3.HeadObject: [$sel:partNumber:HeadObject'] :: HeadObject -> Maybe Int
+ Amazonka.S3.HeadObject: [$sel:partsCount:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Int
+ Amazonka.S3.HeadObject: [$sel:range:HeadObject'] :: HeadObject -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:replicationStatus:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ReplicationStatus
+ Amazonka.S3.HeadObject: [$sel:requestCharged:HeadObjectResponse'] :: HeadObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.HeadObject: [$sel:requestPayer:HeadObject'] :: HeadObject -> Maybe RequestPayer
+ Amazonka.S3.HeadObject: [$sel:restore:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:sSECustomerAlgorithm:HeadObject'] :: HeadObject -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:sSECustomerAlgorithm:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:sSECustomerKey:HeadObject'] :: HeadObject -> Maybe (Sensitive Text)
+ Amazonka.S3.HeadObject: [$sel:sSECustomerKeyMD5:HeadObject'] :: HeadObject -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:sSECustomerKeyMD5:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: [$sel:sSEKMSKeyId:HeadObjectResponse'] :: HeadObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.HeadObject: [$sel:serverSideEncryption:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.HeadObject: [$sel:storageClass:HeadObjectResponse'] :: HeadObjectResponse -> Maybe StorageClass
+ Amazonka.S3.HeadObject: [$sel:versionId:HeadObject'] :: HeadObject -> Maybe ObjectVersionId
+ Amazonka.S3.HeadObject: [$sel:versionId:HeadObjectResponse'] :: HeadObjectResponse -> Maybe ObjectVersionId
+ Amazonka.S3.HeadObject: [$sel:websiteRedirectLocation:HeadObjectResponse'] :: HeadObjectResponse -> Maybe Text
+ Amazonka.S3.HeadObject: data HeadObject
+ Amazonka.S3.HeadObject: data HeadObjectResponse
+ Amazonka.S3.HeadObject: headObjectResponse_acceptRanges :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_archiveStatus :: Lens' HeadObjectResponse (Maybe ArchiveStatus)
+ Amazonka.S3.HeadObject: headObjectResponse_bucketKeyEnabled :: Lens' HeadObjectResponse (Maybe Bool)
+ Amazonka.S3.HeadObject: headObjectResponse_cacheControl :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_checksumCRC32 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_checksumCRC32C :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_checksumSHA1 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_checksumSHA256 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_contentDisposition :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_contentEncoding :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_contentLanguage :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_contentLength :: Lens' HeadObjectResponse (Maybe Integer)
+ Amazonka.S3.HeadObject: headObjectResponse_contentType :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_deleteMarker :: Lens' HeadObjectResponse (Maybe Bool)
+ Amazonka.S3.HeadObject: headObjectResponse_eTag :: Lens' HeadObjectResponse (Maybe ETag)
+ Amazonka.S3.HeadObject: headObjectResponse_expiration :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_expires :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Amazonka.S3.HeadObject: headObjectResponse_httpStatus :: Lens' HeadObjectResponse Int
+ Amazonka.S3.HeadObject: headObjectResponse_lastModified :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Amazonka.S3.HeadObject: headObjectResponse_metadata :: Lens' HeadObjectResponse (HashMap Text Text)
+ Amazonka.S3.HeadObject: headObjectResponse_missingMeta :: Lens' HeadObjectResponse (Maybe Int)
+ Amazonka.S3.HeadObject: headObjectResponse_objectLockLegalHoldStatus :: Lens' HeadObjectResponse (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.HeadObject: headObjectResponse_objectLockMode :: Lens' HeadObjectResponse (Maybe ObjectLockMode)
+ Amazonka.S3.HeadObject: headObjectResponse_objectLockRetainUntilDate :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Amazonka.S3.HeadObject: headObjectResponse_partsCount :: Lens' HeadObjectResponse (Maybe Int)
+ Amazonka.S3.HeadObject: headObjectResponse_replicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)
+ Amazonka.S3.HeadObject: headObjectResponse_requestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.HeadObject: headObjectResponse_restore :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_sSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_sSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_sSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObjectResponse_serverSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.HeadObject: headObjectResponse_storageClass :: Lens' HeadObjectResponse (Maybe StorageClass)
+ Amazonka.S3.HeadObject: headObjectResponse_versionId :: Lens' HeadObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.HeadObject: headObjectResponse_websiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_bucket :: Lens' HeadObject BucketName
+ Amazonka.S3.HeadObject: headObject_checksumMode :: Lens' HeadObject (Maybe ChecksumMode)
+ Amazonka.S3.HeadObject: headObject_expectedBucketOwner :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_ifMatch :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_ifModifiedSince :: Lens' HeadObject (Maybe UTCTime)
+ Amazonka.S3.HeadObject: headObject_ifNoneMatch :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_ifUnmodifiedSince :: Lens' HeadObject (Maybe UTCTime)
+ Amazonka.S3.HeadObject: headObject_key :: Lens' HeadObject ObjectKey
+ Amazonka.S3.HeadObject: headObject_partNumber :: Lens' HeadObject (Maybe Int)
+ Amazonka.S3.HeadObject: headObject_range :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_requestPayer :: Lens' HeadObject (Maybe RequestPayer)
+ Amazonka.S3.HeadObject: headObject_sSECustomerAlgorithm :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_sSECustomerKey :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_sSECustomerKeyMD5 :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.HeadObject: headObject_versionId :: Lens' HeadObject (Maybe ObjectVersionId)
+ Amazonka.S3.HeadObject: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance Amazonka.Data.Path.ToPath Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance Amazonka.Data.Query.ToQuery Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance Amazonka.Types.AWSRequest Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance Control.DeepSeq.NFData Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance Control.DeepSeq.NFData Amazonka.S3.HeadObject.HeadObjectResponse
+ Amazonka.S3.HeadObject: instance Data.Hashable.Class.Hashable Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance GHC.Classes.Eq Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance GHC.Classes.Eq Amazonka.S3.HeadObject.HeadObjectResponse
+ Amazonka.S3.HeadObject: instance GHC.Generics.Generic Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance GHC.Generics.Generic Amazonka.S3.HeadObject.HeadObjectResponse
+ Amazonka.S3.HeadObject: instance GHC.Show.Show Amazonka.S3.HeadObject.HeadObject
+ Amazonka.S3.HeadObject: instance GHC.Show.Show Amazonka.S3.HeadObject.HeadObjectResponse
+ Amazonka.S3.HeadObject: newHeadObject :: BucketName -> ObjectKey -> HeadObject
+ Amazonka.S3.HeadObject: newHeadObjectResponse :: Int -> HeadObjectResponse
+ Amazonka.S3.Internal: BucketName :: Text -> BucketName
+ Amazonka.S3.Internal: ETag :: ByteString -> ETag
+ Amazonka.S3.Internal: LocationConstraint :: Region -> LocationConstraint
+ Amazonka.S3.Internal: ObjectKey :: Text -> ObjectKey
+ Amazonka.S3.Internal: ObjectVersionId :: Text -> ObjectVersionId
+ Amazonka.S3.Internal: Region' :: Text -> Region
+ Amazonka.S3.Internal: [$sel:fromRegion:Region'] :: Region -> Text
+ Amazonka.S3.Internal: [constraintRegion] :: LocationConstraint -> Region
+ Amazonka.S3.Internal: [fromBucketName] :: BucketName -> Text
+ Amazonka.S3.Internal: [fromETag] :: ETag -> ByteString
+ Amazonka.S3.Internal: [fromObjectVersionId] :: ObjectVersionId -> Text
+ Amazonka.S3.Internal: _BucketName :: Iso' BucketName Text
+ Amazonka.S3.Internal: _ETag :: Iso' ETag ByteString
+ Amazonka.S3.Internal: _LocationConstraint :: Iso' LocationConstraint Region
+ Amazonka.S3.Internal: _ObjectKey :: Iso' ObjectKey Text
+ Amazonka.S3.Internal: _ObjectVersionId :: Iso' ObjectVersionId Text
+ Amazonka.S3.Internal: getWebsiteEndpoint :: Region -> Maybe Text
+ Amazonka.S3.Internal: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Amazonka.Data.Log.ToLog Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.Log.ToLog Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.Log.ToLog Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Amazonka.Data.Log.ToLog Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.Log.ToLog Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Amazonka.Data.Path.ToPath Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.FromText Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.FromText Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.FromText Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.FromText Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.FromText Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.ToText Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.ToText Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.ToText Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.ToText Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.Text.ToText Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.FromXML Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.FromXML Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.FromXML Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.FromXML Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.FromXML Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.ToXML Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.ToXML Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.ToXML Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.ToXML Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Amazonka.Data.XML.ToXML Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Control.DeepSeq.NFData Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Control.DeepSeq.NFData Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Control.DeepSeq.NFData Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Control.DeepSeq.NFData Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Control.DeepSeq.NFData Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Data.Hashable.Class.Hashable Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Data.Hashable.Class.Hashable Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Data.Hashable.Class.Hashable Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance Data.Hashable.Class.Hashable Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Data.Hashable.Class.Hashable Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance Data.String.IsString Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance Data.String.IsString Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance Data.String.IsString Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance Data.String.IsString Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance GHC.Classes.Eq Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance GHC.Classes.Eq Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance GHC.Classes.Eq Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance GHC.Classes.Eq Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance GHC.Classes.Eq Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance GHC.Classes.Ord Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance GHC.Classes.Ord Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance GHC.Classes.Ord Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance GHC.Classes.Ord Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance GHC.Classes.Ord Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance GHC.Generics.Generic Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance GHC.Generics.Generic Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance GHC.Generics.Generic Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance GHC.Generics.Generic Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance GHC.Generics.Generic Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance GHC.Read.Read Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance GHC.Read.Read Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance GHC.Read.Read Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance GHC.Read.Read Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance GHC.Read.Read Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: instance GHC.Show.Show Amazonka.S3.Internal.BucketName
+ Amazonka.S3.Internal: instance GHC.Show.Show Amazonka.S3.Internal.ETag
+ Amazonka.S3.Internal: instance GHC.Show.Show Amazonka.S3.Internal.LocationConstraint
+ Amazonka.S3.Internal: instance GHC.Show.Show Amazonka.S3.Internal.ObjectKey
+ Amazonka.S3.Internal: instance GHC.Show.Show Amazonka.S3.Internal.ObjectVersionId
+ Amazonka.S3.Internal: newtype BucketName
+ Amazonka.S3.Internal: newtype ETag
+ Amazonka.S3.Internal: newtype LocationConstraint
+ Amazonka.S3.Internal: newtype ObjectKey
+ Amazonka.S3.Internal: newtype ObjectVersionId
+ Amazonka.S3.Internal: newtype Region
+ Amazonka.S3.Internal: objectKey_keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text
+ Amazonka.S3.Internal: objectKey_keyName :: Delimiter -> Traversal' ObjectKey Text
+ Amazonka.S3.Internal: objectKey_keyPrefix :: Delimiter -> Traversal' ObjectKey Text
+ Amazonka.S3.Internal: pattern Bahrain :: Region
+ Amazonka.S3.Internal: pattern Beijing :: Region
+ Amazonka.S3.Internal: pattern CapeTown :: Region
+ Amazonka.S3.Internal: pattern Frankfurt :: Region
+ Amazonka.S3.Internal: pattern GovCloudEast :: Region
+ Amazonka.S3.Internal: pattern GovCloudWest :: Region
+ Amazonka.S3.Internal: pattern HongKong :: Region
+ Amazonka.S3.Internal: pattern Hyderabad :: Region
+ Amazonka.S3.Internal: pattern Ireland :: Region
+ Amazonka.S3.Internal: pattern Jakarta :: Region
+ Amazonka.S3.Internal: pattern London :: Region
+ Amazonka.S3.Internal: pattern Melbourne :: Region
+ Amazonka.S3.Internal: pattern Milan :: Region
+ Amazonka.S3.Internal: pattern Montreal :: Region
+ Amazonka.S3.Internal: pattern Mumbai :: Region
+ Amazonka.S3.Internal: pattern Ningxia :: Region
+ Amazonka.S3.Internal: pattern NorthCalifornia :: Region
+ Amazonka.S3.Internal: pattern NorthVirginia :: Region
+ Amazonka.S3.Internal: pattern Ohio :: Region
+ Amazonka.S3.Internal: pattern Oregon :: Region
+ Amazonka.S3.Internal: pattern Osaka :: Region
+ Amazonka.S3.Internal: pattern Paris :: Region
+ Amazonka.S3.Internal: pattern SaoPaulo :: Region
+ Amazonka.S3.Internal: pattern Seoul :: Region
+ Amazonka.S3.Internal: pattern Singapore :: Region
+ Amazonka.S3.Internal: pattern Spain :: Region
+ Amazonka.S3.Internal: pattern Stockholm :: Region
+ Amazonka.S3.Internal: pattern Sydney :: Region
+ Amazonka.S3.Internal: pattern Tokyo :: Region
+ Amazonka.S3.Internal: pattern UAE :: Region
+ Amazonka.S3.Internal: pattern Zurich :: Region
+ Amazonka.S3.Internal: type Delimiter = Char
+ Amazonka.S3.Lens: abortIncompleteMultipartUpload_daysAfterInitiation :: Lens' AbortIncompleteMultipartUpload (Maybe Int)
+ Amazonka.S3.Lens: abortMultipartUploadResponse_httpStatus :: Lens' AbortMultipartUploadResponse Int
+ Amazonka.S3.Lens: abortMultipartUploadResponse_requestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: abortMultipartUpload_bucket :: Lens' AbortMultipartUpload BucketName
+ Amazonka.S3.Lens: abortMultipartUpload_expectedBucketOwner :: Lens' AbortMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: abortMultipartUpload_key :: Lens' AbortMultipartUpload ObjectKey
+ Amazonka.S3.Lens: abortMultipartUpload_requestPayer :: Lens' AbortMultipartUpload (Maybe RequestPayer)
+ Amazonka.S3.Lens: abortMultipartUpload_uploadId :: Lens' AbortMultipartUpload Text
+ Amazonka.S3.Lens: accelerateConfiguration_status :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)
+ Amazonka.S3.Lens: accessControlPolicy_grants :: Lens' AccessControlPolicy (Maybe [Grant])
+ Amazonka.S3.Lens: accessControlPolicy_owner :: Lens' AccessControlPolicy (Maybe Owner)
+ Amazonka.S3.Lens: accessControlTranslation_owner :: Lens' AccessControlTranslation OwnerOverride
+ Amazonka.S3.Lens: analyticsAndOperator_prefix :: Lens' AnalyticsAndOperator (Maybe Text)
+ Amazonka.S3.Lens: analyticsAndOperator_tags :: Lens' AnalyticsAndOperator (Maybe [Tag])
+ Amazonka.S3.Lens: analyticsConfiguration_filter :: Lens' AnalyticsConfiguration (Maybe AnalyticsFilter)
+ Amazonka.S3.Lens: analyticsConfiguration_id :: Lens' AnalyticsConfiguration Text
+ Amazonka.S3.Lens: analyticsConfiguration_storageClassAnalysis :: Lens' AnalyticsConfiguration StorageClassAnalysis
+ Amazonka.S3.Lens: analyticsExportDestination_s3BucketDestination :: Lens' AnalyticsExportDestination AnalyticsS3BucketDestination
+ Amazonka.S3.Lens: analyticsFilter_and :: Lens' AnalyticsFilter (Maybe AnalyticsAndOperator)
+ Amazonka.S3.Lens: analyticsFilter_prefix :: Lens' AnalyticsFilter (Maybe Text)
+ Amazonka.S3.Lens: analyticsFilter_tag :: Lens' AnalyticsFilter (Maybe Tag)
+ Amazonka.S3.Lens: analyticsS3BucketDestination_bucket :: Lens' AnalyticsS3BucketDestination BucketName
+ Amazonka.S3.Lens: analyticsS3BucketDestination_bucketAccountId :: Lens' AnalyticsS3BucketDestination (Maybe Text)
+ Amazonka.S3.Lens: analyticsS3BucketDestination_format :: Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat
+ Amazonka.S3.Lens: analyticsS3BucketDestination_prefix :: Lens' AnalyticsS3BucketDestination (Maybe Text)
+ Amazonka.S3.Lens: bucketLifecycleConfiguration_rules :: Lens' BucketLifecycleConfiguration [LifecycleRule]
+ Amazonka.S3.Lens: bucketLoggingStatus_loggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)
+ Amazonka.S3.Lens: bucket_creationDate :: Lens' Bucket UTCTime
+ Amazonka.S3.Lens: bucket_name :: Lens' Bucket BucketName
+ Amazonka.S3.Lens: cORSConfiguration_cORSRules :: Lens' CORSConfiguration [CORSRule]
+ Amazonka.S3.Lens: cORSRule_allowedHeaders :: Lens' CORSRule (Maybe [Text])
+ Amazonka.S3.Lens: cORSRule_allowedMethods :: Lens' CORSRule [Text]
+ Amazonka.S3.Lens: cORSRule_allowedOrigins :: Lens' CORSRule [Text]
+ Amazonka.S3.Lens: cORSRule_exposeHeaders :: Lens' CORSRule (Maybe [Text])
+ Amazonka.S3.Lens: cORSRule_id :: Lens' CORSRule (Maybe Text)
+ Amazonka.S3.Lens: cORSRule_maxAgeSeconds :: Lens' CORSRule (Maybe Int)
+ Amazonka.S3.Lens: cSVInput_allowQuotedRecordDelimiter :: Lens' CSVInput (Maybe Bool)
+ Amazonka.S3.Lens: cSVInput_comments :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Lens: cSVInput_fieldDelimiter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Lens: cSVInput_fileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
+ Amazonka.S3.Lens: cSVInput_quoteCharacter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Lens: cSVInput_quoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Lens: cSVInput_recordDelimiter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Lens: cSVOutput_fieldDelimiter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Lens: cSVOutput_quoteCharacter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Lens: cSVOutput_quoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Lens: cSVOutput_quoteFields :: Lens' CSVOutput (Maybe QuoteFields)
+ Amazonka.S3.Lens: cSVOutput_recordDelimiter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Lens: checksum_checksumCRC32 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Lens: checksum_checksumCRC32C :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Lens: checksum_checksumSHA1 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Lens: checksum_checksumSHA256 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Lens: commonPrefix_prefix :: Lens' CommonPrefix (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_bucket :: Lens' CompleteMultipartUploadResponse (Maybe BucketName)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_bucketKeyEnabled :: Lens' CompleteMultipartUploadResponse (Maybe Bool)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_checksumCRC32 :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_checksumCRC32C :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_checksumSHA1 :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_checksumSHA256 :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_eTag :: Lens' CompleteMultipartUploadResponse (Maybe ETag)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_expiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_httpStatus :: Lens' CompleteMultipartUploadResponse Int
+ Amazonka.S3.Lens: completeMultipartUploadResponse_key :: Lens' CompleteMultipartUploadResponse (Maybe ObjectKey)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_location :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_requestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_sSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_serverSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: completeMultipartUploadResponse_versionId :: Lens' CompleteMultipartUploadResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: completeMultipartUpload_bucket :: Lens' CompleteMultipartUpload BucketName
+ Amazonka.S3.Lens: completeMultipartUpload_checksumCRC32 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_checksumCRC32C :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_checksumSHA1 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_checksumSHA256 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_expectedBucketOwner :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_key :: Lens' CompleteMultipartUpload ObjectKey
+ Amazonka.S3.Lens: completeMultipartUpload_multipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)
+ Amazonka.S3.Lens: completeMultipartUpload_requestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)
+ Amazonka.S3.Lens: completeMultipartUpload_sSECustomerAlgorithm :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_sSECustomerKey :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_sSECustomerKeyMD5 :: Lens' CompleteMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: completeMultipartUpload_uploadId :: Lens' CompleteMultipartUpload Text
+ Amazonka.S3.Lens: completedMultipartUpload_parts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
+ Amazonka.S3.Lens: completedPart_checksumCRC32 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Lens: completedPart_checksumCRC32C :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Lens: completedPart_checksumSHA1 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Lens: completedPart_checksumSHA256 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Lens: completedPart_eTag :: Lens' CompletedPart ETag
+ Amazonka.S3.Lens: completedPart_partNumber :: Lens' CompletedPart Int
+ Amazonka.S3.Lens: condition_httpErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
+ Amazonka.S3.Lens: condition_keyPrefixEquals :: Lens' Condition (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_bucketKeyEnabled :: Lens' CopyObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: copyObjectResponse_copyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)
+ Amazonka.S3.Lens: copyObjectResponse_copySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_expiration :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_httpStatus :: Lens' CopyObjectResponse Int
+ Amazonka.S3.Lens: copyObjectResponse_requestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: copyObjectResponse_sSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_sSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_sSEKMSEncryptionContext :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_sSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResponse_serverSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: copyObjectResponse_versionId :: Lens' CopyObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: copyObjectResult_checksumCRC32 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResult_checksumCRC32C :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResult_checksumSHA1 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResult_checksumSHA256 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Lens: copyObjectResult_eTag :: Lens' CopyObjectResult (Maybe ETag)
+ Amazonka.S3.Lens: copyObjectResult_lastModified :: Lens' CopyObjectResult (Maybe UTCTime)
+ Amazonka.S3.Lens: copyObject_acl :: Lens' CopyObject (Maybe ObjectCannedACL)
+ Amazonka.S3.Lens: copyObject_bucket :: Lens' CopyObject BucketName
+ Amazonka.S3.Lens: copyObject_bucketKeyEnabled :: Lens' CopyObject (Maybe Bool)
+ Amazonka.S3.Lens: copyObject_cacheControl :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_checksumAlgorithm :: Lens' CopyObject (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: copyObject_contentDisposition :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_contentEncoding :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_contentLanguage :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_contentType :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_copySource :: Lens' CopyObject Text
+ Amazonka.S3.Lens: copyObject_copySourceIfMatch :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_copySourceIfModifiedSince :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.Lens: copyObject_copySourceIfNoneMatch :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_copySourceIfUnmodifiedSince :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.Lens: copyObject_copySourceSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_copySourceSSECustomerKey :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_copySourceSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_expectedBucketOwner :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_expectedSourceBucketOwner :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_expires :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.Lens: copyObject_grantFullControl :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_grantRead :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_grantReadACP :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_grantWriteACP :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_key :: Lens' CopyObject ObjectKey
+ Amazonka.S3.Lens: copyObject_metadata :: Lens' CopyObject (HashMap Text Text)
+ Amazonka.S3.Lens: copyObject_metadataDirective :: Lens' CopyObject (Maybe MetadataDirective)
+ Amazonka.S3.Lens: copyObject_objectLockLegalHoldStatus :: Lens' CopyObject (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: copyObject_objectLockMode :: Lens' CopyObject (Maybe ObjectLockMode)
+ Amazonka.S3.Lens: copyObject_objectLockRetainUntilDate :: Lens' CopyObject (Maybe UTCTime)
+ Amazonka.S3.Lens: copyObject_requestPayer :: Lens' CopyObject (Maybe RequestPayer)
+ Amazonka.S3.Lens: copyObject_sSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_sSECustomerKey :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_sSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_sSEKMSEncryptionContext :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_sSEKMSKeyId :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_serverSideEncryption :: Lens' CopyObject (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: copyObject_storageClass :: Lens' CopyObject (Maybe StorageClass)
+ Amazonka.S3.Lens: copyObject_tagging :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyObject_taggingDirective :: Lens' CopyObject (Maybe TaggingDirective)
+ Amazonka.S3.Lens: copyObject_websiteRedirectLocation :: Lens' CopyObject (Maybe Text)
+ Amazonka.S3.Lens: copyPartResult_checksumCRC32 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Lens: copyPartResult_checksumCRC32C :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Lens: copyPartResult_checksumSHA1 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Lens: copyPartResult_checksumSHA256 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Lens: copyPartResult_eTag :: Lens' CopyPartResult (Maybe ETag)
+ Amazonka.S3.Lens: copyPartResult_lastModified :: Lens' CopyPartResult (Maybe UTCTime)
+ Amazonka.S3.Lens: createBucketConfiguration_locationConstraint :: Lens' CreateBucketConfiguration (Maybe LocationConstraint)
+ Amazonka.S3.Lens: createBucketResponse_httpStatus :: Lens' CreateBucketResponse Int
+ Amazonka.S3.Lens: createBucketResponse_location :: Lens' CreateBucketResponse (Maybe Text)
+ Amazonka.S3.Lens: createBucket_acl :: Lens' CreateBucket (Maybe BucketCannedACL)
+ Amazonka.S3.Lens: createBucket_bucket :: Lens' CreateBucket BucketName
+ Amazonka.S3.Lens: createBucket_createBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)
+ Amazonka.S3.Lens: createBucket_grantFullControl :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.Lens: createBucket_grantRead :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.Lens: createBucket_grantReadACP :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.Lens: createBucket_grantWrite :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.Lens: createBucket_grantWriteACP :: Lens' CreateBucket (Maybe Text)
+ Amazonka.S3.Lens: createBucket_objectLockEnabledForBucket :: Lens' CreateBucket (Maybe Bool)
+ Amazonka.S3.Lens: createBucket_objectOwnership :: Lens' CreateBucket (Maybe ObjectOwnership)
+ Amazonka.S3.Lens: createMultipartUploadResponse_abortDate :: Lens' CreateMultipartUploadResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: createMultipartUploadResponse_abortRuleId :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUploadResponse_bucket :: Lens' CreateMultipartUploadResponse (Maybe BucketName)
+ Amazonka.S3.Lens: createMultipartUploadResponse_bucketKeyEnabled :: Lens' CreateMultipartUploadResponse (Maybe Bool)
+ Amazonka.S3.Lens: createMultipartUploadResponse_checksumAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: createMultipartUploadResponse_httpStatus :: Lens' CreateMultipartUploadResponse Int
+ Amazonka.S3.Lens: createMultipartUploadResponse_key :: Lens' CreateMultipartUploadResponse (Maybe ObjectKey)
+ Amazonka.S3.Lens: createMultipartUploadResponse_requestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: createMultipartUploadResponse_sSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUploadResponse_sSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUploadResponse_sSEKMSEncryptionContext :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUploadResponse_sSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUploadResponse_serverSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: createMultipartUploadResponse_uploadId :: Lens' CreateMultipartUploadResponse Text
+ Amazonka.S3.Lens: createMultipartUpload_acl :: Lens' CreateMultipartUpload (Maybe ObjectCannedACL)
+ Amazonka.S3.Lens: createMultipartUpload_bucket :: Lens' CreateMultipartUpload BucketName
+ Amazonka.S3.Lens: createMultipartUpload_bucketKeyEnabled :: Lens' CreateMultipartUpload (Maybe Bool)
+ Amazonka.S3.Lens: createMultipartUpload_cacheControl :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_checksumAlgorithm :: Lens' CreateMultipartUpload (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: createMultipartUpload_contentDisposition :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_contentEncoding :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_contentLanguage :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_contentType :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_expectedBucketOwner :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_expires :: Lens' CreateMultipartUpload (Maybe UTCTime)
+ Amazonka.S3.Lens: createMultipartUpload_grantFullControl :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_grantRead :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_grantReadACP :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_grantWriteACP :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_key :: Lens' CreateMultipartUpload ObjectKey
+ Amazonka.S3.Lens: createMultipartUpload_metadata :: Lens' CreateMultipartUpload (HashMap Text Text)
+ Amazonka.S3.Lens: createMultipartUpload_objectLockLegalHoldStatus :: Lens' CreateMultipartUpload (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: createMultipartUpload_objectLockMode :: Lens' CreateMultipartUpload (Maybe ObjectLockMode)
+ Amazonka.S3.Lens: createMultipartUpload_objectLockRetainUntilDate :: Lens' CreateMultipartUpload (Maybe UTCTime)
+ Amazonka.S3.Lens: createMultipartUpload_requestPayer :: Lens' CreateMultipartUpload (Maybe RequestPayer)
+ Amazonka.S3.Lens: createMultipartUpload_sSECustomerAlgorithm :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_sSECustomerKey :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_sSECustomerKeyMD5 :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_sSEKMSEncryptionContext :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_sSEKMSKeyId :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_serverSideEncryption :: Lens' CreateMultipartUpload (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: createMultipartUpload_storageClass :: Lens' CreateMultipartUpload (Maybe StorageClass)
+ Amazonka.S3.Lens: createMultipartUpload_tagging :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: createMultipartUpload_websiteRedirectLocation :: Lens' CreateMultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: defaultRetention_days :: Lens' DefaultRetention (Maybe Int)
+ Amazonka.S3.Lens: defaultRetention_mode :: Lens' DefaultRetention (Maybe ObjectLockRetentionMode)
+ Amazonka.S3.Lens: defaultRetention_years :: Lens' DefaultRetention (Maybe Int)
+ Amazonka.S3.Lens: deleteBucketAnalyticsConfiguration_bucket :: Lens' DeleteBucketAnalyticsConfiguration BucketName
+ Amazonka.S3.Lens: deleteBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' DeleteBucketAnalyticsConfiguration (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketAnalyticsConfiguration_id :: Lens' DeleteBucketAnalyticsConfiguration Text
+ Amazonka.S3.Lens: deleteBucketCors_bucket :: Lens' DeleteBucketCors BucketName
+ Amazonka.S3.Lens: deleteBucketCors_expectedBucketOwner :: Lens' DeleteBucketCors (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketEncryption_bucket :: Lens' DeleteBucketEncryption BucketName
+ Amazonka.S3.Lens: deleteBucketEncryption_expectedBucketOwner :: Lens' DeleteBucketEncryption (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketIntelligentTieringConfiguration_bucket :: Lens' DeleteBucketIntelligentTieringConfiguration BucketName
+ Amazonka.S3.Lens: deleteBucketIntelligentTieringConfiguration_id :: Lens' DeleteBucketIntelligentTieringConfiguration Text
+ Amazonka.S3.Lens: deleteBucketInventoryConfiguration_bucket :: Lens' DeleteBucketInventoryConfiguration BucketName
+ Amazonka.S3.Lens: deleteBucketInventoryConfiguration_expectedBucketOwner :: Lens' DeleteBucketInventoryConfiguration (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketInventoryConfiguration_id :: Lens' DeleteBucketInventoryConfiguration Text
+ Amazonka.S3.Lens: deleteBucketLifecycle_bucket :: Lens' DeleteBucketLifecycle BucketName
+ Amazonka.S3.Lens: deleteBucketLifecycle_expectedBucketOwner :: Lens' DeleteBucketLifecycle (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketMetricsConfiguration_bucket :: Lens' DeleteBucketMetricsConfiguration BucketName
+ Amazonka.S3.Lens: deleteBucketMetricsConfiguration_expectedBucketOwner :: Lens' DeleteBucketMetricsConfiguration (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketMetricsConfiguration_id :: Lens' DeleteBucketMetricsConfiguration Text
+ Amazonka.S3.Lens: deleteBucketOwnershipControls_bucket :: Lens' DeleteBucketOwnershipControls BucketName
+ Amazonka.S3.Lens: deleteBucketOwnershipControls_expectedBucketOwner :: Lens' DeleteBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketPolicy_bucket :: Lens' DeleteBucketPolicy BucketName
+ Amazonka.S3.Lens: deleteBucketPolicy_expectedBucketOwner :: Lens' DeleteBucketPolicy (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketReplication_bucket :: Lens' DeleteBucketReplication BucketName
+ Amazonka.S3.Lens: deleteBucketReplication_expectedBucketOwner :: Lens' DeleteBucketReplication (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketTagging_bucket :: Lens' DeleteBucketTagging BucketName
+ Amazonka.S3.Lens: deleteBucketTagging_expectedBucketOwner :: Lens' DeleteBucketTagging (Maybe Text)
+ Amazonka.S3.Lens: deleteBucketWebsite_bucket :: Lens' DeleteBucketWebsite BucketName
+ Amazonka.S3.Lens: deleteBucketWebsite_expectedBucketOwner :: Lens' DeleteBucketWebsite (Maybe Text)
+ Amazonka.S3.Lens: deleteBucket_bucket :: Lens' DeleteBucket BucketName
+ Amazonka.S3.Lens: deleteBucket_expectedBucketOwner :: Lens' DeleteBucket (Maybe Text)
+ Amazonka.S3.Lens: deleteMarkerEntry_isLatest :: Lens' DeleteMarkerEntry (Maybe Bool)
+ Amazonka.S3.Lens: deleteMarkerEntry_key :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
+ Amazonka.S3.Lens: deleteMarkerEntry_lastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)
+ Amazonka.S3.Lens: deleteMarkerEntry_owner :: Lens' DeleteMarkerEntry (Maybe Owner)
+ Amazonka.S3.Lens: deleteMarkerEntry_versionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: deleteMarkerReplication_status :: Lens' DeleteMarkerReplication (Maybe DeleteMarkerReplicationStatus)
+ Amazonka.S3.Lens: deleteObjectResponse_deleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: deleteObjectResponse_httpStatus :: Lens' DeleteObjectResponse Int
+ Amazonka.S3.Lens: deleteObjectResponse_requestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: deleteObjectResponse_versionId :: Lens' DeleteObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: deleteObjectTaggingResponse_httpStatus :: Lens' DeleteObjectTaggingResponse Int
+ Amazonka.S3.Lens: deleteObjectTaggingResponse_versionId :: Lens' DeleteObjectTaggingResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: deleteObjectTagging_bucket :: Lens' DeleteObjectTagging BucketName
+ Amazonka.S3.Lens: deleteObjectTagging_expectedBucketOwner :: Lens' DeleteObjectTagging (Maybe Text)
+ Amazonka.S3.Lens: deleteObjectTagging_key :: Lens' DeleteObjectTagging ObjectKey
+ Amazonka.S3.Lens: deleteObjectTagging_versionId :: Lens' DeleteObjectTagging (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: deleteObject_bucket :: Lens' DeleteObject BucketName
+ Amazonka.S3.Lens: deleteObject_bypassGovernanceRetention :: Lens' DeleteObject (Maybe Bool)
+ Amazonka.S3.Lens: deleteObject_expectedBucketOwner :: Lens' DeleteObject (Maybe Text)
+ Amazonka.S3.Lens: deleteObject_key :: Lens' DeleteObject ObjectKey
+ Amazonka.S3.Lens: deleteObject_mfa :: Lens' DeleteObject (Maybe Text)
+ Amazonka.S3.Lens: deleteObject_requestPayer :: Lens' DeleteObject (Maybe RequestPayer)
+ Amazonka.S3.Lens: deleteObject_versionId :: Lens' DeleteObject (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: deleteObjectsResponse_deleted :: Lens' DeleteObjectsResponse (Maybe [DeletedObject])
+ Amazonka.S3.Lens: deleteObjectsResponse_errors :: Lens' DeleteObjectsResponse (Maybe [S3ServiceError])
+ Amazonka.S3.Lens: deleteObjectsResponse_httpStatus :: Lens' DeleteObjectsResponse Int
+ Amazonka.S3.Lens: deleteObjectsResponse_requestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: deleteObjects_bucket :: Lens' DeleteObjects BucketName
+ Amazonka.S3.Lens: deleteObjects_bypassGovernanceRetention :: Lens' DeleteObjects (Maybe Bool)
+ Amazonka.S3.Lens: deleteObjects_checksumAlgorithm :: Lens' DeleteObjects (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: deleteObjects_delete :: Lens' DeleteObjects Delete
+ Amazonka.S3.Lens: deleteObjects_expectedBucketOwner :: Lens' DeleteObjects (Maybe Text)
+ Amazonka.S3.Lens: deleteObjects_mfa :: Lens' DeleteObjects (Maybe Text)
+ Amazonka.S3.Lens: deleteObjects_requestPayer :: Lens' DeleteObjects (Maybe RequestPayer)
+ Amazonka.S3.Lens: deletePublicAccessBlock_bucket :: Lens' DeletePublicAccessBlock BucketName
+ Amazonka.S3.Lens: deletePublicAccessBlock_expectedBucketOwner :: Lens' DeletePublicAccessBlock (Maybe Text)
+ Amazonka.S3.Lens: delete_objects :: Lens' Delete [ObjectIdentifier]
+ Amazonka.S3.Lens: delete_quiet :: Lens' Delete (Maybe Bool)
+ Amazonka.S3.Lens: deletedObject_deleteMarker :: Lens' DeletedObject (Maybe Bool)
+ Amazonka.S3.Lens: deletedObject_deleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
+ Amazonka.S3.Lens: deletedObject_key :: Lens' DeletedObject (Maybe ObjectKey)
+ Amazonka.S3.Lens: deletedObject_versionId :: Lens' DeletedObject (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: destination_accessControlTranslation :: Lens' Destination (Maybe AccessControlTranslation)
+ Amazonka.S3.Lens: destination_account :: Lens' Destination (Maybe Text)
+ Amazonka.S3.Lens: destination_bucket :: Lens' Destination BucketName
+ Amazonka.S3.Lens: destination_encryptionConfiguration :: Lens' Destination (Maybe EncryptionConfiguration)
+ Amazonka.S3.Lens: destination_metrics :: Lens' Destination (Maybe Metrics)
+ Amazonka.S3.Lens: destination_replicationTime :: Lens' Destination (Maybe ReplicationTime)
+ Amazonka.S3.Lens: destination_storageClass :: Lens' Destination (Maybe StorageClass)
+ Amazonka.S3.Lens: encryptionConfiguration_replicaKmsKeyID :: Lens' EncryptionConfiguration (Maybe Text)
+ Amazonka.S3.Lens: encryption_encryptionType :: Lens' Encryption ServerSideEncryption
+ Amazonka.S3.Lens: encryption_kmsContext :: Lens' Encryption (Maybe Text)
+ Amazonka.S3.Lens: encryption_kmsKeyId :: Lens' Encryption (Maybe Text)
+ Amazonka.S3.Lens: errorDocument_key :: Lens' ErrorDocument ObjectKey
+ Amazonka.S3.Lens: existingObjectReplication_status :: Lens' ExistingObjectReplication ExistingObjectReplicationStatus
+ Amazonka.S3.Lens: filterRule_name :: Lens' FilterRule (Maybe FilterRuleName)
+ Amazonka.S3.Lens: filterRule_value :: Lens' FilterRule (Maybe Text)
+ Amazonka.S3.Lens: getBucketAccelerateConfigurationResponse_httpStatus :: Lens' GetBucketAccelerateConfigurationResponse Int
+ Amazonka.S3.Lens: getBucketAccelerateConfigurationResponse_status :: Lens' GetBucketAccelerateConfigurationResponse (Maybe BucketAccelerateStatus)
+ Amazonka.S3.Lens: getBucketAccelerateConfiguration_bucket :: Lens' GetBucketAccelerateConfiguration BucketName
+ Amazonka.S3.Lens: getBucketAccelerateConfiguration_expectedBucketOwner :: Lens' GetBucketAccelerateConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getBucketAclResponse_grants :: Lens' GetBucketAclResponse (Maybe [Grant])
+ Amazonka.S3.Lens: getBucketAclResponse_httpStatus :: Lens' GetBucketAclResponse Int
+ Amazonka.S3.Lens: getBucketAclResponse_owner :: Lens' GetBucketAclResponse (Maybe Owner)
+ Amazonka.S3.Lens: getBucketAcl_bucket :: Lens' GetBucketAcl BucketName
+ Amazonka.S3.Lens: getBucketAcl_expectedBucketOwner :: Lens' GetBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: getBucketAnalyticsConfigurationResponse_analyticsConfiguration :: Lens' GetBucketAnalyticsConfigurationResponse (Maybe AnalyticsConfiguration)
+ Amazonka.S3.Lens: getBucketAnalyticsConfigurationResponse_httpStatus :: Lens' GetBucketAnalyticsConfigurationResponse Int
+ Amazonka.S3.Lens: getBucketAnalyticsConfiguration_bucket :: Lens' GetBucketAnalyticsConfiguration BucketName
+ Amazonka.S3.Lens: getBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' GetBucketAnalyticsConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getBucketAnalyticsConfiguration_id :: Lens' GetBucketAnalyticsConfiguration Text
+ Amazonka.S3.Lens: getBucketCorsResponse_cORSRules :: Lens' GetBucketCorsResponse (Maybe [CORSRule])
+ Amazonka.S3.Lens: getBucketCorsResponse_httpStatus :: Lens' GetBucketCorsResponse Int
+ Amazonka.S3.Lens: getBucketCors_bucket :: Lens' GetBucketCors BucketName
+ Amazonka.S3.Lens: getBucketCors_expectedBucketOwner :: Lens' GetBucketCors (Maybe Text)
+ Amazonka.S3.Lens: getBucketEncryptionResponse_httpStatus :: Lens' GetBucketEncryptionResponse Int
+ Amazonka.S3.Lens: getBucketEncryptionResponse_serverSideEncryptionConfiguration :: Lens' GetBucketEncryptionResponse (Maybe ServerSideEncryptionConfiguration)
+ Amazonka.S3.Lens: getBucketEncryption_bucket :: Lens' GetBucketEncryption BucketName
+ Amazonka.S3.Lens: getBucketEncryption_expectedBucketOwner :: Lens' GetBucketEncryption (Maybe Text)
+ Amazonka.S3.Lens: getBucketIntelligentTieringConfigurationResponse_httpStatus :: Lens' GetBucketIntelligentTieringConfigurationResponse Int
+ Amazonka.S3.Lens: getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration :: Lens' GetBucketIntelligentTieringConfigurationResponse (Maybe IntelligentTieringConfiguration)
+ Amazonka.S3.Lens: getBucketIntelligentTieringConfiguration_bucket :: Lens' GetBucketIntelligentTieringConfiguration BucketName
+ Amazonka.S3.Lens: getBucketIntelligentTieringConfiguration_id :: Lens' GetBucketIntelligentTieringConfiguration Text
+ Amazonka.S3.Lens: getBucketInventoryConfigurationResponse_httpStatus :: Lens' GetBucketInventoryConfigurationResponse Int
+ Amazonka.S3.Lens: getBucketInventoryConfigurationResponse_inventoryConfiguration :: Lens' GetBucketInventoryConfigurationResponse (Maybe InventoryConfiguration)
+ Amazonka.S3.Lens: getBucketInventoryConfiguration_bucket :: Lens' GetBucketInventoryConfiguration BucketName
+ Amazonka.S3.Lens: getBucketInventoryConfiguration_expectedBucketOwner :: Lens' GetBucketInventoryConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getBucketInventoryConfiguration_id :: Lens' GetBucketInventoryConfiguration Text
+ Amazonka.S3.Lens: getBucketLifecycleConfigurationResponse_httpStatus :: Lens' GetBucketLifecycleConfigurationResponse Int
+ Amazonka.S3.Lens: getBucketLifecycleConfigurationResponse_rules :: Lens' GetBucketLifecycleConfigurationResponse (Maybe [LifecycleRule])
+ Amazonka.S3.Lens: getBucketLifecycleConfiguration_bucket :: Lens' GetBucketLifecycleConfiguration BucketName
+ Amazonka.S3.Lens: getBucketLifecycleConfiguration_expectedBucketOwner :: Lens' GetBucketLifecycleConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getBucketLocationResponse_httpStatus :: Lens' GetBucketLocationResponse Int
+ Amazonka.S3.Lens: getBucketLocationResponse_locationConstraint :: Lens' GetBucketLocationResponse LocationConstraint
+ Amazonka.S3.Lens: getBucketLocation_bucket :: Lens' GetBucketLocation BucketName
+ Amazonka.S3.Lens: getBucketLocation_expectedBucketOwner :: Lens' GetBucketLocation (Maybe Text)
+ Amazonka.S3.Lens: getBucketLoggingResponse_httpStatus :: Lens' GetBucketLoggingResponse Int
+ Amazonka.S3.Lens: getBucketLoggingResponse_loggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)
+ Amazonka.S3.Lens: getBucketLogging_bucket :: Lens' GetBucketLogging BucketName
+ Amazonka.S3.Lens: getBucketLogging_expectedBucketOwner :: Lens' GetBucketLogging (Maybe Text)
+ Amazonka.S3.Lens: getBucketMetricsConfigurationResponse_httpStatus :: Lens' GetBucketMetricsConfigurationResponse Int
+ Amazonka.S3.Lens: getBucketMetricsConfigurationResponse_metricsConfiguration :: Lens' GetBucketMetricsConfigurationResponse (Maybe MetricsConfiguration)
+ Amazonka.S3.Lens: getBucketMetricsConfiguration_bucket :: Lens' GetBucketMetricsConfiguration BucketName
+ Amazonka.S3.Lens: getBucketMetricsConfiguration_expectedBucketOwner :: Lens' GetBucketMetricsConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getBucketMetricsConfiguration_id :: Lens' GetBucketMetricsConfiguration Text
+ Amazonka.S3.Lens: getBucketNotificationConfiguration_bucket :: Lens' GetBucketNotificationConfiguration BucketName
+ Amazonka.S3.Lens: getBucketNotificationConfiguration_expectedBucketOwner :: Lens' GetBucketNotificationConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getBucketOwnershipControlsResponse_httpStatus :: Lens' GetBucketOwnershipControlsResponse Int
+ Amazonka.S3.Lens: getBucketOwnershipControlsResponse_ownershipControls :: Lens' GetBucketOwnershipControlsResponse (Maybe OwnershipControls)
+ Amazonka.S3.Lens: getBucketOwnershipControls_bucket :: Lens' GetBucketOwnershipControls BucketName
+ Amazonka.S3.Lens: getBucketOwnershipControls_expectedBucketOwner :: Lens' GetBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.Lens: getBucketPolicyResponse_httpStatus :: Lens' GetBucketPolicyResponse Int
+ Amazonka.S3.Lens: getBucketPolicyResponse_policy :: Lens' GetBucketPolicyResponse ByteString
+ Amazonka.S3.Lens: getBucketPolicyStatusResponse_httpStatus :: Lens' GetBucketPolicyStatusResponse Int
+ Amazonka.S3.Lens: getBucketPolicyStatusResponse_policyStatus :: Lens' GetBucketPolicyStatusResponse (Maybe PolicyStatus)
+ Amazonka.S3.Lens: getBucketPolicyStatus_bucket :: Lens' GetBucketPolicyStatus BucketName
+ Amazonka.S3.Lens: getBucketPolicyStatus_expectedBucketOwner :: Lens' GetBucketPolicyStatus (Maybe Text)
+ Amazonka.S3.Lens: getBucketPolicy_bucket :: Lens' GetBucketPolicy BucketName
+ Amazonka.S3.Lens: getBucketPolicy_expectedBucketOwner :: Lens' GetBucketPolicy (Maybe Text)
+ Amazonka.S3.Lens: getBucketReplicationResponse_httpStatus :: Lens' GetBucketReplicationResponse Int
+ Amazonka.S3.Lens: getBucketReplicationResponse_replicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)
+ Amazonka.S3.Lens: getBucketReplication_bucket :: Lens' GetBucketReplication BucketName
+ Amazonka.S3.Lens: getBucketReplication_expectedBucketOwner :: Lens' GetBucketReplication (Maybe Text)
+ Amazonka.S3.Lens: getBucketRequestPaymentResponse_httpStatus :: Lens' GetBucketRequestPaymentResponse Int
+ Amazonka.S3.Lens: getBucketRequestPaymentResponse_payer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)
+ Amazonka.S3.Lens: getBucketRequestPayment_bucket :: Lens' GetBucketRequestPayment BucketName
+ Amazonka.S3.Lens: getBucketRequestPayment_expectedBucketOwner :: Lens' GetBucketRequestPayment (Maybe Text)
+ Amazonka.S3.Lens: getBucketTaggingResponse_httpStatus :: Lens' GetBucketTaggingResponse Int
+ Amazonka.S3.Lens: getBucketTaggingResponse_tagSet :: Lens' GetBucketTaggingResponse [Tag]
+ Amazonka.S3.Lens: getBucketTagging_bucket :: Lens' GetBucketTagging BucketName
+ Amazonka.S3.Lens: getBucketTagging_expectedBucketOwner :: Lens' GetBucketTagging (Maybe Text)
+ Amazonka.S3.Lens: getBucketVersioningResponse_httpStatus :: Lens' GetBucketVersioningResponse Int
+ Amazonka.S3.Lens: getBucketVersioningResponse_mfaDelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)
+ Amazonka.S3.Lens: getBucketVersioningResponse_status :: Lens' GetBucketVersioningResponse (Maybe BucketVersioningStatus)
+ Amazonka.S3.Lens: getBucketVersioning_bucket :: Lens' GetBucketVersioning BucketName
+ Amazonka.S3.Lens: getBucketVersioning_expectedBucketOwner :: Lens' GetBucketVersioning (Maybe Text)
+ Amazonka.S3.Lens: getBucketWebsiteResponse_errorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)
+ Amazonka.S3.Lens: getBucketWebsiteResponse_httpStatus :: Lens' GetBucketWebsiteResponse Int
+ Amazonka.S3.Lens: getBucketWebsiteResponse_indexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)
+ Amazonka.S3.Lens: getBucketWebsiteResponse_redirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)
+ Amazonka.S3.Lens: getBucketWebsiteResponse_routingRules :: Lens' GetBucketWebsiteResponse (Maybe [RoutingRule])
+ Amazonka.S3.Lens: getBucketWebsite_bucket :: Lens' GetBucketWebsite BucketName
+ Amazonka.S3.Lens: getBucketWebsite_expectedBucketOwner :: Lens' GetBucketWebsite (Maybe Text)
+ Amazonka.S3.Lens: getObjectAclResponse_grants :: Lens' GetObjectAclResponse (Maybe [Grant])
+ Amazonka.S3.Lens: getObjectAclResponse_httpStatus :: Lens' GetObjectAclResponse Int
+ Amazonka.S3.Lens: getObjectAclResponse_owner :: Lens' GetObjectAclResponse (Maybe Owner)
+ Amazonka.S3.Lens: getObjectAclResponse_requestCharged :: Lens' GetObjectAclResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: getObjectAcl_bucket :: Lens' GetObjectAcl BucketName
+ Amazonka.S3.Lens: getObjectAcl_expectedBucketOwner :: Lens' GetObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: getObjectAcl_key :: Lens' GetObjectAcl ObjectKey
+ Amazonka.S3.Lens: getObjectAcl_requestPayer :: Lens' GetObjectAcl (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObjectAcl_versionId :: Lens' GetObjectAcl (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectAttributesParts_isTruncated :: Lens' GetObjectAttributesParts (Maybe Bool)
+ Amazonka.S3.Lens: getObjectAttributesParts_maxParts :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Lens: getObjectAttributesParts_nextPartNumberMarker :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Lens: getObjectAttributesParts_partNumberMarker :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Lens: getObjectAttributesParts_parts :: Lens' GetObjectAttributesParts (Maybe [ObjectPart])
+ Amazonka.S3.Lens: getObjectAttributesParts_totalPartsCount :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Lens: getObjectAttributesResponse_checksum :: Lens' GetObjectAttributesResponse (Maybe Checksum)
+ Amazonka.S3.Lens: getObjectAttributesResponse_deleteMarker :: Lens' GetObjectAttributesResponse (Maybe Bool)
+ Amazonka.S3.Lens: getObjectAttributesResponse_eTag :: Lens' GetObjectAttributesResponse (Maybe ETag)
+ Amazonka.S3.Lens: getObjectAttributesResponse_httpStatus :: Lens' GetObjectAttributesResponse Int
+ Amazonka.S3.Lens: getObjectAttributesResponse_lastModified :: Lens' GetObjectAttributesResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: getObjectAttributesResponse_objectParts :: Lens' GetObjectAttributesResponse (Maybe GetObjectAttributesParts)
+ Amazonka.S3.Lens: getObjectAttributesResponse_objectSize :: Lens' GetObjectAttributesResponse (Maybe Integer)
+ Amazonka.S3.Lens: getObjectAttributesResponse_requestCharged :: Lens' GetObjectAttributesResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: getObjectAttributesResponse_storageClass :: Lens' GetObjectAttributesResponse (Maybe StorageClass)
+ Amazonka.S3.Lens: getObjectAttributesResponse_versionId :: Lens' GetObjectAttributesResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectAttributes_bucket :: Lens' GetObjectAttributes BucketName
+ Amazonka.S3.Lens: getObjectAttributes_expectedBucketOwner :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.Lens: getObjectAttributes_key :: Lens' GetObjectAttributes ObjectKey
+ Amazonka.S3.Lens: getObjectAttributes_maxParts :: Lens' GetObjectAttributes (Maybe Int)
+ Amazonka.S3.Lens: getObjectAttributes_objectAttributes :: Lens' GetObjectAttributes [ObjectAttributes]
+ Amazonka.S3.Lens: getObjectAttributes_partNumberMarker :: Lens' GetObjectAttributes (Maybe Int)
+ Amazonka.S3.Lens: getObjectAttributes_requestPayer :: Lens' GetObjectAttributes (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObjectAttributes_sSECustomerAlgorithm :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.Lens: getObjectAttributes_sSECustomerKey :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.Lens: getObjectAttributes_sSECustomerKeyMD5 :: Lens' GetObjectAttributes (Maybe Text)
+ Amazonka.S3.Lens: getObjectAttributes_versionId :: Lens' GetObjectAttributes (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectLegalHoldResponse_httpStatus :: Lens' GetObjectLegalHoldResponse Int
+ Amazonka.S3.Lens: getObjectLegalHoldResponse_legalHold :: Lens' GetObjectLegalHoldResponse (Maybe ObjectLockLegalHold)
+ Amazonka.S3.Lens: getObjectLegalHold_bucket :: Lens' GetObjectLegalHold BucketName
+ Amazonka.S3.Lens: getObjectLegalHold_expectedBucketOwner :: Lens' GetObjectLegalHold (Maybe Text)
+ Amazonka.S3.Lens: getObjectLegalHold_key :: Lens' GetObjectLegalHold ObjectKey
+ Amazonka.S3.Lens: getObjectLegalHold_requestPayer :: Lens' GetObjectLegalHold (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObjectLegalHold_versionId :: Lens' GetObjectLegalHold (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectLockConfigurationResponse_httpStatus :: Lens' GetObjectLockConfigurationResponse Int
+ Amazonka.S3.Lens: getObjectLockConfigurationResponse_objectLockConfiguration :: Lens' GetObjectLockConfigurationResponse (Maybe ObjectLockConfiguration)
+ Amazonka.S3.Lens: getObjectLockConfiguration_bucket :: Lens' GetObjectLockConfiguration BucketName
+ Amazonka.S3.Lens: getObjectLockConfiguration_expectedBucketOwner :: Lens' GetObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_acceptRanges :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_body :: Lens' GetObjectResponse ResponseBody
+ Amazonka.S3.Lens: getObjectResponse_bucketKeyEnabled :: Lens' GetObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: getObjectResponse_cacheControl :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_checksumCRC32 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_checksumCRC32C :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_checksumSHA1 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_checksumSHA256 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_contentDisposition :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_contentEncoding :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_contentLanguage :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_contentLength :: Lens' GetObjectResponse (Maybe Integer)
+ Amazonka.S3.Lens: getObjectResponse_contentRange :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_contentType :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_deleteMarker :: Lens' GetObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: getObjectResponse_eTag :: Lens' GetObjectResponse (Maybe ETag)
+ Amazonka.S3.Lens: getObjectResponse_expiration :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_expires :: Lens' GetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: getObjectResponse_httpStatus :: Lens' GetObjectResponse Int
+ Amazonka.S3.Lens: getObjectResponse_lastModified :: Lens' GetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: getObjectResponse_metadata :: Lens' GetObjectResponse (HashMap Text Text)
+ Amazonka.S3.Lens: getObjectResponse_missingMeta :: Lens' GetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: getObjectResponse_objectLockLegalHoldStatus :: Lens' GetObjectResponse (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: getObjectResponse_objectLockMode :: Lens' GetObjectResponse (Maybe ObjectLockMode)
+ Amazonka.S3.Lens: getObjectResponse_objectLockRetainUntilDate :: Lens' GetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: getObjectResponse_partsCount :: Lens' GetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: getObjectResponse_replicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)
+ Amazonka.S3.Lens: getObjectResponse_requestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: getObjectResponse_restore :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_sSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_sSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_sSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectResponse_serverSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: getObjectResponse_storageClass :: Lens' GetObjectResponse (Maybe StorageClass)
+ Amazonka.S3.Lens: getObjectResponse_tagCount :: Lens' GetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: getObjectResponse_versionId :: Lens' GetObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectResponse_websiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: getObjectRetentionResponse_httpStatus :: Lens' GetObjectRetentionResponse Int
+ Amazonka.S3.Lens: getObjectRetentionResponse_retention :: Lens' GetObjectRetentionResponse (Maybe ObjectLockRetention)
+ Amazonka.S3.Lens: getObjectRetention_bucket :: Lens' GetObjectRetention BucketName
+ Amazonka.S3.Lens: getObjectRetention_expectedBucketOwner :: Lens' GetObjectRetention (Maybe Text)
+ Amazonka.S3.Lens: getObjectRetention_key :: Lens' GetObjectRetention ObjectKey
+ Amazonka.S3.Lens: getObjectRetention_requestPayer :: Lens' GetObjectRetention (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObjectRetention_versionId :: Lens' GetObjectRetention (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectTaggingResponse_httpStatus :: Lens' GetObjectTaggingResponse Int
+ Amazonka.S3.Lens: getObjectTaggingResponse_tagSet :: Lens' GetObjectTaggingResponse [Tag]
+ Amazonka.S3.Lens: getObjectTaggingResponse_versionId :: Lens' GetObjectTaggingResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectTagging_bucket :: Lens' GetObjectTagging BucketName
+ Amazonka.S3.Lens: getObjectTagging_expectedBucketOwner :: Lens' GetObjectTagging (Maybe Text)
+ Amazonka.S3.Lens: getObjectTagging_key :: Lens' GetObjectTagging ObjectKey
+ Amazonka.S3.Lens: getObjectTagging_requestPayer :: Lens' GetObjectTagging (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObjectTagging_versionId :: Lens' GetObjectTagging (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getObjectTorrentResponse_body :: Lens' GetObjectTorrentResponse ResponseBody
+ Amazonka.S3.Lens: getObjectTorrentResponse_httpStatus :: Lens' GetObjectTorrentResponse Int
+ Amazonka.S3.Lens: getObjectTorrentResponse_requestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: getObjectTorrent_bucket :: Lens' GetObjectTorrent BucketName
+ Amazonka.S3.Lens: getObjectTorrent_expectedBucketOwner :: Lens' GetObjectTorrent (Maybe Text)
+ Amazonka.S3.Lens: getObjectTorrent_key :: Lens' GetObjectTorrent ObjectKey
+ Amazonka.S3.Lens: getObjectTorrent_requestPayer :: Lens' GetObjectTorrent (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObject_bucket :: Lens' GetObject BucketName
+ Amazonka.S3.Lens: getObject_checksumMode :: Lens' GetObject (Maybe ChecksumMode)
+ Amazonka.S3.Lens: getObject_expectedBucketOwner :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_ifMatch :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_ifModifiedSince :: Lens' GetObject (Maybe UTCTime)
+ Amazonka.S3.Lens: getObject_ifNoneMatch :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_ifUnmodifiedSince :: Lens' GetObject (Maybe UTCTime)
+ Amazonka.S3.Lens: getObject_key :: Lens' GetObject ObjectKey
+ Amazonka.S3.Lens: getObject_partNumber :: Lens' GetObject (Maybe Int)
+ Amazonka.S3.Lens: getObject_range :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_requestPayer :: Lens' GetObject (Maybe RequestPayer)
+ Amazonka.S3.Lens: getObject_responseCacheControl :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_responseContentDisposition :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_responseContentEncoding :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_responseContentLanguage :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_responseContentType :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_responseExpires :: Lens' GetObject (Maybe UTCTime)
+ Amazonka.S3.Lens: getObject_sSECustomerAlgorithm :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_sSECustomerKey :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_sSECustomerKeyMD5 :: Lens' GetObject (Maybe Text)
+ Amazonka.S3.Lens: getObject_versionId :: Lens' GetObject (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: getPublicAccessBlockResponse_httpStatus :: Lens' GetPublicAccessBlockResponse Int
+ Amazonka.S3.Lens: getPublicAccessBlockResponse_publicAccessBlockConfiguration :: Lens' GetPublicAccessBlockResponse (Maybe PublicAccessBlockConfiguration)
+ Amazonka.S3.Lens: getPublicAccessBlock_bucket :: Lens' GetPublicAccessBlock BucketName
+ Amazonka.S3.Lens: getPublicAccessBlock_expectedBucketOwner :: Lens' GetPublicAccessBlock (Maybe Text)
+ Amazonka.S3.Lens: glacierJobParameters_tier :: Lens' GlacierJobParameters Tier
+ Amazonka.S3.Lens: grant_grantee :: Lens' Grant (Maybe Grantee)
+ Amazonka.S3.Lens: grant_permission :: Lens' Grant (Maybe Permission)
+ Amazonka.S3.Lens: grantee_displayName :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Lens: grantee_emailAddress :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Lens: grantee_id :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Lens: grantee_type :: Lens' Grantee Type
+ Amazonka.S3.Lens: grantee_uri :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Lens: headBucket_bucket :: Lens' HeadBucket BucketName
+ Amazonka.S3.Lens: headBucket_expectedBucketOwner :: Lens' HeadBucket (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_acceptRanges :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_archiveStatus :: Lens' HeadObjectResponse (Maybe ArchiveStatus)
+ Amazonka.S3.Lens: headObjectResponse_bucketKeyEnabled :: Lens' HeadObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: headObjectResponse_cacheControl :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_checksumCRC32 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_checksumCRC32C :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_checksumSHA1 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_checksumSHA256 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_contentDisposition :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_contentEncoding :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_contentLanguage :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_contentLength :: Lens' HeadObjectResponse (Maybe Integer)
+ Amazonka.S3.Lens: headObjectResponse_contentType :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_deleteMarker :: Lens' HeadObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: headObjectResponse_eTag :: Lens' HeadObjectResponse (Maybe ETag)
+ Amazonka.S3.Lens: headObjectResponse_expiration :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_expires :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: headObjectResponse_httpStatus :: Lens' HeadObjectResponse Int
+ Amazonka.S3.Lens: headObjectResponse_lastModified :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: headObjectResponse_metadata :: Lens' HeadObjectResponse (HashMap Text Text)
+ Amazonka.S3.Lens: headObjectResponse_missingMeta :: Lens' HeadObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: headObjectResponse_objectLockLegalHoldStatus :: Lens' HeadObjectResponse (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: headObjectResponse_objectLockMode :: Lens' HeadObjectResponse (Maybe ObjectLockMode)
+ Amazonka.S3.Lens: headObjectResponse_objectLockRetainUntilDate :: Lens' HeadObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: headObjectResponse_partsCount :: Lens' HeadObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: headObjectResponse_replicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)
+ Amazonka.S3.Lens: headObjectResponse_requestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: headObjectResponse_restore :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_sSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_sSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_sSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObjectResponse_serverSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: headObjectResponse_storageClass :: Lens' HeadObjectResponse (Maybe StorageClass)
+ Amazonka.S3.Lens: headObjectResponse_versionId :: Lens' HeadObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: headObjectResponse_websiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: headObject_bucket :: Lens' HeadObject BucketName
+ Amazonka.S3.Lens: headObject_checksumMode :: Lens' HeadObject (Maybe ChecksumMode)
+ Amazonka.S3.Lens: headObject_expectedBucketOwner :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_ifMatch :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_ifModifiedSince :: Lens' HeadObject (Maybe UTCTime)
+ Amazonka.S3.Lens: headObject_ifNoneMatch :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_ifUnmodifiedSince :: Lens' HeadObject (Maybe UTCTime)
+ Amazonka.S3.Lens: headObject_key :: Lens' HeadObject ObjectKey
+ Amazonka.S3.Lens: headObject_partNumber :: Lens' HeadObject (Maybe Int)
+ Amazonka.S3.Lens: headObject_range :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_requestPayer :: Lens' HeadObject (Maybe RequestPayer)
+ Amazonka.S3.Lens: headObject_sSECustomerAlgorithm :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_sSECustomerKey :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_sSECustomerKeyMD5 :: Lens' HeadObject (Maybe Text)
+ Amazonka.S3.Lens: headObject_versionId :: Lens' HeadObject (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: indexDocument_suffix :: Lens' IndexDocument Text
+ Amazonka.S3.Lens: initiator_displayName :: Lens' Initiator (Maybe Text)
+ Amazonka.S3.Lens: initiator_id :: Lens' Initiator (Maybe Text)
+ Amazonka.S3.Lens: inputSerialization_compressionType :: Lens' InputSerialization (Maybe CompressionType)
+ Amazonka.S3.Lens: inputSerialization_csv :: Lens' InputSerialization (Maybe CSVInput)
+ Amazonka.S3.Lens: inputSerialization_json :: Lens' InputSerialization (Maybe JSONInput)
+ Amazonka.S3.Lens: inputSerialization_parquet :: Lens' InputSerialization (Maybe ParquetInput)
+ Amazonka.S3.Lens: intelligentTieringAndOperator_prefix :: Lens' IntelligentTieringAndOperator (Maybe Text)
+ Amazonka.S3.Lens: intelligentTieringAndOperator_tags :: Lens' IntelligentTieringAndOperator (Maybe [Tag])
+ Amazonka.S3.Lens: intelligentTieringConfiguration_filter :: Lens' IntelligentTieringConfiguration (Maybe IntelligentTieringFilter)
+ Amazonka.S3.Lens: intelligentTieringConfiguration_id :: Lens' IntelligentTieringConfiguration Text
+ Amazonka.S3.Lens: intelligentTieringConfiguration_status :: Lens' IntelligentTieringConfiguration IntelligentTieringStatus
+ Amazonka.S3.Lens: intelligentTieringConfiguration_tierings :: Lens' IntelligentTieringConfiguration [Tiering]
+ Amazonka.S3.Lens: intelligentTieringFilter_and :: Lens' IntelligentTieringFilter (Maybe IntelligentTieringAndOperator)
+ Amazonka.S3.Lens: intelligentTieringFilter_prefix :: Lens' IntelligentTieringFilter (Maybe Text)
+ Amazonka.S3.Lens: intelligentTieringFilter_tag :: Lens' IntelligentTieringFilter (Maybe Tag)
+ Amazonka.S3.Lens: inventoryConfiguration_destination :: Lens' InventoryConfiguration InventoryDestination
+ Amazonka.S3.Lens: inventoryConfiguration_filter :: Lens' InventoryConfiguration (Maybe InventoryFilter)
+ Amazonka.S3.Lens: inventoryConfiguration_id :: Lens' InventoryConfiguration Text
+ Amazonka.S3.Lens: inventoryConfiguration_includedObjectVersions :: Lens' InventoryConfiguration InventoryIncludedObjectVersions
+ Amazonka.S3.Lens: inventoryConfiguration_isEnabled :: Lens' InventoryConfiguration Bool
+ Amazonka.S3.Lens: inventoryConfiguration_optionalFields :: Lens' InventoryConfiguration (Maybe [InventoryOptionalField])
+ Amazonka.S3.Lens: inventoryConfiguration_schedule :: Lens' InventoryConfiguration InventorySchedule
+ Amazonka.S3.Lens: inventoryDestination_s3BucketDestination :: Lens' InventoryDestination InventoryS3BucketDestination
+ Amazonka.S3.Lens: inventoryEncryption_ssekms :: Lens' InventoryEncryption (Maybe SSEKMS)
+ Amazonka.S3.Lens: inventoryEncryption_sses3 :: Lens' InventoryEncryption (Maybe SSES3)
+ Amazonka.S3.Lens: inventoryFilter_prefix :: Lens' InventoryFilter Text
+ Amazonka.S3.Lens: inventoryS3BucketDestination_accountId :: Lens' InventoryS3BucketDestination (Maybe Text)
+ Amazonka.S3.Lens: inventoryS3BucketDestination_bucket :: Lens' InventoryS3BucketDestination BucketName
+ Amazonka.S3.Lens: inventoryS3BucketDestination_encryption :: Lens' InventoryS3BucketDestination (Maybe InventoryEncryption)
+ Amazonka.S3.Lens: inventoryS3BucketDestination_format :: Lens' InventoryS3BucketDestination InventoryFormat
+ Amazonka.S3.Lens: inventoryS3BucketDestination_prefix :: Lens' InventoryS3BucketDestination (Maybe Text)
+ Amazonka.S3.Lens: inventorySchedule_frequency :: Lens' InventorySchedule InventoryFrequency
+ Amazonka.S3.Lens: jSONInput_type :: Lens' JSONInput (Maybe JSONType)
+ Amazonka.S3.Lens: jSONOutput_recordDelimiter :: Lens' JSONOutput (Maybe Text)
+ Amazonka.S3.Lens: lambdaFunctionConfiguration_events :: Lens' LambdaFunctionConfiguration [Event]
+ Amazonka.S3.Lens: lambdaFunctionConfiguration_filter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Lens: lambdaFunctionConfiguration_id :: Lens' LambdaFunctionConfiguration (Maybe Text)
+ Amazonka.S3.Lens: lambdaFunctionConfiguration_lambdaFunctionArn :: Lens' LambdaFunctionConfiguration Text
+ Amazonka.S3.Lens: lifecycleExpiration_date :: Lens' LifecycleExpiration (Maybe UTCTime)
+ Amazonka.S3.Lens: lifecycleExpiration_days :: Lens' LifecycleExpiration (Maybe Int)
+ Amazonka.S3.Lens: lifecycleExpiration_expiredObjectDeleteMarker :: Lens' LifecycleExpiration (Maybe Bool)
+ Amazonka.S3.Lens: lifecycleRuleAndOperator_objectSizeGreaterThan :: Lens' LifecycleRuleAndOperator (Maybe Integer)
+ Amazonka.S3.Lens: lifecycleRuleAndOperator_objectSizeLessThan :: Lens' LifecycleRuleAndOperator (Maybe Integer)
+ Amazonka.S3.Lens: lifecycleRuleAndOperator_prefix :: Lens' LifecycleRuleAndOperator (Maybe Text)
+ Amazonka.S3.Lens: lifecycleRuleAndOperator_tags :: Lens' LifecycleRuleAndOperator (Maybe [Tag])
+ Amazonka.S3.Lens: lifecycleRuleFilter_and :: Lens' LifecycleRuleFilter (Maybe LifecycleRuleAndOperator)
+ Amazonka.S3.Lens: lifecycleRuleFilter_objectSizeGreaterThan :: Lens' LifecycleRuleFilter (Maybe Integer)
+ Amazonka.S3.Lens: lifecycleRuleFilter_objectSizeLessThan :: Lens' LifecycleRuleFilter (Maybe Integer)
+ Amazonka.S3.Lens: lifecycleRuleFilter_prefix :: Lens' LifecycleRuleFilter (Maybe Text)
+ Amazonka.S3.Lens: lifecycleRuleFilter_tag :: Lens' LifecycleRuleFilter (Maybe Tag)
+ Amazonka.S3.Lens: lifecycleRule_abortIncompleteMultipartUpload :: Lens' LifecycleRule (Maybe AbortIncompleteMultipartUpload)
+ Amazonka.S3.Lens: lifecycleRule_expiration :: Lens' LifecycleRule (Maybe LifecycleExpiration)
+ Amazonka.S3.Lens: lifecycleRule_filter :: Lens' LifecycleRule (Maybe LifecycleRuleFilter)
+ Amazonka.S3.Lens: lifecycleRule_id :: Lens' LifecycleRule (Maybe Text)
+ Amazonka.S3.Lens: lifecycleRule_noncurrentVersionExpiration :: Lens' LifecycleRule (Maybe NoncurrentVersionExpiration)
+ Amazonka.S3.Lens: lifecycleRule_noncurrentVersionTransitions :: Lens' LifecycleRule (Maybe [NoncurrentVersionTransition])
+ Amazonka.S3.Lens: lifecycleRule_prefix :: Lens' LifecycleRule (Maybe Text)
+ Amazonka.S3.Lens: lifecycleRule_status :: Lens' LifecycleRule ExpirationStatus
+ Amazonka.S3.Lens: lifecycleRule_transitions :: Lens' LifecycleRule (Maybe [Transition])
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe [AnalyticsConfiguration])
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurationsResponse_continuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurationsResponse_httpStatus :: Lens' ListBucketAnalyticsConfigurationsResponse Int
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurationsResponse_isTruncated :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurationsResponse_nextContinuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurations_bucket :: Lens' ListBucketAnalyticsConfigurations BucketName
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurations_continuationToken :: Lens' ListBucketAnalyticsConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketAnalyticsConfigurations_expectedBucketOwner :: Lens' ListBucketAnalyticsConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurationsResponse_continuationToken :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurationsResponse_httpStatus :: Lens' ListBucketIntelligentTieringConfigurationsResponse Int
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe [IntelligentTieringConfiguration])
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurationsResponse_isTruncated :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurations_bucket :: Lens' ListBucketIntelligentTieringConfigurations BucketName
+ Amazonka.S3.Lens: listBucketIntelligentTieringConfigurations_continuationToken :: Lens' ListBucketIntelligentTieringConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketInventoryConfigurationsResponse_continuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketInventoryConfigurationsResponse_httpStatus :: Lens' ListBucketInventoryConfigurationsResponse Int
+ Amazonka.S3.Lens: listBucketInventoryConfigurationsResponse_inventoryConfigurationList :: Lens' ListBucketInventoryConfigurationsResponse (Maybe [InventoryConfiguration])
+ Amazonka.S3.Lens: listBucketInventoryConfigurationsResponse_isTruncated :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listBucketInventoryConfigurationsResponse_nextContinuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketInventoryConfigurations_bucket :: Lens' ListBucketInventoryConfigurations BucketName
+ Amazonka.S3.Lens: listBucketInventoryConfigurations_continuationToken :: Lens' ListBucketInventoryConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketInventoryConfigurations_expectedBucketOwner :: Lens' ListBucketInventoryConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketMetricsConfigurationsResponse_continuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketMetricsConfigurationsResponse_httpStatus :: Lens' ListBucketMetricsConfigurationsResponse Int
+ Amazonka.S3.Lens: listBucketMetricsConfigurationsResponse_isTruncated :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listBucketMetricsConfigurationsResponse_metricsConfigurationList :: Lens' ListBucketMetricsConfigurationsResponse (Maybe [MetricsConfiguration])
+ Amazonka.S3.Lens: listBucketMetricsConfigurationsResponse_nextContinuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.Lens: listBucketMetricsConfigurations_bucket :: Lens' ListBucketMetricsConfigurations BucketName
+ Amazonka.S3.Lens: listBucketMetricsConfigurations_continuationToken :: Lens' ListBucketMetricsConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketMetricsConfigurations_expectedBucketOwner :: Lens' ListBucketMetricsConfigurations (Maybe Text)
+ Amazonka.S3.Lens: listBucketsResponse_buckets :: Lens' ListBucketsResponse (Maybe [Bucket])
+ Amazonka.S3.Lens: listBucketsResponse_httpStatus :: Lens' ListBucketsResponse Int
+ Amazonka.S3.Lens: listBucketsResponse_owner :: Lens' ListBucketsResponse (Maybe Owner)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_bucket :: Lens' ListMultipartUploadsResponse (Maybe BucketName)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_commonPrefixes :: Lens' ListMultipartUploadsResponse (Maybe [CommonPrefix])
+ Amazonka.S3.Lens: listMultipartUploadsResponse_delimiter :: Lens' ListMultipartUploadsResponse (Maybe Delimiter)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_encodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_httpStatus :: Lens' ListMultipartUploadsResponse Int
+ Amazonka.S3.Lens: listMultipartUploadsResponse_isTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_keyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_maxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_nextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_nextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_prefix :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_uploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploadsResponse_uploads :: Lens' ListMultipartUploadsResponse (Maybe [MultipartUpload])
+ Amazonka.S3.Lens: listMultipartUploads_bucket :: Lens' ListMultipartUploads BucketName
+ Amazonka.S3.Lens: listMultipartUploads_delimiter :: Lens' ListMultipartUploads (Maybe Delimiter)
+ Amazonka.S3.Lens: listMultipartUploads_encodingType :: Lens' ListMultipartUploads (Maybe EncodingType)
+ Amazonka.S3.Lens: listMultipartUploads_expectedBucketOwner :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploads_keyMarker :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploads_maxUploads :: Lens' ListMultipartUploads (Maybe Int)
+ Amazonka.S3.Lens: listMultipartUploads_prefix :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.Lens: listMultipartUploads_uploadIdMarker :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersionsResponse_commonPrefixes :: Lens' ListObjectVersionsResponse (Maybe [CommonPrefix])
+ Amazonka.S3.Lens: listObjectVersionsResponse_deleteMarkers :: Lens' ListObjectVersionsResponse (Maybe [DeleteMarkerEntry])
+ Amazonka.S3.Lens: listObjectVersionsResponse_delimiter :: Lens' ListObjectVersionsResponse (Maybe Delimiter)
+ Amazonka.S3.Lens: listObjectVersionsResponse_encodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)
+ Amazonka.S3.Lens: listObjectVersionsResponse_httpStatus :: Lens' ListObjectVersionsResponse Int
+ Amazonka.S3.Lens: listObjectVersionsResponse_isTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listObjectVersionsResponse_keyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersionsResponse_maxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)
+ Amazonka.S3.Lens: listObjectVersionsResponse_name :: Lens' ListObjectVersionsResponse (Maybe BucketName)
+ Amazonka.S3.Lens: listObjectVersionsResponse_nextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersionsResponse_nextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersionsResponse_prefix :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersionsResponse_versionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersionsResponse_versions :: Lens' ListObjectVersionsResponse (Maybe [ObjectVersion])
+ Amazonka.S3.Lens: listObjectVersions_bucket :: Lens' ListObjectVersions BucketName
+ Amazonka.S3.Lens: listObjectVersions_delimiter :: Lens' ListObjectVersions (Maybe Delimiter)
+ Amazonka.S3.Lens: listObjectVersions_encodingType :: Lens' ListObjectVersions (Maybe EncodingType)
+ Amazonka.S3.Lens: listObjectVersions_expectedBucketOwner :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersions_keyMarker :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersions_maxKeys :: Lens' ListObjectVersions (Maybe Int)
+ Amazonka.S3.Lens: listObjectVersions_prefix :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.Lens: listObjectVersions_versionIdMarker :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.Lens: listObjectsResponse_commonPrefixes :: Lens' ListObjectsResponse (Maybe [CommonPrefix])
+ Amazonka.S3.Lens: listObjectsResponse_contents :: Lens' ListObjectsResponse (Maybe [Object])
+ Amazonka.S3.Lens: listObjectsResponse_delimiter :: Lens' ListObjectsResponse (Maybe Delimiter)
+ Amazonka.S3.Lens: listObjectsResponse_encodingType :: Lens' ListObjectsResponse (Maybe EncodingType)
+ Amazonka.S3.Lens: listObjectsResponse_httpStatus :: Lens' ListObjectsResponse Int
+ Amazonka.S3.Lens: listObjectsResponse_isTruncated :: Lens' ListObjectsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listObjectsResponse_marker :: Lens' ListObjectsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectsResponse_maxKeys :: Lens' ListObjectsResponse (Maybe Int)
+ Amazonka.S3.Lens: listObjectsResponse_name :: Lens' ListObjectsResponse (Maybe BucketName)
+ Amazonka.S3.Lens: listObjectsResponse_nextMarker :: Lens' ListObjectsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectsResponse_prefix :: Lens' ListObjectsResponse (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2Response_commonPrefixes :: Lens' ListObjectsV2Response (Maybe [CommonPrefix])
+ Amazonka.S3.Lens: listObjectsV2Response_contents :: Lens' ListObjectsV2Response (Maybe [Object])
+ Amazonka.S3.Lens: listObjectsV2Response_continuationToken :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2Response_delimiter :: Lens' ListObjectsV2Response (Maybe Delimiter)
+ Amazonka.S3.Lens: listObjectsV2Response_encodingType :: Lens' ListObjectsV2Response (Maybe EncodingType)
+ Amazonka.S3.Lens: listObjectsV2Response_httpStatus :: Lens' ListObjectsV2Response Int
+ Amazonka.S3.Lens: listObjectsV2Response_isTruncated :: Lens' ListObjectsV2Response (Maybe Bool)
+ Amazonka.S3.Lens: listObjectsV2Response_keyCount :: Lens' ListObjectsV2Response (Maybe Int)
+ Amazonka.S3.Lens: listObjectsV2Response_maxKeys :: Lens' ListObjectsV2Response (Maybe Int)
+ Amazonka.S3.Lens: listObjectsV2Response_name :: Lens' ListObjectsV2Response (Maybe BucketName)
+ Amazonka.S3.Lens: listObjectsV2Response_nextContinuationToken :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2Response_prefix :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2Response_startAfter :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2_bucket :: Lens' ListObjectsV2 BucketName
+ Amazonka.S3.Lens: listObjectsV2_continuationToken :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2_delimiter :: Lens' ListObjectsV2 (Maybe Delimiter)
+ Amazonka.S3.Lens: listObjectsV2_encodingType :: Lens' ListObjectsV2 (Maybe EncodingType)
+ Amazonka.S3.Lens: listObjectsV2_expectedBucketOwner :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2_fetchOwner :: Lens' ListObjectsV2 (Maybe Bool)
+ Amazonka.S3.Lens: listObjectsV2_maxKeys :: Lens' ListObjectsV2 (Maybe Int)
+ Amazonka.S3.Lens: listObjectsV2_prefix :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.Lens: listObjectsV2_requestPayer :: Lens' ListObjectsV2 (Maybe RequestPayer)
+ Amazonka.S3.Lens: listObjectsV2_startAfter :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.Lens: listObjects_bucket :: Lens' ListObjects BucketName
+ Amazonka.S3.Lens: listObjects_delimiter :: Lens' ListObjects (Maybe Delimiter)
+ Amazonka.S3.Lens: listObjects_encodingType :: Lens' ListObjects (Maybe EncodingType)
+ Amazonka.S3.Lens: listObjects_expectedBucketOwner :: Lens' ListObjects (Maybe Text)
+ Amazonka.S3.Lens: listObjects_marker :: Lens' ListObjects (Maybe Text)
+ Amazonka.S3.Lens: listObjects_maxKeys :: Lens' ListObjects (Maybe Int)
+ Amazonka.S3.Lens: listObjects_prefix :: Lens' ListObjects (Maybe Text)
+ Amazonka.S3.Lens: listObjects_requestPayer :: Lens' ListObjects (Maybe RequestPayer)
+ Amazonka.S3.Lens: listPartsResponse_abortDate :: Lens' ListPartsResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: listPartsResponse_abortRuleId :: Lens' ListPartsResponse (Maybe Text)
+ Amazonka.S3.Lens: listPartsResponse_bucket :: Lens' ListPartsResponse (Maybe BucketName)
+ Amazonka.S3.Lens: listPartsResponse_checksumAlgorithm :: Lens' ListPartsResponse (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: listPartsResponse_httpStatus :: Lens' ListPartsResponse Int
+ Amazonka.S3.Lens: listPartsResponse_initiator :: Lens' ListPartsResponse (Maybe Initiator)
+ Amazonka.S3.Lens: listPartsResponse_isTruncated :: Lens' ListPartsResponse (Maybe Bool)
+ Amazonka.S3.Lens: listPartsResponse_key :: Lens' ListPartsResponse (Maybe ObjectKey)
+ Amazonka.S3.Lens: listPartsResponse_maxParts :: Lens' ListPartsResponse (Maybe Int)
+ Amazonka.S3.Lens: listPartsResponse_nextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
+ Amazonka.S3.Lens: listPartsResponse_owner :: Lens' ListPartsResponse (Maybe Owner)
+ Amazonka.S3.Lens: listPartsResponse_partNumberMarker :: Lens' ListPartsResponse (Maybe Int)
+ Amazonka.S3.Lens: listPartsResponse_parts :: Lens' ListPartsResponse (Maybe [Part])
+ Amazonka.S3.Lens: listPartsResponse_requestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: listPartsResponse_storageClass :: Lens' ListPartsResponse (Maybe StorageClass)
+ Amazonka.S3.Lens: listPartsResponse_uploadId :: Lens' ListPartsResponse (Maybe Text)
+ Amazonka.S3.Lens: listParts_bucket :: Lens' ListParts BucketName
+ Amazonka.S3.Lens: listParts_expectedBucketOwner :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.Lens: listParts_key :: Lens' ListParts ObjectKey
+ Amazonka.S3.Lens: listParts_maxParts :: Lens' ListParts (Maybe Int)
+ Amazonka.S3.Lens: listParts_partNumberMarker :: Lens' ListParts (Maybe Int)
+ Amazonka.S3.Lens: listParts_requestPayer :: Lens' ListParts (Maybe RequestPayer)
+ Amazonka.S3.Lens: listParts_sSECustomerAlgorithm :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.Lens: listParts_sSECustomerKey :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.Lens: listParts_sSECustomerKeyMD5 :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.Lens: listParts_uploadId :: Lens' ListParts Text
+ Amazonka.S3.Lens: loggingEnabled_targetBucket :: Lens' LoggingEnabled Text
+ Amazonka.S3.Lens: loggingEnabled_targetGrants :: Lens' LoggingEnabled (Maybe [TargetGrant])
+ Amazonka.S3.Lens: loggingEnabled_targetPrefix :: Lens' LoggingEnabled Text
+ Amazonka.S3.Lens: metadataEntry_name :: Lens' MetadataEntry (Maybe Text)
+ Amazonka.S3.Lens: metadataEntry_value :: Lens' MetadataEntry (Maybe Text)
+ Amazonka.S3.Lens: metricsAndOperator_accessPointArn :: Lens' MetricsAndOperator (Maybe Text)
+ Amazonka.S3.Lens: metricsAndOperator_prefix :: Lens' MetricsAndOperator (Maybe Text)
+ Amazonka.S3.Lens: metricsAndOperator_tags :: Lens' MetricsAndOperator (Maybe [Tag])
+ Amazonka.S3.Lens: metricsConfiguration_filter :: Lens' MetricsConfiguration (Maybe MetricsFilter)
+ Amazonka.S3.Lens: metricsConfiguration_id :: Lens' MetricsConfiguration Text
+ Amazonka.S3.Lens: metricsFilter_accessPointArn :: Lens' MetricsFilter (Maybe Text)
+ Amazonka.S3.Lens: metricsFilter_and :: Lens' MetricsFilter (Maybe MetricsAndOperator)
+ Amazonka.S3.Lens: metricsFilter_prefix :: Lens' MetricsFilter (Maybe Text)
+ Amazonka.S3.Lens: metricsFilter_tag :: Lens' MetricsFilter (Maybe Tag)
+ Amazonka.S3.Lens: metrics_eventThreshold :: Lens' Metrics (Maybe ReplicationTimeValue)
+ Amazonka.S3.Lens: metrics_status :: Lens' Metrics MetricsStatus
+ Amazonka.S3.Lens: multipartUpload_checksumAlgorithm :: Lens' MultipartUpload (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: multipartUpload_initiated :: Lens' MultipartUpload (Maybe UTCTime)
+ Amazonka.S3.Lens: multipartUpload_initiator :: Lens' MultipartUpload (Maybe Initiator)
+ Amazonka.S3.Lens: multipartUpload_key :: Lens' MultipartUpload (Maybe ObjectKey)
+ Amazonka.S3.Lens: multipartUpload_owner :: Lens' MultipartUpload (Maybe Owner)
+ Amazonka.S3.Lens: multipartUpload_storageClass :: Lens' MultipartUpload (Maybe StorageClass)
+ Amazonka.S3.Lens: multipartUpload_uploadId :: Lens' MultipartUpload (Maybe Text)
+ Amazonka.S3.Lens: noncurrentVersionExpiration_newerNoncurrentVersions :: Lens' NoncurrentVersionExpiration (Maybe Int)
+ Amazonka.S3.Lens: noncurrentVersionExpiration_noncurrentDays :: Lens' NoncurrentVersionExpiration Int
+ Amazonka.S3.Lens: noncurrentVersionTransition_newerNoncurrentVersions :: Lens' NoncurrentVersionTransition (Maybe Int)
+ Amazonka.S3.Lens: noncurrentVersionTransition_noncurrentDays :: Lens' NoncurrentVersionTransition Int
+ Amazonka.S3.Lens: noncurrentVersionTransition_storageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass
+ Amazonka.S3.Lens: notificationConfigurationFilter_key :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)
+ Amazonka.S3.Lens: notificationConfiguration_eventBridgeConfiguration :: Lens' NotificationConfiguration (Maybe EventBridgeConfiguration)
+ Amazonka.S3.Lens: notificationConfiguration_lambdaFunctionConfigurations :: Lens' NotificationConfiguration (Maybe [LambdaFunctionConfiguration])
+ Amazonka.S3.Lens: notificationConfiguration_queueConfigurations :: Lens' NotificationConfiguration (Maybe [QueueConfiguration])
+ Amazonka.S3.Lens: notificationConfiguration_topicConfigurations :: Lens' NotificationConfiguration (Maybe [TopicConfiguration])
+ Amazonka.S3.Lens: objectIdentifier_key :: Lens' ObjectIdentifier ObjectKey
+ Amazonka.S3.Lens: objectIdentifier_versionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: objectLockConfiguration_objectLockEnabled :: Lens' ObjectLockConfiguration (Maybe ObjectLockEnabled)
+ Amazonka.S3.Lens: objectLockConfiguration_rule :: Lens' ObjectLockConfiguration (Maybe ObjectLockRule)
+ Amazonka.S3.Lens: objectLockLegalHold_status :: Lens' ObjectLockLegalHold (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: objectLockRetention_mode :: Lens' ObjectLockRetention (Maybe ObjectLockRetentionMode)
+ Amazonka.S3.Lens: objectLockRetention_retainUntilDate :: Lens' ObjectLockRetention (Maybe UTCTime)
+ Amazonka.S3.Lens: objectLockRule_defaultRetention :: Lens' ObjectLockRule (Maybe DefaultRetention)
+ Amazonka.S3.Lens: objectPart_checksumCRC32 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Lens: objectPart_checksumCRC32C :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Lens: objectPart_checksumSHA1 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Lens: objectPart_checksumSHA256 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Lens: objectPart_partNumber :: Lens' ObjectPart (Maybe Int)
+ Amazonka.S3.Lens: objectPart_size :: Lens' ObjectPart (Maybe Integer)
+ Amazonka.S3.Lens: objectVersion_checksumAlgorithm :: Lens' ObjectVersion (Maybe [ChecksumAlgorithm])
+ Amazonka.S3.Lens: objectVersion_eTag :: Lens' ObjectVersion (Maybe ETag)
+ Amazonka.S3.Lens: objectVersion_isLatest :: Lens' ObjectVersion (Maybe Bool)
+ Amazonka.S3.Lens: objectVersion_key :: Lens' ObjectVersion (Maybe ObjectKey)
+ Amazonka.S3.Lens: objectVersion_lastModified :: Lens' ObjectVersion (Maybe UTCTime)
+ Amazonka.S3.Lens: objectVersion_owner :: Lens' ObjectVersion (Maybe Owner)
+ Amazonka.S3.Lens: objectVersion_size :: Lens' ObjectVersion (Maybe Integer)
+ Amazonka.S3.Lens: objectVersion_storageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)
+ Amazonka.S3.Lens: objectVersion_versionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: object_checksumAlgorithm :: Lens' Object (Maybe [ChecksumAlgorithm])
+ Amazonka.S3.Lens: object_eTag :: Lens' Object ETag
+ Amazonka.S3.Lens: object_key :: Lens' Object ObjectKey
+ Amazonka.S3.Lens: object_lastModified :: Lens' Object UTCTime
+ Amazonka.S3.Lens: object_owner :: Lens' Object (Maybe Owner)
+ Amazonka.S3.Lens: object_size :: Lens' Object Integer
+ Amazonka.S3.Lens: object_storageClass :: Lens' Object ObjectStorageClass
+ Amazonka.S3.Lens: outputLocation_s3 :: Lens' OutputLocation (Maybe S3Location)
+ Amazonka.S3.Lens: outputSerialization_csv :: Lens' OutputSerialization (Maybe CSVOutput)
+ Amazonka.S3.Lens: outputSerialization_json :: Lens' OutputSerialization (Maybe JSONOutput)
+ Amazonka.S3.Lens: owner_displayName :: Lens' Owner (Maybe Text)
+ Amazonka.S3.Lens: owner_id :: Lens' Owner (Maybe Text)
+ Amazonka.S3.Lens: ownershipControlsRule_objectOwnership :: Lens' OwnershipControlsRule ObjectOwnership
+ Amazonka.S3.Lens: ownershipControls_rules :: Lens' OwnershipControls [OwnershipControlsRule]
+ Amazonka.S3.Lens: part_checksumCRC32 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Lens: part_checksumCRC32C :: Lens' Part (Maybe Text)
+ Amazonka.S3.Lens: part_checksumSHA1 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Lens: part_checksumSHA256 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Lens: part_eTag :: Lens' Part (Maybe ETag)
+ Amazonka.S3.Lens: part_lastModified :: Lens' Part (Maybe UTCTime)
+ Amazonka.S3.Lens: part_partNumber :: Lens' Part (Maybe Int)
+ Amazonka.S3.Lens: part_size :: Lens' Part (Maybe Integer)
+ Amazonka.S3.Lens: policyStatus_isPublic :: Lens' PolicyStatus (Maybe Bool)
+ Amazonka.S3.Lens: progressEvent_details :: Lens' ProgressEvent (Maybe Progress)
+ Amazonka.S3.Lens: progress_bytesProcessed :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Lens: progress_bytesReturned :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Lens: progress_bytesScanned :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Lens: publicAccessBlockConfiguration_blockPublicAcls :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Lens: publicAccessBlockConfiguration_blockPublicPolicy :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Lens: publicAccessBlockConfiguration_ignorePublicAcls :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Lens: publicAccessBlockConfiguration_restrictPublicBuckets :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Lens: putBucketAccelerateConfiguration_accelerateConfiguration :: Lens' PutBucketAccelerateConfiguration AccelerateConfiguration
+ Amazonka.S3.Lens: putBucketAccelerateConfiguration_bucket :: Lens' PutBucketAccelerateConfiguration BucketName
+ Amazonka.S3.Lens: putBucketAccelerateConfiguration_checksumAlgorithm :: Lens' PutBucketAccelerateConfiguration (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketAccelerateConfiguration_expectedBucketOwner :: Lens' PutBucketAccelerateConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_accessControlPolicy :: Lens' PutBucketAcl (Maybe AccessControlPolicy)
+ Amazonka.S3.Lens: putBucketAcl_acl :: Lens' PutBucketAcl (Maybe BucketCannedACL)
+ Amazonka.S3.Lens: putBucketAcl_bucket :: Lens' PutBucketAcl BucketName
+ Amazonka.S3.Lens: putBucketAcl_checksumAlgorithm :: Lens' PutBucketAcl (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketAcl_contentMD5 :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_expectedBucketOwner :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_grantFullControl :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_grantRead :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_grantReadACP :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_grantWrite :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAcl_grantWriteACP :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.Lens: putBucketAnalyticsConfiguration_analyticsConfiguration :: Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration
+ Amazonka.S3.Lens: putBucketAnalyticsConfiguration_bucket :: Lens' PutBucketAnalyticsConfiguration BucketName
+ Amazonka.S3.Lens: putBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' PutBucketAnalyticsConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putBucketAnalyticsConfiguration_id :: Lens' PutBucketAnalyticsConfiguration Text
+ Amazonka.S3.Lens: putBucketCors_bucket :: Lens' PutBucketCors BucketName
+ Amazonka.S3.Lens: putBucketCors_cORSConfiguration :: Lens' PutBucketCors CORSConfiguration
+ Amazonka.S3.Lens: putBucketCors_checksumAlgorithm :: Lens' PutBucketCors (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketCors_contentMD5 :: Lens' PutBucketCors (Maybe Text)
+ Amazonka.S3.Lens: putBucketCors_expectedBucketOwner :: Lens' PutBucketCors (Maybe Text)
+ Amazonka.S3.Lens: putBucketEncryption_bucket :: Lens' PutBucketEncryption BucketName
+ Amazonka.S3.Lens: putBucketEncryption_checksumAlgorithm :: Lens' PutBucketEncryption (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketEncryption_contentMD5 :: Lens' PutBucketEncryption (Maybe Text)
+ Amazonka.S3.Lens: putBucketEncryption_expectedBucketOwner :: Lens' PutBucketEncryption (Maybe Text)
+ Amazonka.S3.Lens: putBucketEncryption_serverSideEncryptionConfiguration :: Lens' PutBucketEncryption ServerSideEncryptionConfiguration
+ Amazonka.S3.Lens: putBucketIntelligentTieringConfiguration_bucket :: Lens' PutBucketIntelligentTieringConfiguration BucketName
+ Amazonka.S3.Lens: putBucketIntelligentTieringConfiguration_id :: Lens' PutBucketIntelligentTieringConfiguration Text
+ Amazonka.S3.Lens: putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration :: Lens' PutBucketIntelligentTieringConfiguration IntelligentTieringConfiguration
+ Amazonka.S3.Lens: putBucketInventoryConfiguration_bucket :: Lens' PutBucketInventoryConfiguration BucketName
+ Amazonka.S3.Lens: putBucketInventoryConfiguration_expectedBucketOwner :: Lens' PutBucketInventoryConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putBucketInventoryConfiguration_id :: Lens' PutBucketInventoryConfiguration Text
+ Amazonka.S3.Lens: putBucketInventoryConfiguration_inventoryConfiguration :: Lens' PutBucketInventoryConfiguration InventoryConfiguration
+ Amazonka.S3.Lens: putBucketLifecycleConfiguration_bucket :: Lens' PutBucketLifecycleConfiguration BucketName
+ Amazonka.S3.Lens: putBucketLifecycleConfiguration_checksumAlgorithm :: Lens' PutBucketLifecycleConfiguration (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketLifecycleConfiguration_expectedBucketOwner :: Lens' PutBucketLifecycleConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putBucketLifecycleConfiguration_lifecycleConfiguration :: Lens' PutBucketLifecycleConfiguration (Maybe BucketLifecycleConfiguration)
+ Amazonka.S3.Lens: putBucketLogging_bucket :: Lens' PutBucketLogging BucketName
+ Amazonka.S3.Lens: putBucketLogging_bucketLoggingStatus :: Lens' PutBucketLogging BucketLoggingStatus
+ Amazonka.S3.Lens: putBucketLogging_checksumAlgorithm :: Lens' PutBucketLogging (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketLogging_contentMD5 :: Lens' PutBucketLogging (Maybe Text)
+ Amazonka.S3.Lens: putBucketLogging_expectedBucketOwner :: Lens' PutBucketLogging (Maybe Text)
+ Amazonka.S3.Lens: putBucketMetricsConfiguration_bucket :: Lens' PutBucketMetricsConfiguration BucketName
+ Amazonka.S3.Lens: putBucketMetricsConfiguration_expectedBucketOwner :: Lens' PutBucketMetricsConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putBucketMetricsConfiguration_id :: Lens' PutBucketMetricsConfiguration Text
+ Amazonka.S3.Lens: putBucketMetricsConfiguration_metricsConfiguration :: Lens' PutBucketMetricsConfiguration MetricsConfiguration
+ Amazonka.S3.Lens: putBucketNotificationConfiguration_bucket :: Lens' PutBucketNotificationConfiguration BucketName
+ Amazonka.S3.Lens: putBucketNotificationConfiguration_expectedBucketOwner :: Lens' PutBucketNotificationConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putBucketNotificationConfiguration_notificationConfiguration :: Lens' PutBucketNotificationConfiguration NotificationConfiguration
+ Amazonka.S3.Lens: putBucketNotificationConfiguration_skipDestinationValidation :: Lens' PutBucketNotificationConfiguration (Maybe Bool)
+ Amazonka.S3.Lens: putBucketOwnershipControls_bucket :: Lens' PutBucketOwnershipControls BucketName
+ Amazonka.S3.Lens: putBucketOwnershipControls_contentMD5 :: Lens' PutBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.Lens: putBucketOwnershipControls_expectedBucketOwner :: Lens' PutBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.Lens: putBucketOwnershipControls_ownershipControls :: Lens' PutBucketOwnershipControls OwnershipControls
+ Amazonka.S3.Lens: putBucketPolicy_bucket :: Lens' PutBucketPolicy BucketName
+ Amazonka.S3.Lens: putBucketPolicy_checksumAlgorithm :: Lens' PutBucketPolicy (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketPolicy_confirmRemoveSelfBucketAccess :: Lens' PutBucketPolicy (Maybe Bool)
+ Amazonka.S3.Lens: putBucketPolicy_contentMD5 :: Lens' PutBucketPolicy (Maybe Text)
+ Amazonka.S3.Lens: putBucketPolicy_expectedBucketOwner :: Lens' PutBucketPolicy (Maybe Text)
+ Amazonka.S3.Lens: putBucketPolicy_policy :: Lens' PutBucketPolicy ByteString
+ Amazonka.S3.Lens: putBucketReplication_bucket :: Lens' PutBucketReplication BucketName
+ Amazonka.S3.Lens: putBucketReplication_checksumAlgorithm :: Lens' PutBucketReplication (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketReplication_contentMD5 :: Lens' PutBucketReplication (Maybe Text)
+ Amazonka.S3.Lens: putBucketReplication_expectedBucketOwner :: Lens' PutBucketReplication (Maybe Text)
+ Amazonka.S3.Lens: putBucketReplication_replicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration
+ Amazonka.S3.Lens: putBucketReplication_token :: Lens' PutBucketReplication (Maybe Text)
+ Amazonka.S3.Lens: putBucketRequestPayment_bucket :: Lens' PutBucketRequestPayment BucketName
+ Amazonka.S3.Lens: putBucketRequestPayment_checksumAlgorithm :: Lens' PutBucketRequestPayment (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketRequestPayment_contentMD5 :: Lens' PutBucketRequestPayment (Maybe Text)
+ Amazonka.S3.Lens: putBucketRequestPayment_expectedBucketOwner :: Lens' PutBucketRequestPayment (Maybe Text)
+ Amazonka.S3.Lens: putBucketRequestPayment_requestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration
+ Amazonka.S3.Lens: putBucketTagging_bucket :: Lens' PutBucketTagging BucketName
+ Amazonka.S3.Lens: putBucketTagging_checksumAlgorithm :: Lens' PutBucketTagging (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketTagging_contentMD5 :: Lens' PutBucketTagging (Maybe Text)
+ Amazonka.S3.Lens: putBucketTagging_expectedBucketOwner :: Lens' PutBucketTagging (Maybe Text)
+ Amazonka.S3.Lens: putBucketTagging_tagging :: Lens' PutBucketTagging Tagging
+ Amazonka.S3.Lens: putBucketVersioning_bucket :: Lens' PutBucketVersioning BucketName
+ Amazonka.S3.Lens: putBucketVersioning_checksumAlgorithm :: Lens' PutBucketVersioning (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketVersioning_contentMD5 :: Lens' PutBucketVersioning (Maybe Text)
+ Amazonka.S3.Lens: putBucketVersioning_expectedBucketOwner :: Lens' PutBucketVersioning (Maybe Text)
+ Amazonka.S3.Lens: putBucketVersioning_mfa :: Lens' PutBucketVersioning (Maybe Text)
+ Amazonka.S3.Lens: putBucketVersioning_versioningConfiguration :: Lens' PutBucketVersioning VersioningConfiguration
+ Amazonka.S3.Lens: putBucketWebsite_bucket :: Lens' PutBucketWebsite BucketName
+ Amazonka.S3.Lens: putBucketWebsite_checksumAlgorithm :: Lens' PutBucketWebsite (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putBucketWebsite_contentMD5 :: Lens' PutBucketWebsite (Maybe Text)
+ Amazonka.S3.Lens: putBucketWebsite_expectedBucketOwner :: Lens' PutBucketWebsite (Maybe Text)
+ Amazonka.S3.Lens: putBucketWebsite_websiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration
+ Amazonka.S3.Lens: putObjectAclResponse_httpStatus :: Lens' PutObjectAclResponse Int
+ Amazonka.S3.Lens: putObjectAclResponse_requestCharged :: Lens' PutObjectAclResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: putObjectAcl_accessControlPolicy :: Lens' PutObjectAcl (Maybe AccessControlPolicy)
+ Amazonka.S3.Lens: putObjectAcl_acl :: Lens' PutObjectAcl (Maybe ObjectCannedACL)
+ Amazonka.S3.Lens: putObjectAcl_bucket :: Lens' PutObjectAcl BucketName
+ Amazonka.S3.Lens: putObjectAcl_checksumAlgorithm :: Lens' PutObjectAcl (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putObjectAcl_contentMD5 :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_expectedBucketOwner :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_grantFullControl :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_grantRead :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_grantReadACP :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_grantWrite :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_grantWriteACP :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.Lens: putObjectAcl_key :: Lens' PutObjectAcl ObjectKey
+ Amazonka.S3.Lens: putObjectAcl_requestPayer :: Lens' PutObjectAcl (Maybe RequestPayer)
+ Amazonka.S3.Lens: putObjectAcl_versionId :: Lens' PutObjectAcl (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: putObjectLegalHoldResponse_httpStatus :: Lens' PutObjectLegalHoldResponse Int
+ Amazonka.S3.Lens: putObjectLegalHoldResponse_requestCharged :: Lens' PutObjectLegalHoldResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: putObjectLegalHold_bucket :: Lens' PutObjectLegalHold BucketName
+ Amazonka.S3.Lens: putObjectLegalHold_checksumAlgorithm :: Lens' PutObjectLegalHold (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putObjectLegalHold_contentMD5 :: Lens' PutObjectLegalHold (Maybe Text)
+ Amazonka.S3.Lens: putObjectLegalHold_expectedBucketOwner :: Lens' PutObjectLegalHold (Maybe Text)
+ Amazonka.S3.Lens: putObjectLegalHold_key :: Lens' PutObjectLegalHold ObjectKey
+ Amazonka.S3.Lens: putObjectLegalHold_legalHold :: Lens' PutObjectLegalHold (Maybe ObjectLockLegalHold)
+ Amazonka.S3.Lens: putObjectLegalHold_requestPayer :: Lens' PutObjectLegalHold (Maybe RequestPayer)
+ Amazonka.S3.Lens: putObjectLegalHold_versionId :: Lens' PutObjectLegalHold (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: putObjectLockConfigurationResponse_httpStatus :: Lens' PutObjectLockConfigurationResponse Int
+ Amazonka.S3.Lens: putObjectLockConfigurationResponse_requestCharged :: Lens' PutObjectLockConfigurationResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: putObjectLockConfiguration_bucket :: Lens' PutObjectLockConfiguration BucketName
+ Amazonka.S3.Lens: putObjectLockConfiguration_checksumAlgorithm :: Lens' PutObjectLockConfiguration (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putObjectLockConfiguration_contentMD5 :: Lens' PutObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putObjectLockConfiguration_expectedBucketOwner :: Lens' PutObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putObjectLockConfiguration_objectLockConfiguration :: Lens' PutObjectLockConfiguration (Maybe ObjectLockConfiguration)
+ Amazonka.S3.Lens: putObjectLockConfiguration_requestPayer :: Lens' PutObjectLockConfiguration (Maybe RequestPayer)
+ Amazonka.S3.Lens: putObjectLockConfiguration_token :: Lens' PutObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_bucketKeyEnabled :: Lens' PutObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: putObjectResponse_checksumCRC32 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_checksumCRC32C :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_checksumSHA1 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_checksumSHA256 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_eTag :: Lens' PutObjectResponse (Maybe ETag)
+ Amazonka.S3.Lens: putObjectResponse_expiration :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_httpStatus :: Lens' PutObjectResponse Int
+ Amazonka.S3.Lens: putObjectResponse_requestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: putObjectResponse_sSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_sSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_sSEKMSEncryptionContext :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_sSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: putObjectResponse_serverSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: putObjectResponse_versionId :: Lens' PutObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: putObjectRetentionResponse_httpStatus :: Lens' PutObjectRetentionResponse Int
+ Amazonka.S3.Lens: putObjectRetentionResponse_requestCharged :: Lens' PutObjectRetentionResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: putObjectRetention_bucket :: Lens' PutObjectRetention BucketName
+ Amazonka.S3.Lens: putObjectRetention_bypassGovernanceRetention :: Lens' PutObjectRetention (Maybe Bool)
+ Amazonka.S3.Lens: putObjectRetention_checksumAlgorithm :: Lens' PutObjectRetention (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putObjectRetention_contentMD5 :: Lens' PutObjectRetention (Maybe Text)
+ Amazonka.S3.Lens: putObjectRetention_expectedBucketOwner :: Lens' PutObjectRetention (Maybe Text)
+ Amazonka.S3.Lens: putObjectRetention_key :: Lens' PutObjectRetention ObjectKey
+ Amazonka.S3.Lens: putObjectRetention_requestPayer :: Lens' PutObjectRetention (Maybe RequestPayer)
+ Amazonka.S3.Lens: putObjectRetention_retention :: Lens' PutObjectRetention (Maybe ObjectLockRetention)
+ Amazonka.S3.Lens: putObjectRetention_versionId :: Lens' PutObjectRetention (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: putObjectTaggingResponse_httpStatus :: Lens' PutObjectTaggingResponse Int
+ Amazonka.S3.Lens: putObjectTaggingResponse_versionId :: Lens' PutObjectTaggingResponse (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: putObjectTagging_bucket :: Lens' PutObjectTagging BucketName
+ Amazonka.S3.Lens: putObjectTagging_checksumAlgorithm :: Lens' PutObjectTagging (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putObjectTagging_contentMD5 :: Lens' PutObjectTagging (Maybe Text)
+ Amazonka.S3.Lens: putObjectTagging_expectedBucketOwner :: Lens' PutObjectTagging (Maybe Text)
+ Amazonka.S3.Lens: putObjectTagging_key :: Lens' PutObjectTagging ObjectKey
+ Amazonka.S3.Lens: putObjectTagging_requestPayer :: Lens' PutObjectTagging (Maybe RequestPayer)
+ Amazonka.S3.Lens: putObjectTagging_tagging :: Lens' PutObjectTagging Tagging
+ Amazonka.S3.Lens: putObjectTagging_versionId :: Lens' PutObjectTagging (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: putObject_acl :: Lens' PutObject (Maybe ObjectCannedACL)
+ Amazonka.S3.Lens: putObject_body :: Lens' PutObject RequestBody
+ Amazonka.S3.Lens: putObject_bucket :: Lens' PutObject BucketName
+ Amazonka.S3.Lens: putObject_bucketKeyEnabled :: Lens' PutObject (Maybe Bool)
+ Amazonka.S3.Lens: putObject_cacheControl :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_checksumAlgorithm :: Lens' PutObject (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putObject_checksumCRC32 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_checksumCRC32C :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_checksumSHA1 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_checksumSHA256 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_contentDisposition :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_contentEncoding :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_contentLanguage :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_contentLength :: Lens' PutObject (Maybe Integer)
+ Amazonka.S3.Lens: putObject_contentMD5 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_contentType :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_expectedBucketOwner :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_expires :: Lens' PutObject (Maybe UTCTime)
+ Amazonka.S3.Lens: putObject_grantFullControl :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_grantRead :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_grantReadACP :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_grantWriteACP :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_key :: Lens' PutObject ObjectKey
+ Amazonka.S3.Lens: putObject_metadata :: Lens' PutObject (HashMap Text Text)
+ Amazonka.S3.Lens: putObject_objectLockLegalHoldStatus :: Lens' PutObject (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: putObject_objectLockMode :: Lens' PutObject (Maybe ObjectLockMode)
+ Amazonka.S3.Lens: putObject_objectLockRetainUntilDate :: Lens' PutObject (Maybe UTCTime)
+ Amazonka.S3.Lens: putObject_requestPayer :: Lens' PutObject (Maybe RequestPayer)
+ Amazonka.S3.Lens: putObject_sSECustomerAlgorithm :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_sSECustomerKey :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_sSECustomerKeyMD5 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_sSEKMSEncryptionContext :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_sSEKMSKeyId :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_serverSideEncryption :: Lens' PutObject (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: putObject_storageClass :: Lens' PutObject (Maybe StorageClass)
+ Amazonka.S3.Lens: putObject_tagging :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putObject_websiteRedirectLocation :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.Lens: putPublicAccessBlock_bucket :: Lens' PutPublicAccessBlock BucketName
+ Amazonka.S3.Lens: putPublicAccessBlock_checksumAlgorithm :: Lens' PutPublicAccessBlock (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: putPublicAccessBlock_contentMD5 :: Lens' PutPublicAccessBlock (Maybe Text)
+ Amazonka.S3.Lens: putPublicAccessBlock_expectedBucketOwner :: Lens' PutPublicAccessBlock (Maybe Text)
+ Amazonka.S3.Lens: putPublicAccessBlock_publicAccessBlockConfiguration :: Lens' PutPublicAccessBlock PublicAccessBlockConfiguration
+ Amazonka.S3.Lens: queueConfiguration_events :: Lens' QueueConfiguration [Event]
+ Amazonka.S3.Lens: queueConfiguration_filter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Lens: queueConfiguration_id :: Lens' QueueConfiguration (Maybe Text)
+ Amazonka.S3.Lens: queueConfiguration_queueArn :: Lens' QueueConfiguration Text
+ Amazonka.S3.Lens: recordsEvent_payload :: Lens' RecordsEvent (Maybe ByteString)
+ Amazonka.S3.Lens: redirectAllRequestsTo_hostName :: Lens' RedirectAllRequestsTo Text
+ Amazonka.S3.Lens: redirectAllRequestsTo_protocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)
+ Amazonka.S3.Lens: redirect_hostName :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Lens: redirect_httpRedirectCode :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Lens: redirect_protocol :: Lens' Redirect (Maybe Protocol)
+ Amazonka.S3.Lens: redirect_replaceKeyPrefixWith :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Lens: redirect_replaceKeyWith :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Lens: replicaModifications_status :: Lens' ReplicaModifications ReplicaModificationsStatus
+ Amazonka.S3.Lens: replicationConfiguration_role :: Lens' ReplicationConfiguration Text
+ Amazonka.S3.Lens: replicationConfiguration_rules :: Lens' ReplicationConfiguration [ReplicationRule]
+ Amazonka.S3.Lens: replicationRuleAndOperator_prefix :: Lens' ReplicationRuleAndOperator (Maybe Text)
+ Amazonka.S3.Lens: replicationRuleAndOperator_tags :: Lens' ReplicationRuleAndOperator (Maybe [Tag])
+ Amazonka.S3.Lens: replicationRuleFilter_and :: Lens' ReplicationRuleFilter (Maybe ReplicationRuleAndOperator)
+ Amazonka.S3.Lens: replicationRuleFilter_prefix :: Lens' ReplicationRuleFilter (Maybe Text)
+ Amazonka.S3.Lens: replicationRuleFilter_tag :: Lens' ReplicationRuleFilter (Maybe Tag)
+ Amazonka.S3.Lens: replicationRule_deleteMarkerReplication :: Lens' ReplicationRule (Maybe DeleteMarkerReplication)
+ Amazonka.S3.Lens: replicationRule_destination :: Lens' ReplicationRule Destination
+ Amazonka.S3.Lens: replicationRule_existingObjectReplication :: Lens' ReplicationRule (Maybe ExistingObjectReplication)
+ Amazonka.S3.Lens: replicationRule_filter :: Lens' ReplicationRule (Maybe ReplicationRuleFilter)
+ Amazonka.S3.Lens: replicationRule_id :: Lens' ReplicationRule (Maybe Text)
+ Amazonka.S3.Lens: replicationRule_prefix :: Lens' ReplicationRule (Maybe Text)
+ Amazonka.S3.Lens: replicationRule_priority :: Lens' ReplicationRule (Maybe Int)
+ Amazonka.S3.Lens: replicationRule_sourceSelectionCriteria :: Lens' ReplicationRule (Maybe SourceSelectionCriteria)
+ Amazonka.S3.Lens: replicationRule_status :: Lens' ReplicationRule ReplicationRuleStatus
+ Amazonka.S3.Lens: replicationTimeValue_minutes :: Lens' ReplicationTimeValue (Maybe Int)
+ Amazonka.S3.Lens: replicationTime_status :: Lens' ReplicationTime ReplicationTimeStatus
+ Amazonka.S3.Lens: replicationTime_time :: Lens' ReplicationTime ReplicationTimeValue
+ Amazonka.S3.Lens: requestPaymentConfiguration_payer :: Lens' RequestPaymentConfiguration Payer
+ Amazonka.S3.Lens: requestProgress_enabled :: Lens' RequestProgress (Maybe Bool)
+ Amazonka.S3.Lens: restoreObjectResponse_httpStatus :: Lens' RestoreObjectResponse Int
+ Amazonka.S3.Lens: restoreObjectResponse_requestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: restoreObjectResponse_restoreOutputPath :: Lens' RestoreObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: restoreObject_bucket :: Lens' RestoreObject BucketName
+ Amazonka.S3.Lens: restoreObject_checksumAlgorithm :: Lens' RestoreObject (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: restoreObject_expectedBucketOwner :: Lens' RestoreObject (Maybe Text)
+ Amazonka.S3.Lens: restoreObject_key :: Lens' RestoreObject ObjectKey
+ Amazonka.S3.Lens: restoreObject_requestPayer :: Lens' RestoreObject (Maybe RequestPayer)
+ Amazonka.S3.Lens: restoreObject_restoreRequest :: Lens' RestoreObject (Maybe RestoreRequest)
+ Amazonka.S3.Lens: restoreObject_versionId :: Lens' RestoreObject (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: restoreRequest_days :: Lens' RestoreRequest (Maybe Int)
+ Amazonka.S3.Lens: restoreRequest_description :: Lens' RestoreRequest (Maybe Text)
+ Amazonka.S3.Lens: restoreRequest_glacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)
+ Amazonka.S3.Lens: restoreRequest_outputLocation :: Lens' RestoreRequest (Maybe OutputLocation)
+ Amazonka.S3.Lens: restoreRequest_selectParameters :: Lens' RestoreRequest (Maybe SelectParameters)
+ Amazonka.S3.Lens: restoreRequest_tier :: Lens' RestoreRequest (Maybe Tier)
+ Amazonka.S3.Lens: restoreRequest_type :: Lens' RestoreRequest (Maybe RestoreRequestType)
+ Amazonka.S3.Lens: routingRule_condition :: Lens' RoutingRule (Maybe Condition)
+ Amazonka.S3.Lens: routingRule_redirect :: Lens' RoutingRule Redirect
+ Amazonka.S3.Lens: s3KeyFilter_filterRules :: Lens' S3KeyFilter (Maybe [FilterRule])
+ Amazonka.S3.Lens: s3Location_accessControlList :: Lens' S3Location (Maybe [Grant])
+ Amazonka.S3.Lens: s3Location_bucketName :: Lens' S3Location BucketName
+ Amazonka.S3.Lens: s3Location_cannedACL :: Lens' S3Location (Maybe ObjectCannedACL)
+ Amazonka.S3.Lens: s3Location_encryption :: Lens' S3Location (Maybe Encryption)
+ Amazonka.S3.Lens: s3Location_prefix :: Lens' S3Location Text
+ Amazonka.S3.Lens: s3Location_storageClass :: Lens' S3Location (Maybe StorageClass)
+ Amazonka.S3.Lens: s3Location_tagging :: Lens' S3Location (Maybe Tagging)
+ Amazonka.S3.Lens: s3Location_userMetadata :: Lens' S3Location (Maybe [MetadataEntry])
+ Amazonka.S3.Lens: s3ServiceError_code :: Lens' S3ServiceError (Maybe Text)
+ Amazonka.S3.Lens: s3ServiceError_key :: Lens' S3ServiceError (Maybe ObjectKey)
+ Amazonka.S3.Lens: s3ServiceError_message :: Lens' S3ServiceError (Maybe Text)
+ Amazonka.S3.Lens: s3ServiceError_versionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
+ Amazonka.S3.Lens: scanRange_end :: Lens' ScanRange (Maybe Integer)
+ Amazonka.S3.Lens: scanRange_start :: Lens' ScanRange (Maybe Integer)
+ Amazonka.S3.Lens: selectObjectContentEventStream_cont :: Lens' SelectObjectContentEventStream (Maybe ContinuationEvent)
+ Amazonka.S3.Lens: selectObjectContentEventStream_end :: Lens' SelectObjectContentEventStream (Maybe EndEvent)
+ Amazonka.S3.Lens: selectObjectContentEventStream_progress :: Lens' SelectObjectContentEventStream (Maybe ProgressEvent)
+ Amazonka.S3.Lens: selectObjectContentEventStream_records :: Lens' SelectObjectContentEventStream (Maybe RecordsEvent)
+ Amazonka.S3.Lens: selectObjectContentEventStream_stats :: Lens' SelectObjectContentEventStream (Maybe StatsEvent)
+ Amazonka.S3.Lens: selectObjectContentResponse_httpStatus :: Lens' SelectObjectContentResponse Int
+ Amazonka.S3.Lens: selectObjectContentResponse_payload :: Lens' SelectObjectContentResponse (Maybe SelectObjectContentEventStream)
+ Amazonka.S3.Lens: selectObjectContent_bucket :: Lens' SelectObjectContent BucketName
+ Amazonka.S3.Lens: selectObjectContent_expectedBucketOwner :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.Lens: selectObjectContent_expression :: Lens' SelectObjectContent Text
+ Amazonka.S3.Lens: selectObjectContent_expressionType :: Lens' SelectObjectContent ExpressionType
+ Amazonka.S3.Lens: selectObjectContent_inputSerialization :: Lens' SelectObjectContent InputSerialization
+ Amazonka.S3.Lens: selectObjectContent_key :: Lens' SelectObjectContent ObjectKey
+ Amazonka.S3.Lens: selectObjectContent_outputSerialization :: Lens' SelectObjectContent OutputSerialization
+ Amazonka.S3.Lens: selectObjectContent_requestProgress :: Lens' SelectObjectContent (Maybe RequestProgress)
+ Amazonka.S3.Lens: selectObjectContent_sSECustomerAlgorithm :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.Lens: selectObjectContent_sSECustomerKey :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.Lens: selectObjectContent_sSECustomerKeyMD5 :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.Lens: selectObjectContent_scanRange :: Lens' SelectObjectContent (Maybe ScanRange)
+ Amazonka.S3.Lens: selectParameters_expression :: Lens' SelectParameters Text
+ Amazonka.S3.Lens: selectParameters_expressionType :: Lens' SelectParameters ExpressionType
+ Amazonka.S3.Lens: selectParameters_inputSerialization :: Lens' SelectParameters InputSerialization
+ Amazonka.S3.Lens: selectParameters_outputSerialization :: Lens' SelectParameters OutputSerialization
+ Amazonka.S3.Lens: serverSideEncryptionByDefault_kmsMasterKeyID :: Lens' ServerSideEncryptionByDefault (Maybe Text)
+ Amazonka.S3.Lens: serverSideEncryptionByDefault_sSEAlgorithm :: Lens' ServerSideEncryptionByDefault ServerSideEncryption
+ Amazonka.S3.Lens: serverSideEncryptionConfiguration_rules :: Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]
+ Amazonka.S3.Lens: serverSideEncryptionRule_applyServerSideEncryptionByDefault :: Lens' ServerSideEncryptionRule (Maybe ServerSideEncryptionByDefault)
+ Amazonka.S3.Lens: serverSideEncryptionRule_bucketKeyEnabled :: Lens' ServerSideEncryptionRule (Maybe Bool)
+ Amazonka.S3.Lens: sourceSelectionCriteria_replicaModifications :: Lens' SourceSelectionCriteria (Maybe ReplicaModifications)
+ Amazonka.S3.Lens: sourceSelectionCriteria_sseKmsEncryptedObjects :: Lens' SourceSelectionCriteria (Maybe SseKmsEncryptedObjects)
+ Amazonka.S3.Lens: sseKmsEncryptedObjects_status :: Lens' SseKmsEncryptedObjects SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Lens: ssekms_keyId :: Lens' SSEKMS Text
+ Amazonka.S3.Lens: statsEvent_details :: Lens' StatsEvent (Maybe Stats)
+ Amazonka.S3.Lens: stats_bytesProcessed :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Lens: stats_bytesReturned :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Lens: stats_bytesScanned :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Lens: storageClassAnalysisDataExport_destination :: Lens' StorageClassAnalysisDataExport AnalyticsExportDestination
+ Amazonka.S3.Lens: storageClassAnalysisDataExport_outputSchemaVersion :: Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Lens: storageClassAnalysis_dataExport :: Lens' StorageClassAnalysis (Maybe StorageClassAnalysisDataExport)
+ Amazonka.S3.Lens: tag_key :: Lens' Tag ObjectKey
+ Amazonka.S3.Lens: tag_value :: Lens' Tag Text
+ Amazonka.S3.Lens: tagging_tagSet :: Lens' Tagging [Tag]
+ Amazonka.S3.Lens: targetGrant_grantee :: Lens' TargetGrant (Maybe Grantee)
+ Amazonka.S3.Lens: targetGrant_permission :: Lens' TargetGrant (Maybe BucketLogsPermission)
+ Amazonka.S3.Lens: tiering_accessTier :: Lens' Tiering IntelligentTieringAccessTier
+ Amazonka.S3.Lens: tiering_days :: Lens' Tiering Int
+ Amazonka.S3.Lens: topicConfiguration_events :: Lens' TopicConfiguration [Event]
+ Amazonka.S3.Lens: topicConfiguration_filter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Lens: topicConfiguration_id :: Lens' TopicConfiguration (Maybe Text)
+ Amazonka.S3.Lens: topicConfiguration_topicArn :: Lens' TopicConfiguration Text
+ Amazonka.S3.Lens: transition_date :: Lens' Transition (Maybe UTCTime)
+ Amazonka.S3.Lens: transition_days :: Lens' Transition (Maybe Int)
+ Amazonka.S3.Lens: transition_storageClass :: Lens' Transition (Maybe TransitionStorageClass)
+ Amazonka.S3.Lens: uploadPartCopyResponse_bucketKeyEnabled :: Lens' UploadPartCopyResponse (Maybe Bool)
+ Amazonka.S3.Lens: uploadPartCopyResponse_copyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)
+ Amazonka.S3.Lens: uploadPartCopyResponse_copySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopyResponse_httpStatus :: Lens' UploadPartCopyResponse Int
+ Amazonka.S3.Lens: uploadPartCopyResponse_requestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: uploadPartCopyResponse_sSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopyResponse_sSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopyResponse_sSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopyResponse_serverSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: uploadPartCopy_bucket :: Lens' UploadPartCopy BucketName
+ Amazonka.S3.Lens: uploadPartCopy_copySource :: Lens' UploadPartCopy Text
+ Amazonka.S3.Lens: uploadPartCopy_copySourceIfMatch :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceIfModifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceIfNoneMatch :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceIfUnmodifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceRange :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_copySourceSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_expectedBucketOwner :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_expectedSourceBucketOwner :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_key :: Lens' UploadPartCopy ObjectKey
+ Amazonka.S3.Lens: uploadPartCopy_partNumber :: Lens' UploadPartCopy Int
+ Amazonka.S3.Lens: uploadPartCopy_requestPayer :: Lens' UploadPartCopy (Maybe RequestPayer)
+ Amazonka.S3.Lens: uploadPartCopy_sSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_sSECustomerKey :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_sSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.Lens: uploadPartCopy_uploadId :: Lens' UploadPartCopy Text
+ Amazonka.S3.Lens: uploadPartResponse_bucketKeyEnabled :: Lens' UploadPartResponse (Maybe Bool)
+ Amazonka.S3.Lens: uploadPartResponse_checksumCRC32 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_checksumCRC32C :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_checksumSHA1 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_checksumSHA256 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_eTag :: Lens' UploadPartResponse (Maybe ETag)
+ Amazonka.S3.Lens: uploadPartResponse_httpStatus :: Lens' UploadPartResponse Int
+ Amazonka.S3.Lens: uploadPartResponse_requestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: uploadPartResponse_sSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_sSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_sSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.Lens: uploadPartResponse_serverSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: uploadPart_body :: Lens' UploadPart RequestBody
+ Amazonka.S3.Lens: uploadPart_bucket :: Lens' UploadPart BucketName
+ Amazonka.S3.Lens: uploadPart_checksumAlgorithm :: Lens' UploadPart (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Lens: uploadPart_checksumCRC32 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_checksumCRC32C :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_checksumSHA1 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_checksumSHA256 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_contentLength :: Lens' UploadPart (Maybe Integer)
+ Amazonka.S3.Lens: uploadPart_contentMD5 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_expectedBucketOwner :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_key :: Lens' UploadPart ObjectKey
+ Amazonka.S3.Lens: uploadPart_partNumber :: Lens' UploadPart Int
+ Amazonka.S3.Lens: uploadPart_requestPayer :: Lens' UploadPart (Maybe RequestPayer)
+ Amazonka.S3.Lens: uploadPart_sSECustomerAlgorithm :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_sSECustomerKey :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_sSECustomerKeyMD5 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.Lens: uploadPart_uploadId :: Lens' UploadPart Text
+ Amazonka.S3.Lens: versioningConfiguration_mfaDelete :: Lens' VersioningConfiguration (Maybe MFADelete)
+ Amazonka.S3.Lens: versioningConfiguration_status :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)
+ Amazonka.S3.Lens: websiteConfiguration_errorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)
+ Amazonka.S3.Lens: websiteConfiguration_indexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)
+ Amazonka.S3.Lens: websiteConfiguration_redirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)
+ Amazonka.S3.Lens: websiteConfiguration_routingRules :: Lens' WebsiteConfiguration (Maybe [RoutingRule])
+ Amazonka.S3.Lens: writeGetObjectResponse_acceptRanges :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_body :: Lens' WriteGetObjectResponse RequestBody
+ Amazonka.S3.Lens: writeGetObjectResponse_bucketKeyEnabled :: Lens' WriteGetObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: writeGetObjectResponse_cacheControl :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_checksumCRC32 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_checksumCRC32C :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_checksumSHA1 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_checksumSHA256 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_contentDisposition :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_contentEncoding :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_contentLanguage :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_contentLength :: Lens' WriteGetObjectResponse (Maybe Integer)
+ Amazonka.S3.Lens: writeGetObjectResponse_contentRange :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_contentType :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_deleteMarker :: Lens' WriteGetObjectResponse (Maybe Bool)
+ Amazonka.S3.Lens: writeGetObjectResponse_eTag :: Lens' WriteGetObjectResponse (Maybe ETag)
+ Amazonka.S3.Lens: writeGetObjectResponse_errorCode :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_errorMessage :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_expiration :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_expires :: Lens' WriteGetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: writeGetObjectResponse_lastModified :: Lens' WriteGetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: writeGetObjectResponse_metadata :: Lens' WriteGetObjectResponse (HashMap Text Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_missingMeta :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: writeGetObjectResponse_objectLockLegalHoldStatus :: Lens' WriteGetObjectResponse (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Lens: writeGetObjectResponse_objectLockMode :: Lens' WriteGetObjectResponse (Maybe ObjectLockMode)
+ Amazonka.S3.Lens: writeGetObjectResponse_objectLockRetainUntilDate :: Lens' WriteGetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.Lens: writeGetObjectResponse_partsCount :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: writeGetObjectResponse_replicationStatus :: Lens' WriteGetObjectResponse (Maybe ReplicationStatus)
+ Amazonka.S3.Lens: writeGetObjectResponse_requestCharged :: Lens' WriteGetObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.Lens: writeGetObjectResponse_requestRoute :: Lens' WriteGetObjectResponse Text
+ Amazonka.S3.Lens: writeGetObjectResponse_requestToken :: Lens' WriteGetObjectResponse Text
+ Amazonka.S3.Lens: writeGetObjectResponse_restore :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_sSECustomerAlgorithm :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_sSECustomerKeyMD5 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_sSEKMSKeyId :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.Lens: writeGetObjectResponse_serverSideEncryption :: Lens' WriteGetObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.Lens: writeGetObjectResponse_statusCode :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: writeGetObjectResponse_storageClass :: Lens' WriteGetObjectResponse (Maybe StorageClass)
+ Amazonka.S3.Lens: writeGetObjectResponse_tagCount :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.Lens: writeGetObjectResponse_versionId :: Lens' WriteGetObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.ListBucketAnalyticsConfigurations: ListBucketAnalyticsConfigurations' :: Maybe Text -> Maybe Text -> BucketName -> ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: ListBucketAnalyticsConfigurationsResponse' :: Maybe [AnalyticsConfiguration] -> Maybe Text -> Maybe Bool -> Maybe Text -> Int -> ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:analyticsConfigurationList:ListBucketAnalyticsConfigurationsResponse'] :: ListBucketAnalyticsConfigurationsResponse -> Maybe [AnalyticsConfiguration]
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:bucket:ListBucketAnalyticsConfigurations'] :: ListBucketAnalyticsConfigurations -> BucketName
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:continuationToken:ListBucketAnalyticsConfigurations'] :: ListBucketAnalyticsConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:continuationToken:ListBucketAnalyticsConfigurationsResponse'] :: ListBucketAnalyticsConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:expectedBucketOwner:ListBucketAnalyticsConfigurations'] :: ListBucketAnalyticsConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:httpStatus:ListBucketAnalyticsConfigurationsResponse'] :: ListBucketAnalyticsConfigurationsResponse -> Int
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:isTruncated:ListBucketAnalyticsConfigurationsResponse'] :: ListBucketAnalyticsConfigurationsResponse -> Maybe Bool
+ Amazonka.S3.ListBucketAnalyticsConfigurations: [$sel:nextContinuationToken:ListBucketAnalyticsConfigurationsResponse'] :: ListBucketAnalyticsConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketAnalyticsConfigurations: data ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: data ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Amazonka.Types.AWSRequest Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance Data.Hashable.Class.Hashable Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketAnalyticsConfigurations.ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe [AnalyticsConfiguration])
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurationsResponse_continuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurationsResponse_httpStatus :: Lens' ListBucketAnalyticsConfigurationsResponse Int
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurationsResponse_isTruncated :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurationsResponse_nextContinuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurations_bucket :: Lens' ListBucketAnalyticsConfigurations BucketName
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurations_continuationToken :: Lens' ListBucketAnalyticsConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketAnalyticsConfigurations: listBucketAnalyticsConfigurations_expectedBucketOwner :: Lens' ListBucketAnalyticsConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketAnalyticsConfigurations: newListBucketAnalyticsConfigurations :: BucketName -> ListBucketAnalyticsConfigurations
+ Amazonka.S3.ListBucketAnalyticsConfigurations: newListBucketAnalyticsConfigurationsResponse :: Int -> ListBucketAnalyticsConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: ListBucketIntelligentTieringConfigurations' :: Maybe Text -> BucketName -> ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: ListBucketIntelligentTieringConfigurationsResponse' :: Maybe Text -> Maybe [IntelligentTieringConfiguration] -> Maybe Bool -> Maybe Text -> Int -> ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:bucket:ListBucketIntelligentTieringConfigurations'] :: ListBucketIntelligentTieringConfigurations -> BucketName
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:continuationToken:ListBucketIntelligentTieringConfigurations'] :: ListBucketIntelligentTieringConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:continuationToken:ListBucketIntelligentTieringConfigurationsResponse'] :: ListBucketIntelligentTieringConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:httpStatus:ListBucketIntelligentTieringConfigurationsResponse'] :: ListBucketIntelligentTieringConfigurationsResponse -> Int
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:intelligentTieringConfigurationList:ListBucketIntelligentTieringConfigurationsResponse'] :: ListBucketIntelligentTieringConfigurationsResponse -> Maybe [IntelligentTieringConfiguration]
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:isTruncated:ListBucketIntelligentTieringConfigurationsResponse'] :: ListBucketIntelligentTieringConfigurationsResponse -> Maybe Bool
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: [$sel:nextContinuationToken:ListBucketIntelligentTieringConfigurationsResponse'] :: ListBucketIntelligentTieringConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: data ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: data ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Amazonka.Types.AWSRequest Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance Data.Hashable.Class.Hashable Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketIntelligentTieringConfigurations.ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurationsResponse_continuationToken :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurationsResponse_httpStatus :: Lens' ListBucketIntelligentTieringConfigurationsResponse Int
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe [IntelligentTieringConfiguration])
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurationsResponse_isTruncated :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken :: Lens' ListBucketIntelligentTieringConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurations_bucket :: Lens' ListBucketIntelligentTieringConfigurations BucketName
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: listBucketIntelligentTieringConfigurations_continuationToken :: Lens' ListBucketIntelligentTieringConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: newListBucketIntelligentTieringConfigurations :: BucketName -> ListBucketIntelligentTieringConfigurations
+ Amazonka.S3.ListBucketIntelligentTieringConfigurations: newListBucketIntelligentTieringConfigurationsResponse :: Int -> ListBucketIntelligentTieringConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: ListBucketInventoryConfigurations' :: Maybe Text -> Maybe Text -> BucketName -> ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: ListBucketInventoryConfigurationsResponse' :: Maybe Text -> Maybe [InventoryConfiguration] -> Maybe Bool -> Maybe Text -> Int -> ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:bucket:ListBucketInventoryConfigurations'] :: ListBucketInventoryConfigurations -> BucketName
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:continuationToken:ListBucketInventoryConfigurations'] :: ListBucketInventoryConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:continuationToken:ListBucketInventoryConfigurationsResponse'] :: ListBucketInventoryConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:expectedBucketOwner:ListBucketInventoryConfigurations'] :: ListBucketInventoryConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:httpStatus:ListBucketInventoryConfigurationsResponse'] :: ListBucketInventoryConfigurationsResponse -> Int
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:inventoryConfigurationList:ListBucketInventoryConfigurationsResponse'] :: ListBucketInventoryConfigurationsResponse -> Maybe [InventoryConfiguration]
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:isTruncated:ListBucketInventoryConfigurationsResponse'] :: ListBucketInventoryConfigurationsResponse -> Maybe Bool
+ Amazonka.S3.ListBucketInventoryConfigurations: [$sel:nextContinuationToken:ListBucketInventoryConfigurationsResponse'] :: ListBucketInventoryConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketInventoryConfigurations: data ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: data ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Amazonka.Types.AWSRequest Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: instance Data.Hashable.Class.Hashable Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketInventoryConfigurations.ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurationsResponse_continuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurationsResponse_httpStatus :: Lens' ListBucketInventoryConfigurationsResponse Int
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurationsResponse_inventoryConfigurationList :: Lens' ListBucketInventoryConfigurationsResponse (Maybe [InventoryConfiguration])
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurationsResponse_isTruncated :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurationsResponse_nextContinuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurations_bucket :: Lens' ListBucketInventoryConfigurations BucketName
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurations_continuationToken :: Lens' ListBucketInventoryConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketInventoryConfigurations: listBucketInventoryConfigurations_expectedBucketOwner :: Lens' ListBucketInventoryConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketInventoryConfigurations: newListBucketInventoryConfigurations :: BucketName -> ListBucketInventoryConfigurations
+ Amazonka.S3.ListBucketInventoryConfigurations: newListBucketInventoryConfigurationsResponse :: Int -> ListBucketInventoryConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: ListBucketMetricsConfigurations' :: Maybe Text -> Maybe Text -> BucketName -> ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: ListBucketMetricsConfigurationsResponse' :: Maybe Text -> Maybe Bool -> Maybe [MetricsConfiguration] -> Maybe Text -> Int -> ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:bucket:ListBucketMetricsConfigurations'] :: ListBucketMetricsConfigurations -> BucketName
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:continuationToken:ListBucketMetricsConfigurations'] :: ListBucketMetricsConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:continuationToken:ListBucketMetricsConfigurationsResponse'] :: ListBucketMetricsConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:expectedBucketOwner:ListBucketMetricsConfigurations'] :: ListBucketMetricsConfigurations -> Maybe Text
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:httpStatus:ListBucketMetricsConfigurationsResponse'] :: ListBucketMetricsConfigurationsResponse -> Int
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:isTruncated:ListBucketMetricsConfigurationsResponse'] :: ListBucketMetricsConfigurationsResponse -> Maybe Bool
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:metricsConfigurationList:ListBucketMetricsConfigurationsResponse'] :: ListBucketMetricsConfigurationsResponse -> Maybe [MetricsConfiguration]
+ Amazonka.S3.ListBucketMetricsConfigurations: [$sel:nextContinuationToken:ListBucketMetricsConfigurationsResponse'] :: ListBucketMetricsConfigurationsResponse -> Maybe Text
+ Amazonka.S3.ListBucketMetricsConfigurations: data ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: data ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Amazonka.Types.AWSRequest Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Control.DeepSeq.NFData Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: instance Data.Hashable.Class.Hashable Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Classes.Eq Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Generics.Generic Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Read.Read Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: instance GHC.Show.Show Amazonka.S3.ListBucketMetricsConfigurations.ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurationsResponse_continuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurationsResponse_httpStatus :: Lens' ListBucketMetricsConfigurationsResponse Int
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurationsResponse_isTruncated :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Bool)
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurationsResponse_metricsConfigurationList :: Lens' ListBucketMetricsConfigurationsResponse (Maybe [MetricsConfiguration])
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurationsResponse_nextContinuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurations_bucket :: Lens' ListBucketMetricsConfigurations BucketName
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurations_continuationToken :: Lens' ListBucketMetricsConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketMetricsConfigurations: listBucketMetricsConfigurations_expectedBucketOwner :: Lens' ListBucketMetricsConfigurations (Maybe Text)
+ Amazonka.S3.ListBucketMetricsConfigurations: newListBucketMetricsConfigurations :: BucketName -> ListBucketMetricsConfigurations
+ Amazonka.S3.ListBucketMetricsConfigurations: newListBucketMetricsConfigurationsResponse :: Int -> ListBucketMetricsConfigurationsResponse
+ Amazonka.S3.ListBuckets: ListBuckets' :: ListBuckets
+ Amazonka.S3.ListBuckets: ListBucketsResponse' :: Maybe [Bucket] -> Maybe Owner -> Int -> ListBucketsResponse
+ Amazonka.S3.ListBuckets: [$sel:buckets:ListBucketsResponse'] :: ListBucketsResponse -> Maybe [Bucket]
+ Amazonka.S3.ListBuckets: [$sel:httpStatus:ListBucketsResponse'] :: ListBucketsResponse -> Int
+ Amazonka.S3.ListBuckets: [$sel:owner:ListBucketsResponse'] :: ListBucketsResponse -> Maybe Owner
+ Amazonka.S3.ListBuckets: data ListBuckets
+ Amazonka.S3.ListBuckets: data ListBucketsResponse
+ Amazonka.S3.ListBuckets: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance Amazonka.Types.AWSRequest Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance Control.DeepSeq.NFData Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance Control.DeepSeq.NFData Amazonka.S3.ListBuckets.ListBucketsResponse
+ Amazonka.S3.ListBuckets: instance Data.Hashable.Class.Hashable Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance GHC.Classes.Eq Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance GHC.Classes.Eq Amazonka.S3.ListBuckets.ListBucketsResponse
+ Amazonka.S3.ListBuckets: instance GHC.Generics.Generic Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance GHC.Generics.Generic Amazonka.S3.ListBuckets.ListBucketsResponse
+ Amazonka.S3.ListBuckets: instance GHC.Read.Read Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance GHC.Read.Read Amazonka.S3.ListBuckets.ListBucketsResponse
+ Amazonka.S3.ListBuckets: instance GHC.Show.Show Amazonka.S3.ListBuckets.ListBuckets
+ Amazonka.S3.ListBuckets: instance GHC.Show.Show Amazonka.S3.ListBuckets.ListBucketsResponse
+ Amazonka.S3.ListBuckets: listBucketsResponse_buckets :: Lens' ListBucketsResponse (Maybe [Bucket])
+ Amazonka.S3.ListBuckets: listBucketsResponse_httpStatus :: Lens' ListBucketsResponse Int
+ Amazonka.S3.ListBuckets: listBucketsResponse_owner :: Lens' ListBucketsResponse (Maybe Owner)
+ Amazonka.S3.ListBuckets: newListBuckets :: ListBuckets
+ Amazonka.S3.ListBuckets: newListBucketsResponse :: Int -> ListBucketsResponse
+ Amazonka.S3.ListMultipartUploads: ListMultipartUploads' :: Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> BucketName -> ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: ListMultipartUploadsResponse' :: Maybe BucketName -> Maybe [CommonPrefix] -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [MultipartUpload] -> Int -> ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: [$sel:bucket:ListMultipartUploads'] :: ListMultipartUploads -> BucketName
+ Amazonka.S3.ListMultipartUploads: [$sel:bucket:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe BucketName
+ Amazonka.S3.ListMultipartUploads: [$sel:commonPrefixes:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe [CommonPrefix]
+ Amazonka.S3.ListMultipartUploads: [$sel:delimiter:ListMultipartUploads'] :: ListMultipartUploads -> Maybe Delimiter
+ Amazonka.S3.ListMultipartUploads: [$sel:delimiter:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Delimiter
+ Amazonka.S3.ListMultipartUploads: [$sel:encodingType:ListMultipartUploads'] :: ListMultipartUploads -> Maybe EncodingType
+ Amazonka.S3.ListMultipartUploads: [$sel:encodingType:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe EncodingType
+ Amazonka.S3.ListMultipartUploads: [$sel:expectedBucketOwner:ListMultipartUploads'] :: ListMultipartUploads -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:httpStatus:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Int
+ Amazonka.S3.ListMultipartUploads: [$sel:isTruncated:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Bool
+ Amazonka.S3.ListMultipartUploads: [$sel:keyMarker:ListMultipartUploads'] :: ListMultipartUploads -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:keyMarker:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:maxUploads:ListMultipartUploads'] :: ListMultipartUploads -> Maybe Int
+ Amazonka.S3.ListMultipartUploads: [$sel:maxUploads:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Int
+ Amazonka.S3.ListMultipartUploads: [$sel:nextKeyMarker:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:nextUploadIdMarker:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:prefix:ListMultipartUploads'] :: ListMultipartUploads -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:prefix:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:uploadIdMarker:ListMultipartUploads'] :: ListMultipartUploads -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:uploadIdMarker:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe Text
+ Amazonka.S3.ListMultipartUploads: [$sel:uploads:ListMultipartUploadsResponse'] :: ListMultipartUploadsResponse -> Maybe [MultipartUpload]
+ Amazonka.S3.ListMultipartUploads: data ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: data ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance Amazonka.Pager.AWSPager Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance Amazonka.Types.AWSRequest Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance Control.DeepSeq.NFData Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance Control.DeepSeq.NFData Amazonka.S3.ListMultipartUploads.ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: instance Data.Hashable.Class.Hashable Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance GHC.Classes.Eq Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance GHC.Classes.Eq Amazonka.S3.ListMultipartUploads.ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: instance GHC.Generics.Generic Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance GHC.Generics.Generic Amazonka.S3.ListMultipartUploads.ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: instance GHC.Read.Read Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance GHC.Read.Read Amazonka.S3.ListMultipartUploads.ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: instance GHC.Show.Show Amazonka.S3.ListMultipartUploads.ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: instance GHC.Show.Show Amazonka.S3.ListMultipartUploads.ListMultipartUploadsResponse
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_bucket :: Lens' ListMultipartUploadsResponse (Maybe BucketName)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_commonPrefixes :: Lens' ListMultipartUploadsResponse (Maybe [CommonPrefix])
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_delimiter :: Lens' ListMultipartUploadsResponse (Maybe Delimiter)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_encodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_httpStatus :: Lens' ListMultipartUploadsResponse Int
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_isTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_keyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_maxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_nextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_nextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_prefix :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_uploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploadsResponse_uploads :: Lens' ListMultipartUploadsResponse (Maybe [MultipartUpload])
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_bucket :: Lens' ListMultipartUploads BucketName
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_delimiter :: Lens' ListMultipartUploads (Maybe Delimiter)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_encodingType :: Lens' ListMultipartUploads (Maybe EncodingType)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_expectedBucketOwner :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_keyMarker :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_maxUploads :: Lens' ListMultipartUploads (Maybe Int)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_prefix :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: listMultipartUploads_uploadIdMarker :: Lens' ListMultipartUploads (Maybe Text)
+ Amazonka.S3.ListMultipartUploads: newListMultipartUploads :: BucketName -> ListMultipartUploads
+ Amazonka.S3.ListMultipartUploads: newListMultipartUploadsResponse :: Int -> ListMultipartUploadsResponse
+ Amazonka.S3.ListObjectVersions: ListObjectVersions' :: Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe Text -> BucketName -> ListObjectVersions
+ Amazonka.S3.ListObjectVersions: ListObjectVersionsResponse' :: Maybe [CommonPrefix] -> Maybe [DeleteMarkerEntry] -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe BucketName -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe [ObjectVersion] -> Int -> ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: [$sel:bucket:ListObjectVersions'] :: ListObjectVersions -> BucketName
+ Amazonka.S3.ListObjectVersions: [$sel:commonPrefixes:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe [CommonPrefix]
+ Amazonka.S3.ListObjectVersions: [$sel:deleteMarkers:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe [DeleteMarkerEntry]
+ Amazonka.S3.ListObjectVersions: [$sel:delimiter:ListObjectVersions'] :: ListObjectVersions -> Maybe Delimiter
+ Amazonka.S3.ListObjectVersions: [$sel:delimiter:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Delimiter
+ Amazonka.S3.ListObjectVersions: [$sel:encodingType:ListObjectVersions'] :: ListObjectVersions -> Maybe EncodingType
+ Amazonka.S3.ListObjectVersions: [$sel:encodingType:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe EncodingType
+ Amazonka.S3.ListObjectVersions: [$sel:expectedBucketOwner:ListObjectVersions'] :: ListObjectVersions -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:httpStatus:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Int
+ Amazonka.S3.ListObjectVersions: [$sel:isTruncated:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Bool
+ Amazonka.S3.ListObjectVersions: [$sel:keyMarker:ListObjectVersions'] :: ListObjectVersions -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:keyMarker:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:maxKeys:ListObjectVersions'] :: ListObjectVersions -> Maybe Int
+ Amazonka.S3.ListObjectVersions: [$sel:maxKeys:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Int
+ Amazonka.S3.ListObjectVersions: [$sel:name:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe BucketName
+ Amazonka.S3.ListObjectVersions: [$sel:nextKeyMarker:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:nextVersionIdMarker:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:prefix:ListObjectVersions'] :: ListObjectVersions -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:prefix:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:versionIdMarker:ListObjectVersions'] :: ListObjectVersions -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:versionIdMarker:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe Text
+ Amazonka.S3.ListObjectVersions: [$sel:versions:ListObjectVersionsResponse'] :: ListObjectVersionsResponse -> Maybe [ObjectVersion]
+ Amazonka.S3.ListObjectVersions: data ListObjectVersions
+ Amazonka.S3.ListObjectVersions: data ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance Amazonka.Pager.AWSPager Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance Amazonka.Types.AWSRequest Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance Control.DeepSeq.NFData Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance Control.DeepSeq.NFData Amazonka.S3.ListObjectVersions.ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: instance Data.Hashable.Class.Hashable Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance GHC.Classes.Eq Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance GHC.Classes.Eq Amazonka.S3.ListObjectVersions.ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: instance GHC.Generics.Generic Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance GHC.Generics.Generic Amazonka.S3.ListObjectVersions.ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: instance GHC.Read.Read Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance GHC.Read.Read Amazonka.S3.ListObjectVersions.ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: instance GHC.Show.Show Amazonka.S3.ListObjectVersions.ListObjectVersions
+ Amazonka.S3.ListObjectVersions: instance GHC.Show.Show Amazonka.S3.ListObjectVersions.ListObjectVersionsResponse
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_commonPrefixes :: Lens' ListObjectVersionsResponse (Maybe [CommonPrefix])
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_deleteMarkers :: Lens' ListObjectVersionsResponse (Maybe [DeleteMarkerEntry])
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_delimiter :: Lens' ListObjectVersionsResponse (Maybe Delimiter)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_encodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_httpStatus :: Lens' ListObjectVersionsResponse Int
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_isTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_keyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_maxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_name :: Lens' ListObjectVersionsResponse (Maybe BucketName)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_nextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_nextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_prefix :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_versionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersionsResponse_versions :: Lens' ListObjectVersionsResponse (Maybe [ObjectVersion])
+ Amazonka.S3.ListObjectVersions: listObjectVersions_bucket :: Lens' ListObjectVersions BucketName
+ Amazonka.S3.ListObjectVersions: listObjectVersions_delimiter :: Lens' ListObjectVersions (Maybe Delimiter)
+ Amazonka.S3.ListObjectVersions: listObjectVersions_encodingType :: Lens' ListObjectVersions (Maybe EncodingType)
+ Amazonka.S3.ListObjectVersions: listObjectVersions_expectedBucketOwner :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersions_keyMarker :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersions_maxKeys :: Lens' ListObjectVersions (Maybe Int)
+ Amazonka.S3.ListObjectVersions: listObjectVersions_prefix :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.ListObjectVersions: listObjectVersions_versionIdMarker :: Lens' ListObjectVersions (Maybe Text)
+ Amazonka.S3.ListObjectVersions: newListObjectVersions :: BucketName -> ListObjectVersions
+ Amazonka.S3.ListObjectVersions: newListObjectVersionsResponse :: Int -> ListObjectVersionsResponse
+ Amazonka.S3.ListObjects: ListObjects' :: Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> BucketName -> ListObjects
+ Amazonka.S3.ListObjects: ListObjectsResponse' :: Maybe [CommonPrefix] -> Maybe [Object] -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Text -> Maybe Int -> Maybe BucketName -> Maybe Text -> Maybe Text -> Int -> ListObjectsResponse
+ Amazonka.S3.ListObjects: [$sel:bucket:ListObjects'] :: ListObjects -> BucketName
+ Amazonka.S3.ListObjects: [$sel:commonPrefixes:ListObjectsResponse'] :: ListObjectsResponse -> Maybe [CommonPrefix]
+ Amazonka.S3.ListObjects: [$sel:contents:ListObjectsResponse'] :: ListObjectsResponse -> Maybe [Object]
+ Amazonka.S3.ListObjects: [$sel:delimiter:ListObjects'] :: ListObjects -> Maybe Delimiter
+ Amazonka.S3.ListObjects: [$sel:delimiter:ListObjectsResponse'] :: ListObjectsResponse -> Maybe Delimiter
+ Amazonka.S3.ListObjects: [$sel:encodingType:ListObjects'] :: ListObjects -> Maybe EncodingType
+ Amazonka.S3.ListObjects: [$sel:encodingType:ListObjectsResponse'] :: ListObjectsResponse -> Maybe EncodingType
+ Amazonka.S3.ListObjects: [$sel:expectedBucketOwner:ListObjects'] :: ListObjects -> Maybe Text
+ Amazonka.S3.ListObjects: [$sel:httpStatus:ListObjectsResponse'] :: ListObjectsResponse -> Int
+ Amazonka.S3.ListObjects: [$sel:isTruncated:ListObjectsResponse'] :: ListObjectsResponse -> Maybe Bool
+ Amazonka.S3.ListObjects: [$sel:marker:ListObjects'] :: ListObjects -> Maybe Text
+ Amazonka.S3.ListObjects: [$sel:marker:ListObjectsResponse'] :: ListObjectsResponse -> Maybe Text
+ Amazonka.S3.ListObjects: [$sel:maxKeys:ListObjects'] :: ListObjects -> Maybe Int
+ Amazonka.S3.ListObjects: [$sel:maxKeys:ListObjectsResponse'] :: ListObjectsResponse -> Maybe Int
+ Amazonka.S3.ListObjects: [$sel:name:ListObjectsResponse'] :: ListObjectsResponse -> Maybe BucketName
+ Amazonka.S3.ListObjects: [$sel:nextMarker:ListObjectsResponse'] :: ListObjectsResponse -> Maybe Text
+ Amazonka.S3.ListObjects: [$sel:prefix:ListObjects'] :: ListObjects -> Maybe Text
+ Amazonka.S3.ListObjects: [$sel:prefix:ListObjectsResponse'] :: ListObjectsResponse -> Maybe Text
+ Amazonka.S3.ListObjects: [$sel:requestPayer:ListObjects'] :: ListObjects -> Maybe RequestPayer
+ Amazonka.S3.ListObjects: data ListObjects
+ Amazonka.S3.ListObjects: data ListObjectsResponse
+ Amazonka.S3.ListObjects: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance Amazonka.Pager.AWSPager Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance Amazonka.Types.AWSRequest Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance Control.DeepSeq.NFData Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance Control.DeepSeq.NFData Amazonka.S3.ListObjects.ListObjectsResponse
+ Amazonka.S3.ListObjects: instance Data.Hashable.Class.Hashable Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance GHC.Classes.Eq Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance GHC.Classes.Eq Amazonka.S3.ListObjects.ListObjectsResponse
+ Amazonka.S3.ListObjects: instance GHC.Generics.Generic Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance GHC.Generics.Generic Amazonka.S3.ListObjects.ListObjectsResponse
+ Amazonka.S3.ListObjects: instance GHC.Read.Read Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance GHC.Read.Read Amazonka.S3.ListObjects.ListObjectsResponse
+ Amazonka.S3.ListObjects: instance GHC.Show.Show Amazonka.S3.ListObjects.ListObjects
+ Amazonka.S3.ListObjects: instance GHC.Show.Show Amazonka.S3.ListObjects.ListObjectsResponse
+ Amazonka.S3.ListObjects: listObjectsResponse_commonPrefixes :: Lens' ListObjectsResponse (Maybe [CommonPrefix])
+ Amazonka.S3.ListObjects: listObjectsResponse_contents :: Lens' ListObjectsResponse (Maybe [Object])
+ Amazonka.S3.ListObjects: listObjectsResponse_delimiter :: Lens' ListObjectsResponse (Maybe Delimiter)
+ Amazonka.S3.ListObjects: listObjectsResponse_encodingType :: Lens' ListObjectsResponse (Maybe EncodingType)
+ Amazonka.S3.ListObjects: listObjectsResponse_httpStatus :: Lens' ListObjectsResponse Int
+ Amazonka.S3.ListObjects: listObjectsResponse_isTruncated :: Lens' ListObjectsResponse (Maybe Bool)
+ Amazonka.S3.ListObjects: listObjectsResponse_marker :: Lens' ListObjectsResponse (Maybe Text)
+ Amazonka.S3.ListObjects: listObjectsResponse_maxKeys :: Lens' ListObjectsResponse (Maybe Int)
+ Amazonka.S3.ListObjects: listObjectsResponse_name :: Lens' ListObjectsResponse (Maybe BucketName)
+ Amazonka.S3.ListObjects: listObjectsResponse_nextMarker :: Lens' ListObjectsResponse (Maybe Text)
+ Amazonka.S3.ListObjects: listObjectsResponse_prefix :: Lens' ListObjectsResponse (Maybe Text)
+ Amazonka.S3.ListObjects: listObjects_bucket :: Lens' ListObjects BucketName
+ Amazonka.S3.ListObjects: listObjects_delimiter :: Lens' ListObjects (Maybe Delimiter)
+ Amazonka.S3.ListObjects: listObjects_encodingType :: Lens' ListObjects (Maybe EncodingType)
+ Amazonka.S3.ListObjects: listObjects_expectedBucketOwner :: Lens' ListObjects (Maybe Text)
+ Amazonka.S3.ListObjects: listObjects_marker :: Lens' ListObjects (Maybe Text)
+ Amazonka.S3.ListObjects: listObjects_maxKeys :: Lens' ListObjects (Maybe Int)
+ Amazonka.S3.ListObjects: listObjects_prefix :: Lens' ListObjects (Maybe Text)
+ Amazonka.S3.ListObjects: listObjects_requestPayer :: Lens' ListObjects (Maybe RequestPayer)
+ Amazonka.S3.ListObjects: newListObjects :: BucketName -> ListObjects
+ Amazonka.S3.ListObjects: newListObjectsResponse :: Int -> ListObjectsResponse
+ Amazonka.S3.ListObjectsV2: ListObjectsV2' :: Maybe Text -> Maybe Delimiter -> Maybe EncodingType -> Maybe Text -> Maybe Bool -> Maybe Int -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> BucketName -> ListObjectsV2
+ Amazonka.S3.ListObjectsV2: ListObjectsV2Response' :: Maybe [CommonPrefix] -> Maybe [Object] -> Maybe Text -> Maybe Delimiter -> Maybe EncodingType -> Maybe Bool -> Maybe Int -> Maybe Int -> Maybe BucketName -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: [$sel:bucket:ListObjectsV2'] :: ListObjectsV2 -> BucketName
+ Amazonka.S3.ListObjectsV2: [$sel:commonPrefixes:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe [CommonPrefix]
+ Amazonka.S3.ListObjectsV2: [$sel:contents:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe [Object]
+ Amazonka.S3.ListObjectsV2: [$sel:continuationToken:ListObjectsV2'] :: ListObjectsV2 -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:continuationToken:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:delimiter:ListObjectsV2'] :: ListObjectsV2 -> Maybe Delimiter
+ Amazonka.S3.ListObjectsV2: [$sel:delimiter:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Delimiter
+ Amazonka.S3.ListObjectsV2: [$sel:encodingType:ListObjectsV2'] :: ListObjectsV2 -> Maybe EncodingType
+ Amazonka.S3.ListObjectsV2: [$sel:encodingType:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe EncodingType
+ Amazonka.S3.ListObjectsV2: [$sel:expectedBucketOwner:ListObjectsV2'] :: ListObjectsV2 -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:fetchOwner:ListObjectsV2'] :: ListObjectsV2 -> Maybe Bool
+ Amazonka.S3.ListObjectsV2: [$sel:httpStatus:ListObjectsV2Response'] :: ListObjectsV2Response -> Int
+ Amazonka.S3.ListObjectsV2: [$sel:isTruncated:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Bool
+ Amazonka.S3.ListObjectsV2: [$sel:keyCount:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Int
+ Amazonka.S3.ListObjectsV2: [$sel:maxKeys:ListObjectsV2'] :: ListObjectsV2 -> Maybe Int
+ Amazonka.S3.ListObjectsV2: [$sel:maxKeys:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Int
+ Amazonka.S3.ListObjectsV2: [$sel:name:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe BucketName
+ Amazonka.S3.ListObjectsV2: [$sel:nextContinuationToken:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:prefix:ListObjectsV2'] :: ListObjectsV2 -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:prefix:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:requestPayer:ListObjectsV2'] :: ListObjectsV2 -> Maybe RequestPayer
+ Amazonka.S3.ListObjectsV2: [$sel:startAfter:ListObjectsV2'] :: ListObjectsV2 -> Maybe Text
+ Amazonka.S3.ListObjectsV2: [$sel:startAfter:ListObjectsV2Response'] :: ListObjectsV2Response -> Maybe Text
+ Amazonka.S3.ListObjectsV2: data ListObjectsV2
+ Amazonka.S3.ListObjectsV2: data ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance Amazonka.Pager.AWSPager Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance Amazonka.Types.AWSRequest Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance Control.DeepSeq.NFData Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance Control.DeepSeq.NFData Amazonka.S3.ListObjectsV2.ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: instance Data.Hashable.Class.Hashable Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance GHC.Classes.Eq Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance GHC.Classes.Eq Amazonka.S3.ListObjectsV2.ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: instance GHC.Generics.Generic Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance GHC.Generics.Generic Amazonka.S3.ListObjectsV2.ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: instance GHC.Read.Read Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance GHC.Read.Read Amazonka.S3.ListObjectsV2.ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: instance GHC.Show.Show Amazonka.S3.ListObjectsV2.ListObjectsV2
+ Amazonka.S3.ListObjectsV2: instance GHC.Show.Show Amazonka.S3.ListObjectsV2.ListObjectsV2Response
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_commonPrefixes :: Lens' ListObjectsV2Response (Maybe [CommonPrefix])
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_contents :: Lens' ListObjectsV2Response (Maybe [Object])
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_continuationToken :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_delimiter :: Lens' ListObjectsV2Response (Maybe Delimiter)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_encodingType :: Lens' ListObjectsV2Response (Maybe EncodingType)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_httpStatus :: Lens' ListObjectsV2Response Int
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_isTruncated :: Lens' ListObjectsV2Response (Maybe Bool)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_keyCount :: Lens' ListObjectsV2Response (Maybe Int)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_maxKeys :: Lens' ListObjectsV2Response (Maybe Int)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_name :: Lens' ListObjectsV2Response (Maybe BucketName)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_nextContinuationToken :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_prefix :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2Response_startAfter :: Lens' ListObjectsV2Response (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_bucket :: Lens' ListObjectsV2 BucketName
+ Amazonka.S3.ListObjectsV2: listObjectsV2_continuationToken :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_delimiter :: Lens' ListObjectsV2 (Maybe Delimiter)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_encodingType :: Lens' ListObjectsV2 (Maybe EncodingType)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_expectedBucketOwner :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_fetchOwner :: Lens' ListObjectsV2 (Maybe Bool)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_maxKeys :: Lens' ListObjectsV2 (Maybe Int)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_prefix :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_requestPayer :: Lens' ListObjectsV2 (Maybe RequestPayer)
+ Amazonka.S3.ListObjectsV2: listObjectsV2_startAfter :: Lens' ListObjectsV2 (Maybe Text)
+ Amazonka.S3.ListObjectsV2: newListObjectsV2 :: BucketName -> ListObjectsV2
+ Amazonka.S3.ListObjectsV2: newListObjectsV2Response :: Int -> ListObjectsV2Response
+ Amazonka.S3.ListParts: ListParts' :: Maybe Text -> Maybe Int -> Maybe Int -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> ObjectKey -> Text -> ListParts
+ Amazonka.S3.ListParts: ListPartsResponse' :: Maybe RFC822 -> Maybe Text -> Maybe BucketName -> Maybe ChecksumAlgorithm -> Maybe Initiator -> Maybe Bool -> Maybe ObjectKey -> Maybe Int -> Maybe Int -> Maybe Owner -> Maybe Int -> Maybe [Part] -> Maybe RequestCharged -> Maybe StorageClass -> Maybe Text -> Int -> ListPartsResponse
+ Amazonka.S3.ListParts: [$sel:abortDate:ListPartsResponse'] :: ListPartsResponse -> Maybe RFC822
+ Amazonka.S3.ListParts: [$sel:abortRuleId:ListPartsResponse'] :: ListPartsResponse -> Maybe Text
+ Amazonka.S3.ListParts: [$sel:bucket:ListParts'] :: ListParts -> BucketName
+ Amazonka.S3.ListParts: [$sel:bucket:ListPartsResponse'] :: ListPartsResponse -> Maybe BucketName
+ Amazonka.S3.ListParts: [$sel:checksumAlgorithm:ListPartsResponse'] :: ListPartsResponse -> Maybe ChecksumAlgorithm
+ Amazonka.S3.ListParts: [$sel:expectedBucketOwner:ListParts'] :: ListParts -> Maybe Text
+ Amazonka.S3.ListParts: [$sel:httpStatus:ListPartsResponse'] :: ListPartsResponse -> Int
+ Amazonka.S3.ListParts: [$sel:initiator:ListPartsResponse'] :: ListPartsResponse -> Maybe Initiator
+ Amazonka.S3.ListParts: [$sel:isTruncated:ListPartsResponse'] :: ListPartsResponse -> Maybe Bool
+ Amazonka.S3.ListParts: [$sel:key:ListParts'] :: ListParts -> ObjectKey
+ Amazonka.S3.ListParts: [$sel:key:ListPartsResponse'] :: ListPartsResponse -> Maybe ObjectKey
+ Amazonka.S3.ListParts: [$sel:maxParts:ListParts'] :: ListParts -> Maybe Int
+ Amazonka.S3.ListParts: [$sel:maxParts:ListPartsResponse'] :: ListPartsResponse -> Maybe Int
+ Amazonka.S3.ListParts: [$sel:nextPartNumberMarker:ListPartsResponse'] :: ListPartsResponse -> Maybe Int
+ Amazonka.S3.ListParts: [$sel:owner:ListPartsResponse'] :: ListPartsResponse -> Maybe Owner
+ Amazonka.S3.ListParts: [$sel:partNumberMarker:ListParts'] :: ListParts -> Maybe Int
+ Amazonka.S3.ListParts: [$sel:partNumberMarker:ListPartsResponse'] :: ListPartsResponse -> Maybe Int
+ Amazonka.S3.ListParts: [$sel:parts:ListPartsResponse'] :: ListPartsResponse -> Maybe [Part]
+ Amazonka.S3.ListParts: [$sel:requestCharged:ListPartsResponse'] :: ListPartsResponse -> Maybe RequestCharged
+ Amazonka.S3.ListParts: [$sel:requestPayer:ListParts'] :: ListParts -> Maybe RequestPayer
+ Amazonka.S3.ListParts: [$sel:sSECustomerAlgorithm:ListParts'] :: ListParts -> Maybe Text
+ Amazonka.S3.ListParts: [$sel:sSECustomerKey:ListParts'] :: ListParts -> Maybe (Sensitive Text)
+ Amazonka.S3.ListParts: [$sel:sSECustomerKeyMD5:ListParts'] :: ListParts -> Maybe Text
+ Amazonka.S3.ListParts: [$sel:storageClass:ListPartsResponse'] :: ListPartsResponse -> Maybe StorageClass
+ Amazonka.S3.ListParts: [$sel:uploadId:ListParts'] :: ListParts -> Text
+ Amazonka.S3.ListParts: [$sel:uploadId:ListPartsResponse'] :: ListPartsResponse -> Maybe Text
+ Amazonka.S3.ListParts: data ListParts
+ Amazonka.S3.ListParts: data ListPartsResponse
+ Amazonka.S3.ListParts: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance Amazonka.Data.Path.ToPath Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance Amazonka.Data.Query.ToQuery Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance Amazonka.Pager.AWSPager Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance Amazonka.Types.AWSRequest Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance Control.DeepSeq.NFData Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance Control.DeepSeq.NFData Amazonka.S3.ListParts.ListPartsResponse
+ Amazonka.S3.ListParts: instance Data.Hashable.Class.Hashable Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance GHC.Classes.Eq Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance GHC.Classes.Eq Amazonka.S3.ListParts.ListPartsResponse
+ Amazonka.S3.ListParts: instance GHC.Generics.Generic Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance GHC.Generics.Generic Amazonka.S3.ListParts.ListPartsResponse
+ Amazonka.S3.ListParts: instance GHC.Read.Read Amazonka.S3.ListParts.ListPartsResponse
+ Amazonka.S3.ListParts: instance GHC.Show.Show Amazonka.S3.ListParts.ListParts
+ Amazonka.S3.ListParts: instance GHC.Show.Show Amazonka.S3.ListParts.ListPartsResponse
+ Amazonka.S3.ListParts: listPartsResponse_abortDate :: Lens' ListPartsResponse (Maybe UTCTime)
+ Amazonka.S3.ListParts: listPartsResponse_abortRuleId :: Lens' ListPartsResponse (Maybe Text)
+ Amazonka.S3.ListParts: listPartsResponse_bucket :: Lens' ListPartsResponse (Maybe BucketName)
+ Amazonka.S3.ListParts: listPartsResponse_checksumAlgorithm :: Lens' ListPartsResponse (Maybe ChecksumAlgorithm)
+ Amazonka.S3.ListParts: listPartsResponse_httpStatus :: Lens' ListPartsResponse Int
+ Amazonka.S3.ListParts: listPartsResponse_initiator :: Lens' ListPartsResponse (Maybe Initiator)
+ Amazonka.S3.ListParts: listPartsResponse_isTruncated :: Lens' ListPartsResponse (Maybe Bool)
+ Amazonka.S3.ListParts: listPartsResponse_key :: Lens' ListPartsResponse (Maybe ObjectKey)
+ Amazonka.S3.ListParts: listPartsResponse_maxParts :: Lens' ListPartsResponse (Maybe Int)
+ Amazonka.S3.ListParts: listPartsResponse_nextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)
+ Amazonka.S3.ListParts: listPartsResponse_owner :: Lens' ListPartsResponse (Maybe Owner)
+ Amazonka.S3.ListParts: listPartsResponse_partNumberMarker :: Lens' ListPartsResponse (Maybe Int)
+ Amazonka.S3.ListParts: listPartsResponse_parts :: Lens' ListPartsResponse (Maybe [Part])
+ Amazonka.S3.ListParts: listPartsResponse_requestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)
+ Amazonka.S3.ListParts: listPartsResponse_storageClass :: Lens' ListPartsResponse (Maybe StorageClass)
+ Amazonka.S3.ListParts: listPartsResponse_uploadId :: Lens' ListPartsResponse (Maybe Text)
+ Amazonka.S3.ListParts: listParts_bucket :: Lens' ListParts BucketName
+ Amazonka.S3.ListParts: listParts_expectedBucketOwner :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.ListParts: listParts_key :: Lens' ListParts ObjectKey
+ Amazonka.S3.ListParts: listParts_maxParts :: Lens' ListParts (Maybe Int)
+ Amazonka.S3.ListParts: listParts_partNumberMarker :: Lens' ListParts (Maybe Int)
+ Amazonka.S3.ListParts: listParts_requestPayer :: Lens' ListParts (Maybe RequestPayer)
+ Amazonka.S3.ListParts: listParts_sSECustomerAlgorithm :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.ListParts: listParts_sSECustomerKey :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.ListParts: listParts_sSECustomerKeyMD5 :: Lens' ListParts (Maybe Text)
+ Amazonka.S3.ListParts: listParts_uploadId :: Lens' ListParts Text
+ Amazonka.S3.ListParts: newListParts :: BucketName -> ObjectKey -> Text -> ListParts
+ Amazonka.S3.ListParts: newListPartsResponse :: Int -> ListPartsResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: PutBucketAccelerateConfiguration' :: Maybe ChecksumAlgorithm -> Maybe Text -> BucketName -> AccelerateConfiguration -> PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: PutBucketAccelerateConfigurationResponse' :: PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: [$sel:accelerateConfiguration:PutBucketAccelerateConfiguration'] :: PutBucketAccelerateConfiguration -> AccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: [$sel:bucket:PutBucketAccelerateConfiguration'] :: PutBucketAccelerateConfiguration -> BucketName
+ Amazonka.S3.PutBucketAccelerateConfiguration: [$sel:checksumAlgorithm:PutBucketAccelerateConfiguration'] :: PutBucketAccelerateConfiguration -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketAccelerateConfiguration: [$sel:expectedBucketOwner:PutBucketAccelerateConfiguration'] :: PutBucketAccelerateConfiguration -> Maybe Text
+ Amazonka.S3.PutBucketAccelerateConfiguration: data PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: data PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketAccelerateConfiguration.PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: newPutBucketAccelerateConfiguration :: BucketName -> AccelerateConfiguration -> PutBucketAccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: newPutBucketAccelerateConfigurationResponse :: PutBucketAccelerateConfigurationResponse
+ Amazonka.S3.PutBucketAccelerateConfiguration: putBucketAccelerateConfiguration_accelerateConfiguration :: Lens' PutBucketAccelerateConfiguration AccelerateConfiguration
+ Amazonka.S3.PutBucketAccelerateConfiguration: putBucketAccelerateConfiguration_bucket :: Lens' PutBucketAccelerateConfiguration BucketName
+ Amazonka.S3.PutBucketAccelerateConfiguration: putBucketAccelerateConfiguration_checksumAlgorithm :: Lens' PutBucketAccelerateConfiguration (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketAccelerateConfiguration: putBucketAccelerateConfiguration_expectedBucketOwner :: Lens' PutBucketAccelerateConfiguration (Maybe Text)
+ Amazonka.S3.PutBucketAcl: PutBucketAcl' :: Maybe BucketCannedACL -> Maybe AccessControlPolicy -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> BucketName -> PutBucketAcl
+ Amazonka.S3.PutBucketAcl: PutBucketAclResponse' :: PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: [$sel:accessControlPolicy:PutBucketAcl'] :: PutBucketAcl -> Maybe AccessControlPolicy
+ Amazonka.S3.PutBucketAcl: [$sel:acl:PutBucketAcl'] :: PutBucketAcl -> Maybe BucketCannedACL
+ Amazonka.S3.PutBucketAcl: [$sel:bucket:PutBucketAcl'] :: PutBucketAcl -> BucketName
+ Amazonka.S3.PutBucketAcl: [$sel:checksumAlgorithm:PutBucketAcl'] :: PutBucketAcl -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketAcl: [$sel:contentMD5:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: [$sel:expectedBucketOwner:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: [$sel:grantFullControl:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: [$sel:grantRead:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: [$sel:grantReadACP:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: [$sel:grantWrite:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: [$sel:grantWriteACP:PutBucketAcl'] :: PutBucketAcl -> Maybe Text
+ Amazonka.S3.PutBucketAcl: data PutBucketAcl
+ Amazonka.S3.PutBucketAcl: data PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketAcl.PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance GHC.Classes.Eq Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance GHC.Classes.Eq Amazonka.S3.PutBucketAcl.PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: instance GHC.Generics.Generic Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance GHC.Generics.Generic Amazonka.S3.PutBucketAcl.PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: instance GHC.Read.Read Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance GHC.Read.Read Amazonka.S3.PutBucketAcl.PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: instance GHC.Show.Show Amazonka.S3.PutBucketAcl.PutBucketAcl
+ Amazonka.S3.PutBucketAcl: instance GHC.Show.Show Amazonka.S3.PutBucketAcl.PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: newPutBucketAcl :: BucketName -> PutBucketAcl
+ Amazonka.S3.PutBucketAcl: newPutBucketAclResponse :: PutBucketAclResponse
+ Amazonka.S3.PutBucketAcl: putBucketAcl_accessControlPolicy :: Lens' PutBucketAcl (Maybe AccessControlPolicy)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_acl :: Lens' PutBucketAcl (Maybe BucketCannedACL)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_bucket :: Lens' PutBucketAcl BucketName
+ Amazonka.S3.PutBucketAcl: putBucketAcl_checksumAlgorithm :: Lens' PutBucketAcl (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_contentMD5 :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_expectedBucketOwner :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_grantFullControl :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_grantRead :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_grantReadACP :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_grantWrite :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAcl: putBucketAcl_grantWriteACP :: Lens' PutBucketAcl (Maybe Text)
+ Amazonka.S3.PutBucketAnalyticsConfiguration: PutBucketAnalyticsConfiguration' :: Maybe Text -> BucketName -> Text -> AnalyticsConfiguration -> PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: PutBucketAnalyticsConfigurationResponse' :: PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: [$sel:analyticsConfiguration:PutBucketAnalyticsConfiguration'] :: PutBucketAnalyticsConfiguration -> AnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: [$sel:bucket:PutBucketAnalyticsConfiguration'] :: PutBucketAnalyticsConfiguration -> BucketName
+ Amazonka.S3.PutBucketAnalyticsConfiguration: [$sel:expectedBucketOwner:PutBucketAnalyticsConfiguration'] :: PutBucketAnalyticsConfiguration -> Maybe Text
+ Amazonka.S3.PutBucketAnalyticsConfiguration: [$sel:id:PutBucketAnalyticsConfiguration'] :: PutBucketAnalyticsConfiguration -> Text
+ Amazonka.S3.PutBucketAnalyticsConfiguration: data PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: data PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketAnalyticsConfiguration.PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: newPutBucketAnalyticsConfiguration :: BucketName -> Text -> AnalyticsConfiguration -> PutBucketAnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: newPutBucketAnalyticsConfigurationResponse :: PutBucketAnalyticsConfigurationResponse
+ Amazonka.S3.PutBucketAnalyticsConfiguration: putBucketAnalyticsConfiguration_analyticsConfiguration :: Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration
+ Amazonka.S3.PutBucketAnalyticsConfiguration: putBucketAnalyticsConfiguration_bucket :: Lens' PutBucketAnalyticsConfiguration BucketName
+ Amazonka.S3.PutBucketAnalyticsConfiguration: putBucketAnalyticsConfiguration_expectedBucketOwner :: Lens' PutBucketAnalyticsConfiguration (Maybe Text)
+ Amazonka.S3.PutBucketAnalyticsConfiguration: putBucketAnalyticsConfiguration_id :: Lens' PutBucketAnalyticsConfiguration Text
+ Amazonka.S3.PutBucketCors: PutBucketCors' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> CORSConfiguration -> PutBucketCors
+ Amazonka.S3.PutBucketCors: PutBucketCorsResponse' :: PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: [$sel:bucket:PutBucketCors'] :: PutBucketCors -> BucketName
+ Amazonka.S3.PutBucketCors: [$sel:cORSConfiguration:PutBucketCors'] :: PutBucketCors -> CORSConfiguration
+ Amazonka.S3.PutBucketCors: [$sel:checksumAlgorithm:PutBucketCors'] :: PutBucketCors -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketCors: [$sel:contentMD5:PutBucketCors'] :: PutBucketCors -> Maybe Text
+ Amazonka.S3.PutBucketCors: [$sel:expectedBucketOwner:PutBucketCors'] :: PutBucketCors -> Maybe Text
+ Amazonka.S3.PutBucketCors: data PutBucketCors
+ Amazonka.S3.PutBucketCors: data PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketCors.PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance GHC.Classes.Eq Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance GHC.Classes.Eq Amazonka.S3.PutBucketCors.PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: instance GHC.Generics.Generic Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance GHC.Generics.Generic Amazonka.S3.PutBucketCors.PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: instance GHC.Read.Read Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance GHC.Read.Read Amazonka.S3.PutBucketCors.PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: instance GHC.Show.Show Amazonka.S3.PutBucketCors.PutBucketCors
+ Amazonka.S3.PutBucketCors: instance GHC.Show.Show Amazonka.S3.PutBucketCors.PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: newPutBucketCors :: BucketName -> CORSConfiguration -> PutBucketCors
+ Amazonka.S3.PutBucketCors: newPutBucketCorsResponse :: PutBucketCorsResponse
+ Amazonka.S3.PutBucketCors: putBucketCors_bucket :: Lens' PutBucketCors BucketName
+ Amazonka.S3.PutBucketCors: putBucketCors_cORSConfiguration :: Lens' PutBucketCors CORSConfiguration
+ Amazonka.S3.PutBucketCors: putBucketCors_checksumAlgorithm :: Lens' PutBucketCors (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketCors: putBucketCors_contentMD5 :: Lens' PutBucketCors (Maybe Text)
+ Amazonka.S3.PutBucketCors: putBucketCors_expectedBucketOwner :: Lens' PutBucketCors (Maybe Text)
+ Amazonka.S3.PutBucketEncryption: PutBucketEncryption' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> ServerSideEncryptionConfiguration -> PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: PutBucketEncryptionResponse' :: PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: [$sel:bucket:PutBucketEncryption'] :: PutBucketEncryption -> BucketName
+ Amazonka.S3.PutBucketEncryption: [$sel:checksumAlgorithm:PutBucketEncryption'] :: PutBucketEncryption -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketEncryption: [$sel:contentMD5:PutBucketEncryption'] :: PutBucketEncryption -> Maybe Text
+ Amazonka.S3.PutBucketEncryption: [$sel:expectedBucketOwner:PutBucketEncryption'] :: PutBucketEncryption -> Maybe Text
+ Amazonka.S3.PutBucketEncryption: [$sel:serverSideEncryptionConfiguration:PutBucketEncryption'] :: PutBucketEncryption -> ServerSideEncryptionConfiguration
+ Amazonka.S3.PutBucketEncryption: data PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: data PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketEncryption.PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance GHC.Classes.Eq Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance GHC.Classes.Eq Amazonka.S3.PutBucketEncryption.PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: instance GHC.Generics.Generic Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance GHC.Generics.Generic Amazonka.S3.PutBucketEncryption.PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: instance GHC.Read.Read Amazonka.S3.PutBucketEncryption.PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: instance GHC.Show.Show Amazonka.S3.PutBucketEncryption.PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: instance GHC.Show.Show Amazonka.S3.PutBucketEncryption.PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: newPutBucketEncryption :: BucketName -> ServerSideEncryptionConfiguration -> PutBucketEncryption
+ Amazonka.S3.PutBucketEncryption: newPutBucketEncryptionResponse :: PutBucketEncryptionResponse
+ Amazonka.S3.PutBucketEncryption: putBucketEncryption_bucket :: Lens' PutBucketEncryption BucketName
+ Amazonka.S3.PutBucketEncryption: putBucketEncryption_checksumAlgorithm :: Lens' PutBucketEncryption (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketEncryption: putBucketEncryption_contentMD5 :: Lens' PutBucketEncryption (Maybe Text)
+ Amazonka.S3.PutBucketEncryption: putBucketEncryption_expectedBucketOwner :: Lens' PutBucketEncryption (Maybe Text)
+ Amazonka.S3.PutBucketEncryption: putBucketEncryption_serverSideEncryptionConfiguration :: Lens' PutBucketEncryption ServerSideEncryptionConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: PutBucketIntelligentTieringConfiguration' :: BucketName -> Text -> IntelligentTieringConfiguration -> PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: PutBucketIntelligentTieringConfigurationResponse' :: PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: [$sel:bucket:PutBucketIntelligentTieringConfiguration'] :: PutBucketIntelligentTieringConfiguration -> BucketName
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: [$sel:id:PutBucketIntelligentTieringConfiguration'] :: PutBucketIntelligentTieringConfiguration -> Text
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: [$sel:intelligentTieringConfiguration:PutBucketIntelligentTieringConfiguration'] :: PutBucketIntelligentTieringConfiguration -> IntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: data PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: data PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketIntelligentTieringConfiguration.PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: newPutBucketIntelligentTieringConfiguration :: BucketName -> Text -> IntelligentTieringConfiguration -> PutBucketIntelligentTieringConfiguration
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: newPutBucketIntelligentTieringConfigurationResponse :: PutBucketIntelligentTieringConfigurationResponse
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: putBucketIntelligentTieringConfiguration_bucket :: Lens' PutBucketIntelligentTieringConfiguration BucketName
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: putBucketIntelligentTieringConfiguration_id :: Lens' PutBucketIntelligentTieringConfiguration Text
+ Amazonka.S3.PutBucketIntelligentTieringConfiguration: putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration :: Lens' PutBucketIntelligentTieringConfiguration IntelligentTieringConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: PutBucketInventoryConfiguration' :: Maybe Text -> BucketName -> Text -> InventoryConfiguration -> PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: PutBucketInventoryConfigurationResponse' :: PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: [$sel:bucket:PutBucketInventoryConfiguration'] :: PutBucketInventoryConfiguration -> BucketName
+ Amazonka.S3.PutBucketInventoryConfiguration: [$sel:expectedBucketOwner:PutBucketInventoryConfiguration'] :: PutBucketInventoryConfiguration -> Maybe Text
+ Amazonka.S3.PutBucketInventoryConfiguration: [$sel:id:PutBucketInventoryConfiguration'] :: PutBucketInventoryConfiguration -> Text
+ Amazonka.S3.PutBucketInventoryConfiguration: [$sel:inventoryConfiguration:PutBucketInventoryConfiguration'] :: PutBucketInventoryConfiguration -> InventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: data PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: data PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketInventoryConfiguration.PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: newPutBucketInventoryConfiguration :: BucketName -> Text -> InventoryConfiguration -> PutBucketInventoryConfiguration
+ Amazonka.S3.PutBucketInventoryConfiguration: newPutBucketInventoryConfigurationResponse :: PutBucketInventoryConfigurationResponse
+ Amazonka.S3.PutBucketInventoryConfiguration: putBucketInventoryConfiguration_bucket :: Lens' PutBucketInventoryConfiguration BucketName
+ Amazonka.S3.PutBucketInventoryConfiguration: putBucketInventoryConfiguration_expectedBucketOwner :: Lens' PutBucketInventoryConfiguration (Maybe Text)
+ Amazonka.S3.PutBucketInventoryConfiguration: putBucketInventoryConfiguration_id :: Lens' PutBucketInventoryConfiguration Text
+ Amazonka.S3.PutBucketInventoryConfiguration: putBucketInventoryConfiguration_inventoryConfiguration :: Lens' PutBucketInventoryConfiguration InventoryConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: PutBucketLifecycleConfiguration' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe BucketLifecycleConfiguration -> BucketName -> PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: PutBucketLifecycleConfigurationResponse' :: PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: [$sel:bucket:PutBucketLifecycleConfiguration'] :: PutBucketLifecycleConfiguration -> BucketName
+ Amazonka.S3.PutBucketLifecycleConfiguration: [$sel:checksumAlgorithm:PutBucketLifecycleConfiguration'] :: PutBucketLifecycleConfiguration -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketLifecycleConfiguration: [$sel:expectedBucketOwner:PutBucketLifecycleConfiguration'] :: PutBucketLifecycleConfiguration -> Maybe Text
+ Amazonka.S3.PutBucketLifecycleConfiguration: [$sel:lifecycleConfiguration:PutBucketLifecycleConfiguration'] :: PutBucketLifecycleConfiguration -> Maybe BucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: data PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: data PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketLifecycleConfiguration.PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: newPutBucketLifecycleConfiguration :: BucketName -> PutBucketLifecycleConfiguration
+ Amazonka.S3.PutBucketLifecycleConfiguration: newPutBucketLifecycleConfigurationResponse :: PutBucketLifecycleConfigurationResponse
+ Amazonka.S3.PutBucketLifecycleConfiguration: putBucketLifecycleConfiguration_bucket :: Lens' PutBucketLifecycleConfiguration BucketName
+ Amazonka.S3.PutBucketLifecycleConfiguration: putBucketLifecycleConfiguration_checksumAlgorithm :: Lens' PutBucketLifecycleConfiguration (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketLifecycleConfiguration: putBucketLifecycleConfiguration_expectedBucketOwner :: Lens' PutBucketLifecycleConfiguration (Maybe Text)
+ Amazonka.S3.PutBucketLifecycleConfiguration: putBucketLifecycleConfiguration_lifecycleConfiguration :: Lens' PutBucketLifecycleConfiguration (Maybe BucketLifecycleConfiguration)
+ Amazonka.S3.PutBucketLogging: PutBucketLogging' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> BucketLoggingStatus -> PutBucketLogging
+ Amazonka.S3.PutBucketLogging: PutBucketLoggingResponse' :: PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: [$sel:bucket:PutBucketLogging'] :: PutBucketLogging -> BucketName
+ Amazonka.S3.PutBucketLogging: [$sel:bucketLoggingStatus:PutBucketLogging'] :: PutBucketLogging -> BucketLoggingStatus
+ Amazonka.S3.PutBucketLogging: [$sel:checksumAlgorithm:PutBucketLogging'] :: PutBucketLogging -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketLogging: [$sel:contentMD5:PutBucketLogging'] :: PutBucketLogging -> Maybe Text
+ Amazonka.S3.PutBucketLogging: [$sel:expectedBucketOwner:PutBucketLogging'] :: PutBucketLogging -> Maybe Text
+ Amazonka.S3.PutBucketLogging: data PutBucketLogging
+ Amazonka.S3.PutBucketLogging: data PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketLogging.PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance GHC.Classes.Eq Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance GHC.Classes.Eq Amazonka.S3.PutBucketLogging.PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: instance GHC.Generics.Generic Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance GHC.Generics.Generic Amazonka.S3.PutBucketLogging.PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: instance GHC.Read.Read Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance GHC.Read.Read Amazonka.S3.PutBucketLogging.PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: instance GHC.Show.Show Amazonka.S3.PutBucketLogging.PutBucketLogging
+ Amazonka.S3.PutBucketLogging: instance GHC.Show.Show Amazonka.S3.PutBucketLogging.PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: newPutBucketLogging :: BucketName -> BucketLoggingStatus -> PutBucketLogging
+ Amazonka.S3.PutBucketLogging: newPutBucketLoggingResponse :: PutBucketLoggingResponse
+ Amazonka.S3.PutBucketLogging: putBucketLogging_bucket :: Lens' PutBucketLogging BucketName
+ Amazonka.S3.PutBucketLogging: putBucketLogging_bucketLoggingStatus :: Lens' PutBucketLogging BucketLoggingStatus
+ Amazonka.S3.PutBucketLogging: putBucketLogging_checksumAlgorithm :: Lens' PutBucketLogging (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketLogging: putBucketLogging_contentMD5 :: Lens' PutBucketLogging (Maybe Text)
+ Amazonka.S3.PutBucketLogging: putBucketLogging_expectedBucketOwner :: Lens' PutBucketLogging (Maybe Text)
+ Amazonka.S3.PutBucketMetricsConfiguration: PutBucketMetricsConfiguration' :: Maybe Text -> BucketName -> Text -> MetricsConfiguration -> PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: PutBucketMetricsConfigurationResponse' :: PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: [$sel:bucket:PutBucketMetricsConfiguration'] :: PutBucketMetricsConfiguration -> BucketName
+ Amazonka.S3.PutBucketMetricsConfiguration: [$sel:expectedBucketOwner:PutBucketMetricsConfiguration'] :: PutBucketMetricsConfiguration -> Maybe Text
+ Amazonka.S3.PutBucketMetricsConfiguration: [$sel:id:PutBucketMetricsConfiguration'] :: PutBucketMetricsConfiguration -> Text
+ Amazonka.S3.PutBucketMetricsConfiguration: [$sel:metricsConfiguration:PutBucketMetricsConfiguration'] :: PutBucketMetricsConfiguration -> MetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: data PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: data PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketMetricsConfiguration.PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: newPutBucketMetricsConfiguration :: BucketName -> Text -> MetricsConfiguration -> PutBucketMetricsConfiguration
+ Amazonka.S3.PutBucketMetricsConfiguration: newPutBucketMetricsConfigurationResponse :: PutBucketMetricsConfigurationResponse
+ Amazonka.S3.PutBucketMetricsConfiguration: putBucketMetricsConfiguration_bucket :: Lens' PutBucketMetricsConfiguration BucketName
+ Amazonka.S3.PutBucketMetricsConfiguration: putBucketMetricsConfiguration_expectedBucketOwner :: Lens' PutBucketMetricsConfiguration (Maybe Text)
+ Amazonka.S3.PutBucketMetricsConfiguration: putBucketMetricsConfiguration_id :: Lens' PutBucketMetricsConfiguration Text
+ Amazonka.S3.PutBucketMetricsConfiguration: putBucketMetricsConfiguration_metricsConfiguration :: Lens' PutBucketMetricsConfiguration MetricsConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: PutBucketNotificationConfiguration' :: Maybe Text -> Maybe Bool -> BucketName -> NotificationConfiguration -> PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: PutBucketNotificationConfigurationResponse' :: PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: [$sel:bucket:PutBucketNotificationConfiguration'] :: PutBucketNotificationConfiguration -> BucketName
+ Amazonka.S3.PutBucketNotificationConfiguration: [$sel:expectedBucketOwner:PutBucketNotificationConfiguration'] :: PutBucketNotificationConfiguration -> Maybe Text
+ Amazonka.S3.PutBucketNotificationConfiguration: [$sel:notificationConfiguration:PutBucketNotificationConfiguration'] :: PutBucketNotificationConfiguration -> NotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: [$sel:skipDestinationValidation:PutBucketNotificationConfiguration'] :: PutBucketNotificationConfiguration -> Maybe Bool
+ Amazonka.S3.PutBucketNotificationConfiguration: data PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: data PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Read.Read Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: instance GHC.Show.Show Amazonka.S3.PutBucketNotificationConfiguration.PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: newPutBucketNotificationConfiguration :: BucketName -> NotificationConfiguration -> PutBucketNotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: newPutBucketNotificationConfigurationResponse :: PutBucketNotificationConfigurationResponse
+ Amazonka.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration_bucket :: Lens' PutBucketNotificationConfiguration BucketName
+ Amazonka.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration_expectedBucketOwner :: Lens' PutBucketNotificationConfiguration (Maybe Text)
+ Amazonka.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration_notificationConfiguration :: Lens' PutBucketNotificationConfiguration NotificationConfiguration
+ Amazonka.S3.PutBucketNotificationConfiguration: putBucketNotificationConfiguration_skipDestinationValidation :: Lens' PutBucketNotificationConfiguration (Maybe Bool)
+ Amazonka.S3.PutBucketOwnershipControls: PutBucketOwnershipControls' :: Maybe Text -> Maybe Text -> BucketName -> OwnershipControls -> PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: PutBucketOwnershipControlsResponse' :: PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: [$sel:bucket:PutBucketOwnershipControls'] :: PutBucketOwnershipControls -> BucketName
+ Amazonka.S3.PutBucketOwnershipControls: [$sel:contentMD5:PutBucketOwnershipControls'] :: PutBucketOwnershipControls -> Maybe Text
+ Amazonka.S3.PutBucketOwnershipControls: [$sel:expectedBucketOwner:PutBucketOwnershipControls'] :: PutBucketOwnershipControls -> Maybe Text
+ Amazonka.S3.PutBucketOwnershipControls: [$sel:ownershipControls:PutBucketOwnershipControls'] :: PutBucketOwnershipControls -> OwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: data PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: data PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Classes.Eq Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Classes.Eq Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Generics.Generic Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Generics.Generic Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Read.Read Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Read.Read Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Show.Show Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: instance GHC.Show.Show Amazonka.S3.PutBucketOwnershipControls.PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: newPutBucketOwnershipControls :: BucketName -> OwnershipControls -> PutBucketOwnershipControls
+ Amazonka.S3.PutBucketOwnershipControls: newPutBucketOwnershipControlsResponse :: PutBucketOwnershipControlsResponse
+ Amazonka.S3.PutBucketOwnershipControls: putBucketOwnershipControls_bucket :: Lens' PutBucketOwnershipControls BucketName
+ Amazonka.S3.PutBucketOwnershipControls: putBucketOwnershipControls_contentMD5 :: Lens' PutBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.PutBucketOwnershipControls: putBucketOwnershipControls_expectedBucketOwner :: Lens' PutBucketOwnershipControls (Maybe Text)
+ Amazonka.S3.PutBucketOwnershipControls: putBucketOwnershipControls_ownershipControls :: Lens' PutBucketOwnershipControls OwnershipControls
+ Amazonka.S3.PutBucketPolicy: PutBucketPolicy' :: Maybe ChecksumAlgorithm -> Maybe Bool -> Maybe Text -> Maybe Text -> BucketName -> ByteString -> PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: PutBucketPolicyResponse' :: PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: [$sel:bucket:PutBucketPolicy'] :: PutBucketPolicy -> BucketName
+ Amazonka.S3.PutBucketPolicy: [$sel:checksumAlgorithm:PutBucketPolicy'] :: PutBucketPolicy -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketPolicy: [$sel:confirmRemoveSelfBucketAccess:PutBucketPolicy'] :: PutBucketPolicy -> Maybe Bool
+ Amazonka.S3.PutBucketPolicy: [$sel:contentMD5:PutBucketPolicy'] :: PutBucketPolicy -> Maybe Text
+ Amazonka.S3.PutBucketPolicy: [$sel:expectedBucketOwner:PutBucketPolicy'] :: PutBucketPolicy -> Maybe Text
+ Amazonka.S3.PutBucketPolicy: [$sel:policy:PutBucketPolicy'] :: PutBucketPolicy -> ByteString
+ Amazonka.S3.PutBucketPolicy: data PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: data PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: instance Amazonka.Data.Body.ToBody Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketPolicy.PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance GHC.Classes.Eq Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance GHC.Classes.Eq Amazonka.S3.PutBucketPolicy.PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: instance GHC.Generics.Generic Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance GHC.Generics.Generic Amazonka.S3.PutBucketPolicy.PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: instance GHC.Read.Read Amazonka.S3.PutBucketPolicy.PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: instance GHC.Show.Show Amazonka.S3.PutBucketPolicy.PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: instance GHC.Show.Show Amazonka.S3.PutBucketPolicy.PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: newPutBucketPolicy :: BucketName -> ByteString -> PutBucketPolicy
+ Amazonka.S3.PutBucketPolicy: newPutBucketPolicyResponse :: PutBucketPolicyResponse
+ Amazonka.S3.PutBucketPolicy: putBucketPolicy_bucket :: Lens' PutBucketPolicy BucketName
+ Amazonka.S3.PutBucketPolicy: putBucketPolicy_checksumAlgorithm :: Lens' PutBucketPolicy (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketPolicy: putBucketPolicy_confirmRemoveSelfBucketAccess :: Lens' PutBucketPolicy (Maybe Bool)
+ Amazonka.S3.PutBucketPolicy: putBucketPolicy_contentMD5 :: Lens' PutBucketPolicy (Maybe Text)
+ Amazonka.S3.PutBucketPolicy: putBucketPolicy_expectedBucketOwner :: Lens' PutBucketPolicy (Maybe Text)
+ Amazonka.S3.PutBucketPolicy: putBucketPolicy_policy :: Lens' PutBucketPolicy ByteString
+ Amazonka.S3.PutBucketReplication: PutBucketReplication' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> BucketName -> ReplicationConfiguration -> PutBucketReplication
+ Amazonka.S3.PutBucketReplication: PutBucketReplicationResponse' :: PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: [$sel:bucket:PutBucketReplication'] :: PutBucketReplication -> BucketName
+ Amazonka.S3.PutBucketReplication: [$sel:checksumAlgorithm:PutBucketReplication'] :: PutBucketReplication -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketReplication: [$sel:contentMD5:PutBucketReplication'] :: PutBucketReplication -> Maybe Text
+ Amazonka.S3.PutBucketReplication: [$sel:expectedBucketOwner:PutBucketReplication'] :: PutBucketReplication -> Maybe Text
+ Amazonka.S3.PutBucketReplication: [$sel:replicationConfiguration:PutBucketReplication'] :: PutBucketReplication -> ReplicationConfiguration
+ Amazonka.S3.PutBucketReplication: [$sel:token:PutBucketReplication'] :: PutBucketReplication -> Maybe Text
+ Amazonka.S3.PutBucketReplication: data PutBucketReplication
+ Amazonka.S3.PutBucketReplication: data PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketReplication.PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance GHC.Classes.Eq Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance GHC.Classes.Eq Amazonka.S3.PutBucketReplication.PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: instance GHC.Generics.Generic Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance GHC.Generics.Generic Amazonka.S3.PutBucketReplication.PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: instance GHC.Read.Read Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance GHC.Read.Read Amazonka.S3.PutBucketReplication.PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: instance GHC.Show.Show Amazonka.S3.PutBucketReplication.PutBucketReplication
+ Amazonka.S3.PutBucketReplication: instance GHC.Show.Show Amazonka.S3.PutBucketReplication.PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: newPutBucketReplication :: BucketName -> ReplicationConfiguration -> PutBucketReplication
+ Amazonka.S3.PutBucketReplication: newPutBucketReplicationResponse :: PutBucketReplicationResponse
+ Amazonka.S3.PutBucketReplication: putBucketReplication_bucket :: Lens' PutBucketReplication BucketName
+ Amazonka.S3.PutBucketReplication: putBucketReplication_checksumAlgorithm :: Lens' PutBucketReplication (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketReplication: putBucketReplication_contentMD5 :: Lens' PutBucketReplication (Maybe Text)
+ Amazonka.S3.PutBucketReplication: putBucketReplication_expectedBucketOwner :: Lens' PutBucketReplication (Maybe Text)
+ Amazonka.S3.PutBucketReplication: putBucketReplication_replicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration
+ Amazonka.S3.PutBucketReplication: putBucketReplication_token :: Lens' PutBucketReplication (Maybe Text)
+ Amazonka.S3.PutBucketRequestPayment: PutBucketRequestPayment' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> RequestPaymentConfiguration -> PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: PutBucketRequestPaymentResponse' :: PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: [$sel:bucket:PutBucketRequestPayment'] :: PutBucketRequestPayment -> BucketName
+ Amazonka.S3.PutBucketRequestPayment: [$sel:checksumAlgorithm:PutBucketRequestPayment'] :: PutBucketRequestPayment -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketRequestPayment: [$sel:contentMD5:PutBucketRequestPayment'] :: PutBucketRequestPayment -> Maybe Text
+ Amazonka.S3.PutBucketRequestPayment: [$sel:expectedBucketOwner:PutBucketRequestPayment'] :: PutBucketRequestPayment -> Maybe Text
+ Amazonka.S3.PutBucketRequestPayment: [$sel:requestPaymentConfiguration:PutBucketRequestPayment'] :: PutBucketRequestPayment -> RequestPaymentConfiguration
+ Amazonka.S3.PutBucketRequestPayment: data PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: data PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Classes.Eq Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Classes.Eq Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Generics.Generic Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Generics.Generic Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Read.Read Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Read.Read Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Show.Show Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: instance GHC.Show.Show Amazonka.S3.PutBucketRequestPayment.PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: newPutBucketRequestPayment :: BucketName -> RequestPaymentConfiguration -> PutBucketRequestPayment
+ Amazonka.S3.PutBucketRequestPayment: newPutBucketRequestPaymentResponse :: PutBucketRequestPaymentResponse
+ Amazonka.S3.PutBucketRequestPayment: putBucketRequestPayment_bucket :: Lens' PutBucketRequestPayment BucketName
+ Amazonka.S3.PutBucketRequestPayment: putBucketRequestPayment_checksumAlgorithm :: Lens' PutBucketRequestPayment (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketRequestPayment: putBucketRequestPayment_contentMD5 :: Lens' PutBucketRequestPayment (Maybe Text)
+ Amazonka.S3.PutBucketRequestPayment: putBucketRequestPayment_expectedBucketOwner :: Lens' PutBucketRequestPayment (Maybe Text)
+ Amazonka.S3.PutBucketRequestPayment: putBucketRequestPayment_requestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration
+ Amazonka.S3.PutBucketTagging: PutBucketTagging' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> Tagging -> PutBucketTagging
+ Amazonka.S3.PutBucketTagging: PutBucketTaggingResponse' :: PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: [$sel:bucket:PutBucketTagging'] :: PutBucketTagging -> BucketName
+ Amazonka.S3.PutBucketTagging: [$sel:checksumAlgorithm:PutBucketTagging'] :: PutBucketTagging -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketTagging: [$sel:contentMD5:PutBucketTagging'] :: PutBucketTagging -> Maybe Text
+ Amazonka.S3.PutBucketTagging: [$sel:expectedBucketOwner:PutBucketTagging'] :: PutBucketTagging -> Maybe Text
+ Amazonka.S3.PutBucketTagging: [$sel:tagging:PutBucketTagging'] :: PutBucketTagging -> Tagging
+ Amazonka.S3.PutBucketTagging: data PutBucketTagging
+ Amazonka.S3.PutBucketTagging: data PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketTagging.PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance GHC.Classes.Eq Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance GHC.Classes.Eq Amazonka.S3.PutBucketTagging.PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: instance GHC.Generics.Generic Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance GHC.Generics.Generic Amazonka.S3.PutBucketTagging.PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: instance GHC.Read.Read Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance GHC.Read.Read Amazonka.S3.PutBucketTagging.PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: instance GHC.Show.Show Amazonka.S3.PutBucketTagging.PutBucketTagging
+ Amazonka.S3.PutBucketTagging: instance GHC.Show.Show Amazonka.S3.PutBucketTagging.PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: newPutBucketTagging :: BucketName -> Tagging -> PutBucketTagging
+ Amazonka.S3.PutBucketTagging: newPutBucketTaggingResponse :: PutBucketTaggingResponse
+ Amazonka.S3.PutBucketTagging: putBucketTagging_bucket :: Lens' PutBucketTagging BucketName
+ Amazonka.S3.PutBucketTagging: putBucketTagging_checksumAlgorithm :: Lens' PutBucketTagging (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketTagging: putBucketTagging_contentMD5 :: Lens' PutBucketTagging (Maybe Text)
+ Amazonka.S3.PutBucketTagging: putBucketTagging_expectedBucketOwner :: Lens' PutBucketTagging (Maybe Text)
+ Amazonka.S3.PutBucketTagging: putBucketTagging_tagging :: Lens' PutBucketTagging Tagging
+ Amazonka.S3.PutBucketVersioning: PutBucketVersioning' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> BucketName -> VersioningConfiguration -> PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: PutBucketVersioningResponse' :: PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: [$sel:bucket:PutBucketVersioning'] :: PutBucketVersioning -> BucketName
+ Amazonka.S3.PutBucketVersioning: [$sel:checksumAlgorithm:PutBucketVersioning'] :: PutBucketVersioning -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketVersioning: [$sel:contentMD5:PutBucketVersioning'] :: PutBucketVersioning -> Maybe Text
+ Amazonka.S3.PutBucketVersioning: [$sel:expectedBucketOwner:PutBucketVersioning'] :: PutBucketVersioning -> Maybe Text
+ Amazonka.S3.PutBucketVersioning: [$sel:mfa:PutBucketVersioning'] :: PutBucketVersioning -> Maybe Text
+ Amazonka.S3.PutBucketVersioning: [$sel:versioningConfiguration:PutBucketVersioning'] :: PutBucketVersioning -> VersioningConfiguration
+ Amazonka.S3.PutBucketVersioning: data PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: data PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketVersioning.PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance GHC.Classes.Eq Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance GHC.Classes.Eq Amazonka.S3.PutBucketVersioning.PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: instance GHC.Generics.Generic Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance GHC.Generics.Generic Amazonka.S3.PutBucketVersioning.PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: instance GHC.Read.Read Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance GHC.Read.Read Amazonka.S3.PutBucketVersioning.PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: instance GHC.Show.Show Amazonka.S3.PutBucketVersioning.PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: instance GHC.Show.Show Amazonka.S3.PutBucketVersioning.PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: newPutBucketVersioning :: BucketName -> VersioningConfiguration -> PutBucketVersioning
+ Amazonka.S3.PutBucketVersioning: newPutBucketVersioningResponse :: PutBucketVersioningResponse
+ Amazonka.S3.PutBucketVersioning: putBucketVersioning_bucket :: Lens' PutBucketVersioning BucketName
+ Amazonka.S3.PutBucketVersioning: putBucketVersioning_checksumAlgorithm :: Lens' PutBucketVersioning (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketVersioning: putBucketVersioning_contentMD5 :: Lens' PutBucketVersioning (Maybe Text)
+ Amazonka.S3.PutBucketVersioning: putBucketVersioning_expectedBucketOwner :: Lens' PutBucketVersioning (Maybe Text)
+ Amazonka.S3.PutBucketVersioning: putBucketVersioning_mfa :: Lens' PutBucketVersioning (Maybe Text)
+ Amazonka.S3.PutBucketVersioning: putBucketVersioning_versioningConfiguration :: Lens' PutBucketVersioning VersioningConfiguration
+ Amazonka.S3.PutBucketWebsite: PutBucketWebsite' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> WebsiteConfiguration -> PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: PutBucketWebsiteResponse' :: PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: [$sel:bucket:PutBucketWebsite'] :: PutBucketWebsite -> BucketName
+ Amazonka.S3.PutBucketWebsite: [$sel:checksumAlgorithm:PutBucketWebsite'] :: PutBucketWebsite -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutBucketWebsite: [$sel:contentMD5:PutBucketWebsite'] :: PutBucketWebsite -> Maybe Text
+ Amazonka.S3.PutBucketWebsite: [$sel:expectedBucketOwner:PutBucketWebsite'] :: PutBucketWebsite -> Maybe Text
+ Amazonka.S3.PutBucketWebsite: [$sel:websiteConfiguration:PutBucketWebsite'] :: PutBucketWebsite -> WebsiteConfiguration
+ Amazonka.S3.PutBucketWebsite: data PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: data PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance Amazonka.Types.AWSRequest Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance Control.DeepSeq.NFData Amazonka.S3.PutBucketWebsite.PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: instance Data.Hashable.Class.Hashable Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance GHC.Classes.Eq Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance GHC.Classes.Eq Amazonka.S3.PutBucketWebsite.PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: instance GHC.Generics.Generic Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance GHC.Generics.Generic Amazonka.S3.PutBucketWebsite.PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: instance GHC.Read.Read Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance GHC.Read.Read Amazonka.S3.PutBucketWebsite.PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: instance GHC.Show.Show Amazonka.S3.PutBucketWebsite.PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: instance GHC.Show.Show Amazonka.S3.PutBucketWebsite.PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: newPutBucketWebsite :: BucketName -> WebsiteConfiguration -> PutBucketWebsite
+ Amazonka.S3.PutBucketWebsite: newPutBucketWebsiteResponse :: PutBucketWebsiteResponse
+ Amazonka.S3.PutBucketWebsite: putBucketWebsite_bucket :: Lens' PutBucketWebsite BucketName
+ Amazonka.S3.PutBucketWebsite: putBucketWebsite_checksumAlgorithm :: Lens' PutBucketWebsite (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutBucketWebsite: putBucketWebsite_contentMD5 :: Lens' PutBucketWebsite (Maybe Text)
+ Amazonka.S3.PutBucketWebsite: putBucketWebsite_expectedBucketOwner :: Lens' PutBucketWebsite (Maybe Text)
+ Amazonka.S3.PutBucketWebsite: putBucketWebsite_websiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration
+ Amazonka.S3.PutObject: PutObject' :: Maybe ObjectCannedACL -> Maybe Bool -> Maybe Text -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> HashMap Text Text -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe StorageClass -> Maybe Text -> Maybe Text -> BucketName -> ObjectKey -> RequestBody -> PutObject
+ Amazonka.S3.PutObject: PutObjectResponse' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe Text -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe ObjectVersionId -> Int -> PutObjectResponse
+ Amazonka.S3.PutObject: [$sel:acl:PutObject'] :: PutObject -> Maybe ObjectCannedACL
+ Amazonka.S3.PutObject: [$sel:body:PutObject'] :: PutObject -> RequestBody
+ Amazonka.S3.PutObject: [$sel:bucket:PutObject'] :: PutObject -> BucketName
+ Amazonka.S3.PutObject: [$sel:bucketKeyEnabled:PutObject'] :: PutObject -> Maybe Bool
+ Amazonka.S3.PutObject: [$sel:bucketKeyEnabled:PutObjectResponse'] :: PutObjectResponse -> Maybe Bool
+ Amazonka.S3.PutObject: [$sel:cacheControl:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumAlgorithm:PutObject'] :: PutObject -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutObject: [$sel:checksumCRC32:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumCRC32:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumCRC32C:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumCRC32C:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumSHA1:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumSHA1:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumSHA256:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:checksumSHA256:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:contentDisposition:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:contentEncoding:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:contentLanguage:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:contentLength:PutObject'] :: PutObject -> Maybe Integer
+ Amazonka.S3.PutObject: [$sel:contentMD5:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:contentType:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:eTag:PutObjectResponse'] :: PutObjectResponse -> Maybe ETag
+ Amazonka.S3.PutObject: [$sel:expectedBucketOwner:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:expiration:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:expires:PutObject'] :: PutObject -> Maybe RFC822
+ Amazonka.S3.PutObject: [$sel:grantFullControl:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:grantRead:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:grantReadACP:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:grantWriteACP:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:httpStatus:PutObjectResponse'] :: PutObjectResponse -> Int
+ Amazonka.S3.PutObject: [$sel:key:PutObject'] :: PutObject -> ObjectKey
+ Amazonka.S3.PutObject: [$sel:metadata:PutObject'] :: PutObject -> HashMap Text Text
+ Amazonka.S3.PutObject: [$sel:objectLockLegalHoldStatus:PutObject'] :: PutObject -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.PutObject: [$sel:objectLockMode:PutObject'] :: PutObject -> Maybe ObjectLockMode
+ Amazonka.S3.PutObject: [$sel:objectLockRetainUntilDate:PutObject'] :: PutObject -> Maybe ISO8601
+ Amazonka.S3.PutObject: [$sel:requestCharged:PutObjectResponse'] :: PutObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.PutObject: [$sel:requestPayer:PutObject'] :: PutObject -> Maybe RequestPayer
+ Amazonka.S3.PutObject: [$sel:sSECustomerAlgorithm:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:sSECustomerAlgorithm:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:sSECustomerKey:PutObject'] :: PutObject -> Maybe (Sensitive Text)
+ Amazonka.S3.PutObject: [$sel:sSECustomerKeyMD5:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:sSECustomerKeyMD5:PutObjectResponse'] :: PutObjectResponse -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:sSEKMSEncryptionContext:PutObject'] :: PutObject -> Maybe (Sensitive Text)
+ Amazonka.S3.PutObject: [$sel:sSEKMSEncryptionContext:PutObjectResponse'] :: PutObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.PutObject: [$sel:sSEKMSKeyId:PutObject'] :: PutObject -> Maybe (Sensitive Text)
+ Amazonka.S3.PutObject: [$sel:sSEKMSKeyId:PutObjectResponse'] :: PutObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.PutObject: [$sel:serverSideEncryption:PutObject'] :: PutObject -> Maybe ServerSideEncryption
+ Amazonka.S3.PutObject: [$sel:serverSideEncryption:PutObjectResponse'] :: PutObjectResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.PutObject: [$sel:storageClass:PutObject'] :: PutObject -> Maybe StorageClass
+ Amazonka.S3.PutObject: [$sel:tagging:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: [$sel:versionId:PutObjectResponse'] :: PutObjectResponse -> Maybe ObjectVersionId
+ Amazonka.S3.PutObject: [$sel:websiteRedirectLocation:PutObject'] :: PutObject -> Maybe Text
+ Amazonka.S3.PutObject: data PutObject
+ Amazonka.S3.PutObject: data PutObjectResponse
+ Amazonka.S3.PutObject: instance Amazonka.Data.Body.ToBody Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance Amazonka.Types.AWSRequest Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance Control.DeepSeq.NFData Amazonka.S3.PutObject.PutObjectResponse
+ Amazonka.S3.PutObject: instance GHC.Classes.Eq Amazonka.S3.PutObject.PutObjectResponse
+ Amazonka.S3.PutObject: instance GHC.Generics.Generic Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance GHC.Generics.Generic Amazonka.S3.PutObject.PutObjectResponse
+ Amazonka.S3.PutObject: instance GHC.Show.Show Amazonka.S3.PutObject.PutObject
+ Amazonka.S3.PutObject: instance GHC.Show.Show Amazonka.S3.PutObject.PutObjectResponse
+ Amazonka.S3.PutObject: newPutObject :: BucketName -> ObjectKey -> RequestBody -> PutObject
+ Amazonka.S3.PutObject: newPutObjectResponse :: Int -> PutObjectResponse
+ Amazonka.S3.PutObject: putObjectResponse_bucketKeyEnabled :: Lens' PutObjectResponse (Maybe Bool)
+ Amazonka.S3.PutObject: putObjectResponse_checksumCRC32 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_checksumCRC32C :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_checksumSHA1 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_checksumSHA256 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_eTag :: Lens' PutObjectResponse (Maybe ETag)
+ Amazonka.S3.PutObject: putObjectResponse_expiration :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_httpStatus :: Lens' PutObjectResponse Int
+ Amazonka.S3.PutObject: putObjectResponse_requestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.PutObject: putObjectResponse_sSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_sSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_sSEKMSEncryptionContext :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_sSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)
+ Amazonka.S3.PutObject: putObjectResponse_serverSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.PutObject: putObjectResponse_versionId :: Lens' PutObjectResponse (Maybe ObjectVersionId)
+ Amazonka.S3.PutObject: putObject_acl :: Lens' PutObject (Maybe ObjectCannedACL)
+ Amazonka.S3.PutObject: putObject_body :: Lens' PutObject RequestBody
+ Amazonka.S3.PutObject: putObject_bucket :: Lens' PutObject BucketName
+ Amazonka.S3.PutObject: putObject_bucketKeyEnabled :: Lens' PutObject (Maybe Bool)
+ Amazonka.S3.PutObject: putObject_cacheControl :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_checksumAlgorithm :: Lens' PutObject (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutObject: putObject_checksumCRC32 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_checksumCRC32C :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_checksumSHA1 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_checksumSHA256 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_contentDisposition :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_contentEncoding :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_contentLanguage :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_contentLength :: Lens' PutObject (Maybe Integer)
+ Amazonka.S3.PutObject: putObject_contentMD5 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_contentType :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_expectedBucketOwner :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_expires :: Lens' PutObject (Maybe UTCTime)
+ Amazonka.S3.PutObject: putObject_grantFullControl :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_grantRead :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_grantReadACP :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_grantWriteACP :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_key :: Lens' PutObject ObjectKey
+ Amazonka.S3.PutObject: putObject_metadata :: Lens' PutObject (HashMap Text Text)
+ Amazonka.S3.PutObject: putObject_objectLockLegalHoldStatus :: Lens' PutObject (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.PutObject: putObject_objectLockMode :: Lens' PutObject (Maybe ObjectLockMode)
+ Amazonka.S3.PutObject: putObject_objectLockRetainUntilDate :: Lens' PutObject (Maybe UTCTime)
+ Amazonka.S3.PutObject: putObject_requestPayer :: Lens' PutObject (Maybe RequestPayer)
+ Amazonka.S3.PutObject: putObject_sSECustomerAlgorithm :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_sSECustomerKey :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_sSECustomerKeyMD5 :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_sSEKMSEncryptionContext :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_sSEKMSKeyId :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_serverSideEncryption :: Lens' PutObject (Maybe ServerSideEncryption)
+ Amazonka.S3.PutObject: putObject_storageClass :: Lens' PutObject (Maybe StorageClass)
+ Amazonka.S3.PutObject: putObject_tagging :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObject: putObject_websiteRedirectLocation :: Lens' PutObject (Maybe Text)
+ Amazonka.S3.PutObjectAcl: PutObjectAcl' :: Maybe ObjectCannedACL -> Maybe AccessControlPolicy -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> PutObjectAcl
+ Amazonka.S3.PutObjectAcl: PutObjectAclResponse' :: Maybe RequestCharged -> Int -> PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: [$sel:accessControlPolicy:PutObjectAcl'] :: PutObjectAcl -> Maybe AccessControlPolicy
+ Amazonka.S3.PutObjectAcl: [$sel:acl:PutObjectAcl'] :: PutObjectAcl -> Maybe ObjectCannedACL
+ Amazonka.S3.PutObjectAcl: [$sel:bucket:PutObjectAcl'] :: PutObjectAcl -> BucketName
+ Amazonka.S3.PutObjectAcl: [$sel:checksumAlgorithm:PutObjectAcl'] :: PutObjectAcl -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutObjectAcl: [$sel:contentMD5:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:expectedBucketOwner:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:grantFullControl:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:grantRead:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:grantReadACP:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:grantWrite:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:grantWriteACP:PutObjectAcl'] :: PutObjectAcl -> Maybe Text
+ Amazonka.S3.PutObjectAcl: [$sel:httpStatus:PutObjectAclResponse'] :: PutObjectAclResponse -> Int
+ Amazonka.S3.PutObjectAcl: [$sel:key:PutObjectAcl'] :: PutObjectAcl -> ObjectKey
+ Amazonka.S3.PutObjectAcl: [$sel:requestCharged:PutObjectAclResponse'] :: PutObjectAclResponse -> Maybe RequestCharged
+ Amazonka.S3.PutObjectAcl: [$sel:requestPayer:PutObjectAcl'] :: PutObjectAcl -> Maybe RequestPayer
+ Amazonka.S3.PutObjectAcl: [$sel:versionId:PutObjectAcl'] :: PutObjectAcl -> Maybe ObjectVersionId
+ Amazonka.S3.PutObjectAcl: data PutObjectAcl
+ Amazonka.S3.PutObjectAcl: data PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance Amazonka.Types.AWSRequest Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectAcl.PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: instance Data.Hashable.Class.Hashable Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance GHC.Classes.Eq Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance GHC.Classes.Eq Amazonka.S3.PutObjectAcl.PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: instance GHC.Generics.Generic Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance GHC.Generics.Generic Amazonka.S3.PutObjectAcl.PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: instance GHC.Read.Read Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance GHC.Read.Read Amazonka.S3.PutObjectAcl.PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: instance GHC.Show.Show Amazonka.S3.PutObjectAcl.PutObjectAcl
+ Amazonka.S3.PutObjectAcl: instance GHC.Show.Show Amazonka.S3.PutObjectAcl.PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: newPutObjectAcl :: BucketName -> ObjectKey -> PutObjectAcl
+ Amazonka.S3.PutObjectAcl: newPutObjectAclResponse :: Int -> PutObjectAclResponse
+ Amazonka.S3.PutObjectAcl: putObjectAclResponse_httpStatus :: Lens' PutObjectAclResponse Int
+ Amazonka.S3.PutObjectAcl: putObjectAclResponse_requestCharged :: Lens' PutObjectAclResponse (Maybe RequestCharged)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_accessControlPolicy :: Lens' PutObjectAcl (Maybe AccessControlPolicy)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_acl :: Lens' PutObjectAcl (Maybe ObjectCannedACL)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_bucket :: Lens' PutObjectAcl BucketName
+ Amazonka.S3.PutObjectAcl: putObjectAcl_checksumAlgorithm :: Lens' PutObjectAcl (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_contentMD5 :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_expectedBucketOwner :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_grantFullControl :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_grantRead :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_grantReadACP :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_grantWrite :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_grantWriteACP :: Lens' PutObjectAcl (Maybe Text)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_key :: Lens' PutObjectAcl ObjectKey
+ Amazonka.S3.PutObjectAcl: putObjectAcl_requestPayer :: Lens' PutObjectAcl (Maybe RequestPayer)
+ Amazonka.S3.PutObjectAcl: putObjectAcl_versionId :: Lens' PutObjectAcl (Maybe ObjectVersionId)
+ Amazonka.S3.PutObjectLegalHold: PutObjectLegalHold' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe ObjectLockLegalHold -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: PutObjectLegalHoldResponse' :: Maybe RequestCharged -> Int -> PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: [$sel:bucket:PutObjectLegalHold'] :: PutObjectLegalHold -> BucketName
+ Amazonka.S3.PutObjectLegalHold: [$sel:checksumAlgorithm:PutObjectLegalHold'] :: PutObjectLegalHold -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutObjectLegalHold: [$sel:contentMD5:PutObjectLegalHold'] :: PutObjectLegalHold -> Maybe Text
+ Amazonka.S3.PutObjectLegalHold: [$sel:expectedBucketOwner:PutObjectLegalHold'] :: PutObjectLegalHold -> Maybe Text
+ Amazonka.S3.PutObjectLegalHold: [$sel:httpStatus:PutObjectLegalHoldResponse'] :: PutObjectLegalHoldResponse -> Int
+ Amazonka.S3.PutObjectLegalHold: [$sel:key:PutObjectLegalHold'] :: PutObjectLegalHold -> ObjectKey
+ Amazonka.S3.PutObjectLegalHold: [$sel:legalHold:PutObjectLegalHold'] :: PutObjectLegalHold -> Maybe ObjectLockLegalHold
+ Amazonka.S3.PutObjectLegalHold: [$sel:requestCharged:PutObjectLegalHoldResponse'] :: PutObjectLegalHoldResponse -> Maybe RequestCharged
+ Amazonka.S3.PutObjectLegalHold: [$sel:requestPayer:PutObjectLegalHold'] :: PutObjectLegalHold -> Maybe RequestPayer
+ Amazonka.S3.PutObjectLegalHold: [$sel:versionId:PutObjectLegalHold'] :: PutObjectLegalHold -> Maybe ObjectVersionId
+ Amazonka.S3.PutObjectLegalHold: data PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: data PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance Amazonka.Types.AWSRequest Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectLegalHold.PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: instance Data.Hashable.Class.Hashable Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Classes.Eq Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Classes.Eq Amazonka.S3.PutObjectLegalHold.PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Generics.Generic Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Generics.Generic Amazonka.S3.PutObjectLegalHold.PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Read.Read Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Read.Read Amazonka.S3.PutObjectLegalHold.PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Show.Show Amazonka.S3.PutObjectLegalHold.PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: instance GHC.Show.Show Amazonka.S3.PutObjectLegalHold.PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: newPutObjectLegalHold :: BucketName -> ObjectKey -> PutObjectLegalHold
+ Amazonka.S3.PutObjectLegalHold: newPutObjectLegalHoldResponse :: Int -> PutObjectLegalHoldResponse
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHoldResponse_httpStatus :: Lens' PutObjectLegalHoldResponse Int
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHoldResponse_requestCharged :: Lens' PutObjectLegalHoldResponse (Maybe RequestCharged)
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_bucket :: Lens' PutObjectLegalHold BucketName
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_checksumAlgorithm :: Lens' PutObjectLegalHold (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_contentMD5 :: Lens' PutObjectLegalHold (Maybe Text)
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_expectedBucketOwner :: Lens' PutObjectLegalHold (Maybe Text)
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_key :: Lens' PutObjectLegalHold ObjectKey
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_legalHold :: Lens' PutObjectLegalHold (Maybe ObjectLockLegalHold)
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_requestPayer :: Lens' PutObjectLegalHold (Maybe RequestPayer)
+ Amazonka.S3.PutObjectLegalHold: putObjectLegalHold_versionId :: Lens' PutObjectLegalHold (Maybe ObjectVersionId)
+ Amazonka.S3.PutObjectLockConfiguration: PutObjectLockConfiguration' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe ObjectLockConfiguration -> Maybe RequestPayer -> Maybe Text -> BucketName -> PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: PutObjectLockConfigurationResponse' :: Maybe RequestCharged -> Int -> PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:bucket:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> BucketName
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:checksumAlgorithm:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:contentMD5:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> Maybe Text
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:expectedBucketOwner:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> Maybe Text
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:httpStatus:PutObjectLockConfigurationResponse'] :: PutObjectLockConfigurationResponse -> Int
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:objectLockConfiguration:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> Maybe ObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:requestCharged:PutObjectLockConfigurationResponse'] :: PutObjectLockConfigurationResponse -> Maybe RequestCharged
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:requestPayer:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> Maybe RequestPayer
+ Amazonka.S3.PutObjectLockConfiguration: [$sel:token:PutObjectLockConfiguration'] :: PutObjectLockConfiguration -> Maybe Text
+ Amazonka.S3.PutObjectLockConfiguration: data PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: data PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance Amazonka.Types.AWSRequest Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Classes.Eq Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Generics.Generic Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Read.Read Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Read.Read Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Show.Show Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: instance GHC.Show.Show Amazonka.S3.PutObjectLockConfiguration.PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: newPutObjectLockConfiguration :: BucketName -> PutObjectLockConfiguration
+ Amazonka.S3.PutObjectLockConfiguration: newPutObjectLockConfigurationResponse :: Int -> PutObjectLockConfigurationResponse
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfigurationResponse_httpStatus :: Lens' PutObjectLockConfigurationResponse Int
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfigurationResponse_requestCharged :: Lens' PutObjectLockConfigurationResponse (Maybe RequestCharged)
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_bucket :: Lens' PutObjectLockConfiguration BucketName
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_checksumAlgorithm :: Lens' PutObjectLockConfiguration (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_contentMD5 :: Lens' PutObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_expectedBucketOwner :: Lens' PutObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_objectLockConfiguration :: Lens' PutObjectLockConfiguration (Maybe ObjectLockConfiguration)
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_requestPayer :: Lens' PutObjectLockConfiguration (Maybe RequestPayer)
+ Amazonka.S3.PutObjectLockConfiguration: putObjectLockConfiguration_token :: Lens' PutObjectLockConfiguration (Maybe Text)
+ Amazonka.S3.PutObjectRetention: PutObjectRetention' :: Maybe Bool -> Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectLockRetention -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> PutObjectRetention
+ Amazonka.S3.PutObjectRetention: PutObjectRetentionResponse' :: Maybe RequestCharged -> Int -> PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: [$sel:bucket:PutObjectRetention'] :: PutObjectRetention -> BucketName
+ Amazonka.S3.PutObjectRetention: [$sel:bypassGovernanceRetention:PutObjectRetention'] :: PutObjectRetention -> Maybe Bool
+ Amazonka.S3.PutObjectRetention: [$sel:checksumAlgorithm:PutObjectRetention'] :: PutObjectRetention -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutObjectRetention: [$sel:contentMD5:PutObjectRetention'] :: PutObjectRetention -> Maybe Text
+ Amazonka.S3.PutObjectRetention: [$sel:expectedBucketOwner:PutObjectRetention'] :: PutObjectRetention -> Maybe Text
+ Amazonka.S3.PutObjectRetention: [$sel:httpStatus:PutObjectRetentionResponse'] :: PutObjectRetentionResponse -> Int
+ Amazonka.S3.PutObjectRetention: [$sel:key:PutObjectRetention'] :: PutObjectRetention -> ObjectKey
+ Amazonka.S3.PutObjectRetention: [$sel:requestCharged:PutObjectRetentionResponse'] :: PutObjectRetentionResponse -> Maybe RequestCharged
+ Amazonka.S3.PutObjectRetention: [$sel:requestPayer:PutObjectRetention'] :: PutObjectRetention -> Maybe RequestPayer
+ Amazonka.S3.PutObjectRetention: [$sel:retention:PutObjectRetention'] :: PutObjectRetention -> Maybe ObjectLockRetention
+ Amazonka.S3.PutObjectRetention: [$sel:versionId:PutObjectRetention'] :: PutObjectRetention -> Maybe ObjectVersionId
+ Amazonka.S3.PutObjectRetention: data PutObjectRetention
+ Amazonka.S3.PutObjectRetention: data PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance Amazonka.Types.AWSRequest Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectRetention.PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: instance Data.Hashable.Class.Hashable Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance GHC.Classes.Eq Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance GHC.Classes.Eq Amazonka.S3.PutObjectRetention.PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: instance GHC.Generics.Generic Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance GHC.Generics.Generic Amazonka.S3.PutObjectRetention.PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: instance GHC.Read.Read Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance GHC.Read.Read Amazonka.S3.PutObjectRetention.PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: instance GHC.Show.Show Amazonka.S3.PutObjectRetention.PutObjectRetention
+ Amazonka.S3.PutObjectRetention: instance GHC.Show.Show Amazonka.S3.PutObjectRetention.PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: newPutObjectRetention :: BucketName -> ObjectKey -> PutObjectRetention
+ Amazonka.S3.PutObjectRetention: newPutObjectRetentionResponse :: Int -> PutObjectRetentionResponse
+ Amazonka.S3.PutObjectRetention: putObjectRetentionResponse_httpStatus :: Lens' PutObjectRetentionResponse Int
+ Amazonka.S3.PutObjectRetention: putObjectRetentionResponse_requestCharged :: Lens' PutObjectRetentionResponse (Maybe RequestCharged)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_bucket :: Lens' PutObjectRetention BucketName
+ Amazonka.S3.PutObjectRetention: putObjectRetention_bypassGovernanceRetention :: Lens' PutObjectRetention (Maybe Bool)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_checksumAlgorithm :: Lens' PutObjectRetention (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_contentMD5 :: Lens' PutObjectRetention (Maybe Text)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_expectedBucketOwner :: Lens' PutObjectRetention (Maybe Text)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_key :: Lens' PutObjectRetention ObjectKey
+ Amazonka.S3.PutObjectRetention: putObjectRetention_requestPayer :: Lens' PutObjectRetention (Maybe RequestPayer)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_retention :: Lens' PutObjectRetention (Maybe ObjectLockRetention)
+ Amazonka.S3.PutObjectRetention: putObjectRetention_versionId :: Lens' PutObjectRetention (Maybe ObjectVersionId)
+ Amazonka.S3.PutObjectTagging: PutObjectTagging' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> Tagging -> PutObjectTagging
+ Amazonka.S3.PutObjectTagging: PutObjectTaggingResponse' :: Maybe ObjectVersionId -> Int -> PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: [$sel:bucket:PutObjectTagging'] :: PutObjectTagging -> BucketName
+ Amazonka.S3.PutObjectTagging: [$sel:checksumAlgorithm:PutObjectTagging'] :: PutObjectTagging -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutObjectTagging: [$sel:contentMD5:PutObjectTagging'] :: PutObjectTagging -> Maybe Text
+ Amazonka.S3.PutObjectTagging: [$sel:expectedBucketOwner:PutObjectTagging'] :: PutObjectTagging -> Maybe Text
+ Amazonka.S3.PutObjectTagging: [$sel:httpStatus:PutObjectTaggingResponse'] :: PutObjectTaggingResponse -> Int
+ Amazonka.S3.PutObjectTagging: [$sel:key:PutObjectTagging'] :: PutObjectTagging -> ObjectKey
+ Amazonka.S3.PutObjectTagging: [$sel:requestPayer:PutObjectTagging'] :: PutObjectTagging -> Maybe RequestPayer
+ Amazonka.S3.PutObjectTagging: [$sel:tagging:PutObjectTagging'] :: PutObjectTagging -> Tagging
+ Amazonka.S3.PutObjectTagging: [$sel:versionId:PutObjectTagging'] :: PutObjectTagging -> Maybe ObjectVersionId
+ Amazonka.S3.PutObjectTagging: [$sel:versionId:PutObjectTaggingResponse'] :: PutObjectTaggingResponse -> Maybe ObjectVersionId
+ Amazonka.S3.PutObjectTagging: data PutObjectTagging
+ Amazonka.S3.PutObjectTagging: data PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance Amazonka.Types.AWSRequest Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance Control.DeepSeq.NFData Amazonka.S3.PutObjectTagging.PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: instance Data.Hashable.Class.Hashable Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance GHC.Classes.Eq Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance GHC.Classes.Eq Amazonka.S3.PutObjectTagging.PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: instance GHC.Generics.Generic Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance GHC.Generics.Generic Amazonka.S3.PutObjectTagging.PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: instance GHC.Read.Read Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance GHC.Read.Read Amazonka.S3.PutObjectTagging.PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: instance GHC.Show.Show Amazonka.S3.PutObjectTagging.PutObjectTagging
+ Amazonka.S3.PutObjectTagging: instance GHC.Show.Show Amazonka.S3.PutObjectTagging.PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: newPutObjectTagging :: BucketName -> ObjectKey -> Tagging -> PutObjectTagging
+ Amazonka.S3.PutObjectTagging: newPutObjectTaggingResponse :: Int -> PutObjectTaggingResponse
+ Amazonka.S3.PutObjectTagging: putObjectTaggingResponse_httpStatus :: Lens' PutObjectTaggingResponse Int
+ Amazonka.S3.PutObjectTagging: putObjectTaggingResponse_versionId :: Lens' PutObjectTaggingResponse (Maybe ObjectVersionId)
+ Amazonka.S3.PutObjectTagging: putObjectTagging_bucket :: Lens' PutObjectTagging BucketName
+ Amazonka.S3.PutObjectTagging: putObjectTagging_checksumAlgorithm :: Lens' PutObjectTagging (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutObjectTagging: putObjectTagging_contentMD5 :: Lens' PutObjectTagging (Maybe Text)
+ Amazonka.S3.PutObjectTagging: putObjectTagging_expectedBucketOwner :: Lens' PutObjectTagging (Maybe Text)
+ Amazonka.S3.PutObjectTagging: putObjectTagging_key :: Lens' PutObjectTagging ObjectKey
+ Amazonka.S3.PutObjectTagging: putObjectTagging_requestPayer :: Lens' PutObjectTagging (Maybe RequestPayer)
+ Amazonka.S3.PutObjectTagging: putObjectTagging_tagging :: Lens' PutObjectTagging Tagging
+ Amazonka.S3.PutObjectTagging: putObjectTagging_versionId :: Lens' PutObjectTagging (Maybe ObjectVersionId)
+ Amazonka.S3.PutPublicAccessBlock: PutPublicAccessBlock' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> BucketName -> PublicAccessBlockConfiguration -> PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: PutPublicAccessBlockResponse' :: PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: [$sel:bucket:PutPublicAccessBlock'] :: PutPublicAccessBlock -> BucketName
+ Amazonka.S3.PutPublicAccessBlock: [$sel:checksumAlgorithm:PutPublicAccessBlock'] :: PutPublicAccessBlock -> Maybe ChecksumAlgorithm
+ Amazonka.S3.PutPublicAccessBlock: [$sel:contentMD5:PutPublicAccessBlock'] :: PutPublicAccessBlock -> Maybe Text
+ Amazonka.S3.PutPublicAccessBlock: [$sel:expectedBucketOwner:PutPublicAccessBlock'] :: PutPublicAccessBlock -> Maybe Text
+ Amazonka.S3.PutPublicAccessBlock: [$sel:publicAccessBlockConfiguration:PutPublicAccessBlock'] :: PutPublicAccessBlock -> PublicAccessBlockConfiguration
+ Amazonka.S3.PutPublicAccessBlock: data PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: data PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance Amazonka.Data.Path.ToPath Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance Amazonka.Data.Query.ToQuery Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance Amazonka.Data.XML.ToElement Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance Amazonka.Types.AWSRequest Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance Control.DeepSeq.NFData Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance Control.DeepSeq.NFData Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: instance Data.Hashable.Class.Hashable Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Classes.Eq Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Classes.Eq Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Generics.Generic Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Generics.Generic Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Read.Read Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Read.Read Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Show.Show Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: instance GHC.Show.Show Amazonka.S3.PutPublicAccessBlock.PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: newPutPublicAccessBlock :: BucketName -> PublicAccessBlockConfiguration -> PutPublicAccessBlock
+ Amazonka.S3.PutPublicAccessBlock: newPutPublicAccessBlockResponse :: PutPublicAccessBlockResponse
+ Amazonka.S3.PutPublicAccessBlock: putPublicAccessBlock_bucket :: Lens' PutPublicAccessBlock BucketName
+ Amazonka.S3.PutPublicAccessBlock: putPublicAccessBlock_checksumAlgorithm :: Lens' PutPublicAccessBlock (Maybe ChecksumAlgorithm)
+ Amazonka.S3.PutPublicAccessBlock: putPublicAccessBlock_contentMD5 :: Lens' PutPublicAccessBlock (Maybe Text)
+ Amazonka.S3.PutPublicAccessBlock: putPublicAccessBlock_expectedBucketOwner :: Lens' PutPublicAccessBlock (Maybe Text)
+ Amazonka.S3.PutPublicAccessBlock: putPublicAccessBlock_publicAccessBlockConfiguration :: Lens' PutPublicAccessBlock PublicAccessBlockConfiguration
+ Amazonka.S3.RestoreObject: RestoreObject' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe RequestPayer -> Maybe RestoreRequest -> Maybe ObjectVersionId -> BucketName -> ObjectKey -> RestoreObject
+ Amazonka.S3.RestoreObject: RestoreObjectResponse' :: Maybe RequestCharged -> Maybe Text -> Int -> RestoreObjectResponse
+ Amazonka.S3.RestoreObject: [$sel:bucket:RestoreObject'] :: RestoreObject -> BucketName
+ Amazonka.S3.RestoreObject: [$sel:checksumAlgorithm:RestoreObject'] :: RestoreObject -> Maybe ChecksumAlgorithm
+ Amazonka.S3.RestoreObject: [$sel:expectedBucketOwner:RestoreObject'] :: RestoreObject -> Maybe Text
+ Amazonka.S3.RestoreObject: [$sel:httpStatus:RestoreObjectResponse'] :: RestoreObjectResponse -> Int
+ Amazonka.S3.RestoreObject: [$sel:key:RestoreObject'] :: RestoreObject -> ObjectKey
+ Amazonka.S3.RestoreObject: [$sel:requestCharged:RestoreObjectResponse'] :: RestoreObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.RestoreObject: [$sel:requestPayer:RestoreObject'] :: RestoreObject -> Maybe RequestPayer
+ Amazonka.S3.RestoreObject: [$sel:restoreOutputPath:RestoreObjectResponse'] :: RestoreObjectResponse -> Maybe Text
+ Amazonka.S3.RestoreObject: [$sel:restoreRequest:RestoreObject'] :: RestoreObject -> Maybe RestoreRequest
+ Amazonka.S3.RestoreObject: [$sel:versionId:RestoreObject'] :: RestoreObject -> Maybe ObjectVersionId
+ Amazonka.S3.RestoreObject: data RestoreObject
+ Amazonka.S3.RestoreObject: data RestoreObjectResponse
+ Amazonka.S3.RestoreObject: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance Amazonka.Data.Path.ToPath Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance Amazonka.Data.Query.ToQuery Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance Amazonka.Data.XML.ToElement Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance Amazonka.Types.AWSRequest Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance Control.DeepSeq.NFData Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance Control.DeepSeq.NFData Amazonka.S3.RestoreObject.RestoreObjectResponse
+ Amazonka.S3.RestoreObject: instance Data.Hashable.Class.Hashable Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance GHC.Classes.Eq Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance GHC.Classes.Eq Amazonka.S3.RestoreObject.RestoreObjectResponse
+ Amazonka.S3.RestoreObject: instance GHC.Generics.Generic Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance GHC.Generics.Generic Amazonka.S3.RestoreObject.RestoreObjectResponse
+ Amazonka.S3.RestoreObject: instance GHC.Read.Read Amazonka.S3.RestoreObject.RestoreObjectResponse
+ Amazonka.S3.RestoreObject: instance GHC.Show.Show Amazonka.S3.RestoreObject.RestoreObject
+ Amazonka.S3.RestoreObject: instance GHC.Show.Show Amazonka.S3.RestoreObject.RestoreObjectResponse
+ Amazonka.S3.RestoreObject: newRestoreObject :: BucketName -> ObjectKey -> RestoreObject
+ Amazonka.S3.RestoreObject: newRestoreObjectResponse :: Int -> RestoreObjectResponse
+ Amazonka.S3.RestoreObject: restoreObjectResponse_httpStatus :: Lens' RestoreObjectResponse Int
+ Amazonka.S3.RestoreObject: restoreObjectResponse_requestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.RestoreObject: restoreObjectResponse_restoreOutputPath :: Lens' RestoreObjectResponse (Maybe Text)
+ Amazonka.S3.RestoreObject: restoreObject_bucket :: Lens' RestoreObject BucketName
+ Amazonka.S3.RestoreObject: restoreObject_checksumAlgorithm :: Lens' RestoreObject (Maybe ChecksumAlgorithm)
+ Amazonka.S3.RestoreObject: restoreObject_expectedBucketOwner :: Lens' RestoreObject (Maybe Text)
+ Amazonka.S3.RestoreObject: restoreObject_key :: Lens' RestoreObject ObjectKey
+ Amazonka.S3.RestoreObject: restoreObject_requestPayer :: Lens' RestoreObject (Maybe RequestPayer)
+ Amazonka.S3.RestoreObject: restoreObject_restoreRequest :: Lens' RestoreObject (Maybe RestoreRequest)
+ Amazonka.S3.RestoreObject: restoreObject_versionId :: Lens' RestoreObject (Maybe ObjectVersionId)
+ Amazonka.S3.SelectObjectContent: SelectObjectContent' :: Maybe Text -> Maybe RequestProgress -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe ScanRange -> BucketName -> ObjectKey -> Text -> ExpressionType -> InputSerialization -> OutputSerialization -> SelectObjectContent
+ Amazonka.S3.SelectObjectContent: SelectObjectContentResponse' :: Maybe SelectObjectContentEventStream -> Int -> SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: [$sel:bucket:SelectObjectContent'] :: SelectObjectContent -> BucketName
+ Amazonka.S3.SelectObjectContent: [$sel:expectedBucketOwner:SelectObjectContent'] :: SelectObjectContent -> Maybe Text
+ Amazonka.S3.SelectObjectContent: [$sel:expression:SelectObjectContent'] :: SelectObjectContent -> Text
+ Amazonka.S3.SelectObjectContent: [$sel:expressionType:SelectObjectContent'] :: SelectObjectContent -> ExpressionType
+ Amazonka.S3.SelectObjectContent: [$sel:httpStatus:SelectObjectContentResponse'] :: SelectObjectContentResponse -> Int
+ Amazonka.S3.SelectObjectContent: [$sel:inputSerialization:SelectObjectContent'] :: SelectObjectContent -> InputSerialization
+ Amazonka.S3.SelectObjectContent: [$sel:key:SelectObjectContent'] :: SelectObjectContent -> ObjectKey
+ Amazonka.S3.SelectObjectContent: [$sel:outputSerialization:SelectObjectContent'] :: SelectObjectContent -> OutputSerialization
+ Amazonka.S3.SelectObjectContent: [$sel:payload:SelectObjectContentResponse'] :: SelectObjectContentResponse -> Maybe SelectObjectContentEventStream
+ Amazonka.S3.SelectObjectContent: [$sel:requestProgress:SelectObjectContent'] :: SelectObjectContent -> Maybe RequestProgress
+ Amazonka.S3.SelectObjectContent: [$sel:sSECustomerAlgorithm:SelectObjectContent'] :: SelectObjectContent -> Maybe Text
+ Amazonka.S3.SelectObjectContent: [$sel:sSECustomerKey:SelectObjectContent'] :: SelectObjectContent -> Maybe (Sensitive Text)
+ Amazonka.S3.SelectObjectContent: [$sel:sSECustomerKeyMD5:SelectObjectContent'] :: SelectObjectContent -> Maybe Text
+ Amazonka.S3.SelectObjectContent: [$sel:scanRange:SelectObjectContent'] :: SelectObjectContent -> Maybe ScanRange
+ Amazonka.S3.SelectObjectContent: data SelectObjectContent
+ Amazonka.S3.SelectObjectContent: data SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Amazonka.Data.Path.ToPath Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Amazonka.Data.Query.ToQuery Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Amazonka.Data.XML.ToElement Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Amazonka.Data.XML.ToXML Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Amazonka.Types.AWSRequest Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Control.DeepSeq.NFData Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance Control.DeepSeq.NFData Amazonka.S3.SelectObjectContent.SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: instance Data.Hashable.Class.Hashable Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance GHC.Classes.Eq Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance GHC.Classes.Eq Amazonka.S3.SelectObjectContent.SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: instance GHC.Generics.Generic Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance GHC.Generics.Generic Amazonka.S3.SelectObjectContent.SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: instance GHC.Read.Read Amazonka.S3.SelectObjectContent.SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: instance GHC.Show.Show Amazonka.S3.SelectObjectContent.SelectObjectContent
+ Amazonka.S3.SelectObjectContent: instance GHC.Show.Show Amazonka.S3.SelectObjectContent.SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: newSelectObjectContent :: BucketName -> ObjectKey -> Text -> ExpressionType -> InputSerialization -> OutputSerialization -> SelectObjectContent
+ Amazonka.S3.SelectObjectContent: newSelectObjectContentResponse :: Int -> SelectObjectContentResponse
+ Amazonka.S3.SelectObjectContent: selectObjectContentResponse_httpStatus :: Lens' SelectObjectContentResponse Int
+ Amazonka.S3.SelectObjectContent: selectObjectContentResponse_payload :: Lens' SelectObjectContentResponse (Maybe SelectObjectContentEventStream)
+ Amazonka.S3.SelectObjectContent: selectObjectContent_bucket :: Lens' SelectObjectContent BucketName
+ Amazonka.S3.SelectObjectContent: selectObjectContent_expectedBucketOwner :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.SelectObjectContent: selectObjectContent_expression :: Lens' SelectObjectContent Text
+ Amazonka.S3.SelectObjectContent: selectObjectContent_expressionType :: Lens' SelectObjectContent ExpressionType
+ Amazonka.S3.SelectObjectContent: selectObjectContent_inputSerialization :: Lens' SelectObjectContent InputSerialization
+ Amazonka.S3.SelectObjectContent: selectObjectContent_key :: Lens' SelectObjectContent ObjectKey
+ Amazonka.S3.SelectObjectContent: selectObjectContent_outputSerialization :: Lens' SelectObjectContent OutputSerialization
+ Amazonka.S3.SelectObjectContent: selectObjectContent_requestProgress :: Lens' SelectObjectContent (Maybe RequestProgress)
+ Amazonka.S3.SelectObjectContent: selectObjectContent_sSECustomerAlgorithm :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.SelectObjectContent: selectObjectContent_sSECustomerKey :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.SelectObjectContent: selectObjectContent_sSECustomerKeyMD5 :: Lens' SelectObjectContent (Maybe Text)
+ Amazonka.S3.SelectObjectContent: selectObjectContent_scanRange :: Lens' SelectObjectContent (Maybe ScanRange)
+ Amazonka.S3.Types: AbortIncompleteMultipartUpload' :: Maybe Int -> AbortIncompleteMultipartUpload
+ Amazonka.S3.Types: AccelerateConfiguration' :: Maybe BucketAccelerateStatus -> AccelerateConfiguration
+ Amazonka.S3.Types: AccessControlPolicy' :: Maybe [Grant] -> Maybe Owner -> AccessControlPolicy
+ Amazonka.S3.Types: AccessControlTranslation' :: OwnerOverride -> AccessControlTranslation
+ Amazonka.S3.Types: AnalyticsAndOperator' :: Maybe Text -> Maybe [Tag] -> AnalyticsAndOperator
+ Amazonka.S3.Types: AnalyticsConfiguration' :: Maybe AnalyticsFilter -> Text -> StorageClassAnalysis -> AnalyticsConfiguration
+ Amazonka.S3.Types: AnalyticsExportDestination' :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
+ Amazonka.S3.Types: AnalyticsFilter' :: Maybe AnalyticsAndOperator -> Maybe Text -> Maybe Tag -> AnalyticsFilter
+ Amazonka.S3.Types: AnalyticsS3BucketDestination' :: Maybe Text -> Maybe Text -> AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
+ Amazonka.S3.Types: AnalyticsS3ExportFileFormat' :: Text -> AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types: ArchiveStatus' :: Text -> ArchiveStatus
+ Amazonka.S3.Types: Bucket' :: ISO8601 -> BucketName -> Bucket
+ Amazonka.S3.Types: BucketAccelerateStatus' :: Text -> BucketAccelerateStatus
+ Amazonka.S3.Types: BucketCannedACL' :: Text -> BucketCannedACL
+ Amazonka.S3.Types: BucketLifecycleConfiguration' :: [LifecycleRule] -> BucketLifecycleConfiguration
+ Amazonka.S3.Types: BucketLoggingStatus' :: Maybe LoggingEnabled -> BucketLoggingStatus
+ Amazonka.S3.Types: BucketLogsPermission' :: Text -> BucketLogsPermission
+ Amazonka.S3.Types: BucketVersioningStatus' :: Text -> BucketVersioningStatus
+ Amazonka.S3.Types: CORSConfiguration' :: [CORSRule] -> CORSConfiguration
+ Amazonka.S3.Types: CORSRule' :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Int -> [Text] -> [Text] -> CORSRule
+ Amazonka.S3.Types: CSVInput' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe FileHeaderInfo -> Maybe Text -> Maybe Text -> Maybe Text -> CSVInput
+ Amazonka.S3.Types: CSVOutput' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe QuoteFields -> Maybe Text -> CSVOutput
+ Amazonka.S3.Types: Checksum' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Checksum
+ Amazonka.S3.Types: ChecksumAlgorithm' :: Text -> ChecksumAlgorithm
+ Amazonka.S3.Types: ChecksumMode' :: Text -> ChecksumMode
+ Amazonka.S3.Types: CommonPrefix' :: Maybe Text -> CommonPrefix
+ Amazonka.S3.Types: CompletedMultipartUpload' :: Maybe (NonEmpty CompletedPart) -> CompletedMultipartUpload
+ Amazonka.S3.Types: CompletedPart' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ETag -> CompletedPart
+ Amazonka.S3.Types: CompressionType' :: Text -> CompressionType
+ Amazonka.S3.Types: Condition' :: Maybe Text -> Maybe Text -> Condition
+ Amazonka.S3.Types: ContinuationEvent' :: ContinuationEvent
+ Amazonka.S3.Types: CopyObjectResult' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> CopyObjectResult
+ Amazonka.S3.Types: CopyPartResult' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> CopyPartResult
+ Amazonka.S3.Types: CreateBucketConfiguration' :: Maybe LocationConstraint -> CreateBucketConfiguration
+ Amazonka.S3.Types: DefaultRetention' :: Maybe Int -> Maybe ObjectLockRetentionMode -> Maybe Int -> DefaultRetention
+ Amazonka.S3.Types: Delete' :: Maybe Bool -> [ObjectIdentifier] -> Delete
+ Amazonka.S3.Types: DeleteMarkerEntry' :: Maybe Bool -> Maybe ObjectKey -> Maybe RFC822 -> Maybe Owner -> Maybe ObjectVersionId -> DeleteMarkerEntry
+ Amazonka.S3.Types: DeleteMarkerReplication' :: Maybe DeleteMarkerReplicationStatus -> DeleteMarkerReplication
+ Amazonka.S3.Types: DeleteMarkerReplicationStatus' :: Text -> DeleteMarkerReplicationStatus
+ Amazonka.S3.Types: DeletedObject' :: Maybe Bool -> Maybe Text -> Maybe ObjectKey -> Maybe ObjectVersionId -> DeletedObject
+ Amazonka.S3.Types: Destination' :: Maybe AccessControlTranslation -> Maybe Text -> Maybe EncryptionConfiguration -> Maybe Metrics -> Maybe ReplicationTime -> Maybe StorageClass -> BucketName -> Destination
+ Amazonka.S3.Types: EncodingType' :: Text -> EncodingType
+ Amazonka.S3.Types: Encryption' :: Maybe Text -> Maybe (Sensitive Text) -> ServerSideEncryption -> Encryption
+ Amazonka.S3.Types: EncryptionConfiguration' :: Maybe Text -> EncryptionConfiguration
+ Amazonka.S3.Types: EndEvent' :: EndEvent
+ Amazonka.S3.Types: ErrorDocument' :: ObjectKey -> ErrorDocument
+ Amazonka.S3.Types: Event' :: Text -> Event
+ Amazonka.S3.Types: EventBridgeConfiguration' :: EventBridgeConfiguration
+ Amazonka.S3.Types: ExistingObjectReplication' :: ExistingObjectReplicationStatus -> ExistingObjectReplication
+ Amazonka.S3.Types: ExistingObjectReplicationStatus' :: Text -> ExistingObjectReplicationStatus
+ Amazonka.S3.Types: ExpirationStatus' :: Text -> ExpirationStatus
+ Amazonka.S3.Types: ExpressionType' :: Text -> ExpressionType
+ Amazonka.S3.Types: FileHeaderInfo' :: Text -> FileHeaderInfo
+ Amazonka.S3.Types: FilterRule' :: Maybe FilterRuleName -> Maybe Text -> FilterRule
+ Amazonka.S3.Types: FilterRuleName' :: Text -> FilterRuleName
+ Amazonka.S3.Types: GetObjectAttributesParts' :: Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe [ObjectPart] -> Maybe Int -> GetObjectAttributesParts
+ Amazonka.S3.Types: GlacierJobParameters' :: Tier -> GlacierJobParameters
+ Amazonka.S3.Types: Grant' :: Maybe Grantee -> Maybe Permission -> Grant
+ Amazonka.S3.Types: Grantee' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Type -> Grantee
+ Amazonka.S3.Types: IndexDocument' :: Text -> IndexDocument
+ Amazonka.S3.Types: Initiator' :: Maybe Text -> Maybe Text -> Initiator
+ Amazonka.S3.Types: InputSerialization' :: Maybe CSVInput -> Maybe CompressionType -> Maybe JSONInput -> Maybe ParquetInput -> InputSerialization
+ Amazonka.S3.Types: IntelligentTieringAccessTier' :: Text -> IntelligentTieringAccessTier
+ Amazonka.S3.Types: IntelligentTieringAndOperator' :: Maybe Text -> Maybe [Tag] -> IntelligentTieringAndOperator
+ Amazonka.S3.Types: IntelligentTieringConfiguration' :: Maybe IntelligentTieringFilter -> Text -> IntelligentTieringStatus -> [Tiering] -> IntelligentTieringConfiguration
+ Amazonka.S3.Types: IntelligentTieringFilter' :: Maybe IntelligentTieringAndOperator -> Maybe Text -> Maybe Tag -> IntelligentTieringFilter
+ Amazonka.S3.Types: IntelligentTieringStatus' :: Text -> IntelligentTieringStatus
+ Amazonka.S3.Types: InventoryConfiguration' :: Maybe InventoryFilter -> Maybe [InventoryOptionalField] -> InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
+ Amazonka.S3.Types: InventoryDestination' :: InventoryS3BucketDestination -> InventoryDestination
+ Amazonka.S3.Types: InventoryEncryption' :: Maybe SSEKMS -> Maybe SSES3 -> InventoryEncryption
+ Amazonka.S3.Types: InventoryFilter' :: Text -> InventoryFilter
+ Amazonka.S3.Types: InventoryFormat' :: Text -> InventoryFormat
+ Amazonka.S3.Types: InventoryFrequency' :: Text -> InventoryFrequency
+ Amazonka.S3.Types: InventoryIncludedObjectVersions' :: Text -> InventoryIncludedObjectVersions
+ Amazonka.S3.Types: InventoryOptionalField' :: Text -> InventoryOptionalField
+ Amazonka.S3.Types: InventoryS3BucketDestination' :: Maybe Text -> Maybe InventoryEncryption -> Maybe Text -> BucketName -> InventoryFormat -> InventoryS3BucketDestination
+ Amazonka.S3.Types: InventorySchedule' :: InventoryFrequency -> InventorySchedule
+ Amazonka.S3.Types: JSONInput' :: Maybe JSONType -> JSONInput
+ Amazonka.S3.Types: JSONOutput' :: Maybe Text -> JSONOutput
+ Amazonka.S3.Types: JSONType' :: Text -> JSONType
+ Amazonka.S3.Types: LambdaFunctionConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> LambdaFunctionConfiguration
+ Amazonka.S3.Types: LifecycleExpiration' :: Maybe ISO8601 -> Maybe Int -> Maybe Bool -> LifecycleExpiration
+ Amazonka.S3.Types: LifecycleRule' :: Maybe AbortIncompleteMultipartUpload -> Maybe LifecycleExpiration -> Maybe LifecycleRuleFilter -> Maybe Text -> Maybe NoncurrentVersionExpiration -> Maybe [NoncurrentVersionTransition] -> Maybe Text -> Maybe [Transition] -> ExpirationStatus -> LifecycleRule
+ Amazonka.S3.Types: LifecycleRuleAndOperator' :: Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe [Tag] -> LifecycleRuleAndOperator
+ Amazonka.S3.Types: LifecycleRuleFilter' :: Maybe LifecycleRuleAndOperator -> Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe Tag -> LifecycleRuleFilter
+ Amazonka.S3.Types: LoggingEnabled' :: Maybe [TargetGrant] -> Text -> Text -> LoggingEnabled
+ Amazonka.S3.Types: MFADelete' :: Text -> MFADelete
+ Amazonka.S3.Types: MFADeleteStatus' :: Text -> MFADeleteStatus
+ Amazonka.S3.Types: MetadataDirective' :: Text -> MetadataDirective
+ Amazonka.S3.Types: MetadataEntry' :: Maybe Text -> Maybe Text -> MetadataEntry
+ Amazonka.S3.Types: Metrics' :: Maybe ReplicationTimeValue -> MetricsStatus -> Metrics
+ Amazonka.S3.Types: MetricsAndOperator' :: Maybe Text -> Maybe Text -> Maybe [Tag] -> MetricsAndOperator
+ Amazonka.S3.Types: MetricsConfiguration' :: Maybe MetricsFilter -> Text -> MetricsConfiguration
+ Amazonka.S3.Types: MetricsFilter' :: Maybe Text -> Maybe MetricsAndOperator -> Maybe Text -> Maybe Tag -> MetricsFilter
+ Amazonka.S3.Types: MetricsStatus' :: Text -> MetricsStatus
+ Amazonka.S3.Types: MultipartUpload' :: Maybe ChecksumAlgorithm -> Maybe ISO8601 -> Maybe Initiator -> Maybe ObjectKey -> Maybe Owner -> Maybe StorageClass -> Maybe Text -> MultipartUpload
+ Amazonka.S3.Types: NoncurrentVersionExpiration' :: Maybe Int -> Int -> NoncurrentVersionExpiration
+ Amazonka.S3.Types: NoncurrentVersionTransition' :: Maybe Int -> Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Amazonka.S3.Types: NotificationConfiguration' :: Maybe EventBridgeConfiguration -> Maybe [LambdaFunctionConfiguration] -> Maybe [QueueConfiguration] -> Maybe [TopicConfiguration] -> NotificationConfiguration
+ Amazonka.S3.Types: NotificationConfigurationFilter' :: Maybe S3KeyFilter -> NotificationConfigurationFilter
+ Amazonka.S3.Types: Object' :: Maybe [ChecksumAlgorithm] -> Maybe Owner -> ETag -> Integer -> ObjectKey -> ObjectStorageClass -> RFC822 -> Object
+ Amazonka.S3.Types: ObjectAttributes' :: Text -> ObjectAttributes
+ Amazonka.S3.Types: ObjectCannedACL' :: Text -> ObjectCannedACL
+ Amazonka.S3.Types: ObjectIdentifier' :: Maybe ObjectVersionId -> ObjectKey -> ObjectIdentifier
+ Amazonka.S3.Types: ObjectLockConfiguration' :: Maybe ObjectLockEnabled -> Maybe ObjectLockRule -> ObjectLockConfiguration
+ Amazonka.S3.Types: ObjectLockEnabled' :: Text -> ObjectLockEnabled
+ Amazonka.S3.Types: ObjectLockLegalHold' :: Maybe ObjectLockLegalHoldStatus -> ObjectLockLegalHold
+ Amazonka.S3.Types: ObjectLockLegalHoldStatus' :: Text -> ObjectLockLegalHoldStatus
+ Amazonka.S3.Types: ObjectLockMode' :: Text -> ObjectLockMode
+ Amazonka.S3.Types: ObjectLockRetention' :: Maybe ObjectLockRetentionMode -> Maybe ISO8601 -> ObjectLockRetention
+ Amazonka.S3.Types: ObjectLockRetentionMode' :: Text -> ObjectLockRetentionMode
+ Amazonka.S3.Types: ObjectLockRule' :: Maybe DefaultRetention -> ObjectLockRule
+ Amazonka.S3.Types: ObjectOwnership' :: Text -> ObjectOwnership
+ Amazonka.S3.Types: ObjectPart' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Integer -> ObjectPart
+ Amazonka.S3.Types: ObjectStorageClass' :: Text -> ObjectStorageClass
+ Amazonka.S3.Types: ObjectVersion' :: Maybe [ChecksumAlgorithm] -> Maybe ETag -> Maybe Bool -> Maybe ObjectKey -> Maybe RFC822 -> Maybe Owner -> Maybe Integer -> Maybe ObjectVersionStorageClass -> Maybe ObjectVersionId -> ObjectVersion
+ Amazonka.S3.Types: ObjectVersionStorageClass' :: Text -> ObjectVersionStorageClass
+ Amazonka.S3.Types: OutputLocation' :: Maybe S3Location -> OutputLocation
+ Amazonka.S3.Types: OutputSerialization' :: Maybe CSVOutput -> Maybe JSONOutput -> OutputSerialization
+ Amazonka.S3.Types: Owner' :: Maybe Text -> Maybe Text -> Owner
+ Amazonka.S3.Types: OwnerOverride' :: Text -> OwnerOverride
+ Amazonka.S3.Types: OwnershipControls' :: [OwnershipControlsRule] -> OwnershipControls
+ Amazonka.S3.Types: OwnershipControlsRule' :: ObjectOwnership -> OwnershipControlsRule
+ Amazonka.S3.Types: ParquetInput' :: ParquetInput
+ Amazonka.S3.Types: Part' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> Maybe Int -> Maybe Integer -> Part
+ Amazonka.S3.Types: Payer' :: Text -> Payer
+ Amazonka.S3.Types: Permission' :: Text -> Permission
+ Amazonka.S3.Types: PolicyStatus' :: Maybe Bool -> PolicyStatus
+ Amazonka.S3.Types: Progress' :: Maybe Integer -> Maybe Integer -> Maybe Integer -> Progress
+ Amazonka.S3.Types: ProgressEvent' :: Maybe Progress -> ProgressEvent
+ Amazonka.S3.Types: Protocol' :: Text -> Protocol
+ Amazonka.S3.Types: PublicAccessBlockConfiguration' :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> PublicAccessBlockConfiguration
+ Amazonka.S3.Types: QueueConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> QueueConfiguration
+ Amazonka.S3.Types: QuoteFields' :: Text -> QuoteFields
+ Amazonka.S3.Types: RecordsEvent' :: Maybe Base64 -> RecordsEvent
+ Amazonka.S3.Types: Redirect' :: Maybe Text -> Maybe Text -> Maybe Protocol -> Maybe Text -> Maybe Text -> Redirect
+ Amazonka.S3.Types: RedirectAllRequestsTo' :: Maybe Protocol -> Text -> RedirectAllRequestsTo
+ Amazonka.S3.Types: ReplicaModifications' :: ReplicaModificationsStatus -> ReplicaModifications
+ Amazonka.S3.Types: ReplicaModificationsStatus' :: Text -> ReplicaModificationsStatus
+ Amazonka.S3.Types: ReplicationConfiguration' :: Text -> [ReplicationRule] -> ReplicationConfiguration
+ Amazonka.S3.Types: ReplicationRule' :: Maybe DeleteMarkerReplication -> Maybe ExistingObjectReplication -> Maybe ReplicationRuleFilter -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe SourceSelectionCriteria -> ReplicationRuleStatus -> Destination -> ReplicationRule
+ Amazonka.S3.Types: ReplicationRuleAndOperator' :: Maybe Text -> Maybe [Tag] -> ReplicationRuleAndOperator
+ Amazonka.S3.Types: ReplicationRuleFilter' :: Maybe ReplicationRuleAndOperator -> Maybe Text -> Maybe Tag -> ReplicationRuleFilter
+ Amazonka.S3.Types: ReplicationRuleStatus' :: Text -> ReplicationRuleStatus
+ Amazonka.S3.Types: ReplicationStatus' :: Text -> ReplicationStatus
+ Amazonka.S3.Types: ReplicationTime' :: ReplicationTimeStatus -> ReplicationTimeValue -> ReplicationTime
+ Amazonka.S3.Types: ReplicationTimeStatus' :: Text -> ReplicationTimeStatus
+ Amazonka.S3.Types: ReplicationTimeValue' :: Maybe Int -> ReplicationTimeValue
+ Amazonka.S3.Types: RequestCharged' :: Text -> RequestCharged
+ Amazonka.S3.Types: RequestPayer' :: Text -> RequestPayer
+ Amazonka.S3.Types: RequestPaymentConfiguration' :: Payer -> RequestPaymentConfiguration
+ Amazonka.S3.Types: RequestProgress' :: Maybe Bool -> RequestProgress
+ Amazonka.S3.Types: RestoreRequest' :: Maybe Int -> Maybe Text -> Maybe GlacierJobParameters -> Maybe OutputLocation -> Maybe SelectParameters -> Maybe Tier -> Maybe RestoreRequestType -> RestoreRequest
+ Amazonka.S3.Types: RestoreRequestType' :: Text -> RestoreRequestType
+ Amazonka.S3.Types: RoutingRule' :: Maybe Condition -> Redirect -> RoutingRule
+ Amazonka.S3.Types: S3KeyFilter' :: Maybe [FilterRule] -> S3KeyFilter
+ Amazonka.S3.Types: S3Location' :: Maybe [Grant] -> Maybe ObjectCannedACL -> Maybe Encryption -> Maybe StorageClass -> Maybe Tagging -> Maybe [MetadataEntry] -> BucketName -> Text -> S3Location
+ Amazonka.S3.Types: S3ServiceError' :: Maybe Text -> Maybe ObjectKey -> Maybe Text -> Maybe ObjectVersionId -> S3ServiceError
+ Amazonka.S3.Types: SSEKMS' :: Sensitive Text -> SSEKMS
+ Amazonka.S3.Types: SSES3' :: SSES3
+ Amazonka.S3.Types: ScanRange' :: Maybe Integer -> Maybe Integer -> ScanRange
+ Amazonka.S3.Types: SelectObjectContentEventStream' :: Maybe ContinuationEvent -> Maybe EndEvent -> Maybe ProgressEvent -> Maybe RecordsEvent -> Maybe StatsEvent -> SelectObjectContentEventStream
+ Amazonka.S3.Types: SelectParameters' :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
+ Amazonka.S3.Types: ServerSideEncryption' :: Text -> ServerSideEncryption
+ Amazonka.S3.Types: ServerSideEncryptionByDefault' :: Maybe (Sensitive Text) -> ServerSideEncryption -> ServerSideEncryptionByDefault
+ Amazonka.S3.Types: ServerSideEncryptionConfiguration' :: [ServerSideEncryptionRule] -> ServerSideEncryptionConfiguration
+ Amazonka.S3.Types: ServerSideEncryptionRule' :: Maybe ServerSideEncryptionByDefault -> Maybe Bool -> ServerSideEncryptionRule
+ Amazonka.S3.Types: SourceSelectionCriteria' :: Maybe ReplicaModifications -> Maybe SseKmsEncryptedObjects -> SourceSelectionCriteria
+ Amazonka.S3.Types: SseKmsEncryptedObjects' :: SseKmsEncryptedObjectsStatus -> SseKmsEncryptedObjects
+ Amazonka.S3.Types: SseKmsEncryptedObjectsStatus' :: Text -> SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types: Stats' :: Maybe Integer -> Maybe Integer -> Maybe Integer -> Stats
+ Amazonka.S3.Types: StatsEvent' :: Maybe Stats -> StatsEvent
+ Amazonka.S3.Types: StorageClass' :: Text -> StorageClass
+ Amazonka.S3.Types: StorageClassAnalysis' :: Maybe StorageClassAnalysisDataExport -> StorageClassAnalysis
+ Amazonka.S3.Types: StorageClassAnalysisDataExport' :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
+ Amazonka.S3.Types: StorageClassAnalysisSchemaVersion' :: Text -> StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types: Tag' :: ObjectKey -> Text -> Tag
+ Amazonka.S3.Types: Tagging' :: [Tag] -> Tagging
+ Amazonka.S3.Types: TaggingDirective' :: Text -> TaggingDirective
+ Amazonka.S3.Types: TargetGrant' :: Maybe Grantee -> Maybe BucketLogsPermission -> TargetGrant
+ Amazonka.S3.Types: Tier' :: Text -> Tier
+ Amazonka.S3.Types: Tiering' :: Int -> IntelligentTieringAccessTier -> Tiering
+ Amazonka.S3.Types: TopicConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> TopicConfiguration
+ Amazonka.S3.Types: Transition' :: Maybe ISO8601 -> Maybe Int -> Maybe TransitionStorageClass -> Transition
+ Amazonka.S3.Types: TransitionStorageClass' :: Text -> TransitionStorageClass
+ Amazonka.S3.Types: Type' :: Text -> Type
+ Amazonka.S3.Types: VersioningConfiguration' :: Maybe MFADelete -> Maybe BucketVersioningStatus -> VersioningConfiguration
+ Amazonka.S3.Types: WebsiteConfiguration' :: Maybe ErrorDocument -> Maybe IndexDocument -> Maybe RedirectAllRequestsTo -> Maybe [RoutingRule] -> WebsiteConfiguration
+ Amazonka.S3.Types: [$sel:abortIncompleteMultipartUpload:LifecycleRule'] :: LifecycleRule -> Maybe AbortIncompleteMultipartUpload
+ Amazonka.S3.Types: [$sel:accessControlList:S3Location'] :: S3Location -> Maybe [Grant]
+ Amazonka.S3.Types: [$sel:accessControlTranslation:Destination'] :: Destination -> Maybe AccessControlTranslation
+ Amazonka.S3.Types: [$sel:accessPointArn:MetricsAndOperator'] :: MetricsAndOperator -> Maybe Text
+ Amazonka.S3.Types: [$sel:accessPointArn:MetricsFilter'] :: MetricsFilter -> Maybe Text
+ Amazonka.S3.Types: [$sel:accessTier:Tiering'] :: Tiering -> IntelligentTieringAccessTier
+ Amazonka.S3.Types: [$sel:account:Destination'] :: Destination -> Maybe Text
+ Amazonka.S3.Types: [$sel:accountId:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types: [$sel:allowQuotedRecordDelimiter:CSVInput'] :: CSVInput -> Maybe Bool
+ Amazonka.S3.Types: [$sel:allowedHeaders:CORSRule'] :: CORSRule -> Maybe [Text]
+ Amazonka.S3.Types: [$sel:allowedMethods:CORSRule'] :: CORSRule -> [Text]
+ Amazonka.S3.Types: [$sel:allowedOrigins:CORSRule'] :: CORSRule -> [Text]
+ Amazonka.S3.Types: [$sel:and:AnalyticsFilter'] :: AnalyticsFilter -> Maybe AnalyticsAndOperator
+ Amazonka.S3.Types: [$sel:and:IntelligentTieringFilter'] :: IntelligentTieringFilter -> Maybe IntelligentTieringAndOperator
+ Amazonka.S3.Types: [$sel:and:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe LifecycleRuleAndOperator
+ Amazonka.S3.Types: [$sel:and:MetricsFilter'] :: MetricsFilter -> Maybe MetricsAndOperator
+ Amazonka.S3.Types: [$sel:and:ReplicationRuleFilter'] :: ReplicationRuleFilter -> Maybe ReplicationRuleAndOperator
+ Amazonka.S3.Types: [$sel:applyServerSideEncryptionByDefault:ServerSideEncryptionRule'] :: ServerSideEncryptionRule -> Maybe ServerSideEncryptionByDefault
+ Amazonka.S3.Types: [$sel:blockPublicAcls:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types: [$sel:blockPublicPolicy:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types: [$sel:bucket:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> BucketName
+ Amazonka.S3.Types: [$sel:bucket:Destination'] :: Destination -> BucketName
+ Amazonka.S3.Types: [$sel:bucket:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> BucketName
+ Amazonka.S3.Types: [$sel:bucketAccountId:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types: [$sel:bucketKeyEnabled:ServerSideEncryptionRule'] :: ServerSideEncryptionRule -> Maybe Bool
+ Amazonka.S3.Types: [$sel:bucketName:S3Location'] :: S3Location -> BucketName
+ Amazonka.S3.Types: [$sel:bytesProcessed:Progress'] :: Progress -> Maybe Integer
+ Amazonka.S3.Types: [$sel:bytesProcessed:Stats'] :: Stats -> Maybe Integer
+ Amazonka.S3.Types: [$sel:bytesReturned:Progress'] :: Progress -> Maybe Integer
+ Amazonka.S3.Types: [$sel:bytesReturned:Stats'] :: Stats -> Maybe Integer
+ Amazonka.S3.Types: [$sel:bytesScanned:Progress'] :: Progress -> Maybe Integer
+ Amazonka.S3.Types: [$sel:bytesScanned:Stats'] :: Stats -> Maybe Integer
+ Amazonka.S3.Types: [$sel:cORSRules:CORSConfiguration'] :: CORSConfiguration -> [CORSRule]
+ Amazonka.S3.Types: [$sel:cannedACL:S3Location'] :: S3Location -> Maybe ObjectCannedACL
+ Amazonka.S3.Types: [$sel:checksumAlgorithm:MultipartUpload'] :: MultipartUpload -> Maybe ChecksumAlgorithm
+ Amazonka.S3.Types: [$sel:checksumAlgorithm:Object'] :: Object -> Maybe [ChecksumAlgorithm]
+ Amazonka.S3.Types: [$sel:checksumAlgorithm:ObjectVersion'] :: ObjectVersion -> Maybe [ChecksumAlgorithm]
+ Amazonka.S3.Types: [$sel:checksumCRC32:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32C:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32C:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32C:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32C:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32C:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumCRC32C:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA1:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA1:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA1:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA1:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA1:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA1:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA256:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA256:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA256:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA256:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA256:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types: [$sel:checksumSHA256:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types: [$sel:code:S3ServiceError'] :: S3ServiceError -> Maybe Text
+ Amazonka.S3.Types: [$sel:comments:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types: [$sel:compressionType:InputSerialization'] :: InputSerialization -> Maybe CompressionType
+ Amazonka.S3.Types: [$sel:condition:RoutingRule'] :: RoutingRule -> Maybe Condition
+ Amazonka.S3.Types: [$sel:cont:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe ContinuationEvent
+ Amazonka.S3.Types: [$sel:creationDate:Bucket'] :: Bucket -> ISO8601
+ Amazonka.S3.Types: [$sel:csv:InputSerialization'] :: InputSerialization -> Maybe CSVInput
+ Amazonka.S3.Types: [$sel:csv:OutputSerialization'] :: OutputSerialization -> Maybe CSVOutput
+ Amazonka.S3.Types: [$sel:dataExport:StorageClassAnalysis'] :: StorageClassAnalysis -> Maybe StorageClassAnalysisDataExport
+ Amazonka.S3.Types: [$sel:date:LifecycleExpiration'] :: LifecycleExpiration -> Maybe ISO8601
+ Amazonka.S3.Types: [$sel:date:Transition'] :: Transition -> Maybe ISO8601
+ Amazonka.S3.Types: [$sel:days:DefaultRetention'] :: DefaultRetention -> Maybe Int
+ Amazonka.S3.Types: [$sel:days:LifecycleExpiration'] :: LifecycleExpiration -> Maybe Int
+ Amazonka.S3.Types: [$sel:days:RestoreRequest'] :: RestoreRequest -> Maybe Int
+ Amazonka.S3.Types: [$sel:days:Tiering'] :: Tiering -> Int
+ Amazonka.S3.Types: [$sel:days:Transition'] :: Transition -> Maybe Int
+ Amazonka.S3.Types: [$sel:daysAfterInitiation:AbortIncompleteMultipartUpload'] :: AbortIncompleteMultipartUpload -> Maybe Int
+ Amazonka.S3.Types: [$sel:defaultRetention:ObjectLockRule'] :: ObjectLockRule -> Maybe DefaultRetention
+ Amazonka.S3.Types: [$sel:deleteMarker:DeletedObject'] :: DeletedObject -> Maybe Bool
+ Amazonka.S3.Types: [$sel:deleteMarkerReplication:ReplicationRule'] :: ReplicationRule -> Maybe DeleteMarkerReplication
+ Amazonka.S3.Types: [$sel:deleteMarkerVersionId:DeletedObject'] :: DeletedObject -> Maybe Text
+ Amazonka.S3.Types: [$sel:description:RestoreRequest'] :: RestoreRequest -> Maybe Text
+ Amazonka.S3.Types: [$sel:destination:InventoryConfiguration'] :: InventoryConfiguration -> InventoryDestination
+ Amazonka.S3.Types: [$sel:destination:ReplicationRule'] :: ReplicationRule -> Destination
+ Amazonka.S3.Types: [$sel:destination:StorageClassAnalysisDataExport'] :: StorageClassAnalysisDataExport -> AnalyticsExportDestination
+ Amazonka.S3.Types: [$sel:details:ProgressEvent'] :: ProgressEvent -> Maybe Progress
+ Amazonka.S3.Types: [$sel:details:StatsEvent'] :: StatsEvent -> Maybe Stats
+ Amazonka.S3.Types: [$sel:displayName:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types: [$sel:displayName:Initiator'] :: Initiator -> Maybe Text
+ Amazonka.S3.Types: [$sel:displayName:Owner'] :: Owner -> Maybe Text
+ Amazonka.S3.Types: [$sel:eTag:CompletedPart'] :: CompletedPart -> ETag
+ Amazonka.S3.Types: [$sel:eTag:CopyObjectResult'] :: CopyObjectResult -> Maybe ETag
+ Amazonka.S3.Types: [$sel:eTag:CopyPartResult'] :: CopyPartResult -> Maybe ETag
+ Amazonka.S3.Types: [$sel:eTag:Object'] :: Object -> ETag
+ Amazonka.S3.Types: [$sel:eTag:ObjectVersion'] :: ObjectVersion -> Maybe ETag
+ Amazonka.S3.Types: [$sel:eTag:Part'] :: Part -> Maybe ETag
+ Amazonka.S3.Types: [$sel:emailAddress:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types: [$sel:enabled:RequestProgress'] :: RequestProgress -> Maybe Bool
+ Amazonka.S3.Types: [$sel:encryption:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> Maybe InventoryEncryption
+ Amazonka.S3.Types: [$sel:encryption:S3Location'] :: S3Location -> Maybe Encryption
+ Amazonka.S3.Types: [$sel:encryptionConfiguration:Destination'] :: Destination -> Maybe EncryptionConfiguration
+ Amazonka.S3.Types: [$sel:encryptionType:Encryption'] :: Encryption -> ServerSideEncryption
+ Amazonka.S3.Types: [$sel:end:ScanRange'] :: ScanRange -> Maybe Integer
+ Amazonka.S3.Types: [$sel:end:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe EndEvent
+ Amazonka.S3.Types: [$sel:errorDocument:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe ErrorDocument
+ Amazonka.S3.Types: [$sel:eventBridgeConfiguration:NotificationConfiguration'] :: NotificationConfiguration -> Maybe EventBridgeConfiguration
+ Amazonka.S3.Types: [$sel:eventThreshold:Metrics'] :: Metrics -> Maybe ReplicationTimeValue
+ Amazonka.S3.Types: [$sel:events:LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> [Event]
+ Amazonka.S3.Types: [$sel:events:QueueConfiguration'] :: QueueConfiguration -> [Event]
+ Amazonka.S3.Types: [$sel:events:TopicConfiguration'] :: TopicConfiguration -> [Event]
+ Amazonka.S3.Types: [$sel:existingObjectReplication:ReplicationRule'] :: ReplicationRule -> Maybe ExistingObjectReplication
+ Amazonka.S3.Types: [$sel:expiration:LifecycleRule'] :: LifecycleRule -> Maybe LifecycleExpiration
+ Amazonka.S3.Types: [$sel:expiredObjectDeleteMarker:LifecycleExpiration'] :: LifecycleExpiration -> Maybe Bool
+ Amazonka.S3.Types: [$sel:exposeHeaders:CORSRule'] :: CORSRule -> Maybe [Text]
+ Amazonka.S3.Types: [$sel:expression:SelectParameters'] :: SelectParameters -> Text
+ Amazonka.S3.Types: [$sel:expressionType:SelectParameters'] :: SelectParameters -> ExpressionType
+ Amazonka.S3.Types: [$sel:fieldDelimiter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types: [$sel:fieldDelimiter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types: [$sel:fileHeaderInfo:CSVInput'] :: CSVInput -> Maybe FileHeaderInfo
+ Amazonka.S3.Types: [$sel:filter':AnalyticsConfiguration'] :: AnalyticsConfiguration -> Maybe AnalyticsFilter
+ Amazonka.S3.Types: [$sel:filter':IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> Maybe IntelligentTieringFilter
+ Amazonka.S3.Types: [$sel:filter':InventoryConfiguration'] :: InventoryConfiguration -> Maybe InventoryFilter
+ Amazonka.S3.Types: [$sel:filter':LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> Maybe NotificationConfigurationFilter
+ Amazonka.S3.Types: [$sel:filter':LifecycleRule'] :: LifecycleRule -> Maybe LifecycleRuleFilter
+ Amazonka.S3.Types: [$sel:filter':MetricsConfiguration'] :: MetricsConfiguration -> Maybe MetricsFilter
+ Amazonka.S3.Types: [$sel:filter':QueueConfiguration'] :: QueueConfiguration -> Maybe NotificationConfigurationFilter
+ Amazonka.S3.Types: [$sel:filter':ReplicationRule'] :: ReplicationRule -> Maybe ReplicationRuleFilter
+ Amazonka.S3.Types: [$sel:filter':TopicConfiguration'] :: TopicConfiguration -> Maybe NotificationConfigurationFilter
+ Amazonka.S3.Types: [$sel:filterRules:S3KeyFilter'] :: S3KeyFilter -> Maybe [FilterRule]
+ Amazonka.S3.Types: [$sel:format:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types: [$sel:format:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> InventoryFormat
+ Amazonka.S3.Types: [$sel:frequency:InventorySchedule'] :: InventorySchedule -> InventoryFrequency
+ Amazonka.S3.Types: [$sel:glacierJobParameters:RestoreRequest'] :: RestoreRequest -> Maybe GlacierJobParameters
+ Amazonka.S3.Types: [$sel:grantee:Grant'] :: Grant -> Maybe Grantee
+ Amazonka.S3.Types: [$sel:grantee:TargetGrant'] :: TargetGrant -> Maybe Grantee
+ Amazonka.S3.Types: [$sel:grants:AccessControlPolicy'] :: AccessControlPolicy -> Maybe [Grant]
+ Amazonka.S3.Types: [$sel:hostName:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types: [$sel:hostName:RedirectAllRequestsTo'] :: RedirectAllRequestsTo -> Text
+ Amazonka.S3.Types: [$sel:httpErrorCodeReturnedEquals:Condition'] :: Condition -> Maybe Text
+ Amazonka.S3.Types: [$sel:httpRedirectCode:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:AnalyticsConfiguration'] :: AnalyticsConfiguration -> Text
+ Amazonka.S3.Types: [$sel:id:CORSRule'] :: CORSRule -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:Initiator'] :: Initiator -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> Text
+ Amazonka.S3.Types: [$sel:id:InventoryConfiguration'] :: InventoryConfiguration -> Text
+ Amazonka.S3.Types: [$sel:id:LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:LifecycleRule'] :: LifecycleRule -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:MetricsConfiguration'] :: MetricsConfiguration -> Text
+ Amazonka.S3.Types: [$sel:id:Owner'] :: Owner -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:QueueConfiguration'] :: QueueConfiguration -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:ReplicationRule'] :: ReplicationRule -> Maybe Text
+ Amazonka.S3.Types: [$sel:id:TopicConfiguration'] :: TopicConfiguration -> Maybe Text
+ Amazonka.S3.Types: [$sel:ignorePublicAcls:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types: [$sel:includedObjectVersions:InventoryConfiguration'] :: InventoryConfiguration -> InventoryIncludedObjectVersions
+ Amazonka.S3.Types: [$sel:indexDocument:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe IndexDocument
+ Amazonka.S3.Types: [$sel:initiated:MultipartUpload'] :: MultipartUpload -> Maybe ISO8601
+ Amazonka.S3.Types: [$sel:initiator:MultipartUpload'] :: MultipartUpload -> Maybe Initiator
+ Amazonka.S3.Types: [$sel:inputSerialization:SelectParameters'] :: SelectParameters -> InputSerialization
+ Amazonka.S3.Types: [$sel:isEnabled:InventoryConfiguration'] :: InventoryConfiguration -> Bool
+ Amazonka.S3.Types: [$sel:isLatest:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe Bool
+ Amazonka.S3.Types: [$sel:isLatest:ObjectVersion'] :: ObjectVersion -> Maybe Bool
+ Amazonka.S3.Types: [$sel:isPublic:PolicyStatus'] :: PolicyStatus -> Maybe Bool
+ Amazonka.S3.Types: [$sel:isTruncated:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Bool
+ Amazonka.S3.Types: [$sel:json:InputSerialization'] :: InputSerialization -> Maybe JSONInput
+ Amazonka.S3.Types: [$sel:json:OutputSerialization'] :: OutputSerialization -> Maybe JSONOutput
+ Amazonka.S3.Types: [$sel:key:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe ObjectKey
+ Amazonka.S3.Types: [$sel:key:DeletedObject'] :: DeletedObject -> Maybe ObjectKey
+ Amazonka.S3.Types: [$sel:key:ErrorDocument'] :: ErrorDocument -> ObjectKey
+ Amazonka.S3.Types: [$sel:key:MultipartUpload'] :: MultipartUpload -> Maybe ObjectKey
+ Amazonka.S3.Types: [$sel:key:NotificationConfigurationFilter'] :: NotificationConfigurationFilter -> Maybe S3KeyFilter
+ Amazonka.S3.Types: [$sel:key:Object'] :: Object -> ObjectKey
+ Amazonka.S3.Types: [$sel:key:ObjectIdentifier'] :: ObjectIdentifier -> ObjectKey
+ Amazonka.S3.Types: [$sel:key:ObjectVersion'] :: ObjectVersion -> Maybe ObjectKey
+ Amazonka.S3.Types: [$sel:key:S3ServiceError'] :: S3ServiceError -> Maybe ObjectKey
+ Amazonka.S3.Types: [$sel:key:Tag'] :: Tag -> ObjectKey
+ Amazonka.S3.Types: [$sel:keyId:SSEKMS'] :: SSEKMS -> Sensitive Text
+ Amazonka.S3.Types: [$sel:keyPrefixEquals:Condition'] :: Condition -> Maybe Text
+ Amazonka.S3.Types: [$sel:kmsContext:Encryption'] :: Encryption -> Maybe Text
+ Amazonka.S3.Types: [$sel:kmsKeyId:Encryption'] :: Encryption -> Maybe (Sensitive Text)
+ Amazonka.S3.Types: [$sel:kmsMasterKeyID:ServerSideEncryptionByDefault'] :: ServerSideEncryptionByDefault -> Maybe (Sensitive Text)
+ Amazonka.S3.Types: [$sel:lambdaFunctionArn:LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> Text
+ Amazonka.S3.Types: [$sel:lambdaFunctionConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [LambdaFunctionConfiguration]
+ Amazonka.S3.Types: [$sel:lastModified:CopyObjectResult'] :: CopyObjectResult -> Maybe RFC822
+ Amazonka.S3.Types: [$sel:lastModified:CopyPartResult'] :: CopyPartResult -> Maybe RFC822
+ Amazonka.S3.Types: [$sel:lastModified:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe RFC822
+ Amazonka.S3.Types: [$sel:lastModified:Object'] :: Object -> RFC822
+ Amazonka.S3.Types: [$sel:lastModified:ObjectVersion'] :: ObjectVersion -> Maybe RFC822
+ Amazonka.S3.Types: [$sel:lastModified:Part'] :: Part -> Maybe RFC822
+ Amazonka.S3.Types: [$sel:locationConstraint:CreateBucketConfiguration'] :: CreateBucketConfiguration -> Maybe LocationConstraint
+ Amazonka.S3.Types: [$sel:loggingEnabled:BucketLoggingStatus'] :: BucketLoggingStatus -> Maybe LoggingEnabled
+ Amazonka.S3.Types: [$sel:maxAgeSeconds:CORSRule'] :: CORSRule -> Maybe Int
+ Amazonka.S3.Types: [$sel:maxParts:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types: [$sel:message:S3ServiceError'] :: S3ServiceError -> Maybe Text
+ Amazonka.S3.Types: [$sel:metrics:Destination'] :: Destination -> Maybe Metrics
+ Amazonka.S3.Types: [$sel:mfaDelete:VersioningConfiguration'] :: VersioningConfiguration -> Maybe MFADelete
+ Amazonka.S3.Types: [$sel:minutes:ReplicationTimeValue'] :: ReplicationTimeValue -> Maybe Int
+ Amazonka.S3.Types: [$sel:mode:DefaultRetention'] :: DefaultRetention -> Maybe ObjectLockRetentionMode
+ Amazonka.S3.Types: [$sel:mode:ObjectLockRetention'] :: ObjectLockRetention -> Maybe ObjectLockRetentionMode
+ Amazonka.S3.Types: [$sel:name:Bucket'] :: Bucket -> BucketName
+ Amazonka.S3.Types: [$sel:name:FilterRule'] :: FilterRule -> Maybe FilterRuleName
+ Amazonka.S3.Types: [$sel:name:MetadataEntry'] :: MetadataEntry -> Maybe Text
+ Amazonka.S3.Types: [$sel:newerNoncurrentVersions':NoncurrentVersionExpiration'] :: NoncurrentVersionExpiration -> Maybe Int
+ Amazonka.S3.Types: [$sel:newerNoncurrentVersions':NoncurrentVersionTransition'] :: NoncurrentVersionTransition -> Maybe Int
+ Amazonka.S3.Types: [$sel:nextPartNumberMarker:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types: [$sel:noncurrentDays:NoncurrentVersionExpiration'] :: NoncurrentVersionExpiration -> Int
+ Amazonka.S3.Types: [$sel:noncurrentDays:NoncurrentVersionTransition'] :: NoncurrentVersionTransition -> Int
+ Amazonka.S3.Types: [$sel:noncurrentVersionExpiration:LifecycleRule'] :: LifecycleRule -> Maybe NoncurrentVersionExpiration
+ Amazonka.S3.Types: [$sel:noncurrentVersionTransitions:LifecycleRule'] :: LifecycleRule -> Maybe [NoncurrentVersionTransition]
+ Amazonka.S3.Types: [$sel:objectLockEnabled:ObjectLockConfiguration'] :: ObjectLockConfiguration -> Maybe ObjectLockEnabled
+ Amazonka.S3.Types: [$sel:objectOwnership:OwnershipControlsRule'] :: OwnershipControlsRule -> ObjectOwnership
+ Amazonka.S3.Types: [$sel:objectSizeGreaterThan:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe Integer
+ Amazonka.S3.Types: [$sel:objectSizeGreaterThan:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Integer
+ Amazonka.S3.Types: [$sel:objectSizeLessThan:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe Integer
+ Amazonka.S3.Types: [$sel:objectSizeLessThan:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Integer
+ Amazonka.S3.Types: [$sel:objects:Delete'] :: Delete -> [ObjectIdentifier]
+ Amazonka.S3.Types: [$sel:optionalFields:InventoryConfiguration'] :: InventoryConfiguration -> Maybe [InventoryOptionalField]
+ Amazonka.S3.Types: [$sel:outputLocation:RestoreRequest'] :: RestoreRequest -> Maybe OutputLocation
+ Amazonka.S3.Types: [$sel:outputSchemaVersion:StorageClassAnalysisDataExport'] :: StorageClassAnalysisDataExport -> StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types: [$sel:outputSerialization:SelectParameters'] :: SelectParameters -> OutputSerialization
+ Amazonka.S3.Types: [$sel:owner:AccessControlPolicy'] :: AccessControlPolicy -> Maybe Owner
+ Amazonka.S3.Types: [$sel:owner:AccessControlTranslation'] :: AccessControlTranslation -> OwnerOverride
+ Amazonka.S3.Types: [$sel:owner:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe Owner
+ Amazonka.S3.Types: [$sel:owner:MultipartUpload'] :: MultipartUpload -> Maybe Owner
+ Amazonka.S3.Types: [$sel:owner:Object'] :: Object -> Maybe Owner
+ Amazonka.S3.Types: [$sel:owner:ObjectVersion'] :: ObjectVersion -> Maybe Owner
+ Amazonka.S3.Types: [$sel:parquet:InputSerialization'] :: InputSerialization -> Maybe ParquetInput
+ Amazonka.S3.Types: [$sel:partNumber:CompletedPart'] :: CompletedPart -> Int
+ Amazonka.S3.Types: [$sel:partNumber:ObjectPart'] :: ObjectPart -> Maybe Int
+ Amazonka.S3.Types: [$sel:partNumber:Part'] :: Part -> Maybe Int
+ Amazonka.S3.Types: [$sel:partNumberMarker:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types: [$sel:parts:CompletedMultipartUpload'] :: CompletedMultipartUpload -> Maybe (NonEmpty CompletedPart)
+ Amazonka.S3.Types: [$sel:parts:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe [ObjectPart]
+ Amazonka.S3.Types: [$sel:payer:RequestPaymentConfiguration'] :: RequestPaymentConfiguration -> Payer
+ Amazonka.S3.Types: [$sel:payload:RecordsEvent'] :: RecordsEvent -> Maybe Base64
+ Amazonka.S3.Types: [$sel:permission:Grant'] :: Grant -> Maybe Permission
+ Amazonka.S3.Types: [$sel:permission:TargetGrant'] :: TargetGrant -> Maybe BucketLogsPermission
+ Amazonka.S3.Types: [$sel:prefix:AnalyticsAndOperator'] :: AnalyticsAndOperator -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:AnalyticsFilter'] :: AnalyticsFilter -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:CommonPrefix'] :: CommonPrefix -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:IntelligentTieringAndOperator'] :: IntelligentTieringAndOperator -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:IntelligentTieringFilter'] :: IntelligentTieringFilter -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:InventoryFilter'] :: InventoryFilter -> Text
+ Amazonka.S3.Types: [$sel:prefix:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:LifecycleRule'] :: LifecycleRule -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:MetricsAndOperator'] :: MetricsAndOperator -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:MetricsFilter'] :: MetricsFilter -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:ReplicationRule'] :: ReplicationRule -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:ReplicationRuleAndOperator'] :: ReplicationRuleAndOperator -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:ReplicationRuleFilter'] :: ReplicationRuleFilter -> Maybe Text
+ Amazonka.S3.Types: [$sel:prefix:S3Location'] :: S3Location -> Text
+ Amazonka.S3.Types: [$sel:priority:ReplicationRule'] :: ReplicationRule -> Maybe Int
+ Amazonka.S3.Types: [$sel:progress:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe ProgressEvent
+ Amazonka.S3.Types: [$sel:protocol:Redirect'] :: Redirect -> Maybe Protocol
+ Amazonka.S3.Types: [$sel:protocol:RedirectAllRequestsTo'] :: RedirectAllRequestsTo -> Maybe Protocol
+ Amazonka.S3.Types: [$sel:queueArn:QueueConfiguration'] :: QueueConfiguration -> Text
+ Amazonka.S3.Types: [$sel:queueConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [QueueConfiguration]
+ Amazonka.S3.Types: [$sel:quiet:Delete'] :: Delete -> Maybe Bool
+ Amazonka.S3.Types: [$sel:quoteCharacter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types: [$sel:quoteCharacter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types: [$sel:quoteEscapeCharacter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types: [$sel:quoteEscapeCharacter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types: [$sel:quoteFields:CSVOutput'] :: CSVOutput -> Maybe QuoteFields
+ Amazonka.S3.Types: [$sel:recordDelimiter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types: [$sel:recordDelimiter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types: [$sel:recordDelimiter:JSONOutput'] :: JSONOutput -> Maybe Text
+ Amazonka.S3.Types: [$sel:records:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe RecordsEvent
+ Amazonka.S3.Types: [$sel:redirect:RoutingRule'] :: RoutingRule -> Redirect
+ Amazonka.S3.Types: [$sel:redirectAllRequestsTo:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe RedirectAllRequestsTo
+ Amazonka.S3.Types: [$sel:replaceKeyPrefixWith:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types: [$sel:replaceKeyWith:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types: [$sel:replicaKmsKeyID:EncryptionConfiguration'] :: EncryptionConfiguration -> Maybe Text
+ Amazonka.S3.Types: [$sel:replicaModifications:SourceSelectionCriteria'] :: SourceSelectionCriteria -> Maybe ReplicaModifications
+ Amazonka.S3.Types: [$sel:replicationTime:Destination'] :: Destination -> Maybe ReplicationTime
+ Amazonka.S3.Types: [$sel:restrictPublicBuckets:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types: [$sel:retainUntilDate:ObjectLockRetention'] :: ObjectLockRetention -> Maybe ISO8601
+ Amazonka.S3.Types: [$sel:role':ReplicationConfiguration'] :: ReplicationConfiguration -> Text
+ Amazonka.S3.Types: [$sel:routingRules:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe [RoutingRule]
+ Amazonka.S3.Types: [$sel:rule:ObjectLockConfiguration'] :: ObjectLockConfiguration -> Maybe ObjectLockRule
+ Amazonka.S3.Types: [$sel:rules:BucketLifecycleConfiguration'] :: BucketLifecycleConfiguration -> [LifecycleRule]
+ Amazonka.S3.Types: [$sel:rules:OwnershipControls'] :: OwnershipControls -> [OwnershipControlsRule]
+ Amazonka.S3.Types: [$sel:rules:ReplicationConfiguration'] :: ReplicationConfiguration -> [ReplicationRule]
+ Amazonka.S3.Types: [$sel:rules:ServerSideEncryptionConfiguration'] :: ServerSideEncryptionConfiguration -> [ServerSideEncryptionRule]
+ Amazonka.S3.Types: [$sel:s3:OutputLocation'] :: OutputLocation -> Maybe S3Location
+ Amazonka.S3.Types: [$sel:s3BucketDestination:AnalyticsExportDestination'] :: AnalyticsExportDestination -> AnalyticsS3BucketDestination
+ Amazonka.S3.Types: [$sel:s3BucketDestination:InventoryDestination'] :: InventoryDestination -> InventoryS3BucketDestination
+ Amazonka.S3.Types: [$sel:sSEAlgorithm:ServerSideEncryptionByDefault'] :: ServerSideEncryptionByDefault -> ServerSideEncryption
+ Amazonka.S3.Types: [$sel:schedule:InventoryConfiguration'] :: InventoryConfiguration -> InventorySchedule
+ Amazonka.S3.Types: [$sel:selectParameters:RestoreRequest'] :: RestoreRequest -> Maybe SelectParameters
+ Amazonka.S3.Types: [$sel:size:Object'] :: Object -> Integer
+ Amazonka.S3.Types: [$sel:size:ObjectPart'] :: ObjectPart -> Maybe Integer
+ Amazonka.S3.Types: [$sel:size:ObjectVersion'] :: ObjectVersion -> Maybe Integer
+ Amazonka.S3.Types: [$sel:size:Part'] :: Part -> Maybe Integer
+ Amazonka.S3.Types: [$sel:sourceSelectionCriteria:ReplicationRule'] :: ReplicationRule -> Maybe SourceSelectionCriteria
+ Amazonka.S3.Types: [$sel:sseKmsEncryptedObjects:SourceSelectionCriteria'] :: SourceSelectionCriteria -> Maybe SseKmsEncryptedObjects
+ Amazonka.S3.Types: [$sel:ssekms:InventoryEncryption'] :: InventoryEncryption -> Maybe SSEKMS
+ Amazonka.S3.Types: [$sel:sses3:InventoryEncryption'] :: InventoryEncryption -> Maybe SSES3
+ Amazonka.S3.Types: [$sel:start:ScanRange'] :: ScanRange -> Maybe Integer
+ Amazonka.S3.Types: [$sel:stats:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe StatsEvent
+ Amazonka.S3.Types: [$sel:status:AccelerateConfiguration'] :: AccelerateConfiguration -> Maybe BucketAccelerateStatus
+ Amazonka.S3.Types: [$sel:status:DeleteMarkerReplication'] :: DeleteMarkerReplication -> Maybe DeleteMarkerReplicationStatus
+ Amazonka.S3.Types: [$sel:status:ExistingObjectReplication'] :: ExistingObjectReplication -> ExistingObjectReplicationStatus
+ Amazonka.S3.Types: [$sel:status:IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> IntelligentTieringStatus
+ Amazonka.S3.Types: [$sel:status:LifecycleRule'] :: LifecycleRule -> ExpirationStatus
+ Amazonka.S3.Types: [$sel:status:Metrics'] :: Metrics -> MetricsStatus
+ Amazonka.S3.Types: [$sel:status:ObjectLockLegalHold'] :: ObjectLockLegalHold -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.Types: [$sel:status:ReplicaModifications'] :: ReplicaModifications -> ReplicaModificationsStatus
+ Amazonka.S3.Types: [$sel:status:ReplicationRule'] :: ReplicationRule -> ReplicationRuleStatus
+ Amazonka.S3.Types: [$sel:status:ReplicationTime'] :: ReplicationTime -> ReplicationTimeStatus
+ Amazonka.S3.Types: [$sel:status:SseKmsEncryptedObjects'] :: SseKmsEncryptedObjects -> SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types: [$sel:status:VersioningConfiguration'] :: VersioningConfiguration -> Maybe BucketVersioningStatus
+ Amazonka.S3.Types: [$sel:storageClass:Destination'] :: Destination -> Maybe StorageClass
+ Amazonka.S3.Types: [$sel:storageClass:MultipartUpload'] :: MultipartUpload -> Maybe StorageClass
+ Amazonka.S3.Types: [$sel:storageClass:NoncurrentVersionTransition'] :: NoncurrentVersionTransition -> TransitionStorageClass
+ Amazonka.S3.Types: [$sel:storageClass:Object'] :: Object -> ObjectStorageClass
+ Amazonka.S3.Types: [$sel:storageClass:ObjectVersion'] :: ObjectVersion -> Maybe ObjectVersionStorageClass
+ Amazonka.S3.Types: [$sel:storageClass:S3Location'] :: S3Location -> Maybe StorageClass
+ Amazonka.S3.Types: [$sel:storageClass:Transition'] :: Transition -> Maybe TransitionStorageClass
+ Amazonka.S3.Types: [$sel:storageClassAnalysis:AnalyticsConfiguration'] :: AnalyticsConfiguration -> StorageClassAnalysis
+ Amazonka.S3.Types: [$sel:suffix:IndexDocument'] :: IndexDocument -> Text
+ Amazonka.S3.Types: [$sel:tag:AnalyticsFilter'] :: AnalyticsFilter -> Maybe Tag
+ Amazonka.S3.Types: [$sel:tag:IntelligentTieringFilter'] :: IntelligentTieringFilter -> Maybe Tag
+ Amazonka.S3.Types: [$sel:tag:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Tag
+ Amazonka.S3.Types: [$sel:tag:MetricsFilter'] :: MetricsFilter -> Maybe Tag
+ Amazonka.S3.Types: [$sel:tag:ReplicationRuleFilter'] :: ReplicationRuleFilter -> Maybe Tag
+ Amazonka.S3.Types: [$sel:tagSet:Tagging'] :: Tagging -> [Tag]
+ Amazonka.S3.Types: [$sel:tagging:S3Location'] :: S3Location -> Maybe Tagging
+ Amazonka.S3.Types: [$sel:tags:AnalyticsAndOperator'] :: AnalyticsAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types: [$sel:tags:IntelligentTieringAndOperator'] :: IntelligentTieringAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types: [$sel:tags:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types: [$sel:tags:MetricsAndOperator'] :: MetricsAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types: [$sel:tags:ReplicationRuleAndOperator'] :: ReplicationRuleAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types: [$sel:targetBucket:LoggingEnabled'] :: LoggingEnabled -> Text
+ Amazonka.S3.Types: [$sel:targetGrants:LoggingEnabled'] :: LoggingEnabled -> Maybe [TargetGrant]
+ Amazonka.S3.Types: [$sel:targetPrefix:LoggingEnabled'] :: LoggingEnabled -> Text
+ Amazonka.S3.Types: [$sel:tier:GlacierJobParameters'] :: GlacierJobParameters -> Tier
+ Amazonka.S3.Types: [$sel:tier:RestoreRequest'] :: RestoreRequest -> Maybe Tier
+ Amazonka.S3.Types: [$sel:tierings:IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> [Tiering]
+ Amazonka.S3.Types: [$sel:time:ReplicationTime'] :: ReplicationTime -> ReplicationTimeValue
+ Amazonka.S3.Types: [$sel:topicArn:TopicConfiguration'] :: TopicConfiguration -> Text
+ Amazonka.S3.Types: [$sel:topicConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [TopicConfiguration]
+ Amazonka.S3.Types: [$sel:totalPartsCount:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types: [$sel:transitions:LifecycleRule'] :: LifecycleRule -> Maybe [Transition]
+ Amazonka.S3.Types: [$sel:type':Grantee'] :: Grantee -> Type
+ Amazonka.S3.Types: [$sel:type':JSONInput'] :: JSONInput -> Maybe JSONType
+ Amazonka.S3.Types: [$sel:type':RestoreRequest'] :: RestoreRequest -> Maybe RestoreRequestType
+ Amazonka.S3.Types: [$sel:uploadId:MultipartUpload'] :: MultipartUpload -> Maybe Text
+ Amazonka.S3.Types: [$sel:uri:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types: [$sel:userMetadata:S3Location'] :: S3Location -> Maybe [MetadataEntry]
+ Amazonka.S3.Types: [$sel:value:FilterRule'] :: FilterRule -> Maybe Text
+ Amazonka.S3.Types: [$sel:value:MetadataEntry'] :: MetadataEntry -> Maybe Text
+ Amazonka.S3.Types: [$sel:value:Tag'] :: Tag -> Text
+ Amazonka.S3.Types: [$sel:versionId:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe ObjectVersionId
+ Amazonka.S3.Types: [$sel:versionId:DeletedObject'] :: DeletedObject -> Maybe ObjectVersionId
+ Amazonka.S3.Types: [$sel:versionId:ObjectIdentifier'] :: ObjectIdentifier -> Maybe ObjectVersionId
+ Amazonka.S3.Types: [$sel:versionId:ObjectVersion'] :: ObjectVersion -> Maybe ObjectVersionId
+ Amazonka.S3.Types: [$sel:versionId:S3ServiceError'] :: S3ServiceError -> Maybe ObjectVersionId
+ Amazonka.S3.Types: [$sel:years:DefaultRetention'] :: DefaultRetention -> Maybe Int
+ Amazonka.S3.Types: [fromAnalyticsS3ExportFileFormat] :: AnalyticsS3ExportFileFormat -> Text
+ Amazonka.S3.Types: [fromArchiveStatus] :: ArchiveStatus -> Text
+ Amazonka.S3.Types: [fromBucketAccelerateStatus] :: BucketAccelerateStatus -> Text
+ Amazonka.S3.Types: [fromBucketCannedACL] :: BucketCannedACL -> Text
+ Amazonka.S3.Types: [fromBucketLogsPermission] :: BucketLogsPermission -> Text
+ Amazonka.S3.Types: [fromBucketVersioningStatus] :: BucketVersioningStatus -> Text
+ Amazonka.S3.Types: [fromChecksumAlgorithm] :: ChecksumAlgorithm -> Text
+ Amazonka.S3.Types: [fromChecksumMode] :: ChecksumMode -> Text
+ Amazonka.S3.Types: [fromCompressionType] :: CompressionType -> Text
+ Amazonka.S3.Types: [fromDeleteMarkerReplicationStatus] :: DeleteMarkerReplicationStatus -> Text
+ Amazonka.S3.Types: [fromEncodingType] :: EncodingType -> Text
+ Amazonka.S3.Types: [fromEvent] :: Event -> Text
+ Amazonka.S3.Types: [fromExistingObjectReplicationStatus] :: ExistingObjectReplicationStatus -> Text
+ Amazonka.S3.Types: [fromExpirationStatus] :: ExpirationStatus -> Text
+ Amazonka.S3.Types: [fromExpressionType] :: ExpressionType -> Text
+ Amazonka.S3.Types: [fromFileHeaderInfo] :: FileHeaderInfo -> Text
+ Amazonka.S3.Types: [fromFilterRuleName] :: FilterRuleName -> Text
+ Amazonka.S3.Types: [fromIntelligentTieringAccessTier] :: IntelligentTieringAccessTier -> Text
+ Amazonka.S3.Types: [fromIntelligentTieringStatus] :: IntelligentTieringStatus -> Text
+ Amazonka.S3.Types: [fromInventoryFormat] :: InventoryFormat -> Text
+ Amazonka.S3.Types: [fromInventoryFrequency] :: InventoryFrequency -> Text
+ Amazonka.S3.Types: [fromInventoryIncludedObjectVersions] :: InventoryIncludedObjectVersions -> Text
+ Amazonka.S3.Types: [fromInventoryOptionalField] :: InventoryOptionalField -> Text
+ Amazonka.S3.Types: [fromJSONType] :: JSONType -> Text
+ Amazonka.S3.Types: [fromMFADeleteStatus] :: MFADeleteStatus -> Text
+ Amazonka.S3.Types: [fromMFADelete] :: MFADelete -> Text
+ Amazonka.S3.Types: [fromMetadataDirective] :: MetadataDirective -> Text
+ Amazonka.S3.Types: [fromMetricsStatus] :: MetricsStatus -> Text
+ Amazonka.S3.Types: [fromObjectAttributes] :: ObjectAttributes -> Text
+ Amazonka.S3.Types: [fromObjectCannedACL] :: ObjectCannedACL -> Text
+ Amazonka.S3.Types: [fromObjectLockEnabled] :: ObjectLockEnabled -> Text
+ Amazonka.S3.Types: [fromObjectLockLegalHoldStatus] :: ObjectLockLegalHoldStatus -> Text
+ Amazonka.S3.Types: [fromObjectLockMode] :: ObjectLockMode -> Text
+ Amazonka.S3.Types: [fromObjectLockRetentionMode] :: ObjectLockRetentionMode -> Text
+ Amazonka.S3.Types: [fromObjectOwnership] :: ObjectOwnership -> Text
+ Amazonka.S3.Types: [fromObjectStorageClass] :: ObjectStorageClass -> Text
+ Amazonka.S3.Types: [fromObjectVersionStorageClass] :: ObjectVersionStorageClass -> Text
+ Amazonka.S3.Types: [fromOwnerOverride] :: OwnerOverride -> Text
+ Amazonka.S3.Types: [fromPayer] :: Payer -> Text
+ Amazonka.S3.Types: [fromPermission] :: Permission -> Text
+ Amazonka.S3.Types: [fromProtocol] :: Protocol -> Text
+ Amazonka.S3.Types: [fromQuoteFields] :: QuoteFields -> Text
+ Amazonka.S3.Types: [fromReplicaModificationsStatus] :: ReplicaModificationsStatus -> Text
+ Amazonka.S3.Types: [fromReplicationRuleStatus] :: ReplicationRuleStatus -> Text
+ Amazonka.S3.Types: [fromReplicationStatus] :: ReplicationStatus -> Text
+ Amazonka.S3.Types: [fromReplicationTimeStatus] :: ReplicationTimeStatus -> Text
+ Amazonka.S3.Types: [fromRequestCharged] :: RequestCharged -> Text
+ Amazonka.S3.Types: [fromRequestPayer] :: RequestPayer -> Text
+ Amazonka.S3.Types: [fromRestoreRequestType] :: RestoreRequestType -> Text
+ Amazonka.S3.Types: [fromServerSideEncryption] :: ServerSideEncryption -> Text
+ Amazonka.S3.Types: [fromSseKmsEncryptedObjectsStatus] :: SseKmsEncryptedObjectsStatus -> Text
+ Amazonka.S3.Types: [fromStorageClassAnalysisSchemaVersion] :: StorageClassAnalysisSchemaVersion -> Text
+ Amazonka.S3.Types: [fromStorageClass] :: StorageClass -> Text
+ Amazonka.S3.Types: [fromTaggingDirective] :: TaggingDirective -> Text
+ Amazonka.S3.Types: [fromTier] :: Tier -> Text
+ Amazonka.S3.Types: [fromTransitionStorageClass] :: TransitionStorageClass -> Text
+ Amazonka.S3.Types: [fromType] :: Type -> Text
+ Amazonka.S3.Types: _BucketAlreadyExists :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _BucketAlreadyOwnedByYou :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _InvalidObjectState :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _NoSuchBucket :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _NoSuchKey :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _NoSuchUpload :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _ObjectAlreadyInActiveTierError :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: _ObjectNotInActiveTierError :: AsError a => Fold a ServiceError
+ Amazonka.S3.Types: abortIncompleteMultipartUpload_daysAfterInitiation :: Lens' AbortIncompleteMultipartUpload (Maybe Int)
+ Amazonka.S3.Types: accelerateConfiguration_status :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)
+ Amazonka.S3.Types: accessControlPolicy_grants :: Lens' AccessControlPolicy (Maybe [Grant])
+ Amazonka.S3.Types: accessControlPolicy_owner :: Lens' AccessControlPolicy (Maybe Owner)
+ Amazonka.S3.Types: accessControlTranslation_owner :: Lens' AccessControlTranslation OwnerOverride
+ Amazonka.S3.Types: analyticsAndOperator_prefix :: Lens' AnalyticsAndOperator (Maybe Text)
+ Amazonka.S3.Types: analyticsAndOperator_tags :: Lens' AnalyticsAndOperator (Maybe [Tag])
+ Amazonka.S3.Types: analyticsConfiguration_filter :: Lens' AnalyticsConfiguration (Maybe AnalyticsFilter)
+ Amazonka.S3.Types: analyticsConfiguration_id :: Lens' AnalyticsConfiguration Text
+ Amazonka.S3.Types: analyticsConfiguration_storageClassAnalysis :: Lens' AnalyticsConfiguration StorageClassAnalysis
+ Amazonka.S3.Types: analyticsExportDestination_s3BucketDestination :: Lens' AnalyticsExportDestination AnalyticsS3BucketDestination
+ Amazonka.S3.Types: analyticsFilter_and :: Lens' AnalyticsFilter (Maybe AnalyticsAndOperator)
+ Amazonka.S3.Types: analyticsFilter_prefix :: Lens' AnalyticsFilter (Maybe Text)
+ Amazonka.S3.Types: analyticsFilter_tag :: Lens' AnalyticsFilter (Maybe Tag)
+ Amazonka.S3.Types: analyticsS3BucketDestination_bucket :: Lens' AnalyticsS3BucketDestination BucketName
+ Amazonka.S3.Types: analyticsS3BucketDestination_bucketAccountId :: Lens' AnalyticsS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types: analyticsS3BucketDestination_format :: Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types: analyticsS3BucketDestination_prefix :: Lens' AnalyticsS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types: bucketLifecycleConfiguration_rules :: Lens' BucketLifecycleConfiguration [LifecycleRule]
+ Amazonka.S3.Types: bucketLoggingStatus_loggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)
+ Amazonka.S3.Types: bucket_creationDate :: Lens' Bucket UTCTime
+ Amazonka.S3.Types: bucket_name :: Lens' Bucket BucketName
+ Amazonka.S3.Types: cORSConfiguration_cORSRules :: Lens' CORSConfiguration [CORSRule]
+ Amazonka.S3.Types: cORSRule_allowedHeaders :: Lens' CORSRule (Maybe [Text])
+ Amazonka.S3.Types: cORSRule_allowedMethods :: Lens' CORSRule [Text]
+ Amazonka.S3.Types: cORSRule_allowedOrigins :: Lens' CORSRule [Text]
+ Amazonka.S3.Types: cORSRule_exposeHeaders :: Lens' CORSRule (Maybe [Text])
+ Amazonka.S3.Types: cORSRule_id :: Lens' CORSRule (Maybe Text)
+ Amazonka.S3.Types: cORSRule_maxAgeSeconds :: Lens' CORSRule (Maybe Int)
+ Amazonka.S3.Types: cSVInput_allowQuotedRecordDelimiter :: Lens' CSVInput (Maybe Bool)
+ Amazonka.S3.Types: cSVInput_comments :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types: cSVInput_fieldDelimiter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types: cSVInput_fileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
+ Amazonka.S3.Types: cSVInput_quoteCharacter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types: cSVInput_quoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types: cSVInput_recordDelimiter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types: cSVOutput_fieldDelimiter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types: cSVOutput_quoteCharacter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types: cSVOutput_quoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types: cSVOutput_quoteFields :: Lens' CSVOutput (Maybe QuoteFields)
+ Amazonka.S3.Types: cSVOutput_recordDelimiter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types: checksum_checksumCRC32 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types: checksum_checksumCRC32C :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types: checksum_checksumSHA1 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types: checksum_checksumSHA256 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types: commonPrefix_prefix :: Lens' CommonPrefix (Maybe Text)
+ Amazonka.S3.Types: completedMultipartUpload_parts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
+ Amazonka.S3.Types: completedPart_checksumCRC32 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types: completedPart_checksumCRC32C :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types: completedPart_checksumSHA1 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types: completedPart_checksumSHA256 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types: completedPart_eTag :: Lens' CompletedPart ETag
+ Amazonka.S3.Types: completedPart_partNumber :: Lens' CompletedPart Int
+ Amazonka.S3.Types: condition_httpErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
+ Amazonka.S3.Types: condition_keyPrefixEquals :: Lens' Condition (Maybe Text)
+ Amazonka.S3.Types: copyObjectResult_checksumCRC32 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types: copyObjectResult_checksumCRC32C :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types: copyObjectResult_checksumSHA1 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types: copyObjectResult_checksumSHA256 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types: copyObjectResult_eTag :: Lens' CopyObjectResult (Maybe ETag)
+ Amazonka.S3.Types: copyObjectResult_lastModified :: Lens' CopyObjectResult (Maybe UTCTime)
+ Amazonka.S3.Types: copyPartResult_checksumCRC32 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types: copyPartResult_checksumCRC32C :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types: copyPartResult_checksumSHA1 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types: copyPartResult_checksumSHA256 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types: copyPartResult_eTag :: Lens' CopyPartResult (Maybe ETag)
+ Amazonka.S3.Types: copyPartResult_lastModified :: Lens' CopyPartResult (Maybe UTCTime)
+ Amazonka.S3.Types: createBucketConfiguration_locationConstraint :: Lens' CreateBucketConfiguration (Maybe LocationConstraint)
+ Amazonka.S3.Types: data AbortIncompleteMultipartUpload
+ Amazonka.S3.Types: data AccelerateConfiguration
+ Amazonka.S3.Types: data AccessControlPolicy
+ Amazonka.S3.Types: data AccessControlTranslation
+ Amazonka.S3.Types: data AnalyticsAndOperator
+ Amazonka.S3.Types: data AnalyticsConfiguration
+ Amazonka.S3.Types: data AnalyticsExportDestination
+ Amazonka.S3.Types: data AnalyticsFilter
+ Amazonka.S3.Types: data AnalyticsS3BucketDestination
+ Amazonka.S3.Types: data Bucket
+ Amazonka.S3.Types: data BucketLifecycleConfiguration
+ Amazonka.S3.Types: data BucketLoggingStatus
+ Amazonka.S3.Types: data CORSConfiguration
+ Amazonka.S3.Types: data CORSRule
+ Amazonka.S3.Types: data CSVInput
+ Amazonka.S3.Types: data CSVOutput
+ Amazonka.S3.Types: data Checksum
+ Amazonka.S3.Types: data CommonPrefix
+ Amazonka.S3.Types: data CompletedMultipartUpload
+ Amazonka.S3.Types: data CompletedPart
+ Amazonka.S3.Types: data Condition
+ Amazonka.S3.Types: data ContinuationEvent
+ Amazonka.S3.Types: data CopyObjectResult
+ Amazonka.S3.Types: data CopyPartResult
+ Amazonka.S3.Types: data CreateBucketConfiguration
+ Amazonka.S3.Types: data DefaultRetention
+ Amazonka.S3.Types: data Delete
+ Amazonka.S3.Types: data DeleteMarkerEntry
+ Amazonka.S3.Types: data DeleteMarkerReplication
+ Amazonka.S3.Types: data DeletedObject
+ Amazonka.S3.Types: data Destination
+ Amazonka.S3.Types: data Encryption
+ Amazonka.S3.Types: data EncryptionConfiguration
+ Amazonka.S3.Types: data EndEvent
+ Amazonka.S3.Types: data ErrorDocument
+ Amazonka.S3.Types: data EventBridgeConfiguration
+ Amazonka.S3.Types: data ExistingObjectReplication
+ Amazonka.S3.Types: data FilterRule
+ Amazonka.S3.Types: data GetObjectAttributesParts
+ Amazonka.S3.Types: data GlacierJobParameters
+ Amazonka.S3.Types: data Grant
+ Amazonka.S3.Types: data Grantee
+ Amazonka.S3.Types: data IndexDocument
+ Amazonka.S3.Types: data Initiator
+ Amazonka.S3.Types: data InputSerialization
+ Amazonka.S3.Types: data IntelligentTieringAndOperator
+ Amazonka.S3.Types: data IntelligentTieringConfiguration
+ Amazonka.S3.Types: data IntelligentTieringFilter
+ Amazonka.S3.Types: data InventoryConfiguration
+ Amazonka.S3.Types: data InventoryDestination
+ Amazonka.S3.Types: data InventoryEncryption
+ Amazonka.S3.Types: data InventoryFilter
+ Amazonka.S3.Types: data InventoryS3BucketDestination
+ Amazonka.S3.Types: data InventorySchedule
+ Amazonka.S3.Types: data JSONInput
+ Amazonka.S3.Types: data JSONOutput
+ Amazonka.S3.Types: data LambdaFunctionConfiguration
+ Amazonka.S3.Types: data LifecycleExpiration
+ Amazonka.S3.Types: data LifecycleRule
+ Amazonka.S3.Types: data LifecycleRuleAndOperator
+ Amazonka.S3.Types: data LifecycleRuleFilter
+ Amazonka.S3.Types: data LoggingEnabled
+ Amazonka.S3.Types: data MetadataEntry
+ Amazonka.S3.Types: data Metrics
+ Amazonka.S3.Types: data MetricsAndOperator
+ Amazonka.S3.Types: data MetricsConfiguration
+ Amazonka.S3.Types: data MetricsFilter
+ Amazonka.S3.Types: data MultipartUpload
+ Amazonka.S3.Types: data NoncurrentVersionExpiration
+ Amazonka.S3.Types: data NoncurrentVersionTransition
+ Amazonka.S3.Types: data NotificationConfiguration
+ Amazonka.S3.Types: data NotificationConfigurationFilter
+ Amazonka.S3.Types: data Object
+ Amazonka.S3.Types: data ObjectIdentifier
+ Amazonka.S3.Types: data ObjectLockConfiguration
+ Amazonka.S3.Types: data ObjectLockLegalHold
+ Amazonka.S3.Types: data ObjectLockRetention
+ Amazonka.S3.Types: data ObjectLockRule
+ Amazonka.S3.Types: data ObjectPart
+ Amazonka.S3.Types: data ObjectVersion
+ Amazonka.S3.Types: data OutputLocation
+ Amazonka.S3.Types: data OutputSerialization
+ Amazonka.S3.Types: data Owner
+ Amazonka.S3.Types: data OwnershipControls
+ Amazonka.S3.Types: data OwnershipControlsRule
+ Amazonka.S3.Types: data ParquetInput
+ Amazonka.S3.Types: data Part
+ Amazonka.S3.Types: data PolicyStatus
+ Amazonka.S3.Types: data Progress
+ Amazonka.S3.Types: data ProgressEvent
+ Amazonka.S3.Types: data PublicAccessBlockConfiguration
+ Amazonka.S3.Types: data QueueConfiguration
+ Amazonka.S3.Types: data RecordsEvent
+ Amazonka.S3.Types: data Redirect
+ Amazonka.S3.Types: data RedirectAllRequestsTo
+ Amazonka.S3.Types: data ReplicaModifications
+ Amazonka.S3.Types: data ReplicationConfiguration
+ Amazonka.S3.Types: data ReplicationRule
+ Amazonka.S3.Types: data ReplicationRuleAndOperator
+ Amazonka.S3.Types: data ReplicationRuleFilter
+ Amazonka.S3.Types: data ReplicationTime
+ Amazonka.S3.Types: data ReplicationTimeValue
+ Amazonka.S3.Types: data RequestPaymentConfiguration
+ Amazonka.S3.Types: data RequestProgress
+ Amazonka.S3.Types: data RestoreRequest
+ Amazonka.S3.Types: data RoutingRule
+ Amazonka.S3.Types: data S3KeyFilter
+ Amazonka.S3.Types: data S3Location
+ Amazonka.S3.Types: data S3ServiceError
+ Amazonka.S3.Types: data SSEKMS
+ Amazonka.S3.Types: data SSES3
+ Amazonka.S3.Types: data ScanRange
+ Amazonka.S3.Types: data SelectObjectContentEventStream
+ Amazonka.S3.Types: data SelectParameters
+ Amazonka.S3.Types: data ServerSideEncryptionByDefault
+ Amazonka.S3.Types: data ServerSideEncryptionConfiguration
+ Amazonka.S3.Types: data ServerSideEncryptionRule
+ Amazonka.S3.Types: data SourceSelectionCriteria
+ Amazonka.S3.Types: data SseKmsEncryptedObjects
+ Amazonka.S3.Types: data Stats
+ Amazonka.S3.Types: data StatsEvent
+ Amazonka.S3.Types: data StorageClassAnalysis
+ Amazonka.S3.Types: data StorageClassAnalysisDataExport
+ Amazonka.S3.Types: data Tag
+ Amazonka.S3.Types: data Tagging
+ Amazonka.S3.Types: data TargetGrant
+ Amazonka.S3.Types: data Tiering
+ Amazonka.S3.Types: data TopicConfiguration
+ Amazonka.S3.Types: data Transition
+ Amazonka.S3.Types: data VersioningConfiguration
+ Amazonka.S3.Types: data WebsiteConfiguration
+ Amazonka.S3.Types: defaultRetention_days :: Lens' DefaultRetention (Maybe Int)
+ Amazonka.S3.Types: defaultRetention_mode :: Lens' DefaultRetention (Maybe ObjectLockRetentionMode)
+ Amazonka.S3.Types: defaultRetention_years :: Lens' DefaultRetention (Maybe Int)
+ Amazonka.S3.Types: defaultService :: Service
+ Amazonka.S3.Types: deleteMarkerEntry_isLatest :: Lens' DeleteMarkerEntry (Maybe Bool)
+ Amazonka.S3.Types: deleteMarkerEntry_key :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
+ Amazonka.S3.Types: deleteMarkerEntry_lastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)
+ Amazonka.S3.Types: deleteMarkerEntry_owner :: Lens' DeleteMarkerEntry (Maybe Owner)
+ Amazonka.S3.Types: deleteMarkerEntry_versionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
+ Amazonka.S3.Types: deleteMarkerReplication_status :: Lens' DeleteMarkerReplication (Maybe DeleteMarkerReplicationStatus)
+ Amazonka.S3.Types: delete_objects :: Lens' Delete [ObjectIdentifier]
+ Amazonka.S3.Types: delete_quiet :: Lens' Delete (Maybe Bool)
+ Amazonka.S3.Types: deletedObject_deleteMarker :: Lens' DeletedObject (Maybe Bool)
+ Amazonka.S3.Types: deletedObject_deleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
+ Amazonka.S3.Types: deletedObject_key :: Lens' DeletedObject (Maybe ObjectKey)
+ Amazonka.S3.Types: deletedObject_versionId :: Lens' DeletedObject (Maybe ObjectVersionId)
+ Amazonka.S3.Types: destination_accessControlTranslation :: Lens' Destination (Maybe AccessControlTranslation)
+ Amazonka.S3.Types: destination_account :: Lens' Destination (Maybe Text)
+ Amazonka.S3.Types: destination_bucket :: Lens' Destination BucketName
+ Amazonka.S3.Types: destination_encryptionConfiguration :: Lens' Destination (Maybe EncryptionConfiguration)
+ Amazonka.S3.Types: destination_metrics :: Lens' Destination (Maybe Metrics)
+ Amazonka.S3.Types: destination_replicationTime :: Lens' Destination (Maybe ReplicationTime)
+ Amazonka.S3.Types: destination_storageClass :: Lens' Destination (Maybe StorageClass)
+ Amazonka.S3.Types: encryptionConfiguration_replicaKmsKeyID :: Lens' EncryptionConfiguration (Maybe Text)
+ Amazonka.S3.Types: encryption_encryptionType :: Lens' Encryption ServerSideEncryption
+ Amazonka.S3.Types: encryption_kmsContext :: Lens' Encryption (Maybe Text)
+ Amazonka.S3.Types: encryption_kmsKeyId :: Lens' Encryption (Maybe Text)
+ Amazonka.S3.Types: errorDocument_key :: Lens' ErrorDocument ObjectKey
+ Amazonka.S3.Types: existingObjectReplication_status :: Lens' ExistingObjectReplication ExistingObjectReplicationStatus
+ Amazonka.S3.Types: filterRule_name :: Lens' FilterRule (Maybe FilterRuleName)
+ Amazonka.S3.Types: filterRule_value :: Lens' FilterRule (Maybe Text)
+ Amazonka.S3.Types: getObjectAttributesParts_isTruncated :: Lens' GetObjectAttributesParts (Maybe Bool)
+ Amazonka.S3.Types: getObjectAttributesParts_maxParts :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types: getObjectAttributesParts_nextPartNumberMarker :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types: getObjectAttributesParts_partNumberMarker :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types: getObjectAttributesParts_parts :: Lens' GetObjectAttributesParts (Maybe [ObjectPart])
+ Amazonka.S3.Types: getObjectAttributesParts_totalPartsCount :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types: glacierJobParameters_tier :: Lens' GlacierJobParameters Tier
+ Amazonka.S3.Types: grant_grantee :: Lens' Grant (Maybe Grantee)
+ Amazonka.S3.Types: grant_permission :: Lens' Grant (Maybe Permission)
+ Amazonka.S3.Types: grantee_displayName :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types: grantee_emailAddress :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types: grantee_id :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types: grantee_type :: Lens' Grantee Type
+ Amazonka.S3.Types: grantee_uri :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types: indexDocument_suffix :: Lens' IndexDocument Text
+ Amazonka.S3.Types: initiator_displayName :: Lens' Initiator (Maybe Text)
+ Amazonka.S3.Types: initiator_id :: Lens' Initiator (Maybe Text)
+ Amazonka.S3.Types: inputSerialization_compressionType :: Lens' InputSerialization (Maybe CompressionType)
+ Amazonka.S3.Types: inputSerialization_csv :: Lens' InputSerialization (Maybe CSVInput)
+ Amazonka.S3.Types: inputSerialization_json :: Lens' InputSerialization (Maybe JSONInput)
+ Amazonka.S3.Types: inputSerialization_parquet :: Lens' InputSerialization (Maybe ParquetInput)
+ Amazonka.S3.Types: intelligentTieringAndOperator_prefix :: Lens' IntelligentTieringAndOperator (Maybe Text)
+ Amazonka.S3.Types: intelligentTieringAndOperator_tags :: Lens' IntelligentTieringAndOperator (Maybe [Tag])
+ Amazonka.S3.Types: intelligentTieringConfiguration_filter :: Lens' IntelligentTieringConfiguration (Maybe IntelligentTieringFilter)
+ Amazonka.S3.Types: intelligentTieringConfiguration_id :: Lens' IntelligentTieringConfiguration Text
+ Amazonka.S3.Types: intelligentTieringConfiguration_status :: Lens' IntelligentTieringConfiguration IntelligentTieringStatus
+ Amazonka.S3.Types: intelligentTieringConfiguration_tierings :: Lens' IntelligentTieringConfiguration [Tiering]
+ Amazonka.S3.Types: intelligentTieringFilter_and :: Lens' IntelligentTieringFilter (Maybe IntelligentTieringAndOperator)
+ Amazonka.S3.Types: intelligentTieringFilter_prefix :: Lens' IntelligentTieringFilter (Maybe Text)
+ Amazonka.S3.Types: intelligentTieringFilter_tag :: Lens' IntelligentTieringFilter (Maybe Tag)
+ Amazonka.S3.Types: inventoryConfiguration_destination :: Lens' InventoryConfiguration InventoryDestination
+ Amazonka.S3.Types: inventoryConfiguration_filter :: Lens' InventoryConfiguration (Maybe InventoryFilter)
+ Amazonka.S3.Types: inventoryConfiguration_id :: Lens' InventoryConfiguration Text
+ Amazonka.S3.Types: inventoryConfiguration_includedObjectVersions :: Lens' InventoryConfiguration InventoryIncludedObjectVersions
+ Amazonka.S3.Types: inventoryConfiguration_isEnabled :: Lens' InventoryConfiguration Bool
+ Amazonka.S3.Types: inventoryConfiguration_optionalFields :: Lens' InventoryConfiguration (Maybe [InventoryOptionalField])
+ Amazonka.S3.Types: inventoryConfiguration_schedule :: Lens' InventoryConfiguration InventorySchedule
+ Amazonka.S3.Types: inventoryDestination_s3BucketDestination :: Lens' InventoryDestination InventoryS3BucketDestination
+ Amazonka.S3.Types: inventoryEncryption_ssekms :: Lens' InventoryEncryption (Maybe SSEKMS)
+ Amazonka.S3.Types: inventoryEncryption_sses3 :: Lens' InventoryEncryption (Maybe SSES3)
+ Amazonka.S3.Types: inventoryFilter_prefix :: Lens' InventoryFilter Text
+ Amazonka.S3.Types: inventoryS3BucketDestination_accountId :: Lens' InventoryS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types: inventoryS3BucketDestination_bucket :: Lens' InventoryS3BucketDestination BucketName
+ Amazonka.S3.Types: inventoryS3BucketDestination_encryption :: Lens' InventoryS3BucketDestination (Maybe InventoryEncryption)
+ Amazonka.S3.Types: inventoryS3BucketDestination_format :: Lens' InventoryS3BucketDestination InventoryFormat
+ Amazonka.S3.Types: inventoryS3BucketDestination_prefix :: Lens' InventoryS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types: inventorySchedule_frequency :: Lens' InventorySchedule InventoryFrequency
+ Amazonka.S3.Types: jSONInput_type :: Lens' JSONInput (Maybe JSONType)
+ Amazonka.S3.Types: jSONOutput_recordDelimiter :: Lens' JSONOutput (Maybe Text)
+ Amazonka.S3.Types: lambdaFunctionConfiguration_events :: Lens' LambdaFunctionConfiguration [Event]
+ Amazonka.S3.Types: lambdaFunctionConfiguration_filter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Types: lambdaFunctionConfiguration_id :: Lens' LambdaFunctionConfiguration (Maybe Text)
+ Amazonka.S3.Types: lambdaFunctionConfiguration_lambdaFunctionArn :: Lens' LambdaFunctionConfiguration Text
+ Amazonka.S3.Types: lifecycleExpiration_date :: Lens' LifecycleExpiration (Maybe UTCTime)
+ Amazonka.S3.Types: lifecycleExpiration_days :: Lens' LifecycleExpiration (Maybe Int)
+ Amazonka.S3.Types: lifecycleExpiration_expiredObjectDeleteMarker :: Lens' LifecycleExpiration (Maybe Bool)
+ Amazonka.S3.Types: lifecycleRuleAndOperator_objectSizeGreaterThan :: Lens' LifecycleRuleAndOperator (Maybe Integer)
+ Amazonka.S3.Types: lifecycleRuleAndOperator_objectSizeLessThan :: Lens' LifecycleRuleAndOperator (Maybe Integer)
+ Amazonka.S3.Types: lifecycleRuleAndOperator_prefix :: Lens' LifecycleRuleAndOperator (Maybe Text)
+ Amazonka.S3.Types: lifecycleRuleAndOperator_tags :: Lens' LifecycleRuleAndOperator (Maybe [Tag])
+ Amazonka.S3.Types: lifecycleRuleFilter_and :: Lens' LifecycleRuleFilter (Maybe LifecycleRuleAndOperator)
+ Amazonka.S3.Types: lifecycleRuleFilter_objectSizeGreaterThan :: Lens' LifecycleRuleFilter (Maybe Integer)
+ Amazonka.S3.Types: lifecycleRuleFilter_objectSizeLessThan :: Lens' LifecycleRuleFilter (Maybe Integer)
+ Amazonka.S3.Types: lifecycleRuleFilter_prefix :: Lens' LifecycleRuleFilter (Maybe Text)
+ Amazonka.S3.Types: lifecycleRuleFilter_tag :: Lens' LifecycleRuleFilter (Maybe Tag)
+ Amazonka.S3.Types: lifecycleRule_abortIncompleteMultipartUpload :: Lens' LifecycleRule (Maybe AbortIncompleteMultipartUpload)
+ Amazonka.S3.Types: lifecycleRule_expiration :: Lens' LifecycleRule (Maybe LifecycleExpiration)
+ Amazonka.S3.Types: lifecycleRule_filter :: Lens' LifecycleRule (Maybe LifecycleRuleFilter)
+ Amazonka.S3.Types: lifecycleRule_id :: Lens' LifecycleRule (Maybe Text)
+ Amazonka.S3.Types: lifecycleRule_noncurrentVersionExpiration :: Lens' LifecycleRule (Maybe NoncurrentVersionExpiration)
+ Amazonka.S3.Types: lifecycleRule_noncurrentVersionTransitions :: Lens' LifecycleRule (Maybe [NoncurrentVersionTransition])
+ Amazonka.S3.Types: lifecycleRule_prefix :: Lens' LifecycleRule (Maybe Text)
+ Amazonka.S3.Types: lifecycleRule_status :: Lens' LifecycleRule ExpirationStatus
+ Amazonka.S3.Types: lifecycleRule_transitions :: Lens' LifecycleRule (Maybe [Transition])
+ Amazonka.S3.Types: loggingEnabled_targetBucket :: Lens' LoggingEnabled Text
+ Amazonka.S3.Types: loggingEnabled_targetGrants :: Lens' LoggingEnabled (Maybe [TargetGrant])
+ Amazonka.S3.Types: loggingEnabled_targetPrefix :: Lens' LoggingEnabled Text
+ Amazonka.S3.Types: metadataEntry_name :: Lens' MetadataEntry (Maybe Text)
+ Amazonka.S3.Types: metadataEntry_value :: Lens' MetadataEntry (Maybe Text)
+ Amazonka.S3.Types: metricsAndOperator_accessPointArn :: Lens' MetricsAndOperator (Maybe Text)
+ Amazonka.S3.Types: metricsAndOperator_prefix :: Lens' MetricsAndOperator (Maybe Text)
+ Amazonka.S3.Types: metricsAndOperator_tags :: Lens' MetricsAndOperator (Maybe [Tag])
+ Amazonka.S3.Types: metricsConfiguration_filter :: Lens' MetricsConfiguration (Maybe MetricsFilter)
+ Amazonka.S3.Types: metricsConfiguration_id :: Lens' MetricsConfiguration Text
+ Amazonka.S3.Types: metricsFilter_accessPointArn :: Lens' MetricsFilter (Maybe Text)
+ Amazonka.S3.Types: metricsFilter_and :: Lens' MetricsFilter (Maybe MetricsAndOperator)
+ Amazonka.S3.Types: metricsFilter_prefix :: Lens' MetricsFilter (Maybe Text)
+ Amazonka.S3.Types: metricsFilter_tag :: Lens' MetricsFilter (Maybe Tag)
+ Amazonka.S3.Types: metrics_eventThreshold :: Lens' Metrics (Maybe ReplicationTimeValue)
+ Amazonka.S3.Types: metrics_status :: Lens' Metrics MetricsStatus
+ Amazonka.S3.Types: multipartUpload_checksumAlgorithm :: Lens' MultipartUpload (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Types: multipartUpload_initiated :: Lens' MultipartUpload (Maybe UTCTime)
+ Amazonka.S3.Types: multipartUpload_initiator :: Lens' MultipartUpload (Maybe Initiator)
+ Amazonka.S3.Types: multipartUpload_key :: Lens' MultipartUpload (Maybe ObjectKey)
+ Amazonka.S3.Types: multipartUpload_owner :: Lens' MultipartUpload (Maybe Owner)
+ Amazonka.S3.Types: multipartUpload_storageClass :: Lens' MultipartUpload (Maybe StorageClass)
+ Amazonka.S3.Types: multipartUpload_uploadId :: Lens' MultipartUpload (Maybe Text)
+ Amazonka.S3.Types: newAbortIncompleteMultipartUpload :: AbortIncompleteMultipartUpload
+ Amazonka.S3.Types: newAccelerateConfiguration :: AccelerateConfiguration
+ Amazonka.S3.Types: newAccessControlPolicy :: AccessControlPolicy
+ Amazonka.S3.Types: newAccessControlTranslation :: OwnerOverride -> AccessControlTranslation
+ Amazonka.S3.Types: newAnalyticsAndOperator :: AnalyticsAndOperator
+ Amazonka.S3.Types: newAnalyticsConfiguration :: Text -> StorageClassAnalysis -> AnalyticsConfiguration
+ Amazonka.S3.Types: newAnalyticsExportDestination :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
+ Amazonka.S3.Types: newAnalyticsFilter :: AnalyticsFilter
+ Amazonka.S3.Types: newAnalyticsS3BucketDestination :: AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
+ Amazonka.S3.Types: newBucket :: UTCTime -> BucketName -> Bucket
+ Amazonka.S3.Types: newBucketLifecycleConfiguration :: BucketLifecycleConfiguration
+ Amazonka.S3.Types: newBucketLoggingStatus :: BucketLoggingStatus
+ Amazonka.S3.Types: newCORSConfiguration :: CORSConfiguration
+ Amazonka.S3.Types: newCORSRule :: CORSRule
+ Amazonka.S3.Types: newCSVInput :: CSVInput
+ Amazonka.S3.Types: newCSVOutput :: CSVOutput
+ Amazonka.S3.Types: newChecksum :: Checksum
+ Amazonka.S3.Types: newCommonPrefix :: CommonPrefix
+ Amazonka.S3.Types: newCompletedMultipartUpload :: CompletedMultipartUpload
+ Amazonka.S3.Types: newCompletedPart :: Int -> ETag -> CompletedPart
+ Amazonka.S3.Types: newCondition :: Condition
+ Amazonka.S3.Types: newContinuationEvent :: ContinuationEvent
+ Amazonka.S3.Types: newCopyObjectResult :: CopyObjectResult
+ Amazonka.S3.Types: newCopyPartResult :: CopyPartResult
+ Amazonka.S3.Types: newCreateBucketConfiguration :: CreateBucketConfiguration
+ Amazonka.S3.Types: newDefaultRetention :: DefaultRetention
+ Amazonka.S3.Types: newDelete :: Delete
+ Amazonka.S3.Types: newDeleteMarkerEntry :: DeleteMarkerEntry
+ Amazonka.S3.Types: newDeleteMarkerReplication :: DeleteMarkerReplication
+ Amazonka.S3.Types: newDeletedObject :: DeletedObject
+ Amazonka.S3.Types: newDestination :: BucketName -> Destination
+ Amazonka.S3.Types: newEncryption :: ServerSideEncryption -> Encryption
+ Amazonka.S3.Types: newEncryptionConfiguration :: EncryptionConfiguration
+ Amazonka.S3.Types: newEndEvent :: EndEvent
+ Amazonka.S3.Types: newErrorDocument :: ObjectKey -> ErrorDocument
+ Amazonka.S3.Types: newEventBridgeConfiguration :: EventBridgeConfiguration
+ Amazonka.S3.Types: newExistingObjectReplication :: ExistingObjectReplicationStatus -> ExistingObjectReplication
+ Amazonka.S3.Types: newFilterRule :: FilterRule
+ Amazonka.S3.Types: newGetObjectAttributesParts :: GetObjectAttributesParts
+ Amazonka.S3.Types: newGlacierJobParameters :: Tier -> GlacierJobParameters
+ Amazonka.S3.Types: newGrant :: Grant
+ Amazonka.S3.Types: newGrantee :: Type -> Grantee
+ Amazonka.S3.Types: newIndexDocument :: Text -> IndexDocument
+ Amazonka.S3.Types: newInitiator :: Initiator
+ Amazonka.S3.Types: newInputSerialization :: InputSerialization
+ Amazonka.S3.Types: newIntelligentTieringAndOperator :: IntelligentTieringAndOperator
+ Amazonka.S3.Types: newIntelligentTieringConfiguration :: Text -> IntelligentTieringStatus -> IntelligentTieringConfiguration
+ Amazonka.S3.Types: newIntelligentTieringFilter :: IntelligentTieringFilter
+ Amazonka.S3.Types: newInventoryConfiguration :: InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
+ Amazonka.S3.Types: newInventoryDestination :: InventoryS3BucketDestination -> InventoryDestination
+ Amazonka.S3.Types: newInventoryEncryption :: InventoryEncryption
+ Amazonka.S3.Types: newInventoryFilter :: Text -> InventoryFilter
+ Amazonka.S3.Types: newInventoryS3BucketDestination :: BucketName -> InventoryFormat -> InventoryS3BucketDestination
+ Amazonka.S3.Types: newInventorySchedule :: InventoryFrequency -> InventorySchedule
+ Amazonka.S3.Types: newJSONInput :: JSONInput
+ Amazonka.S3.Types: newJSONOutput :: JSONOutput
+ Amazonka.S3.Types: newLambdaFunctionConfiguration :: Text -> LambdaFunctionConfiguration
+ Amazonka.S3.Types: newLifecycleExpiration :: LifecycleExpiration
+ Amazonka.S3.Types: newLifecycleRule :: ExpirationStatus -> LifecycleRule
+ Amazonka.S3.Types: newLifecycleRuleAndOperator :: LifecycleRuleAndOperator
+ Amazonka.S3.Types: newLifecycleRuleFilter :: LifecycleRuleFilter
+ Amazonka.S3.Types: newLoggingEnabled :: Text -> Text -> LoggingEnabled
+ Amazonka.S3.Types: newMetadataEntry :: MetadataEntry
+ Amazonka.S3.Types: newMetrics :: MetricsStatus -> Metrics
+ Amazonka.S3.Types: newMetricsAndOperator :: MetricsAndOperator
+ Amazonka.S3.Types: newMetricsConfiguration :: Text -> MetricsConfiguration
+ Amazonka.S3.Types: newMetricsFilter :: MetricsFilter
+ Amazonka.S3.Types: newMultipartUpload :: MultipartUpload
+ Amazonka.S3.Types: newNoncurrentVersionExpiration :: Int -> NoncurrentVersionExpiration
+ Amazonka.S3.Types: newNoncurrentVersionTransition :: Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Amazonka.S3.Types: newNotificationConfiguration :: NotificationConfiguration
+ Amazonka.S3.Types: newNotificationConfigurationFilter :: NotificationConfigurationFilter
+ Amazonka.S3.Types: newObject :: ETag -> Integer -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
+ Amazonka.S3.Types: newObjectIdentifier :: ObjectKey -> ObjectIdentifier
+ Amazonka.S3.Types: newObjectLockConfiguration :: ObjectLockConfiguration
+ Amazonka.S3.Types: newObjectLockLegalHold :: ObjectLockLegalHold
+ Amazonka.S3.Types: newObjectLockRetention :: ObjectLockRetention
+ Amazonka.S3.Types: newObjectLockRule :: ObjectLockRule
+ Amazonka.S3.Types: newObjectPart :: ObjectPart
+ Amazonka.S3.Types: newObjectVersion :: ObjectVersion
+ Amazonka.S3.Types: newOutputLocation :: OutputLocation
+ Amazonka.S3.Types: newOutputSerialization :: OutputSerialization
+ Amazonka.S3.Types: newOwner :: Owner
+ Amazonka.S3.Types: newOwnershipControls :: OwnershipControls
+ Amazonka.S3.Types: newOwnershipControlsRule :: ObjectOwnership -> OwnershipControlsRule
+ Amazonka.S3.Types: newParquetInput :: ParquetInput
+ Amazonka.S3.Types: newPart :: Part
+ Amazonka.S3.Types: newPolicyStatus :: PolicyStatus
+ Amazonka.S3.Types: newProgress :: Progress
+ Amazonka.S3.Types: newProgressEvent :: ProgressEvent
+ Amazonka.S3.Types: newPublicAccessBlockConfiguration :: PublicAccessBlockConfiguration
+ Amazonka.S3.Types: newQueueConfiguration :: Text -> QueueConfiguration
+ Amazonka.S3.Types: newRecordsEvent :: RecordsEvent
+ Amazonka.S3.Types: newRedirect :: Redirect
+ Amazonka.S3.Types: newRedirectAllRequestsTo :: Text -> RedirectAllRequestsTo
+ Amazonka.S3.Types: newReplicaModifications :: ReplicaModificationsStatus -> ReplicaModifications
+ Amazonka.S3.Types: newReplicationConfiguration :: Text -> ReplicationConfiguration
+ Amazonka.S3.Types: newReplicationRule :: ReplicationRuleStatus -> Destination -> ReplicationRule
+ Amazonka.S3.Types: newReplicationRuleAndOperator :: ReplicationRuleAndOperator
+ Amazonka.S3.Types: newReplicationRuleFilter :: ReplicationRuleFilter
+ Amazonka.S3.Types: newReplicationTime :: ReplicationTimeStatus -> ReplicationTimeValue -> ReplicationTime
+ Amazonka.S3.Types: newReplicationTimeValue :: ReplicationTimeValue
+ Amazonka.S3.Types: newRequestPaymentConfiguration :: Payer -> RequestPaymentConfiguration
+ Amazonka.S3.Types: newRequestProgress :: RequestProgress
+ Amazonka.S3.Types: newRestoreRequest :: RestoreRequest
+ Amazonka.S3.Types: newRoutingRule :: Redirect -> RoutingRule
+ Amazonka.S3.Types: newS3KeyFilter :: S3KeyFilter
+ Amazonka.S3.Types: newS3Location :: BucketName -> Text -> S3Location
+ Amazonka.S3.Types: newS3ServiceError :: S3ServiceError
+ Amazonka.S3.Types: newSSEKMS :: Text -> SSEKMS
+ Amazonka.S3.Types: newSSES3 :: SSES3
+ Amazonka.S3.Types: newScanRange :: ScanRange
+ Amazonka.S3.Types: newSelectObjectContentEventStream :: SelectObjectContentEventStream
+ Amazonka.S3.Types: newSelectParameters :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
+ Amazonka.S3.Types: newServerSideEncryptionByDefault :: ServerSideEncryption -> ServerSideEncryptionByDefault
+ Amazonka.S3.Types: newServerSideEncryptionConfiguration :: ServerSideEncryptionConfiguration
+ Amazonka.S3.Types: newServerSideEncryptionRule :: ServerSideEncryptionRule
+ Amazonka.S3.Types: newSourceSelectionCriteria :: SourceSelectionCriteria
+ Amazonka.S3.Types: newSseKmsEncryptedObjects :: SseKmsEncryptedObjectsStatus -> SseKmsEncryptedObjects
+ Amazonka.S3.Types: newStats :: Stats
+ Amazonka.S3.Types: newStatsEvent :: StatsEvent
+ Amazonka.S3.Types: newStorageClassAnalysis :: StorageClassAnalysis
+ Amazonka.S3.Types: newStorageClassAnalysisDataExport :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
+ Amazonka.S3.Types: newTag :: ObjectKey -> Text -> Tag
+ Amazonka.S3.Types: newTagging :: Tagging
+ Amazonka.S3.Types: newTargetGrant :: TargetGrant
+ Amazonka.S3.Types: newTiering :: Int -> IntelligentTieringAccessTier -> Tiering
+ Amazonka.S3.Types: newTopicConfiguration :: Text -> TopicConfiguration
+ Amazonka.S3.Types: newTransition :: Transition
+ Amazonka.S3.Types: newVersioningConfiguration :: VersioningConfiguration
+ Amazonka.S3.Types: newWebsiteConfiguration :: WebsiteConfiguration
+ Amazonka.S3.Types: newtype AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types: newtype ArchiveStatus
+ Amazonka.S3.Types: newtype BucketAccelerateStatus
+ Amazonka.S3.Types: newtype BucketCannedACL
+ Amazonka.S3.Types: newtype BucketLogsPermission
+ Amazonka.S3.Types: newtype BucketVersioningStatus
+ Amazonka.S3.Types: newtype ChecksumAlgorithm
+ Amazonka.S3.Types: newtype ChecksumMode
+ Amazonka.S3.Types: newtype CompressionType
+ Amazonka.S3.Types: newtype DeleteMarkerReplicationStatus
+ Amazonka.S3.Types: newtype EncodingType
+ Amazonka.S3.Types: newtype Event
+ Amazonka.S3.Types: newtype ExistingObjectReplicationStatus
+ Amazonka.S3.Types: newtype ExpirationStatus
+ Amazonka.S3.Types: newtype ExpressionType
+ Amazonka.S3.Types: newtype FileHeaderInfo
+ Amazonka.S3.Types: newtype FilterRuleName
+ Amazonka.S3.Types: newtype IntelligentTieringAccessTier
+ Amazonka.S3.Types: newtype IntelligentTieringStatus
+ Amazonka.S3.Types: newtype InventoryFormat
+ Amazonka.S3.Types: newtype InventoryFrequency
+ Amazonka.S3.Types: newtype InventoryIncludedObjectVersions
+ Amazonka.S3.Types: newtype InventoryOptionalField
+ Amazonka.S3.Types: newtype JSONType
+ Amazonka.S3.Types: newtype MFADelete
+ Amazonka.S3.Types: newtype MFADeleteStatus
+ Amazonka.S3.Types: newtype MetadataDirective
+ Amazonka.S3.Types: newtype MetricsStatus
+ Amazonka.S3.Types: newtype ObjectAttributes
+ Amazonka.S3.Types: newtype ObjectCannedACL
+ Amazonka.S3.Types: newtype ObjectLockEnabled
+ Amazonka.S3.Types: newtype ObjectLockLegalHoldStatus
+ Amazonka.S3.Types: newtype ObjectLockMode
+ Amazonka.S3.Types: newtype ObjectLockRetentionMode
+ Amazonka.S3.Types: newtype ObjectOwnership
+ Amazonka.S3.Types: newtype ObjectStorageClass
+ Amazonka.S3.Types: newtype ObjectVersionStorageClass
+ Amazonka.S3.Types: newtype OwnerOverride
+ Amazonka.S3.Types: newtype Payer
+ Amazonka.S3.Types: newtype Permission
+ Amazonka.S3.Types: newtype Protocol
+ Amazonka.S3.Types: newtype QuoteFields
+ Amazonka.S3.Types: newtype ReplicaModificationsStatus
+ Amazonka.S3.Types: newtype ReplicationRuleStatus
+ Amazonka.S3.Types: newtype ReplicationStatus
+ Amazonka.S3.Types: newtype ReplicationTimeStatus
+ Amazonka.S3.Types: newtype RequestCharged
+ Amazonka.S3.Types: newtype RequestPayer
+ Amazonka.S3.Types: newtype RestoreRequestType
+ Amazonka.S3.Types: newtype ServerSideEncryption
+ Amazonka.S3.Types: newtype SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types: newtype StorageClass
+ Amazonka.S3.Types: newtype StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types: newtype TaggingDirective
+ Amazonka.S3.Types: newtype Tier
+ Amazonka.S3.Types: newtype TransitionStorageClass
+ Amazonka.S3.Types: newtype Type
+ Amazonka.S3.Types: noncurrentVersionExpiration_newerNoncurrentVersions :: Lens' NoncurrentVersionExpiration (Maybe Int)
+ Amazonka.S3.Types: noncurrentVersionExpiration_noncurrentDays :: Lens' NoncurrentVersionExpiration Int
+ Amazonka.S3.Types: noncurrentVersionTransition_newerNoncurrentVersions :: Lens' NoncurrentVersionTransition (Maybe Int)
+ Amazonka.S3.Types: noncurrentVersionTransition_noncurrentDays :: Lens' NoncurrentVersionTransition Int
+ Amazonka.S3.Types: noncurrentVersionTransition_storageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass
+ Amazonka.S3.Types: notificationConfigurationFilter_key :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)
+ Amazonka.S3.Types: notificationConfiguration_eventBridgeConfiguration :: Lens' NotificationConfiguration (Maybe EventBridgeConfiguration)
+ Amazonka.S3.Types: notificationConfiguration_lambdaFunctionConfigurations :: Lens' NotificationConfiguration (Maybe [LambdaFunctionConfiguration])
+ Amazonka.S3.Types: notificationConfiguration_queueConfigurations :: Lens' NotificationConfiguration (Maybe [QueueConfiguration])
+ Amazonka.S3.Types: notificationConfiguration_topicConfigurations :: Lens' NotificationConfiguration (Maybe [TopicConfiguration])
+ Amazonka.S3.Types: objectIdentifier_key :: Lens' ObjectIdentifier ObjectKey
+ Amazonka.S3.Types: objectIdentifier_versionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
+ Amazonka.S3.Types: objectLockConfiguration_objectLockEnabled :: Lens' ObjectLockConfiguration (Maybe ObjectLockEnabled)
+ Amazonka.S3.Types: objectLockConfiguration_rule :: Lens' ObjectLockConfiguration (Maybe ObjectLockRule)
+ Amazonka.S3.Types: objectLockLegalHold_status :: Lens' ObjectLockLegalHold (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Types: objectLockRetention_mode :: Lens' ObjectLockRetention (Maybe ObjectLockRetentionMode)
+ Amazonka.S3.Types: objectLockRetention_retainUntilDate :: Lens' ObjectLockRetention (Maybe UTCTime)
+ Amazonka.S3.Types: objectLockRule_defaultRetention :: Lens' ObjectLockRule (Maybe DefaultRetention)
+ Amazonka.S3.Types: objectPart_checksumCRC32 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types: objectPart_checksumCRC32C :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types: objectPart_checksumSHA1 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types: objectPart_checksumSHA256 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types: objectPart_partNumber :: Lens' ObjectPart (Maybe Int)
+ Amazonka.S3.Types: objectPart_size :: Lens' ObjectPart (Maybe Integer)
+ Amazonka.S3.Types: objectVersion_checksumAlgorithm :: Lens' ObjectVersion (Maybe [ChecksumAlgorithm])
+ Amazonka.S3.Types: objectVersion_eTag :: Lens' ObjectVersion (Maybe ETag)
+ Amazonka.S3.Types: objectVersion_isLatest :: Lens' ObjectVersion (Maybe Bool)
+ Amazonka.S3.Types: objectVersion_key :: Lens' ObjectVersion (Maybe ObjectKey)
+ Amazonka.S3.Types: objectVersion_lastModified :: Lens' ObjectVersion (Maybe UTCTime)
+ Amazonka.S3.Types: objectVersion_owner :: Lens' ObjectVersion (Maybe Owner)
+ Amazonka.S3.Types: objectVersion_size :: Lens' ObjectVersion (Maybe Integer)
+ Amazonka.S3.Types: objectVersion_storageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)
+ Amazonka.S3.Types: objectVersion_versionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
+ Amazonka.S3.Types: object_checksumAlgorithm :: Lens' Object (Maybe [ChecksumAlgorithm])
+ Amazonka.S3.Types: object_eTag :: Lens' Object ETag
+ Amazonka.S3.Types: object_key :: Lens' Object ObjectKey
+ Amazonka.S3.Types: object_lastModified :: Lens' Object UTCTime
+ Amazonka.S3.Types: object_owner :: Lens' Object (Maybe Owner)
+ Amazonka.S3.Types: object_size :: Lens' Object Integer
+ Amazonka.S3.Types: object_storageClass :: Lens' Object ObjectStorageClass
+ Amazonka.S3.Types: outputLocation_s3 :: Lens' OutputLocation (Maybe S3Location)
+ Amazonka.S3.Types: outputSerialization_csv :: Lens' OutputSerialization (Maybe CSVOutput)
+ Amazonka.S3.Types: outputSerialization_json :: Lens' OutputSerialization (Maybe JSONOutput)
+ Amazonka.S3.Types: owner_displayName :: Lens' Owner (Maybe Text)
+ Amazonka.S3.Types: owner_id :: Lens' Owner (Maybe Text)
+ Amazonka.S3.Types: ownershipControlsRule_objectOwnership :: Lens' OwnershipControlsRule ObjectOwnership
+ Amazonka.S3.Types: ownershipControls_rules :: Lens' OwnershipControls [OwnershipControlsRule]
+ Amazonka.S3.Types: part_checksumCRC32 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types: part_checksumCRC32C :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types: part_checksumSHA1 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types: part_checksumSHA256 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types: part_eTag :: Lens' Part (Maybe ETag)
+ Amazonka.S3.Types: part_lastModified :: Lens' Part (Maybe UTCTime)
+ Amazonka.S3.Types: part_partNumber :: Lens' Part (Maybe Int)
+ Amazonka.S3.Types: part_size :: Lens' Part (Maybe Integer)
+ Amazonka.S3.Types: pattern AnalyticsS3ExportFileFormat_CSV :: AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types: pattern ArchiveStatus_ARCHIVE_ACCESS :: ArchiveStatus
+ Amazonka.S3.Types: pattern ArchiveStatus_DEEP_ARCHIVE_ACCESS :: ArchiveStatus
+ Amazonka.S3.Types: pattern BucketAccelerateStatus_Enabled :: BucketAccelerateStatus
+ Amazonka.S3.Types: pattern BucketAccelerateStatus_Suspended :: BucketAccelerateStatus
+ Amazonka.S3.Types: pattern BucketCannedACL_Authenticated_read :: BucketCannedACL
+ Amazonka.S3.Types: pattern BucketCannedACL_Private :: BucketCannedACL
+ Amazonka.S3.Types: pattern BucketCannedACL_Public_read :: BucketCannedACL
+ Amazonka.S3.Types: pattern BucketCannedACL_Public_read_write :: BucketCannedACL
+ Amazonka.S3.Types: pattern BucketLogsPermission_FULL_CONTROL :: BucketLogsPermission
+ Amazonka.S3.Types: pattern BucketLogsPermission_READ :: BucketLogsPermission
+ Amazonka.S3.Types: pattern BucketLogsPermission_WRITE :: BucketLogsPermission
+ Amazonka.S3.Types: pattern BucketVersioningStatus_Enabled :: BucketVersioningStatus
+ Amazonka.S3.Types: pattern BucketVersioningStatus_Suspended :: BucketVersioningStatus
+ Amazonka.S3.Types: pattern ChecksumAlgorithm_CRC32 :: ChecksumAlgorithm
+ Amazonka.S3.Types: pattern ChecksumAlgorithm_CRC32C :: ChecksumAlgorithm
+ Amazonka.S3.Types: pattern ChecksumAlgorithm_SHA1 :: ChecksumAlgorithm
+ Amazonka.S3.Types: pattern ChecksumAlgorithm_SHA256 :: ChecksumAlgorithm
+ Amazonka.S3.Types: pattern ChecksumMode_ENABLED :: ChecksumMode
+ Amazonka.S3.Types: pattern CompressionType_BZIP2 :: CompressionType
+ Amazonka.S3.Types: pattern CompressionType_GZIP :: CompressionType
+ Amazonka.S3.Types: pattern CompressionType_NONE :: CompressionType
+ Amazonka.S3.Types: pattern DeleteMarkerReplicationStatus_Disabled :: DeleteMarkerReplicationStatus
+ Amazonka.S3.Types: pattern DeleteMarkerReplicationStatus_Enabled :: DeleteMarkerReplicationStatus
+ Amazonka.S3.Types: pattern EncodingType_Url :: EncodingType
+ Amazonka.S3.Types: pattern Event_S3_IntelligentTiering :: Event
+ Amazonka.S3.Types: pattern Event_S3_LifecycleExpiration_Delete :: Event
+ Amazonka.S3.Types: pattern Event_S3_LifecycleExpiration_DeleteMarkerCreated :: Event
+ Amazonka.S3.Types: pattern Event_S3_LifecycleExpiration__ :: Event
+ Amazonka.S3.Types: pattern Event_S3_LifecycleTransition :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectAcl_Put :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectCreated_CompleteMultipartUpload :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectCreated_Copy :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectCreated_Post :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectCreated_Put :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectCreated__ :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRemoved_Delete :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRemoved_DeleteMarkerCreated :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRemoved__ :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRestore_Completed :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRestore_Delete :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRestore_Post :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectRestore__ :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectTagging_Delete :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectTagging_Put :: Event
+ Amazonka.S3.Types: pattern Event_S3_ObjectTagging__ :: Event
+ Amazonka.S3.Types: pattern Event_S3_ReducedRedundancyLostObject :: Event
+ Amazonka.S3.Types: pattern Event_S3_Replication_OperationFailedReplication :: Event
+ Amazonka.S3.Types: pattern Event_S3_Replication_OperationMissedThreshold :: Event
+ Amazonka.S3.Types: pattern Event_S3_Replication_OperationNotTracked :: Event
+ Amazonka.S3.Types: pattern Event_S3_Replication_OperationReplicatedAfterThreshold :: Event
+ Amazonka.S3.Types: pattern Event_S3_Replication__ :: Event
+ Amazonka.S3.Types: pattern ExistingObjectReplicationStatus_Disabled :: ExistingObjectReplicationStatus
+ Amazonka.S3.Types: pattern ExistingObjectReplicationStatus_Enabled :: ExistingObjectReplicationStatus
+ Amazonka.S3.Types: pattern ExpirationStatus_Disabled :: ExpirationStatus
+ Amazonka.S3.Types: pattern ExpirationStatus_Enabled :: ExpirationStatus
+ Amazonka.S3.Types: pattern ExpressionType_SQL :: ExpressionType
+ Amazonka.S3.Types: pattern FileHeaderInfo_IGNORE :: FileHeaderInfo
+ Amazonka.S3.Types: pattern FileHeaderInfo_NONE :: FileHeaderInfo
+ Amazonka.S3.Types: pattern FileHeaderInfo_USE :: FileHeaderInfo
+ Amazonka.S3.Types: pattern FilterRuleName_Prefix :: FilterRuleName
+ Amazonka.S3.Types: pattern FilterRuleName_Suffix :: FilterRuleName
+ Amazonka.S3.Types: pattern IntelligentTieringAccessTier_ARCHIVE_ACCESS :: IntelligentTieringAccessTier
+ Amazonka.S3.Types: pattern IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS :: IntelligentTieringAccessTier
+ Amazonka.S3.Types: pattern IntelligentTieringStatus_Disabled :: IntelligentTieringStatus
+ Amazonka.S3.Types: pattern IntelligentTieringStatus_Enabled :: IntelligentTieringStatus
+ Amazonka.S3.Types: pattern InventoryFormat_CSV :: InventoryFormat
+ Amazonka.S3.Types: pattern InventoryFormat_ORC :: InventoryFormat
+ Amazonka.S3.Types: pattern InventoryFormat_Parquet :: InventoryFormat
+ Amazonka.S3.Types: pattern InventoryFrequency_Daily :: InventoryFrequency
+ Amazonka.S3.Types: pattern InventoryFrequency_Weekly :: InventoryFrequency
+ Amazonka.S3.Types: pattern InventoryIncludedObjectVersions_All :: InventoryIncludedObjectVersions
+ Amazonka.S3.Types: pattern InventoryIncludedObjectVersions_Current :: InventoryIncludedObjectVersions
+ Amazonka.S3.Types: pattern InventoryOptionalField_BucketKeyStatus :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_ChecksumAlgorithm :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_ETag :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_EncryptionStatus :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_IntelligentTieringAccessTier :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_IsMultipartUploaded :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_LastModifiedDate :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_ObjectLockLegalHoldStatus :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_ObjectLockMode :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_ObjectLockRetainUntilDate :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_ReplicationStatus :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_Size :: InventoryOptionalField
+ Amazonka.S3.Types: pattern InventoryOptionalField_StorageClass :: InventoryOptionalField
+ Amazonka.S3.Types: pattern JSONType_DOCUMENT :: JSONType
+ Amazonka.S3.Types: pattern JSONType_LINES :: JSONType
+ Amazonka.S3.Types: pattern MFADeleteStatus_Disabled :: MFADeleteStatus
+ Amazonka.S3.Types: pattern MFADeleteStatus_Enabled :: MFADeleteStatus
+ Amazonka.S3.Types: pattern MFADelete_Disabled :: MFADelete
+ Amazonka.S3.Types: pattern MFADelete_Enabled :: MFADelete
+ Amazonka.S3.Types: pattern MetadataDirective_COPY :: MetadataDirective
+ Amazonka.S3.Types: pattern MetadataDirective_REPLACE :: MetadataDirective
+ Amazonka.S3.Types: pattern MetricsStatus_Disabled :: MetricsStatus
+ Amazonka.S3.Types: pattern MetricsStatus_Enabled :: MetricsStatus
+ Amazonka.S3.Types: pattern ObjectAttributes_Checksum :: ObjectAttributes
+ Amazonka.S3.Types: pattern ObjectAttributes_ETag :: ObjectAttributes
+ Amazonka.S3.Types: pattern ObjectAttributes_ObjectParts :: ObjectAttributes
+ Amazonka.S3.Types: pattern ObjectAttributes_ObjectSize :: ObjectAttributes
+ Amazonka.S3.Types: pattern ObjectAttributes_StorageClass :: ObjectAttributes
+ Amazonka.S3.Types: pattern ObjectCannedACL_Authenticated_read :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectCannedACL_Aws_exec_read :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectCannedACL_Bucket_owner_full_control :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectCannedACL_Bucket_owner_read :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectCannedACL_Private :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectCannedACL_Public_read :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectCannedACL_Public_read_write :: ObjectCannedACL
+ Amazonka.S3.Types: pattern ObjectLockEnabled_Enabled :: ObjectLockEnabled
+ Amazonka.S3.Types: pattern ObjectLockLegalHoldStatus_OFF :: ObjectLockLegalHoldStatus
+ Amazonka.S3.Types: pattern ObjectLockLegalHoldStatus_ON :: ObjectLockLegalHoldStatus
+ Amazonka.S3.Types: pattern ObjectLockMode_COMPLIANCE :: ObjectLockMode
+ Amazonka.S3.Types: pattern ObjectLockMode_GOVERNANCE :: ObjectLockMode
+ Amazonka.S3.Types: pattern ObjectLockRetentionMode_COMPLIANCE :: ObjectLockRetentionMode
+ Amazonka.S3.Types: pattern ObjectLockRetentionMode_GOVERNANCE :: ObjectLockRetentionMode
+ Amazonka.S3.Types: pattern ObjectOwnership_BucketOwnerEnforced :: ObjectOwnership
+ Amazonka.S3.Types: pattern ObjectOwnership_BucketOwnerPreferred :: ObjectOwnership
+ Amazonka.S3.Types: pattern ObjectOwnership_ObjectWriter :: ObjectOwnership
+ Amazonka.S3.Types: pattern ObjectStorageClass_GLACIER :: ObjectStorageClass
+ Amazonka.S3.Types: pattern ObjectStorageClass_INTELLIGENT_TIERING :: ObjectStorageClass
+ Amazonka.S3.Types: pattern ObjectStorageClass_REDUCED_REDUNDANCY :: ObjectStorageClass
+ Amazonka.S3.Types: pattern ObjectStorageClass_STANDARD :: ObjectStorageClass
+ Amazonka.S3.Types: pattern ObjectStorageClass_STANDARD_IA :: ObjectStorageClass
+ Amazonka.S3.Types: pattern ObjectVersionStorageClass_STANDARD :: ObjectVersionStorageClass
+ Amazonka.S3.Types: pattern OwnerOverride_Destination :: OwnerOverride
+ Amazonka.S3.Types: pattern Payer_BucketOwner :: Payer
+ Amazonka.S3.Types: pattern Payer_Requester :: Payer
+ Amazonka.S3.Types: pattern Permission_FULL_CONTROL :: Permission
+ Amazonka.S3.Types: pattern Permission_READ :: Permission
+ Amazonka.S3.Types: pattern Permission_READ_ACP :: Permission
+ Amazonka.S3.Types: pattern Permission_WRITE :: Permission
+ Amazonka.S3.Types: pattern Permission_WRITE_ACP :: Permission
+ Amazonka.S3.Types: pattern Protocol_Http :: Protocol
+ Amazonka.S3.Types: pattern Protocol_Https :: Protocol
+ Amazonka.S3.Types: pattern QuoteFields_ALWAYS :: QuoteFields
+ Amazonka.S3.Types: pattern QuoteFields_ASNEEDED :: QuoteFields
+ Amazonka.S3.Types: pattern ReplicaModificationsStatus_Disabled :: ReplicaModificationsStatus
+ Amazonka.S3.Types: pattern ReplicaModificationsStatus_Enabled :: ReplicaModificationsStatus
+ Amazonka.S3.Types: pattern ReplicationRuleStatus_Disabled :: ReplicationRuleStatus
+ Amazonka.S3.Types: pattern ReplicationRuleStatus_Enabled :: ReplicationRuleStatus
+ Amazonka.S3.Types: pattern ReplicationStatus_COMPLETED :: ReplicationStatus
+ Amazonka.S3.Types: pattern ReplicationStatus_FAILED :: ReplicationStatus
+ Amazonka.S3.Types: pattern ReplicationStatus_PENDING :: ReplicationStatus
+ Amazonka.S3.Types: pattern ReplicationStatus_REPLICA :: ReplicationStatus
+ Amazonka.S3.Types: pattern ReplicationTimeStatus_Disabled :: ReplicationTimeStatus
+ Amazonka.S3.Types: pattern ReplicationTimeStatus_Enabled :: ReplicationTimeStatus
+ Amazonka.S3.Types: pattern RequestCharged_Requester :: RequestCharged
+ Amazonka.S3.Types: pattern RequestPayer_Requester :: RequestPayer
+ Amazonka.S3.Types: pattern RestoreRequestType_SELECT :: RestoreRequestType
+ Amazonka.S3.Types: pattern ServerSideEncryption_AES256 :: ServerSideEncryption
+ Amazonka.S3.Types: pattern ServerSideEncryption_Aws_kms :: ServerSideEncryption
+ Amazonka.S3.Types: pattern SseKmsEncryptedObjectsStatus_Disabled :: SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types: pattern SseKmsEncryptedObjectsStatus_Enabled :: SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types: pattern StorageClassAnalysisSchemaVersion_V_1 :: StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types: pattern StorageClass_DEEP_ARCHIVE :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_GLACIER :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_GLACIER_IR :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_INTELLIGENT_TIERING :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_ONEZONE_IA :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_OUTPOSTS :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_REDUCED_REDUNDANCY :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_STANDARD :: StorageClass
+ Amazonka.S3.Types: pattern StorageClass_STANDARD_IA :: StorageClass
+ Amazonka.S3.Types: pattern TaggingDirective_COPY :: TaggingDirective
+ Amazonka.S3.Types: pattern TaggingDirective_REPLACE :: TaggingDirective
+ Amazonka.S3.Types: pattern Tier_Bulk :: Tier
+ Amazonka.S3.Types: pattern Tier_Expedited :: Tier
+ Amazonka.S3.Types: pattern Tier_Standard :: Tier
+ Amazonka.S3.Types: pattern TransitionStorageClass_DEEP_ARCHIVE :: TransitionStorageClass
+ Amazonka.S3.Types: pattern TransitionStorageClass_GLACIER :: TransitionStorageClass
+ Amazonka.S3.Types: pattern TransitionStorageClass_GLACIER_IR :: TransitionStorageClass
+ Amazonka.S3.Types: pattern TransitionStorageClass_INTELLIGENT_TIERING :: TransitionStorageClass
+ Amazonka.S3.Types: pattern TransitionStorageClass_ONEZONE_IA :: TransitionStorageClass
+ Amazonka.S3.Types: pattern TransitionStorageClass_STANDARD_IA :: TransitionStorageClass
+ Amazonka.S3.Types: pattern Type_AmazonCustomerByEmail :: Type
+ Amazonka.S3.Types: pattern Type_CanonicalUser :: Type
+ Amazonka.S3.Types: pattern Type_Group :: Type
+ Amazonka.S3.Types: policyStatus_isPublic :: Lens' PolicyStatus (Maybe Bool)
+ Amazonka.S3.Types: progressEvent_details :: Lens' ProgressEvent (Maybe Progress)
+ Amazonka.S3.Types: progress_bytesProcessed :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Types: progress_bytesReturned :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Types: progress_bytesScanned :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Types: publicAccessBlockConfiguration_blockPublicAcls :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types: publicAccessBlockConfiguration_blockPublicPolicy :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types: publicAccessBlockConfiguration_ignorePublicAcls :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types: publicAccessBlockConfiguration_restrictPublicBuckets :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types: queueConfiguration_events :: Lens' QueueConfiguration [Event]
+ Amazonka.S3.Types: queueConfiguration_filter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Types: queueConfiguration_id :: Lens' QueueConfiguration (Maybe Text)
+ Amazonka.S3.Types: queueConfiguration_queueArn :: Lens' QueueConfiguration Text
+ Amazonka.S3.Types: recordsEvent_payload :: Lens' RecordsEvent (Maybe ByteString)
+ Amazonka.S3.Types: redirectAllRequestsTo_hostName :: Lens' RedirectAllRequestsTo Text
+ Amazonka.S3.Types: redirectAllRequestsTo_protocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)
+ Amazonka.S3.Types: redirect_hostName :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types: redirect_httpRedirectCode :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types: redirect_protocol :: Lens' Redirect (Maybe Protocol)
+ Amazonka.S3.Types: redirect_replaceKeyPrefixWith :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types: redirect_replaceKeyWith :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types: replicaModifications_status :: Lens' ReplicaModifications ReplicaModificationsStatus
+ Amazonka.S3.Types: replicationConfiguration_role :: Lens' ReplicationConfiguration Text
+ Amazonka.S3.Types: replicationConfiguration_rules :: Lens' ReplicationConfiguration [ReplicationRule]
+ Amazonka.S3.Types: replicationRuleAndOperator_prefix :: Lens' ReplicationRuleAndOperator (Maybe Text)
+ Amazonka.S3.Types: replicationRuleAndOperator_tags :: Lens' ReplicationRuleAndOperator (Maybe [Tag])
+ Amazonka.S3.Types: replicationRuleFilter_and :: Lens' ReplicationRuleFilter (Maybe ReplicationRuleAndOperator)
+ Amazonka.S3.Types: replicationRuleFilter_prefix :: Lens' ReplicationRuleFilter (Maybe Text)
+ Amazonka.S3.Types: replicationRuleFilter_tag :: Lens' ReplicationRuleFilter (Maybe Tag)
+ Amazonka.S3.Types: replicationRule_deleteMarkerReplication :: Lens' ReplicationRule (Maybe DeleteMarkerReplication)
+ Amazonka.S3.Types: replicationRule_destination :: Lens' ReplicationRule Destination
+ Amazonka.S3.Types: replicationRule_existingObjectReplication :: Lens' ReplicationRule (Maybe ExistingObjectReplication)
+ Amazonka.S3.Types: replicationRule_filter :: Lens' ReplicationRule (Maybe ReplicationRuleFilter)
+ Amazonka.S3.Types: replicationRule_id :: Lens' ReplicationRule (Maybe Text)
+ Amazonka.S3.Types: replicationRule_prefix :: Lens' ReplicationRule (Maybe Text)
+ Amazonka.S3.Types: replicationRule_priority :: Lens' ReplicationRule (Maybe Int)
+ Amazonka.S3.Types: replicationRule_sourceSelectionCriteria :: Lens' ReplicationRule (Maybe SourceSelectionCriteria)
+ Amazonka.S3.Types: replicationRule_status :: Lens' ReplicationRule ReplicationRuleStatus
+ Amazonka.S3.Types: replicationTimeValue_minutes :: Lens' ReplicationTimeValue (Maybe Int)
+ Amazonka.S3.Types: replicationTime_status :: Lens' ReplicationTime ReplicationTimeStatus
+ Amazonka.S3.Types: replicationTime_time :: Lens' ReplicationTime ReplicationTimeValue
+ Amazonka.S3.Types: requestPaymentConfiguration_payer :: Lens' RequestPaymentConfiguration Payer
+ Amazonka.S3.Types: requestProgress_enabled :: Lens' RequestProgress (Maybe Bool)
+ Amazonka.S3.Types: restoreRequest_days :: Lens' RestoreRequest (Maybe Int)
+ Amazonka.S3.Types: restoreRequest_description :: Lens' RestoreRequest (Maybe Text)
+ Amazonka.S3.Types: restoreRequest_glacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)
+ Amazonka.S3.Types: restoreRequest_outputLocation :: Lens' RestoreRequest (Maybe OutputLocation)
+ Amazonka.S3.Types: restoreRequest_selectParameters :: Lens' RestoreRequest (Maybe SelectParameters)
+ Amazonka.S3.Types: restoreRequest_tier :: Lens' RestoreRequest (Maybe Tier)
+ Amazonka.S3.Types: restoreRequest_type :: Lens' RestoreRequest (Maybe RestoreRequestType)
+ Amazonka.S3.Types: routingRule_condition :: Lens' RoutingRule (Maybe Condition)
+ Amazonka.S3.Types: routingRule_redirect :: Lens' RoutingRule Redirect
+ Amazonka.S3.Types: s3KeyFilter_filterRules :: Lens' S3KeyFilter (Maybe [FilterRule])
+ Amazonka.S3.Types: s3Location_accessControlList :: Lens' S3Location (Maybe [Grant])
+ Amazonka.S3.Types: s3Location_bucketName :: Lens' S3Location BucketName
+ Amazonka.S3.Types: s3Location_cannedACL :: Lens' S3Location (Maybe ObjectCannedACL)
+ Amazonka.S3.Types: s3Location_encryption :: Lens' S3Location (Maybe Encryption)
+ Amazonka.S3.Types: s3Location_prefix :: Lens' S3Location Text
+ Amazonka.S3.Types: s3Location_storageClass :: Lens' S3Location (Maybe StorageClass)
+ Amazonka.S3.Types: s3Location_tagging :: Lens' S3Location (Maybe Tagging)
+ Amazonka.S3.Types: s3Location_userMetadata :: Lens' S3Location (Maybe [MetadataEntry])
+ Amazonka.S3.Types: s3ServiceError_code :: Lens' S3ServiceError (Maybe Text)
+ Amazonka.S3.Types: s3ServiceError_key :: Lens' S3ServiceError (Maybe ObjectKey)
+ Amazonka.S3.Types: s3ServiceError_message :: Lens' S3ServiceError (Maybe Text)
+ Amazonka.S3.Types: s3ServiceError_versionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
+ Amazonka.S3.Types: scanRange_end :: Lens' ScanRange (Maybe Integer)
+ Amazonka.S3.Types: scanRange_start :: Lens' ScanRange (Maybe Integer)
+ Amazonka.S3.Types: selectObjectContentEventStream_cont :: Lens' SelectObjectContentEventStream (Maybe ContinuationEvent)
+ Amazonka.S3.Types: selectObjectContentEventStream_end :: Lens' SelectObjectContentEventStream (Maybe EndEvent)
+ Amazonka.S3.Types: selectObjectContentEventStream_progress :: Lens' SelectObjectContentEventStream (Maybe ProgressEvent)
+ Amazonka.S3.Types: selectObjectContentEventStream_records :: Lens' SelectObjectContentEventStream (Maybe RecordsEvent)
+ Amazonka.S3.Types: selectObjectContentEventStream_stats :: Lens' SelectObjectContentEventStream (Maybe StatsEvent)
+ Amazonka.S3.Types: selectParameters_expression :: Lens' SelectParameters Text
+ Amazonka.S3.Types: selectParameters_expressionType :: Lens' SelectParameters ExpressionType
+ Amazonka.S3.Types: selectParameters_inputSerialization :: Lens' SelectParameters InputSerialization
+ Amazonka.S3.Types: selectParameters_outputSerialization :: Lens' SelectParameters OutputSerialization
+ Amazonka.S3.Types: serverSideEncryptionByDefault_kmsMasterKeyID :: Lens' ServerSideEncryptionByDefault (Maybe Text)
+ Amazonka.S3.Types: serverSideEncryptionByDefault_sSEAlgorithm :: Lens' ServerSideEncryptionByDefault ServerSideEncryption
+ Amazonka.S3.Types: serverSideEncryptionConfiguration_rules :: Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]
+ Amazonka.S3.Types: serverSideEncryptionRule_applyServerSideEncryptionByDefault :: Lens' ServerSideEncryptionRule (Maybe ServerSideEncryptionByDefault)
+ Amazonka.S3.Types: serverSideEncryptionRule_bucketKeyEnabled :: Lens' ServerSideEncryptionRule (Maybe Bool)
+ Amazonka.S3.Types: sourceSelectionCriteria_replicaModifications :: Lens' SourceSelectionCriteria (Maybe ReplicaModifications)
+ Amazonka.S3.Types: sourceSelectionCriteria_sseKmsEncryptedObjects :: Lens' SourceSelectionCriteria (Maybe SseKmsEncryptedObjects)
+ Amazonka.S3.Types: sseKmsEncryptedObjects_status :: Lens' SseKmsEncryptedObjects SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types: ssekms_keyId :: Lens' SSEKMS Text
+ Amazonka.S3.Types: statsEvent_details :: Lens' StatsEvent (Maybe Stats)
+ Amazonka.S3.Types: stats_bytesProcessed :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Types: stats_bytesReturned :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Types: stats_bytesScanned :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Types: storageClassAnalysisDataExport_destination :: Lens' StorageClassAnalysisDataExport AnalyticsExportDestination
+ Amazonka.S3.Types: storageClassAnalysisDataExport_outputSchemaVersion :: Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types: storageClassAnalysis_dataExport :: Lens' StorageClassAnalysis (Maybe StorageClassAnalysisDataExport)
+ Amazonka.S3.Types: tag_key :: Lens' Tag ObjectKey
+ Amazonka.S3.Types: tag_value :: Lens' Tag Text
+ Amazonka.S3.Types: tagging_tagSet :: Lens' Tagging [Tag]
+ Amazonka.S3.Types: targetGrant_grantee :: Lens' TargetGrant (Maybe Grantee)
+ Amazonka.S3.Types: targetGrant_permission :: Lens' TargetGrant (Maybe BucketLogsPermission)
+ Amazonka.S3.Types: tiering_accessTier :: Lens' Tiering IntelligentTieringAccessTier
+ Amazonka.S3.Types: tiering_days :: Lens' Tiering Int
+ Amazonka.S3.Types: topicConfiguration_events :: Lens' TopicConfiguration [Event]
+ Amazonka.S3.Types: topicConfiguration_filter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Types: topicConfiguration_id :: Lens' TopicConfiguration (Maybe Text)
+ Amazonka.S3.Types: topicConfiguration_topicArn :: Lens' TopicConfiguration Text
+ Amazonka.S3.Types: transition_date :: Lens' Transition (Maybe UTCTime)
+ Amazonka.S3.Types: transition_days :: Lens' Transition (Maybe Int)
+ Amazonka.S3.Types: transition_storageClass :: Lens' Transition (Maybe TransitionStorageClass)
+ Amazonka.S3.Types: versioningConfiguration_mfaDelete :: Lens' VersioningConfiguration (Maybe MFADelete)
+ Amazonka.S3.Types: versioningConfiguration_status :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)
+ Amazonka.S3.Types: websiteConfiguration_errorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)
+ Amazonka.S3.Types: websiteConfiguration_indexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)
+ Amazonka.S3.Types: websiteConfiguration_redirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)
+ Amazonka.S3.Types: websiteConfiguration_routingRules :: Lens' WebsiteConfiguration (Maybe [RoutingRule])
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: AbortIncompleteMultipartUpload' :: Maybe Int -> AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: [$sel:daysAfterInitiation:AbortIncompleteMultipartUpload'] :: AbortIncompleteMultipartUpload -> Maybe Int
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: abortIncompleteMultipartUpload_daysAfterInitiation :: Lens' AbortIncompleteMultipartUpload (Maybe Int)
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: data AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance GHC.Read.Read Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: instance GHC.Show.Show Amazonka.S3.Types.AbortIncompleteMultipartUpload.AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AbortIncompleteMultipartUpload: newAbortIncompleteMultipartUpload :: AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.AccelerateConfiguration: AccelerateConfiguration' :: Maybe BucketAccelerateStatus -> AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: [$sel:status:AccelerateConfiguration'] :: AccelerateConfiguration -> Maybe BucketAccelerateStatus
+ Amazonka.S3.Types.AccelerateConfiguration: accelerateConfiguration_status :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)
+ Amazonka.S3.Types.AccelerateConfiguration: data AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance GHC.Read.Read Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: instance GHC.Show.Show Amazonka.S3.Types.AccelerateConfiguration.AccelerateConfiguration
+ Amazonka.S3.Types.AccelerateConfiguration: newAccelerateConfiguration :: AccelerateConfiguration
+ Amazonka.S3.Types.AccessControlPolicy: AccessControlPolicy' :: Maybe [Grant] -> Maybe Owner -> AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: [$sel:grants:AccessControlPolicy'] :: AccessControlPolicy -> Maybe [Grant]
+ Amazonka.S3.Types.AccessControlPolicy: [$sel:owner:AccessControlPolicy'] :: AccessControlPolicy -> Maybe Owner
+ Amazonka.S3.Types.AccessControlPolicy: accessControlPolicy_grants :: Lens' AccessControlPolicy (Maybe [Grant])
+ Amazonka.S3.Types.AccessControlPolicy: accessControlPolicy_owner :: Lens' AccessControlPolicy (Maybe Owner)
+ Amazonka.S3.Types.AccessControlPolicy: data AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance Control.DeepSeq.NFData Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance GHC.Classes.Eq Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance GHC.Generics.Generic Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance GHC.Read.Read Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: instance GHC.Show.Show Amazonka.S3.Types.AccessControlPolicy.AccessControlPolicy
+ Amazonka.S3.Types.AccessControlPolicy: newAccessControlPolicy :: AccessControlPolicy
+ Amazonka.S3.Types.AccessControlTranslation: AccessControlTranslation' :: OwnerOverride -> AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: [$sel:owner:AccessControlTranslation'] :: AccessControlTranslation -> OwnerOverride
+ Amazonka.S3.Types.AccessControlTranslation: accessControlTranslation_owner :: Lens' AccessControlTranslation OwnerOverride
+ Amazonka.S3.Types.AccessControlTranslation: data AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance Control.DeepSeq.NFData Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance GHC.Classes.Eq Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance GHC.Generics.Generic Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance GHC.Read.Read Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: instance GHC.Show.Show Amazonka.S3.Types.AccessControlTranslation.AccessControlTranslation
+ Amazonka.S3.Types.AccessControlTranslation: newAccessControlTranslation :: OwnerOverride -> AccessControlTranslation
+ Amazonka.S3.Types.AnalyticsAndOperator: AnalyticsAndOperator' :: Maybe Text -> Maybe [Tag] -> AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: [$sel:prefix:AnalyticsAndOperator'] :: AnalyticsAndOperator -> Maybe Text
+ Amazonka.S3.Types.AnalyticsAndOperator: [$sel:tags:AnalyticsAndOperator'] :: AnalyticsAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types.AnalyticsAndOperator: analyticsAndOperator_prefix :: Lens' AnalyticsAndOperator (Maybe Text)
+ Amazonka.S3.Types.AnalyticsAndOperator: analyticsAndOperator_tags :: Lens' AnalyticsAndOperator (Maybe [Tag])
+ Amazonka.S3.Types.AnalyticsAndOperator: data AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance Control.DeepSeq.NFData Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance GHC.Classes.Eq Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance GHC.Generics.Generic Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance GHC.Read.Read Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: instance GHC.Show.Show Amazonka.S3.Types.AnalyticsAndOperator.AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsAndOperator: newAnalyticsAndOperator :: AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsConfiguration: AnalyticsConfiguration' :: Maybe AnalyticsFilter -> Text -> StorageClassAnalysis -> AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: [$sel:filter':AnalyticsConfiguration'] :: AnalyticsConfiguration -> Maybe AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsConfiguration: [$sel:id:AnalyticsConfiguration'] :: AnalyticsConfiguration -> Text
+ Amazonka.S3.Types.AnalyticsConfiguration: [$sel:storageClassAnalysis:AnalyticsConfiguration'] :: AnalyticsConfiguration -> StorageClassAnalysis
+ Amazonka.S3.Types.AnalyticsConfiguration: analyticsConfiguration_filter :: Lens' AnalyticsConfiguration (Maybe AnalyticsFilter)
+ Amazonka.S3.Types.AnalyticsConfiguration: analyticsConfiguration_id :: Lens' AnalyticsConfiguration Text
+ Amazonka.S3.Types.AnalyticsConfiguration: analyticsConfiguration_storageClassAnalysis :: Lens' AnalyticsConfiguration StorageClassAnalysis
+ Amazonka.S3.Types.AnalyticsConfiguration: data AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance GHC.Read.Read Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: instance GHC.Show.Show Amazonka.S3.Types.AnalyticsConfiguration.AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsConfiguration: newAnalyticsConfiguration :: Text -> StorageClassAnalysis -> AnalyticsConfiguration
+ Amazonka.S3.Types.AnalyticsExportDestination: AnalyticsExportDestination' :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: [$sel:s3BucketDestination:AnalyticsExportDestination'] :: AnalyticsExportDestination -> AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: analyticsExportDestination_s3BucketDestination :: Lens' AnalyticsExportDestination AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: data AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance Control.DeepSeq.NFData Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance GHC.Classes.Eq Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance GHC.Generics.Generic Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance GHC.Read.Read Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: instance GHC.Show.Show Amazonka.S3.Types.AnalyticsExportDestination.AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsExportDestination: newAnalyticsExportDestination :: AnalyticsS3BucketDestination -> AnalyticsExportDestination
+ Amazonka.S3.Types.AnalyticsFilter: AnalyticsFilter' :: Maybe AnalyticsAndOperator -> Maybe Text -> Maybe Tag -> AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: [$sel:and:AnalyticsFilter'] :: AnalyticsFilter -> Maybe AnalyticsAndOperator
+ Amazonka.S3.Types.AnalyticsFilter: [$sel:prefix:AnalyticsFilter'] :: AnalyticsFilter -> Maybe Text
+ Amazonka.S3.Types.AnalyticsFilter: [$sel:tag:AnalyticsFilter'] :: AnalyticsFilter -> Maybe Tag
+ Amazonka.S3.Types.AnalyticsFilter: analyticsFilter_and :: Lens' AnalyticsFilter (Maybe AnalyticsAndOperator)
+ Amazonka.S3.Types.AnalyticsFilter: analyticsFilter_prefix :: Lens' AnalyticsFilter (Maybe Text)
+ Amazonka.S3.Types.AnalyticsFilter: analyticsFilter_tag :: Lens' AnalyticsFilter (Maybe Tag)
+ Amazonka.S3.Types.AnalyticsFilter: data AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance GHC.Classes.Eq Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance GHC.Generics.Generic Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance GHC.Read.Read Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: instance GHC.Show.Show Amazonka.S3.Types.AnalyticsFilter.AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsFilter: newAnalyticsFilter :: AnalyticsFilter
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: AnalyticsS3BucketDestination' :: Maybe Text -> Maybe Text -> AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: [$sel:bucket:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> BucketName
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: [$sel:bucketAccountId:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: [$sel:format:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: [$sel:prefix:AnalyticsS3BucketDestination'] :: AnalyticsS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: analyticsS3BucketDestination_bucket :: Lens' AnalyticsS3BucketDestination BucketName
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: analyticsS3BucketDestination_bucketAccountId :: Lens' AnalyticsS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: analyticsS3BucketDestination_format :: Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: analyticsS3BucketDestination_prefix :: Lens' AnalyticsS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: data AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance Control.DeepSeq.NFData Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance GHC.Classes.Eq Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance GHC.Generics.Generic Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance GHC.Read.Read Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: instance GHC.Show.Show Amazonka.S3.Types.AnalyticsS3BucketDestination.AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3BucketDestination: newAnalyticsS3BucketDestination :: AnalyticsS3ExportFileFormat -> BucketName -> AnalyticsS3BucketDestination
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: AnalyticsS3ExportFileFormat' :: Text -> AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: [fromAnalyticsS3ExportFileFormat] :: AnalyticsS3ExportFileFormat -> Text
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Control.DeepSeq.NFData Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance GHC.Classes.Eq Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance GHC.Classes.Ord Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance GHC.Generics.Generic Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance GHC.Read.Read Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: instance GHC.Show.Show Amazonka.S3.Types.AnalyticsS3ExportFileFormat.AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: newtype AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.AnalyticsS3ExportFileFormat: pattern AnalyticsS3ExportFileFormat_CSV :: AnalyticsS3ExportFileFormat
+ Amazonka.S3.Types.ArchiveStatus: ArchiveStatus' :: Text -> ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: [fromArchiveStatus] :: ArchiveStatus -> Text
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance GHC.Read.Read Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: instance GHC.Show.Show Amazonka.S3.Types.ArchiveStatus.ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: newtype ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: pattern ArchiveStatus_ARCHIVE_ACCESS :: ArchiveStatus
+ Amazonka.S3.Types.ArchiveStatus: pattern ArchiveStatus_DEEP_ARCHIVE_ACCESS :: ArchiveStatus
+ Amazonka.S3.Types.Bucket: Bucket' :: ISO8601 -> BucketName -> Bucket
+ Amazonka.S3.Types.Bucket: [$sel:creationDate:Bucket'] :: Bucket -> ISO8601
+ Amazonka.S3.Types.Bucket: [$sel:name:Bucket'] :: Bucket -> BucketName
+ Amazonka.S3.Types.Bucket: bucket_creationDate :: Lens' Bucket UTCTime
+ Amazonka.S3.Types.Bucket: bucket_name :: Lens' Bucket BucketName
+ Amazonka.S3.Types.Bucket: data Bucket
+ Amazonka.S3.Types.Bucket: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: instance Control.DeepSeq.NFData Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: instance GHC.Classes.Eq Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: instance GHC.Generics.Generic Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: instance GHC.Read.Read Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: instance GHC.Show.Show Amazonka.S3.Types.Bucket.Bucket
+ Amazonka.S3.Types.Bucket: newBucket :: UTCTime -> BucketName -> Bucket
+ Amazonka.S3.Types.BucketAccelerateStatus: BucketAccelerateStatus' :: Text -> BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: [fromBucketAccelerateStatus] :: BucketAccelerateStatus -> Text
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance GHC.Classes.Eq Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance GHC.Classes.Ord Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance GHC.Generics.Generic Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance GHC.Read.Read Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: instance GHC.Show.Show Amazonka.S3.Types.BucketAccelerateStatus.BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: newtype BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: pattern BucketAccelerateStatus_Enabled :: BucketAccelerateStatus
+ Amazonka.S3.Types.BucketAccelerateStatus: pattern BucketAccelerateStatus_Suspended :: BucketAccelerateStatus
+ Amazonka.S3.Types.BucketCannedACL: BucketCannedACL' :: Text -> BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: [fromBucketCannedACL] :: BucketCannedACL -> Text
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Control.DeepSeq.NFData Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance GHC.Classes.Eq Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance GHC.Classes.Ord Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance GHC.Generics.Generic Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance GHC.Read.Read Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: instance GHC.Show.Show Amazonka.S3.Types.BucketCannedACL.BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: newtype BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: pattern BucketCannedACL_Authenticated_read :: BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: pattern BucketCannedACL_Private :: BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: pattern BucketCannedACL_Public_read :: BucketCannedACL
+ Amazonka.S3.Types.BucketCannedACL: pattern BucketCannedACL_Public_read_write :: BucketCannedACL
+ Amazonka.S3.Types.BucketLifecycleConfiguration: BucketLifecycleConfiguration' :: [LifecycleRule] -> BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: [$sel:rules:BucketLifecycleConfiguration'] :: BucketLifecycleConfiguration -> [LifecycleRule]
+ Amazonka.S3.Types.BucketLifecycleConfiguration: bucketLifecycleConfiguration_rules :: Lens' BucketLifecycleConfiguration [LifecycleRule]
+ Amazonka.S3.Types.BucketLifecycleConfiguration: data BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance GHC.Read.Read Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: instance GHC.Show.Show Amazonka.S3.Types.BucketLifecycleConfiguration.BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLifecycleConfiguration: newBucketLifecycleConfiguration :: BucketLifecycleConfiguration
+ Amazonka.S3.Types.BucketLoggingStatus: BucketLoggingStatus' :: Maybe LoggingEnabled -> BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: [$sel:loggingEnabled:BucketLoggingStatus'] :: BucketLoggingStatus -> Maybe LoggingEnabled
+ Amazonka.S3.Types.BucketLoggingStatus: bucketLoggingStatus_loggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)
+ Amazonka.S3.Types.BucketLoggingStatus: data BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance GHC.Classes.Eq Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance GHC.Generics.Generic Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance GHC.Read.Read Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: instance GHC.Show.Show Amazonka.S3.Types.BucketLoggingStatus.BucketLoggingStatus
+ Amazonka.S3.Types.BucketLoggingStatus: newBucketLoggingStatus :: BucketLoggingStatus
+ Amazonka.S3.Types.BucketLogsPermission: BucketLogsPermission' :: Text -> BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: [fromBucketLogsPermission] :: BucketLogsPermission -> Text
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Control.DeepSeq.NFData Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance GHC.Classes.Eq Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance GHC.Classes.Ord Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance GHC.Generics.Generic Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance GHC.Read.Read Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: instance GHC.Show.Show Amazonka.S3.Types.BucketLogsPermission.BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: newtype BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: pattern BucketLogsPermission_FULL_CONTROL :: BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: pattern BucketLogsPermission_READ :: BucketLogsPermission
+ Amazonka.S3.Types.BucketLogsPermission: pattern BucketLogsPermission_WRITE :: BucketLogsPermission
+ Amazonka.S3.Types.BucketVersioningStatus: BucketVersioningStatus' :: Text -> BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: [fromBucketVersioningStatus] :: BucketVersioningStatus -> Text
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance GHC.Classes.Eq Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance GHC.Classes.Ord Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance GHC.Generics.Generic Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance GHC.Read.Read Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: instance GHC.Show.Show Amazonka.S3.Types.BucketVersioningStatus.BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: newtype BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: pattern BucketVersioningStatus_Enabled :: BucketVersioningStatus
+ Amazonka.S3.Types.BucketVersioningStatus: pattern BucketVersioningStatus_Suspended :: BucketVersioningStatus
+ Amazonka.S3.Types.CORSConfiguration: CORSConfiguration' :: [CORSRule] -> CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: [$sel:cORSRules:CORSConfiguration'] :: CORSConfiguration -> [CORSRule]
+ Amazonka.S3.Types.CORSConfiguration: cORSConfiguration_cORSRules :: Lens' CORSConfiguration [CORSRule]
+ Amazonka.S3.Types.CORSConfiguration: data CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance GHC.Read.Read Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: instance GHC.Show.Show Amazonka.S3.Types.CORSConfiguration.CORSConfiguration
+ Amazonka.S3.Types.CORSConfiguration: newCORSConfiguration :: CORSConfiguration
+ Amazonka.S3.Types.CORSRule: CORSRule' :: Maybe [Text] -> Maybe [Text] -> Maybe Text -> Maybe Int -> [Text] -> [Text] -> CORSRule
+ Amazonka.S3.Types.CORSRule: [$sel:allowedHeaders:CORSRule'] :: CORSRule -> Maybe [Text]
+ Amazonka.S3.Types.CORSRule: [$sel:allowedMethods:CORSRule'] :: CORSRule -> [Text]
+ Amazonka.S3.Types.CORSRule: [$sel:allowedOrigins:CORSRule'] :: CORSRule -> [Text]
+ Amazonka.S3.Types.CORSRule: [$sel:exposeHeaders:CORSRule'] :: CORSRule -> Maybe [Text]
+ Amazonka.S3.Types.CORSRule: [$sel:id:CORSRule'] :: CORSRule -> Maybe Text
+ Amazonka.S3.Types.CORSRule: [$sel:maxAgeSeconds:CORSRule'] :: CORSRule -> Maybe Int
+ Amazonka.S3.Types.CORSRule: cORSRule_allowedHeaders :: Lens' CORSRule (Maybe [Text])
+ Amazonka.S3.Types.CORSRule: cORSRule_allowedMethods :: Lens' CORSRule [Text]
+ Amazonka.S3.Types.CORSRule: cORSRule_allowedOrigins :: Lens' CORSRule [Text]
+ Amazonka.S3.Types.CORSRule: cORSRule_exposeHeaders :: Lens' CORSRule (Maybe [Text])
+ Amazonka.S3.Types.CORSRule: cORSRule_id :: Lens' CORSRule (Maybe Text)
+ Amazonka.S3.Types.CORSRule: cORSRule_maxAgeSeconds :: Lens' CORSRule (Maybe Int)
+ Amazonka.S3.Types.CORSRule: data CORSRule
+ Amazonka.S3.Types.CORSRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance GHC.Classes.Eq Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance GHC.Generics.Generic Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance GHC.Read.Read Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: instance GHC.Show.Show Amazonka.S3.Types.CORSRule.CORSRule
+ Amazonka.S3.Types.CORSRule: newCORSRule :: CORSRule
+ Amazonka.S3.Types.CSVInput: CSVInput' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe FileHeaderInfo -> Maybe Text -> Maybe Text -> Maybe Text -> CSVInput
+ Amazonka.S3.Types.CSVInput: [$sel:allowQuotedRecordDelimiter:CSVInput'] :: CSVInput -> Maybe Bool
+ Amazonka.S3.Types.CSVInput: [$sel:comments:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types.CSVInput: [$sel:fieldDelimiter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types.CSVInput: [$sel:fileHeaderInfo:CSVInput'] :: CSVInput -> Maybe FileHeaderInfo
+ Amazonka.S3.Types.CSVInput: [$sel:quoteCharacter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types.CSVInput: [$sel:quoteEscapeCharacter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types.CSVInput: [$sel:recordDelimiter:CSVInput'] :: CSVInput -> Maybe Text
+ Amazonka.S3.Types.CSVInput: cSVInput_allowQuotedRecordDelimiter :: Lens' CSVInput (Maybe Bool)
+ Amazonka.S3.Types.CSVInput: cSVInput_comments :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types.CSVInput: cSVInput_fieldDelimiter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types.CSVInput: cSVInput_fileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)
+ Amazonka.S3.Types.CSVInput: cSVInput_quoteCharacter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types.CSVInput: cSVInput_quoteEscapeCharacter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types.CSVInput: cSVInput_recordDelimiter :: Lens' CSVInput (Maybe Text)
+ Amazonka.S3.Types.CSVInput: data CSVInput
+ Amazonka.S3.Types.CSVInput: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: instance Control.DeepSeq.NFData Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: instance GHC.Classes.Eq Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: instance GHC.Generics.Generic Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: instance GHC.Read.Read Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: instance GHC.Show.Show Amazonka.S3.Types.CSVInput.CSVInput
+ Amazonka.S3.Types.CSVInput: newCSVInput :: CSVInput
+ Amazonka.S3.Types.CSVOutput: CSVOutput' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe QuoteFields -> Maybe Text -> CSVOutput
+ Amazonka.S3.Types.CSVOutput: [$sel:fieldDelimiter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types.CSVOutput: [$sel:quoteCharacter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types.CSVOutput: [$sel:quoteEscapeCharacter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types.CSVOutput: [$sel:quoteFields:CSVOutput'] :: CSVOutput -> Maybe QuoteFields
+ Amazonka.S3.Types.CSVOutput: [$sel:recordDelimiter:CSVOutput'] :: CSVOutput -> Maybe Text
+ Amazonka.S3.Types.CSVOutput: cSVOutput_fieldDelimiter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types.CSVOutput: cSVOutput_quoteCharacter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types.CSVOutput: cSVOutput_quoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types.CSVOutput: cSVOutput_quoteFields :: Lens' CSVOutput (Maybe QuoteFields)
+ Amazonka.S3.Types.CSVOutput: cSVOutput_recordDelimiter :: Lens' CSVOutput (Maybe Text)
+ Amazonka.S3.Types.CSVOutput: data CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance Control.DeepSeq.NFData Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance GHC.Classes.Eq Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance GHC.Generics.Generic Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance GHC.Read.Read Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: instance GHC.Show.Show Amazonka.S3.Types.CSVOutput.CSVOutput
+ Amazonka.S3.Types.CSVOutput: newCSVOutput :: CSVOutput
+ Amazonka.S3.Types.Checksum: Checksum' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Checksum
+ Amazonka.S3.Types.Checksum: [$sel:checksumCRC32:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types.Checksum: [$sel:checksumCRC32C:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types.Checksum: [$sel:checksumSHA1:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types.Checksum: [$sel:checksumSHA256:Checksum'] :: Checksum -> Maybe Text
+ Amazonka.S3.Types.Checksum: checksum_checksumCRC32 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types.Checksum: checksum_checksumCRC32C :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types.Checksum: checksum_checksumSHA1 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types.Checksum: checksum_checksumSHA256 :: Lens' Checksum (Maybe Text)
+ Amazonka.S3.Types.Checksum: data Checksum
+ Amazonka.S3.Types.Checksum: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: instance Control.DeepSeq.NFData Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: instance GHC.Classes.Eq Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: instance GHC.Generics.Generic Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: instance GHC.Read.Read Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: instance GHC.Show.Show Amazonka.S3.Types.Checksum.Checksum
+ Amazonka.S3.Types.Checksum: newChecksum :: Checksum
+ Amazonka.S3.Types.ChecksumAlgorithm: ChecksumAlgorithm' :: Text -> ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: [fromChecksumAlgorithm] :: ChecksumAlgorithm -> Text
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Control.DeepSeq.NFData Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance GHC.Classes.Eq Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance GHC.Classes.Ord Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance GHC.Generics.Generic Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance GHC.Read.Read Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: instance GHC.Show.Show Amazonka.S3.Types.ChecksumAlgorithm.ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: newtype ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: pattern ChecksumAlgorithm_CRC32 :: ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: pattern ChecksumAlgorithm_CRC32C :: ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: pattern ChecksumAlgorithm_SHA1 :: ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumAlgorithm: pattern ChecksumAlgorithm_SHA256 :: ChecksumAlgorithm
+ Amazonka.S3.Types.ChecksumMode: ChecksumMode' :: Text -> ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: [fromChecksumMode] :: ChecksumMode -> Text
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Control.DeepSeq.NFData Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance GHC.Classes.Eq Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance GHC.Classes.Ord Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance GHC.Generics.Generic Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance GHC.Read.Read Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: instance GHC.Show.Show Amazonka.S3.Types.ChecksumMode.ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: newtype ChecksumMode
+ Amazonka.S3.Types.ChecksumMode: pattern ChecksumMode_ENABLED :: ChecksumMode
+ Amazonka.S3.Types.CommonPrefix: CommonPrefix' :: Maybe Text -> CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: [$sel:prefix:CommonPrefix'] :: CommonPrefix -> Maybe Text
+ Amazonka.S3.Types.CommonPrefix: commonPrefix_prefix :: Lens' CommonPrefix (Maybe Text)
+ Amazonka.S3.Types.CommonPrefix: data CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance Control.DeepSeq.NFData Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance GHC.Classes.Eq Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance GHC.Generics.Generic Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance GHC.Read.Read Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: instance GHC.Show.Show Amazonka.S3.Types.CommonPrefix.CommonPrefix
+ Amazonka.S3.Types.CommonPrefix: newCommonPrefix :: CommonPrefix
+ Amazonka.S3.Types.CompletedMultipartUpload: CompletedMultipartUpload' :: Maybe (NonEmpty CompletedPart) -> CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: [$sel:parts:CompletedMultipartUpload'] :: CompletedMultipartUpload -> Maybe (NonEmpty CompletedPart)
+ Amazonka.S3.Types.CompletedMultipartUpload: completedMultipartUpload_parts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))
+ Amazonka.S3.Types.CompletedMultipartUpload: data CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance GHC.Classes.Eq Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance GHC.Generics.Generic Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance GHC.Read.Read Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: instance GHC.Show.Show Amazonka.S3.Types.CompletedMultipartUpload.CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedMultipartUpload: newCompletedMultipartUpload :: CompletedMultipartUpload
+ Amazonka.S3.Types.CompletedPart: CompletedPart' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Int -> ETag -> CompletedPart
+ Amazonka.S3.Types.CompletedPart: [$sel:checksumCRC32:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types.CompletedPart: [$sel:checksumCRC32C:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types.CompletedPart: [$sel:checksumSHA1:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types.CompletedPart: [$sel:checksumSHA256:CompletedPart'] :: CompletedPart -> Maybe Text
+ Amazonka.S3.Types.CompletedPart: [$sel:eTag:CompletedPart'] :: CompletedPart -> ETag
+ Amazonka.S3.Types.CompletedPart: [$sel:partNumber:CompletedPart'] :: CompletedPart -> Int
+ Amazonka.S3.Types.CompletedPart: completedPart_checksumCRC32 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types.CompletedPart: completedPart_checksumCRC32C :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types.CompletedPart: completedPart_checksumSHA1 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types.CompletedPart: completedPart_checksumSHA256 :: Lens' CompletedPart (Maybe Text)
+ Amazonka.S3.Types.CompletedPart: completedPart_eTag :: Lens' CompletedPart ETag
+ Amazonka.S3.Types.CompletedPart: completedPart_partNumber :: Lens' CompletedPart Int
+ Amazonka.S3.Types.CompletedPart: data CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance Control.DeepSeq.NFData Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance GHC.Classes.Eq Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance GHC.Generics.Generic Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance GHC.Read.Read Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: instance GHC.Show.Show Amazonka.S3.Types.CompletedPart.CompletedPart
+ Amazonka.S3.Types.CompletedPart: newCompletedPart :: Int -> ETag -> CompletedPart
+ Amazonka.S3.Types.CompressionType: CompressionType' :: Text -> CompressionType
+ Amazonka.S3.Types.CompressionType: [fromCompressionType] :: CompressionType -> Text
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Control.DeepSeq.NFData Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance GHC.Classes.Eq Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance GHC.Classes.Ord Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance GHC.Generics.Generic Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance GHC.Read.Read Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: instance GHC.Show.Show Amazonka.S3.Types.CompressionType.CompressionType
+ Amazonka.S3.Types.CompressionType: newtype CompressionType
+ Amazonka.S3.Types.CompressionType: pattern CompressionType_BZIP2 :: CompressionType
+ Amazonka.S3.Types.CompressionType: pattern CompressionType_GZIP :: CompressionType
+ Amazonka.S3.Types.CompressionType: pattern CompressionType_NONE :: CompressionType
+ Amazonka.S3.Types.Condition: Condition' :: Maybe Text -> Maybe Text -> Condition
+ Amazonka.S3.Types.Condition: [$sel:httpErrorCodeReturnedEquals:Condition'] :: Condition -> Maybe Text
+ Amazonka.S3.Types.Condition: [$sel:keyPrefixEquals:Condition'] :: Condition -> Maybe Text
+ Amazonka.S3.Types.Condition: condition_httpErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)
+ Amazonka.S3.Types.Condition: condition_keyPrefixEquals :: Lens' Condition (Maybe Text)
+ Amazonka.S3.Types.Condition: data Condition
+ Amazonka.S3.Types.Condition: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance Control.DeepSeq.NFData Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance GHC.Classes.Eq Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance GHC.Generics.Generic Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance GHC.Read.Read Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: instance GHC.Show.Show Amazonka.S3.Types.Condition.Condition
+ Amazonka.S3.Types.Condition: newCondition :: Condition
+ Amazonka.S3.Types.ContinuationEvent: ContinuationEvent' :: ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: data ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance Control.DeepSeq.NFData Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance GHC.Classes.Eq Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance GHC.Generics.Generic Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance GHC.Read.Read Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: instance GHC.Show.Show Amazonka.S3.Types.ContinuationEvent.ContinuationEvent
+ Amazonka.S3.Types.ContinuationEvent: newContinuationEvent :: ContinuationEvent
+ Amazonka.S3.Types.CopyObjectResult: CopyObjectResult' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: [$sel:checksumCRC32:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types.CopyObjectResult: [$sel:checksumCRC32C:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types.CopyObjectResult: [$sel:checksumSHA1:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types.CopyObjectResult: [$sel:checksumSHA256:CopyObjectResult'] :: CopyObjectResult -> Maybe Text
+ Amazonka.S3.Types.CopyObjectResult: [$sel:eTag:CopyObjectResult'] :: CopyObjectResult -> Maybe ETag
+ Amazonka.S3.Types.CopyObjectResult: [$sel:lastModified:CopyObjectResult'] :: CopyObjectResult -> Maybe RFC822
+ Amazonka.S3.Types.CopyObjectResult: copyObjectResult_checksumCRC32 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types.CopyObjectResult: copyObjectResult_checksumCRC32C :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types.CopyObjectResult: copyObjectResult_checksumSHA1 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types.CopyObjectResult: copyObjectResult_checksumSHA256 :: Lens' CopyObjectResult (Maybe Text)
+ Amazonka.S3.Types.CopyObjectResult: copyObjectResult_eTag :: Lens' CopyObjectResult (Maybe ETag)
+ Amazonka.S3.Types.CopyObjectResult: copyObjectResult_lastModified :: Lens' CopyObjectResult (Maybe UTCTime)
+ Amazonka.S3.Types.CopyObjectResult: data CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance Control.DeepSeq.NFData Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance GHC.Classes.Eq Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance GHC.Generics.Generic Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance GHC.Read.Read Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: instance GHC.Show.Show Amazonka.S3.Types.CopyObjectResult.CopyObjectResult
+ Amazonka.S3.Types.CopyObjectResult: newCopyObjectResult :: CopyObjectResult
+ Amazonka.S3.Types.CopyPartResult: CopyPartResult' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: [$sel:checksumCRC32:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types.CopyPartResult: [$sel:checksumCRC32C:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types.CopyPartResult: [$sel:checksumSHA1:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types.CopyPartResult: [$sel:checksumSHA256:CopyPartResult'] :: CopyPartResult -> Maybe Text
+ Amazonka.S3.Types.CopyPartResult: [$sel:eTag:CopyPartResult'] :: CopyPartResult -> Maybe ETag
+ Amazonka.S3.Types.CopyPartResult: [$sel:lastModified:CopyPartResult'] :: CopyPartResult -> Maybe RFC822
+ Amazonka.S3.Types.CopyPartResult: copyPartResult_checksumCRC32 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types.CopyPartResult: copyPartResult_checksumCRC32C :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types.CopyPartResult: copyPartResult_checksumSHA1 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types.CopyPartResult: copyPartResult_checksumSHA256 :: Lens' CopyPartResult (Maybe Text)
+ Amazonka.S3.Types.CopyPartResult: copyPartResult_eTag :: Lens' CopyPartResult (Maybe ETag)
+ Amazonka.S3.Types.CopyPartResult: copyPartResult_lastModified :: Lens' CopyPartResult (Maybe UTCTime)
+ Amazonka.S3.Types.CopyPartResult: data CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance Control.DeepSeq.NFData Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance GHC.Classes.Eq Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance GHC.Generics.Generic Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance GHC.Read.Read Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: instance GHC.Show.Show Amazonka.S3.Types.CopyPartResult.CopyPartResult
+ Amazonka.S3.Types.CopyPartResult: newCopyPartResult :: CopyPartResult
+ Amazonka.S3.Types.CreateBucketConfiguration: CreateBucketConfiguration' :: Maybe LocationConstraint -> CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: [$sel:locationConstraint:CreateBucketConfiguration'] :: CreateBucketConfiguration -> Maybe LocationConstraint
+ Amazonka.S3.Types.CreateBucketConfiguration: createBucketConfiguration_locationConstraint :: Lens' CreateBucketConfiguration (Maybe LocationConstraint)
+ Amazonka.S3.Types.CreateBucketConfiguration: data CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance GHC.Read.Read Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: instance GHC.Show.Show Amazonka.S3.Types.CreateBucketConfiguration.CreateBucketConfiguration
+ Amazonka.S3.Types.CreateBucketConfiguration: newCreateBucketConfiguration :: CreateBucketConfiguration
+ Amazonka.S3.Types.DefaultRetention: DefaultRetention' :: Maybe Int -> Maybe ObjectLockRetentionMode -> Maybe Int -> DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: [$sel:days:DefaultRetention'] :: DefaultRetention -> Maybe Int
+ Amazonka.S3.Types.DefaultRetention: [$sel:mode:DefaultRetention'] :: DefaultRetention -> Maybe ObjectLockRetentionMode
+ Amazonka.S3.Types.DefaultRetention: [$sel:years:DefaultRetention'] :: DefaultRetention -> Maybe Int
+ Amazonka.S3.Types.DefaultRetention: data DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: defaultRetention_days :: Lens' DefaultRetention (Maybe Int)
+ Amazonka.S3.Types.DefaultRetention: defaultRetention_mode :: Lens' DefaultRetention (Maybe ObjectLockRetentionMode)
+ Amazonka.S3.Types.DefaultRetention: defaultRetention_years :: Lens' DefaultRetention (Maybe Int)
+ Amazonka.S3.Types.DefaultRetention: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance Control.DeepSeq.NFData Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance GHC.Classes.Eq Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance GHC.Generics.Generic Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance GHC.Read.Read Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: instance GHC.Show.Show Amazonka.S3.Types.DefaultRetention.DefaultRetention
+ Amazonka.S3.Types.DefaultRetention: newDefaultRetention :: DefaultRetention
+ Amazonka.S3.Types.Delete: Delete' :: Maybe Bool -> [ObjectIdentifier] -> Delete
+ Amazonka.S3.Types.Delete: [$sel:objects:Delete'] :: Delete -> [ObjectIdentifier]
+ Amazonka.S3.Types.Delete: [$sel:quiet:Delete'] :: Delete -> Maybe Bool
+ Amazonka.S3.Types.Delete: data Delete
+ Amazonka.S3.Types.Delete: delete_objects :: Lens' Delete [ObjectIdentifier]
+ Amazonka.S3.Types.Delete: delete_quiet :: Lens' Delete (Maybe Bool)
+ Amazonka.S3.Types.Delete: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: instance Control.DeepSeq.NFData Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: instance GHC.Classes.Eq Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: instance GHC.Generics.Generic Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: instance GHC.Read.Read Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: instance GHC.Show.Show Amazonka.S3.Types.Delete.Delete
+ Amazonka.S3.Types.Delete: newDelete :: Delete
+ Amazonka.S3.Types.DeleteMarkerEntry: DeleteMarkerEntry' :: Maybe Bool -> Maybe ObjectKey -> Maybe RFC822 -> Maybe Owner -> Maybe ObjectVersionId -> DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: [$sel:isLatest:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe Bool
+ Amazonka.S3.Types.DeleteMarkerEntry: [$sel:key:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe ObjectKey
+ Amazonka.S3.Types.DeleteMarkerEntry: [$sel:lastModified:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe RFC822
+ Amazonka.S3.Types.DeleteMarkerEntry: [$sel:owner:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe Owner
+ Amazonka.S3.Types.DeleteMarkerEntry: [$sel:versionId:DeleteMarkerEntry'] :: DeleteMarkerEntry -> Maybe ObjectVersionId
+ Amazonka.S3.Types.DeleteMarkerEntry: data DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: deleteMarkerEntry_isLatest :: Lens' DeleteMarkerEntry (Maybe Bool)
+ Amazonka.S3.Types.DeleteMarkerEntry: deleteMarkerEntry_key :: Lens' DeleteMarkerEntry (Maybe ObjectKey)
+ Amazonka.S3.Types.DeleteMarkerEntry: deleteMarkerEntry_lastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)
+ Amazonka.S3.Types.DeleteMarkerEntry: deleteMarkerEntry_owner :: Lens' DeleteMarkerEntry (Maybe Owner)
+ Amazonka.S3.Types.DeleteMarkerEntry: deleteMarkerEntry_versionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)
+ Amazonka.S3.Types.DeleteMarkerEntry: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: instance Control.DeepSeq.NFData Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: instance GHC.Classes.Eq Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: instance GHC.Generics.Generic Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: instance GHC.Read.Read Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: instance GHC.Show.Show Amazonka.S3.Types.DeleteMarkerEntry.DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerEntry: newDeleteMarkerEntry :: DeleteMarkerEntry
+ Amazonka.S3.Types.DeleteMarkerReplication: DeleteMarkerReplication' :: Maybe DeleteMarkerReplicationStatus -> DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: [$sel:status:DeleteMarkerReplication'] :: DeleteMarkerReplication -> Maybe DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplication: data DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: deleteMarkerReplication_status :: Lens' DeleteMarkerReplication (Maybe DeleteMarkerReplicationStatus)
+ Amazonka.S3.Types.DeleteMarkerReplication: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance Control.DeepSeq.NFData Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance GHC.Classes.Eq Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance GHC.Generics.Generic Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance GHC.Read.Read Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: instance GHC.Show.Show Amazonka.S3.Types.DeleteMarkerReplication.DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplication: newDeleteMarkerReplication :: DeleteMarkerReplication
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: DeleteMarkerReplicationStatus' :: Text -> DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: [fromDeleteMarkerReplicationStatus] :: DeleteMarkerReplicationStatus -> Text
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance GHC.Classes.Eq Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance GHC.Classes.Ord Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance GHC.Generics.Generic Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance GHC.Read.Read Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: instance GHC.Show.Show Amazonka.S3.Types.DeleteMarkerReplicationStatus.DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: newtype DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: pattern DeleteMarkerReplicationStatus_Disabled :: DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeleteMarkerReplicationStatus: pattern DeleteMarkerReplicationStatus_Enabled :: DeleteMarkerReplicationStatus
+ Amazonka.S3.Types.DeletedObject: DeletedObject' :: Maybe Bool -> Maybe Text -> Maybe ObjectKey -> Maybe ObjectVersionId -> DeletedObject
+ Amazonka.S3.Types.DeletedObject: [$sel:deleteMarker:DeletedObject'] :: DeletedObject -> Maybe Bool
+ Amazonka.S3.Types.DeletedObject: [$sel:deleteMarkerVersionId:DeletedObject'] :: DeletedObject -> Maybe Text
+ Amazonka.S3.Types.DeletedObject: [$sel:key:DeletedObject'] :: DeletedObject -> Maybe ObjectKey
+ Amazonka.S3.Types.DeletedObject: [$sel:versionId:DeletedObject'] :: DeletedObject -> Maybe ObjectVersionId
+ Amazonka.S3.Types.DeletedObject: data DeletedObject
+ Amazonka.S3.Types.DeletedObject: deletedObject_deleteMarker :: Lens' DeletedObject (Maybe Bool)
+ Amazonka.S3.Types.DeletedObject: deletedObject_deleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)
+ Amazonka.S3.Types.DeletedObject: deletedObject_key :: Lens' DeletedObject (Maybe ObjectKey)
+ Amazonka.S3.Types.DeletedObject: deletedObject_versionId :: Lens' DeletedObject (Maybe ObjectVersionId)
+ Amazonka.S3.Types.DeletedObject: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: instance Control.DeepSeq.NFData Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: instance GHC.Classes.Eq Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: instance GHC.Generics.Generic Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: instance GHC.Read.Read Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: instance GHC.Show.Show Amazonka.S3.Types.DeletedObject.DeletedObject
+ Amazonka.S3.Types.DeletedObject: newDeletedObject :: DeletedObject
+ Amazonka.S3.Types.Destination: Destination' :: Maybe AccessControlTranslation -> Maybe Text -> Maybe EncryptionConfiguration -> Maybe Metrics -> Maybe ReplicationTime -> Maybe StorageClass -> BucketName -> Destination
+ Amazonka.S3.Types.Destination: [$sel:accessControlTranslation:Destination'] :: Destination -> Maybe AccessControlTranslation
+ Amazonka.S3.Types.Destination: [$sel:account:Destination'] :: Destination -> Maybe Text
+ Amazonka.S3.Types.Destination: [$sel:bucket:Destination'] :: Destination -> BucketName
+ Amazonka.S3.Types.Destination: [$sel:encryptionConfiguration:Destination'] :: Destination -> Maybe EncryptionConfiguration
+ Amazonka.S3.Types.Destination: [$sel:metrics:Destination'] :: Destination -> Maybe Metrics
+ Amazonka.S3.Types.Destination: [$sel:replicationTime:Destination'] :: Destination -> Maybe ReplicationTime
+ Amazonka.S3.Types.Destination: [$sel:storageClass:Destination'] :: Destination -> Maybe StorageClass
+ Amazonka.S3.Types.Destination: data Destination
+ Amazonka.S3.Types.Destination: destination_accessControlTranslation :: Lens' Destination (Maybe AccessControlTranslation)
+ Amazonka.S3.Types.Destination: destination_account :: Lens' Destination (Maybe Text)
+ Amazonka.S3.Types.Destination: destination_bucket :: Lens' Destination BucketName
+ Amazonka.S3.Types.Destination: destination_encryptionConfiguration :: Lens' Destination (Maybe EncryptionConfiguration)
+ Amazonka.S3.Types.Destination: destination_metrics :: Lens' Destination (Maybe Metrics)
+ Amazonka.S3.Types.Destination: destination_replicationTime :: Lens' Destination (Maybe ReplicationTime)
+ Amazonka.S3.Types.Destination: destination_storageClass :: Lens' Destination (Maybe StorageClass)
+ Amazonka.S3.Types.Destination: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance Control.DeepSeq.NFData Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance GHC.Classes.Eq Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance GHC.Generics.Generic Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance GHC.Read.Read Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: instance GHC.Show.Show Amazonka.S3.Types.Destination.Destination
+ Amazonka.S3.Types.Destination: newDestination :: BucketName -> Destination
+ Amazonka.S3.Types.EncodingType: EncodingType' :: Text -> EncodingType
+ Amazonka.S3.Types.EncodingType: [fromEncodingType] :: EncodingType -> Text
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Control.DeepSeq.NFData Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance GHC.Classes.Eq Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance GHC.Classes.Ord Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance GHC.Generics.Generic Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance GHC.Read.Read Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: instance GHC.Show.Show Amazonka.S3.Types.EncodingType.EncodingType
+ Amazonka.S3.Types.EncodingType: newtype EncodingType
+ Amazonka.S3.Types.EncodingType: pattern EncodingType_Url :: EncodingType
+ Amazonka.S3.Types.Encryption: Encryption' :: Maybe Text -> Maybe (Sensitive Text) -> ServerSideEncryption -> Encryption
+ Amazonka.S3.Types.Encryption: [$sel:encryptionType:Encryption'] :: Encryption -> ServerSideEncryption
+ Amazonka.S3.Types.Encryption: [$sel:kmsContext:Encryption'] :: Encryption -> Maybe Text
+ Amazonka.S3.Types.Encryption: [$sel:kmsKeyId:Encryption'] :: Encryption -> Maybe (Sensitive Text)
+ Amazonka.S3.Types.Encryption: data Encryption
+ Amazonka.S3.Types.Encryption: encryption_encryptionType :: Lens' Encryption ServerSideEncryption
+ Amazonka.S3.Types.Encryption: encryption_kmsContext :: Lens' Encryption (Maybe Text)
+ Amazonka.S3.Types.Encryption: encryption_kmsKeyId :: Lens' Encryption (Maybe Text)
+ Amazonka.S3.Types.Encryption: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Encryption.Encryption
+ Amazonka.S3.Types.Encryption: instance Control.DeepSeq.NFData Amazonka.S3.Types.Encryption.Encryption
+ Amazonka.S3.Types.Encryption: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Encryption.Encryption
+ Amazonka.S3.Types.Encryption: instance GHC.Classes.Eq Amazonka.S3.Types.Encryption.Encryption
+ Amazonka.S3.Types.Encryption: instance GHC.Generics.Generic Amazonka.S3.Types.Encryption.Encryption
+ Amazonka.S3.Types.Encryption: instance GHC.Show.Show Amazonka.S3.Types.Encryption.Encryption
+ Amazonka.S3.Types.Encryption: newEncryption :: ServerSideEncryption -> Encryption
+ Amazonka.S3.Types.EncryptionConfiguration: EncryptionConfiguration' :: Maybe Text -> EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: [$sel:replicaKmsKeyID:EncryptionConfiguration'] :: EncryptionConfiguration -> Maybe Text
+ Amazonka.S3.Types.EncryptionConfiguration: data EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: encryptionConfiguration_replicaKmsKeyID :: Lens' EncryptionConfiguration (Maybe Text)
+ Amazonka.S3.Types.EncryptionConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance GHC.Read.Read Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: instance GHC.Show.Show Amazonka.S3.Types.EncryptionConfiguration.EncryptionConfiguration
+ Amazonka.S3.Types.EncryptionConfiguration: newEncryptionConfiguration :: EncryptionConfiguration
+ Amazonka.S3.Types.EndEvent: EndEvent' :: EndEvent
+ Amazonka.S3.Types.EndEvent: data EndEvent
+ Amazonka.S3.Types.EndEvent: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: instance Control.DeepSeq.NFData Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: instance GHC.Classes.Eq Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: instance GHC.Generics.Generic Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: instance GHC.Read.Read Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: instance GHC.Show.Show Amazonka.S3.Types.EndEvent.EndEvent
+ Amazonka.S3.Types.EndEvent: newEndEvent :: EndEvent
+ Amazonka.S3.Types.ErrorDocument: ErrorDocument' :: ObjectKey -> ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: [$sel:key:ErrorDocument'] :: ErrorDocument -> ObjectKey
+ Amazonka.S3.Types.ErrorDocument: data ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: errorDocument_key :: Lens' ErrorDocument ObjectKey
+ Amazonka.S3.Types.ErrorDocument: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance Control.DeepSeq.NFData Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance GHC.Classes.Eq Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance GHC.Generics.Generic Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance GHC.Read.Read Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: instance GHC.Show.Show Amazonka.S3.Types.ErrorDocument.ErrorDocument
+ Amazonka.S3.Types.ErrorDocument: newErrorDocument :: ObjectKey -> ErrorDocument
+ Amazonka.S3.Types.Event: Event' :: Text -> Event
+ Amazonka.S3.Types.Event: [fromEvent] :: Event -> Text
+ Amazonka.S3.Types.Event: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Control.DeepSeq.NFData Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance GHC.Classes.Eq Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance GHC.Classes.Ord Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance GHC.Generics.Generic Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance GHC.Read.Read Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: instance GHC.Show.Show Amazonka.S3.Types.Event.Event
+ Amazonka.S3.Types.Event: newtype Event
+ Amazonka.S3.Types.Event: pattern Event_S3_IntelligentTiering :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_LifecycleExpiration_Delete :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_LifecycleExpiration_DeleteMarkerCreated :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_LifecycleExpiration__ :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_LifecycleTransition :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectAcl_Put :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectCreated_CompleteMultipartUpload :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectCreated_Copy :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectCreated_Post :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectCreated_Put :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectCreated__ :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRemoved_Delete :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRemoved_DeleteMarkerCreated :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRemoved__ :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRestore_Completed :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRestore_Delete :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRestore_Post :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectRestore__ :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectTagging_Delete :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectTagging_Put :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ObjectTagging__ :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_ReducedRedundancyLostObject :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_Replication_OperationFailedReplication :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_Replication_OperationMissedThreshold :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_Replication_OperationNotTracked :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_Replication_OperationReplicatedAfterThreshold :: Event
+ Amazonka.S3.Types.Event: pattern Event_S3_Replication__ :: Event
+ Amazonka.S3.Types.EventBridgeConfiguration: EventBridgeConfiguration' :: EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: data EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance GHC.Read.Read Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: instance GHC.Show.Show Amazonka.S3.Types.EventBridgeConfiguration.EventBridgeConfiguration
+ Amazonka.S3.Types.EventBridgeConfiguration: newEventBridgeConfiguration :: EventBridgeConfiguration
+ Amazonka.S3.Types.ExistingObjectReplication: ExistingObjectReplication' :: ExistingObjectReplicationStatus -> ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: [$sel:status:ExistingObjectReplication'] :: ExistingObjectReplication -> ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplication: data ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: existingObjectReplication_status :: Lens' ExistingObjectReplication ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplication: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance Control.DeepSeq.NFData Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance GHC.Classes.Eq Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance GHC.Generics.Generic Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance GHC.Read.Read Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: instance GHC.Show.Show Amazonka.S3.Types.ExistingObjectReplication.ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplication: newExistingObjectReplication :: ExistingObjectReplicationStatus -> ExistingObjectReplication
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: ExistingObjectReplicationStatus' :: Text -> ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: [fromExistingObjectReplicationStatus] :: ExistingObjectReplicationStatus -> Text
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance GHC.Read.Read Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: instance GHC.Show.Show Amazonka.S3.Types.ExistingObjectReplicationStatus.ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: newtype ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: pattern ExistingObjectReplicationStatus_Disabled :: ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExistingObjectReplicationStatus: pattern ExistingObjectReplicationStatus_Enabled :: ExistingObjectReplicationStatus
+ Amazonka.S3.Types.ExpirationStatus: ExpirationStatus' :: Text -> ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: [fromExpirationStatus] :: ExpirationStatus -> Text
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance GHC.Read.Read Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: instance GHC.Show.Show Amazonka.S3.Types.ExpirationStatus.ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: newtype ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: pattern ExpirationStatus_Disabled :: ExpirationStatus
+ Amazonka.S3.Types.ExpirationStatus: pattern ExpirationStatus_Enabled :: ExpirationStatus
+ Amazonka.S3.Types.ExpressionType: ExpressionType' :: Text -> ExpressionType
+ Amazonka.S3.Types.ExpressionType: [fromExpressionType] :: ExpressionType -> Text
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Control.DeepSeq.NFData Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance GHC.Classes.Eq Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance GHC.Classes.Ord Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance GHC.Generics.Generic Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance GHC.Read.Read Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: instance GHC.Show.Show Amazonka.S3.Types.ExpressionType.ExpressionType
+ Amazonka.S3.Types.ExpressionType: newtype ExpressionType
+ Amazonka.S3.Types.ExpressionType: pattern ExpressionType_SQL :: ExpressionType
+ Amazonka.S3.Types.FileHeaderInfo: FileHeaderInfo' :: Text -> FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: [fromFileHeaderInfo] :: FileHeaderInfo -> Text
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Control.DeepSeq.NFData Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance GHC.Classes.Eq Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance GHC.Classes.Ord Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance GHC.Generics.Generic Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance GHC.Read.Read Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: instance GHC.Show.Show Amazonka.S3.Types.FileHeaderInfo.FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: newtype FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: pattern FileHeaderInfo_IGNORE :: FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: pattern FileHeaderInfo_NONE :: FileHeaderInfo
+ Amazonka.S3.Types.FileHeaderInfo: pattern FileHeaderInfo_USE :: FileHeaderInfo
+ Amazonka.S3.Types.FilterRule: FilterRule' :: Maybe FilterRuleName -> Maybe Text -> FilterRule
+ Amazonka.S3.Types.FilterRule: [$sel:name:FilterRule'] :: FilterRule -> Maybe FilterRuleName
+ Amazonka.S3.Types.FilterRule: [$sel:value:FilterRule'] :: FilterRule -> Maybe Text
+ Amazonka.S3.Types.FilterRule: data FilterRule
+ Amazonka.S3.Types.FilterRule: filterRule_name :: Lens' FilterRule (Maybe FilterRuleName)
+ Amazonka.S3.Types.FilterRule: filterRule_value :: Lens' FilterRule (Maybe Text)
+ Amazonka.S3.Types.FilterRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance GHC.Classes.Eq Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance GHC.Generics.Generic Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance GHC.Read.Read Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: instance GHC.Show.Show Amazonka.S3.Types.FilterRule.FilterRule
+ Amazonka.S3.Types.FilterRule: newFilterRule :: FilterRule
+ Amazonka.S3.Types.FilterRuleName: FilterRuleName' :: Text -> FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: [fromFilterRuleName] :: FilterRuleName -> Text
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Control.DeepSeq.NFData Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance GHC.Classes.Eq Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance GHC.Classes.Ord Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance GHC.Generics.Generic Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance GHC.Read.Read Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: instance GHC.Show.Show Amazonka.S3.Types.FilterRuleName.FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: newtype FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: pattern FilterRuleName_Prefix :: FilterRuleName
+ Amazonka.S3.Types.FilterRuleName: pattern FilterRuleName_Suffix :: FilterRuleName
+ Amazonka.S3.Types.GetObjectAttributesParts: GetObjectAttributesParts' :: Maybe Bool -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe [ObjectPart] -> Maybe Int -> GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: [$sel:isTruncated:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Bool
+ Amazonka.S3.Types.GetObjectAttributesParts: [$sel:maxParts:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types.GetObjectAttributesParts: [$sel:nextPartNumberMarker:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types.GetObjectAttributesParts: [$sel:partNumberMarker:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types.GetObjectAttributesParts: [$sel:parts:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe [ObjectPart]
+ Amazonka.S3.Types.GetObjectAttributesParts: [$sel:totalPartsCount:GetObjectAttributesParts'] :: GetObjectAttributesParts -> Maybe Int
+ Amazonka.S3.Types.GetObjectAttributesParts: data GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: getObjectAttributesParts_isTruncated :: Lens' GetObjectAttributesParts (Maybe Bool)
+ Amazonka.S3.Types.GetObjectAttributesParts: getObjectAttributesParts_maxParts :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types.GetObjectAttributesParts: getObjectAttributesParts_nextPartNumberMarker :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types.GetObjectAttributesParts: getObjectAttributesParts_partNumberMarker :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types.GetObjectAttributesParts: getObjectAttributesParts_parts :: Lens' GetObjectAttributesParts (Maybe [ObjectPart])
+ Amazonka.S3.Types.GetObjectAttributesParts: getObjectAttributesParts_totalPartsCount :: Lens' GetObjectAttributesParts (Maybe Int)
+ Amazonka.S3.Types.GetObjectAttributesParts: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: instance Control.DeepSeq.NFData Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: instance GHC.Classes.Eq Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: instance GHC.Generics.Generic Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: instance GHC.Read.Read Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: instance GHC.Show.Show Amazonka.S3.Types.GetObjectAttributesParts.GetObjectAttributesParts
+ Amazonka.S3.Types.GetObjectAttributesParts: newGetObjectAttributesParts :: GetObjectAttributesParts
+ Amazonka.S3.Types.GlacierJobParameters: GlacierJobParameters' :: Tier -> GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: [$sel:tier:GlacierJobParameters'] :: GlacierJobParameters -> Tier
+ Amazonka.S3.Types.GlacierJobParameters: data GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: glacierJobParameters_tier :: Lens' GlacierJobParameters Tier
+ Amazonka.S3.Types.GlacierJobParameters: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: instance Control.DeepSeq.NFData Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: instance GHC.Classes.Eq Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: instance GHC.Generics.Generic Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: instance GHC.Read.Read Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: instance GHC.Show.Show Amazonka.S3.Types.GlacierJobParameters.GlacierJobParameters
+ Amazonka.S3.Types.GlacierJobParameters: newGlacierJobParameters :: Tier -> GlacierJobParameters
+ Amazonka.S3.Types.Grant: Grant' :: Maybe Grantee -> Maybe Permission -> Grant
+ Amazonka.S3.Types.Grant: [$sel:grantee:Grant'] :: Grant -> Maybe Grantee
+ Amazonka.S3.Types.Grant: [$sel:permission:Grant'] :: Grant -> Maybe Permission
+ Amazonka.S3.Types.Grant: data Grant
+ Amazonka.S3.Types.Grant: grant_grantee :: Lens' Grant (Maybe Grantee)
+ Amazonka.S3.Types.Grant: grant_permission :: Lens' Grant (Maybe Permission)
+ Amazonka.S3.Types.Grant: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance Control.DeepSeq.NFData Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance GHC.Classes.Eq Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance GHC.Generics.Generic Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance GHC.Read.Read Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: instance GHC.Show.Show Amazonka.S3.Types.Grant.Grant
+ Amazonka.S3.Types.Grant: newGrant :: Grant
+ Amazonka.S3.Types.Grantee: Grantee' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Type -> Grantee
+ Amazonka.S3.Types.Grantee: [$sel:displayName:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types.Grantee: [$sel:emailAddress:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types.Grantee: [$sel:id:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types.Grantee: [$sel:type':Grantee'] :: Grantee -> Type
+ Amazonka.S3.Types.Grantee: [$sel:uri:Grantee'] :: Grantee -> Maybe Text
+ Amazonka.S3.Types.Grantee: data Grantee
+ Amazonka.S3.Types.Grantee: grantee_displayName :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types.Grantee: grantee_emailAddress :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types.Grantee: grantee_id :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types.Grantee: grantee_type :: Lens' Grantee Type
+ Amazonka.S3.Types.Grantee: grantee_uri :: Lens' Grantee (Maybe Text)
+ Amazonka.S3.Types.Grantee: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance Control.DeepSeq.NFData Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance GHC.Classes.Eq Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance GHC.Generics.Generic Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance GHC.Read.Read Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: instance GHC.Show.Show Amazonka.S3.Types.Grantee.Grantee
+ Amazonka.S3.Types.Grantee: newGrantee :: Type -> Grantee
+ Amazonka.S3.Types.IndexDocument: IndexDocument' :: Text -> IndexDocument
+ Amazonka.S3.Types.IndexDocument: [$sel:suffix:IndexDocument'] :: IndexDocument -> Text
+ Amazonka.S3.Types.IndexDocument: data IndexDocument
+ Amazonka.S3.Types.IndexDocument: indexDocument_suffix :: Lens' IndexDocument Text
+ Amazonka.S3.Types.IndexDocument: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance Control.DeepSeq.NFData Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance GHC.Classes.Eq Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance GHC.Generics.Generic Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance GHC.Read.Read Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: instance GHC.Show.Show Amazonka.S3.Types.IndexDocument.IndexDocument
+ Amazonka.S3.Types.IndexDocument: newIndexDocument :: Text -> IndexDocument
+ Amazonka.S3.Types.Initiator: Initiator' :: Maybe Text -> Maybe Text -> Initiator
+ Amazonka.S3.Types.Initiator: [$sel:displayName:Initiator'] :: Initiator -> Maybe Text
+ Amazonka.S3.Types.Initiator: [$sel:id:Initiator'] :: Initiator -> Maybe Text
+ Amazonka.S3.Types.Initiator: data Initiator
+ Amazonka.S3.Types.Initiator: initiator_displayName :: Lens' Initiator (Maybe Text)
+ Amazonka.S3.Types.Initiator: initiator_id :: Lens' Initiator (Maybe Text)
+ Amazonka.S3.Types.Initiator: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: instance Control.DeepSeq.NFData Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: instance GHC.Classes.Eq Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: instance GHC.Generics.Generic Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: instance GHC.Read.Read Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: instance GHC.Show.Show Amazonka.S3.Types.Initiator.Initiator
+ Amazonka.S3.Types.Initiator: newInitiator :: Initiator
+ Amazonka.S3.Types.InputSerialization: InputSerialization' :: Maybe CSVInput -> Maybe CompressionType -> Maybe JSONInput -> Maybe ParquetInput -> InputSerialization
+ Amazonka.S3.Types.InputSerialization: [$sel:compressionType:InputSerialization'] :: InputSerialization -> Maybe CompressionType
+ Amazonka.S3.Types.InputSerialization: [$sel:csv:InputSerialization'] :: InputSerialization -> Maybe CSVInput
+ Amazonka.S3.Types.InputSerialization: [$sel:json:InputSerialization'] :: InputSerialization -> Maybe JSONInput
+ Amazonka.S3.Types.InputSerialization: [$sel:parquet:InputSerialization'] :: InputSerialization -> Maybe ParquetInput
+ Amazonka.S3.Types.InputSerialization: data InputSerialization
+ Amazonka.S3.Types.InputSerialization: inputSerialization_compressionType :: Lens' InputSerialization (Maybe CompressionType)
+ Amazonka.S3.Types.InputSerialization: inputSerialization_csv :: Lens' InputSerialization (Maybe CSVInput)
+ Amazonka.S3.Types.InputSerialization: inputSerialization_json :: Lens' InputSerialization (Maybe JSONInput)
+ Amazonka.S3.Types.InputSerialization: inputSerialization_parquet :: Lens' InputSerialization (Maybe ParquetInput)
+ Amazonka.S3.Types.InputSerialization: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: instance Control.DeepSeq.NFData Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: instance GHC.Classes.Eq Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: instance GHC.Generics.Generic Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: instance GHC.Read.Read Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: instance GHC.Show.Show Amazonka.S3.Types.InputSerialization.InputSerialization
+ Amazonka.S3.Types.InputSerialization: newInputSerialization :: InputSerialization
+ Amazonka.S3.Types.IntelligentTieringAccessTier: IntelligentTieringAccessTier' :: Text -> IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: [fromIntelligentTieringAccessTier] :: IntelligentTieringAccessTier -> Text
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Control.DeepSeq.NFData Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance GHC.Classes.Eq Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance GHC.Classes.Ord Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance GHC.Generics.Generic Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance GHC.Read.Read Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: instance GHC.Show.Show Amazonka.S3.Types.IntelligentTieringAccessTier.IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: newtype IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: pattern IntelligentTieringAccessTier_ARCHIVE_ACCESS :: IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAccessTier: pattern IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS :: IntelligentTieringAccessTier
+ Amazonka.S3.Types.IntelligentTieringAndOperator: IntelligentTieringAndOperator' :: Maybe Text -> Maybe [Tag] -> IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: [$sel:prefix:IntelligentTieringAndOperator'] :: IntelligentTieringAndOperator -> Maybe Text
+ Amazonka.S3.Types.IntelligentTieringAndOperator: [$sel:tags:IntelligentTieringAndOperator'] :: IntelligentTieringAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types.IntelligentTieringAndOperator: data IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance Control.DeepSeq.NFData Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance GHC.Classes.Eq Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance GHC.Generics.Generic Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance GHC.Read.Read Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: instance GHC.Show.Show Amazonka.S3.Types.IntelligentTieringAndOperator.IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringAndOperator: intelligentTieringAndOperator_prefix :: Lens' IntelligentTieringAndOperator (Maybe Text)
+ Amazonka.S3.Types.IntelligentTieringAndOperator: intelligentTieringAndOperator_tags :: Lens' IntelligentTieringAndOperator (Maybe [Tag])
+ Amazonka.S3.Types.IntelligentTieringAndOperator: newIntelligentTieringAndOperator :: IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringConfiguration: IntelligentTieringConfiguration' :: Maybe IntelligentTieringFilter -> Text -> IntelligentTieringStatus -> [Tiering] -> IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: [$sel:filter':IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> Maybe IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringConfiguration: [$sel:id:IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> Text
+ Amazonka.S3.Types.IntelligentTieringConfiguration: [$sel:status:IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringConfiguration: [$sel:tierings:IntelligentTieringConfiguration'] :: IntelligentTieringConfiguration -> [Tiering]
+ Amazonka.S3.Types.IntelligentTieringConfiguration: data IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance GHC.Read.Read Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: instance GHC.Show.Show Amazonka.S3.Types.IntelligentTieringConfiguration.IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringConfiguration: intelligentTieringConfiguration_filter :: Lens' IntelligentTieringConfiguration (Maybe IntelligentTieringFilter)
+ Amazonka.S3.Types.IntelligentTieringConfiguration: intelligentTieringConfiguration_id :: Lens' IntelligentTieringConfiguration Text
+ Amazonka.S3.Types.IntelligentTieringConfiguration: intelligentTieringConfiguration_status :: Lens' IntelligentTieringConfiguration IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringConfiguration: intelligentTieringConfiguration_tierings :: Lens' IntelligentTieringConfiguration [Tiering]
+ Amazonka.S3.Types.IntelligentTieringConfiguration: newIntelligentTieringConfiguration :: Text -> IntelligentTieringStatus -> IntelligentTieringConfiguration
+ Amazonka.S3.Types.IntelligentTieringFilter: IntelligentTieringFilter' :: Maybe IntelligentTieringAndOperator -> Maybe Text -> Maybe Tag -> IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: [$sel:and:IntelligentTieringFilter'] :: IntelligentTieringFilter -> Maybe IntelligentTieringAndOperator
+ Amazonka.S3.Types.IntelligentTieringFilter: [$sel:prefix:IntelligentTieringFilter'] :: IntelligentTieringFilter -> Maybe Text
+ Amazonka.S3.Types.IntelligentTieringFilter: [$sel:tag:IntelligentTieringFilter'] :: IntelligentTieringFilter -> Maybe Tag
+ Amazonka.S3.Types.IntelligentTieringFilter: data IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance GHC.Classes.Eq Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance GHC.Generics.Generic Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance GHC.Read.Read Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: instance GHC.Show.Show Amazonka.S3.Types.IntelligentTieringFilter.IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringFilter: intelligentTieringFilter_and :: Lens' IntelligentTieringFilter (Maybe IntelligentTieringAndOperator)
+ Amazonka.S3.Types.IntelligentTieringFilter: intelligentTieringFilter_prefix :: Lens' IntelligentTieringFilter (Maybe Text)
+ Amazonka.S3.Types.IntelligentTieringFilter: intelligentTieringFilter_tag :: Lens' IntelligentTieringFilter (Maybe Tag)
+ Amazonka.S3.Types.IntelligentTieringFilter: newIntelligentTieringFilter :: IntelligentTieringFilter
+ Amazonka.S3.Types.IntelligentTieringStatus: IntelligentTieringStatus' :: Text -> IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: [fromIntelligentTieringStatus] :: IntelligentTieringStatus -> Text
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance GHC.Classes.Eq Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance GHC.Classes.Ord Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance GHC.Generics.Generic Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance GHC.Read.Read Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: instance GHC.Show.Show Amazonka.S3.Types.IntelligentTieringStatus.IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: newtype IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: pattern IntelligentTieringStatus_Disabled :: IntelligentTieringStatus
+ Amazonka.S3.Types.IntelligentTieringStatus: pattern IntelligentTieringStatus_Enabled :: IntelligentTieringStatus
+ Amazonka.S3.Types.InventoryConfiguration: InventoryConfiguration' :: Maybe InventoryFilter -> Maybe [InventoryOptionalField] -> InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:destination:InventoryConfiguration'] :: InventoryConfiguration -> InventoryDestination
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:filter':InventoryConfiguration'] :: InventoryConfiguration -> Maybe InventoryFilter
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:id:InventoryConfiguration'] :: InventoryConfiguration -> Text
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:includedObjectVersions:InventoryConfiguration'] :: InventoryConfiguration -> InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:isEnabled:InventoryConfiguration'] :: InventoryConfiguration -> Bool
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:optionalFields:InventoryConfiguration'] :: InventoryConfiguration -> Maybe [InventoryOptionalField]
+ Amazonka.S3.Types.InventoryConfiguration: [$sel:schedule:InventoryConfiguration'] :: InventoryConfiguration -> InventorySchedule
+ Amazonka.S3.Types.InventoryConfiguration: data InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: instance GHC.Show.Show Amazonka.S3.Types.InventoryConfiguration.InventoryConfiguration
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_destination :: Lens' InventoryConfiguration InventoryDestination
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_filter :: Lens' InventoryConfiguration (Maybe InventoryFilter)
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_id :: Lens' InventoryConfiguration Text
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_includedObjectVersions :: Lens' InventoryConfiguration InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_isEnabled :: Lens' InventoryConfiguration Bool
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_optionalFields :: Lens' InventoryConfiguration (Maybe [InventoryOptionalField])
+ Amazonka.S3.Types.InventoryConfiguration: inventoryConfiguration_schedule :: Lens' InventoryConfiguration InventorySchedule
+ Amazonka.S3.Types.InventoryConfiguration: newInventoryConfiguration :: InventoryDestination -> Bool -> Text -> InventoryIncludedObjectVersions -> InventorySchedule -> InventoryConfiguration
+ Amazonka.S3.Types.InventoryDestination: InventoryDestination' :: InventoryS3BucketDestination -> InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: [$sel:s3BucketDestination:InventoryDestination'] :: InventoryDestination -> InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryDestination: data InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: instance GHC.Show.Show Amazonka.S3.Types.InventoryDestination.InventoryDestination
+ Amazonka.S3.Types.InventoryDestination: inventoryDestination_s3BucketDestination :: Lens' InventoryDestination InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryDestination: newInventoryDestination :: InventoryS3BucketDestination -> InventoryDestination
+ Amazonka.S3.Types.InventoryEncryption: InventoryEncryption' :: Maybe SSEKMS -> Maybe SSES3 -> InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: [$sel:ssekms:InventoryEncryption'] :: InventoryEncryption -> Maybe SSEKMS
+ Amazonka.S3.Types.InventoryEncryption: [$sel:sses3:InventoryEncryption'] :: InventoryEncryption -> Maybe SSES3
+ Amazonka.S3.Types.InventoryEncryption: data InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: instance GHC.Show.Show Amazonka.S3.Types.InventoryEncryption.InventoryEncryption
+ Amazonka.S3.Types.InventoryEncryption: inventoryEncryption_ssekms :: Lens' InventoryEncryption (Maybe SSEKMS)
+ Amazonka.S3.Types.InventoryEncryption: inventoryEncryption_sses3 :: Lens' InventoryEncryption (Maybe SSES3)
+ Amazonka.S3.Types.InventoryEncryption: newInventoryEncryption :: InventoryEncryption
+ Amazonka.S3.Types.InventoryFilter: InventoryFilter' :: Text -> InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: [$sel:prefix:InventoryFilter'] :: InventoryFilter -> Text
+ Amazonka.S3.Types.InventoryFilter: data InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance GHC.Read.Read Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: instance GHC.Show.Show Amazonka.S3.Types.InventoryFilter.InventoryFilter
+ Amazonka.S3.Types.InventoryFilter: inventoryFilter_prefix :: Lens' InventoryFilter Text
+ Amazonka.S3.Types.InventoryFilter: newInventoryFilter :: Text -> InventoryFilter
+ Amazonka.S3.Types.InventoryFormat: InventoryFormat' :: Text -> InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: [fromInventoryFormat] :: InventoryFormat -> Text
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance GHC.Classes.Ord Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance GHC.Read.Read Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: instance GHC.Show.Show Amazonka.S3.Types.InventoryFormat.InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: newtype InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: pattern InventoryFormat_CSV :: InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: pattern InventoryFormat_ORC :: InventoryFormat
+ Amazonka.S3.Types.InventoryFormat: pattern InventoryFormat_Parquet :: InventoryFormat
+ Amazonka.S3.Types.InventoryFrequency: InventoryFrequency' :: Text -> InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: [fromInventoryFrequency] :: InventoryFrequency -> Text
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance GHC.Classes.Ord Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance GHC.Read.Read Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: instance GHC.Show.Show Amazonka.S3.Types.InventoryFrequency.InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: newtype InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: pattern InventoryFrequency_Daily :: InventoryFrequency
+ Amazonka.S3.Types.InventoryFrequency: pattern InventoryFrequency_Weekly :: InventoryFrequency
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: InventoryIncludedObjectVersions' :: Text -> InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: [fromInventoryIncludedObjectVersions] :: InventoryIncludedObjectVersions -> Text
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance GHC.Classes.Ord Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance GHC.Read.Read Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: instance GHC.Show.Show Amazonka.S3.Types.InventoryIncludedObjectVersions.InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: newtype InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: pattern InventoryIncludedObjectVersions_All :: InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryIncludedObjectVersions: pattern InventoryIncludedObjectVersions_Current :: InventoryIncludedObjectVersions
+ Amazonka.S3.Types.InventoryOptionalField: InventoryOptionalField' :: Text -> InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: [fromInventoryOptionalField] :: InventoryOptionalField -> Text
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance GHC.Classes.Ord Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance GHC.Read.Read Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: instance GHC.Show.Show Amazonka.S3.Types.InventoryOptionalField.InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: newtype InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_BucketKeyStatus :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_ChecksumAlgorithm :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_ETag :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_EncryptionStatus :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_IntelligentTieringAccessTier :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_IsMultipartUploaded :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_LastModifiedDate :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_ObjectLockLegalHoldStatus :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_ObjectLockMode :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_ObjectLockRetainUntilDate :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_ReplicationStatus :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_Size :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryOptionalField: pattern InventoryOptionalField_StorageClass :: InventoryOptionalField
+ Amazonka.S3.Types.InventoryS3BucketDestination: InventoryS3BucketDestination' :: Maybe Text -> Maybe InventoryEncryption -> Maybe Text -> BucketName -> InventoryFormat -> InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: [$sel:accountId:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types.InventoryS3BucketDestination: [$sel:bucket:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> BucketName
+ Amazonka.S3.Types.InventoryS3BucketDestination: [$sel:encryption:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> Maybe InventoryEncryption
+ Amazonka.S3.Types.InventoryS3BucketDestination: [$sel:format:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> InventoryFormat
+ Amazonka.S3.Types.InventoryS3BucketDestination: [$sel:prefix:InventoryS3BucketDestination'] :: InventoryS3BucketDestination -> Maybe Text
+ Amazonka.S3.Types.InventoryS3BucketDestination: data InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance GHC.Classes.Eq Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance GHC.Generics.Generic Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: instance GHC.Show.Show Amazonka.S3.Types.InventoryS3BucketDestination.InventoryS3BucketDestination
+ Amazonka.S3.Types.InventoryS3BucketDestination: inventoryS3BucketDestination_accountId :: Lens' InventoryS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types.InventoryS3BucketDestination: inventoryS3BucketDestination_bucket :: Lens' InventoryS3BucketDestination BucketName
+ Amazonka.S3.Types.InventoryS3BucketDestination: inventoryS3BucketDestination_encryption :: Lens' InventoryS3BucketDestination (Maybe InventoryEncryption)
+ Amazonka.S3.Types.InventoryS3BucketDestination: inventoryS3BucketDestination_format :: Lens' InventoryS3BucketDestination InventoryFormat
+ Amazonka.S3.Types.InventoryS3BucketDestination: inventoryS3BucketDestination_prefix :: Lens' InventoryS3BucketDestination (Maybe Text)
+ Amazonka.S3.Types.InventoryS3BucketDestination: newInventoryS3BucketDestination :: BucketName -> InventoryFormat -> InventoryS3BucketDestination
+ Amazonka.S3.Types.InventorySchedule: InventorySchedule' :: InventoryFrequency -> InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: [$sel:frequency:InventorySchedule'] :: InventorySchedule -> InventoryFrequency
+ Amazonka.S3.Types.InventorySchedule: data InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance Control.DeepSeq.NFData Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance GHC.Classes.Eq Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance GHC.Generics.Generic Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance GHC.Read.Read Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: instance GHC.Show.Show Amazonka.S3.Types.InventorySchedule.InventorySchedule
+ Amazonka.S3.Types.InventorySchedule: inventorySchedule_frequency :: Lens' InventorySchedule InventoryFrequency
+ Amazonka.S3.Types.InventorySchedule: newInventorySchedule :: InventoryFrequency -> InventorySchedule
+ Amazonka.S3.Types.JSONInput: JSONInput' :: Maybe JSONType -> JSONInput
+ Amazonka.S3.Types.JSONInput: [$sel:type':JSONInput'] :: JSONInput -> Maybe JSONType
+ Amazonka.S3.Types.JSONInput: data JSONInput
+ Amazonka.S3.Types.JSONInput: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: instance Control.DeepSeq.NFData Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: instance GHC.Classes.Eq Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: instance GHC.Generics.Generic Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: instance GHC.Read.Read Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: instance GHC.Show.Show Amazonka.S3.Types.JSONInput.JSONInput
+ Amazonka.S3.Types.JSONInput: jSONInput_type :: Lens' JSONInput (Maybe JSONType)
+ Amazonka.S3.Types.JSONInput: newJSONInput :: JSONInput
+ Amazonka.S3.Types.JSONOutput: JSONOutput' :: Maybe Text -> JSONOutput
+ Amazonka.S3.Types.JSONOutput: [$sel:recordDelimiter:JSONOutput'] :: JSONOutput -> Maybe Text
+ Amazonka.S3.Types.JSONOutput: data JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance Control.DeepSeq.NFData Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance GHC.Classes.Eq Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance GHC.Generics.Generic Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance GHC.Read.Read Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: instance GHC.Show.Show Amazonka.S3.Types.JSONOutput.JSONOutput
+ Amazonka.S3.Types.JSONOutput: jSONOutput_recordDelimiter :: Lens' JSONOutput (Maybe Text)
+ Amazonka.S3.Types.JSONOutput: newJSONOutput :: JSONOutput
+ Amazonka.S3.Types.JSONType: JSONType' :: Text -> JSONType
+ Amazonka.S3.Types.JSONType: [fromJSONType] :: JSONType -> Text
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Control.DeepSeq.NFData Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance GHC.Classes.Eq Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance GHC.Classes.Ord Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance GHC.Generics.Generic Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance GHC.Read.Read Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: instance GHC.Show.Show Amazonka.S3.Types.JSONType.JSONType
+ Amazonka.S3.Types.JSONType: newtype JSONType
+ Amazonka.S3.Types.JSONType: pattern JSONType_DOCUMENT :: JSONType
+ Amazonka.S3.Types.JSONType: pattern JSONType_LINES :: JSONType
+ Amazonka.S3.Types.LambdaFunctionConfiguration: LambdaFunctionConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: [$sel:events:LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> [Event]
+ Amazonka.S3.Types.LambdaFunctionConfiguration: [$sel:filter':LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> Maybe NotificationConfigurationFilter
+ Amazonka.S3.Types.LambdaFunctionConfiguration: [$sel:id:LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> Maybe Text
+ Amazonka.S3.Types.LambdaFunctionConfiguration: [$sel:lambdaFunctionArn:LambdaFunctionConfiguration'] :: LambdaFunctionConfiguration -> Text
+ Amazonka.S3.Types.LambdaFunctionConfiguration: data LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance GHC.Read.Read Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: instance GHC.Show.Show Amazonka.S3.Types.LambdaFunctionConfiguration.LambdaFunctionConfiguration
+ Amazonka.S3.Types.LambdaFunctionConfiguration: lambdaFunctionConfiguration_events :: Lens' LambdaFunctionConfiguration [Event]
+ Amazonka.S3.Types.LambdaFunctionConfiguration: lambdaFunctionConfiguration_filter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Types.LambdaFunctionConfiguration: lambdaFunctionConfiguration_id :: Lens' LambdaFunctionConfiguration (Maybe Text)
+ Amazonka.S3.Types.LambdaFunctionConfiguration: lambdaFunctionConfiguration_lambdaFunctionArn :: Lens' LambdaFunctionConfiguration Text
+ Amazonka.S3.Types.LambdaFunctionConfiguration: newLambdaFunctionConfiguration :: Text -> LambdaFunctionConfiguration
+ Amazonka.S3.Types.LifecycleExpiration: LifecycleExpiration' :: Maybe ISO8601 -> Maybe Int -> Maybe Bool -> LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: [$sel:date:LifecycleExpiration'] :: LifecycleExpiration -> Maybe ISO8601
+ Amazonka.S3.Types.LifecycleExpiration: [$sel:days:LifecycleExpiration'] :: LifecycleExpiration -> Maybe Int
+ Amazonka.S3.Types.LifecycleExpiration: [$sel:expiredObjectDeleteMarker:LifecycleExpiration'] :: LifecycleExpiration -> Maybe Bool
+ Amazonka.S3.Types.LifecycleExpiration: data LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance Control.DeepSeq.NFData Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance GHC.Classes.Eq Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance GHC.Generics.Generic Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance GHC.Read.Read Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: instance GHC.Show.Show Amazonka.S3.Types.LifecycleExpiration.LifecycleExpiration
+ Amazonka.S3.Types.LifecycleExpiration: lifecycleExpiration_date :: Lens' LifecycleExpiration (Maybe UTCTime)
+ Amazonka.S3.Types.LifecycleExpiration: lifecycleExpiration_days :: Lens' LifecycleExpiration (Maybe Int)
+ Amazonka.S3.Types.LifecycleExpiration: lifecycleExpiration_expiredObjectDeleteMarker :: Lens' LifecycleExpiration (Maybe Bool)
+ Amazonka.S3.Types.LifecycleExpiration: newLifecycleExpiration :: LifecycleExpiration
+ Amazonka.S3.Types.LifecycleRule: LifecycleRule' :: Maybe AbortIncompleteMultipartUpload -> Maybe LifecycleExpiration -> Maybe LifecycleRuleFilter -> Maybe Text -> Maybe NoncurrentVersionExpiration -> Maybe [NoncurrentVersionTransition] -> Maybe Text -> Maybe [Transition] -> ExpirationStatus -> LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: [$sel:abortIncompleteMultipartUpload:LifecycleRule'] :: LifecycleRule -> Maybe AbortIncompleteMultipartUpload
+ Amazonka.S3.Types.LifecycleRule: [$sel:expiration:LifecycleRule'] :: LifecycleRule -> Maybe LifecycleExpiration
+ Amazonka.S3.Types.LifecycleRule: [$sel:filter':LifecycleRule'] :: LifecycleRule -> Maybe LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRule: [$sel:id:LifecycleRule'] :: LifecycleRule -> Maybe Text
+ Amazonka.S3.Types.LifecycleRule: [$sel:noncurrentVersionExpiration:LifecycleRule'] :: LifecycleRule -> Maybe NoncurrentVersionExpiration
+ Amazonka.S3.Types.LifecycleRule: [$sel:noncurrentVersionTransitions:LifecycleRule'] :: LifecycleRule -> Maybe [NoncurrentVersionTransition]
+ Amazonka.S3.Types.LifecycleRule: [$sel:prefix:LifecycleRule'] :: LifecycleRule -> Maybe Text
+ Amazonka.S3.Types.LifecycleRule: [$sel:status:LifecycleRule'] :: LifecycleRule -> ExpirationStatus
+ Amazonka.S3.Types.LifecycleRule: [$sel:transitions:LifecycleRule'] :: LifecycleRule -> Maybe [Transition]
+ Amazonka.S3.Types.LifecycleRule: data LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance GHC.Classes.Eq Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance GHC.Generics.Generic Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance GHC.Read.Read Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: instance GHC.Show.Show Amazonka.S3.Types.LifecycleRule.LifecycleRule
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_abortIncompleteMultipartUpload :: Lens' LifecycleRule (Maybe AbortIncompleteMultipartUpload)
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_expiration :: Lens' LifecycleRule (Maybe LifecycleExpiration)
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_filter :: Lens' LifecycleRule (Maybe LifecycleRuleFilter)
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_id :: Lens' LifecycleRule (Maybe Text)
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_noncurrentVersionExpiration :: Lens' LifecycleRule (Maybe NoncurrentVersionExpiration)
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_noncurrentVersionTransitions :: Lens' LifecycleRule (Maybe [NoncurrentVersionTransition])
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_prefix :: Lens' LifecycleRule (Maybe Text)
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_status :: Lens' LifecycleRule ExpirationStatus
+ Amazonka.S3.Types.LifecycleRule: lifecycleRule_transitions :: Lens' LifecycleRule (Maybe [Transition])
+ Amazonka.S3.Types.LifecycleRule: newLifecycleRule :: ExpirationStatus -> LifecycleRule
+ Amazonka.S3.Types.LifecycleRuleAndOperator: LifecycleRuleAndOperator' :: Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe [Tag] -> LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: [$sel:objectSizeGreaterThan:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe Integer
+ Amazonka.S3.Types.LifecycleRuleAndOperator: [$sel:objectSizeLessThan:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe Integer
+ Amazonka.S3.Types.LifecycleRuleAndOperator: [$sel:prefix:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe Text
+ Amazonka.S3.Types.LifecycleRuleAndOperator: [$sel:tags:LifecycleRuleAndOperator'] :: LifecycleRuleAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types.LifecycleRuleAndOperator: data LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance Control.DeepSeq.NFData Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance GHC.Classes.Eq Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance GHC.Generics.Generic Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance GHC.Read.Read Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: instance GHC.Show.Show Amazonka.S3.Types.LifecycleRuleAndOperator.LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleAndOperator: lifecycleRuleAndOperator_objectSizeGreaterThan :: Lens' LifecycleRuleAndOperator (Maybe Integer)
+ Amazonka.S3.Types.LifecycleRuleAndOperator: lifecycleRuleAndOperator_objectSizeLessThan :: Lens' LifecycleRuleAndOperator (Maybe Integer)
+ Amazonka.S3.Types.LifecycleRuleAndOperator: lifecycleRuleAndOperator_prefix :: Lens' LifecycleRuleAndOperator (Maybe Text)
+ Amazonka.S3.Types.LifecycleRuleAndOperator: lifecycleRuleAndOperator_tags :: Lens' LifecycleRuleAndOperator (Maybe [Tag])
+ Amazonka.S3.Types.LifecycleRuleAndOperator: newLifecycleRuleAndOperator :: LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleFilter: LifecycleRuleFilter' :: Maybe LifecycleRuleAndOperator -> Maybe Integer -> Maybe Integer -> Maybe Text -> Maybe Tag -> LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: [$sel:and:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe LifecycleRuleAndOperator
+ Amazonka.S3.Types.LifecycleRuleFilter: [$sel:objectSizeGreaterThan:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Integer
+ Amazonka.S3.Types.LifecycleRuleFilter: [$sel:objectSizeLessThan:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Integer
+ Amazonka.S3.Types.LifecycleRuleFilter: [$sel:prefix:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Text
+ Amazonka.S3.Types.LifecycleRuleFilter: [$sel:tag:LifecycleRuleFilter'] :: LifecycleRuleFilter -> Maybe Tag
+ Amazonka.S3.Types.LifecycleRuleFilter: data LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance GHC.Classes.Eq Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance GHC.Generics.Generic Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance GHC.Read.Read Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: instance GHC.Show.Show Amazonka.S3.Types.LifecycleRuleFilter.LifecycleRuleFilter
+ Amazonka.S3.Types.LifecycleRuleFilter: lifecycleRuleFilter_and :: Lens' LifecycleRuleFilter (Maybe LifecycleRuleAndOperator)
+ Amazonka.S3.Types.LifecycleRuleFilter: lifecycleRuleFilter_objectSizeGreaterThan :: Lens' LifecycleRuleFilter (Maybe Integer)
+ Amazonka.S3.Types.LifecycleRuleFilter: lifecycleRuleFilter_objectSizeLessThan :: Lens' LifecycleRuleFilter (Maybe Integer)
+ Amazonka.S3.Types.LifecycleRuleFilter: lifecycleRuleFilter_prefix :: Lens' LifecycleRuleFilter (Maybe Text)
+ Amazonka.S3.Types.LifecycleRuleFilter: lifecycleRuleFilter_tag :: Lens' LifecycleRuleFilter (Maybe Tag)
+ Amazonka.S3.Types.LifecycleRuleFilter: newLifecycleRuleFilter :: LifecycleRuleFilter
+ Amazonka.S3.Types.LoggingEnabled: LoggingEnabled' :: Maybe [TargetGrant] -> Text -> Text -> LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: [$sel:targetBucket:LoggingEnabled'] :: LoggingEnabled -> Text
+ Amazonka.S3.Types.LoggingEnabled: [$sel:targetGrants:LoggingEnabled'] :: LoggingEnabled -> Maybe [TargetGrant]
+ Amazonka.S3.Types.LoggingEnabled: [$sel:targetPrefix:LoggingEnabled'] :: LoggingEnabled -> Text
+ Amazonka.S3.Types.LoggingEnabled: data LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance Control.DeepSeq.NFData Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance GHC.Classes.Eq Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance GHC.Generics.Generic Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance GHC.Read.Read Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: instance GHC.Show.Show Amazonka.S3.Types.LoggingEnabled.LoggingEnabled
+ Amazonka.S3.Types.LoggingEnabled: loggingEnabled_targetBucket :: Lens' LoggingEnabled Text
+ Amazonka.S3.Types.LoggingEnabled: loggingEnabled_targetGrants :: Lens' LoggingEnabled (Maybe [TargetGrant])
+ Amazonka.S3.Types.LoggingEnabled: loggingEnabled_targetPrefix :: Lens' LoggingEnabled Text
+ Amazonka.S3.Types.LoggingEnabled: newLoggingEnabled :: Text -> Text -> LoggingEnabled
+ Amazonka.S3.Types.MFADelete: MFADelete' :: Text -> MFADelete
+ Amazonka.S3.Types.MFADelete: [fromMFADelete] :: MFADelete -> Text
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Control.DeepSeq.NFData Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance GHC.Classes.Eq Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance GHC.Classes.Ord Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance GHC.Generics.Generic Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance GHC.Read.Read Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: instance GHC.Show.Show Amazonka.S3.Types.MFADelete.MFADelete
+ Amazonka.S3.Types.MFADelete: newtype MFADelete
+ Amazonka.S3.Types.MFADelete: pattern MFADelete_Disabled :: MFADelete
+ Amazonka.S3.Types.MFADelete: pattern MFADelete_Enabled :: MFADelete
+ Amazonka.S3.Types.MFADeleteStatus: MFADeleteStatus' :: Text -> MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: [fromMFADeleteStatus] :: MFADeleteStatus -> Text
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance GHC.Classes.Eq Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance GHC.Classes.Ord Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance GHC.Generics.Generic Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance GHC.Read.Read Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: instance GHC.Show.Show Amazonka.S3.Types.MFADeleteStatus.MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: newtype MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: pattern MFADeleteStatus_Disabled :: MFADeleteStatus
+ Amazonka.S3.Types.MFADeleteStatus: pattern MFADeleteStatus_Enabled :: MFADeleteStatus
+ Amazonka.S3.Types.MetadataDirective: MetadataDirective' :: Text -> MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: [fromMetadataDirective] :: MetadataDirective -> Text
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Control.DeepSeq.NFData Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance GHC.Classes.Eq Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance GHC.Classes.Ord Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance GHC.Generics.Generic Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance GHC.Read.Read Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: instance GHC.Show.Show Amazonka.S3.Types.MetadataDirective.MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: newtype MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: pattern MetadataDirective_COPY :: MetadataDirective
+ Amazonka.S3.Types.MetadataDirective: pattern MetadataDirective_REPLACE :: MetadataDirective
+ Amazonka.S3.Types.MetadataEntry: MetadataEntry' :: Maybe Text -> Maybe Text -> MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: [$sel:name:MetadataEntry'] :: MetadataEntry -> Maybe Text
+ Amazonka.S3.Types.MetadataEntry: [$sel:value:MetadataEntry'] :: MetadataEntry -> Maybe Text
+ Amazonka.S3.Types.MetadataEntry: data MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance Control.DeepSeq.NFData Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance GHC.Classes.Eq Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance GHC.Generics.Generic Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance GHC.Read.Read Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: instance GHC.Show.Show Amazonka.S3.Types.MetadataEntry.MetadataEntry
+ Amazonka.S3.Types.MetadataEntry: metadataEntry_name :: Lens' MetadataEntry (Maybe Text)
+ Amazonka.S3.Types.MetadataEntry: metadataEntry_value :: Lens' MetadataEntry (Maybe Text)
+ Amazonka.S3.Types.MetadataEntry: newMetadataEntry :: MetadataEntry
+ Amazonka.S3.Types.Metrics: Metrics' :: Maybe ReplicationTimeValue -> MetricsStatus -> Metrics
+ Amazonka.S3.Types.Metrics: [$sel:eventThreshold:Metrics'] :: Metrics -> Maybe ReplicationTimeValue
+ Amazonka.S3.Types.Metrics: [$sel:status:Metrics'] :: Metrics -> MetricsStatus
+ Amazonka.S3.Types.Metrics: data Metrics
+ Amazonka.S3.Types.Metrics: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance Control.DeepSeq.NFData Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance GHC.Classes.Eq Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance GHC.Generics.Generic Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance GHC.Read.Read Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: instance GHC.Show.Show Amazonka.S3.Types.Metrics.Metrics
+ Amazonka.S3.Types.Metrics: metrics_eventThreshold :: Lens' Metrics (Maybe ReplicationTimeValue)
+ Amazonka.S3.Types.Metrics: metrics_status :: Lens' Metrics MetricsStatus
+ Amazonka.S3.Types.Metrics: newMetrics :: MetricsStatus -> Metrics
+ Amazonka.S3.Types.MetricsAndOperator: MetricsAndOperator' :: Maybe Text -> Maybe Text -> Maybe [Tag] -> MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: [$sel:accessPointArn:MetricsAndOperator'] :: MetricsAndOperator -> Maybe Text
+ Amazonka.S3.Types.MetricsAndOperator: [$sel:prefix:MetricsAndOperator'] :: MetricsAndOperator -> Maybe Text
+ Amazonka.S3.Types.MetricsAndOperator: [$sel:tags:MetricsAndOperator'] :: MetricsAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types.MetricsAndOperator: data MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance Control.DeepSeq.NFData Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance GHC.Classes.Eq Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance GHC.Generics.Generic Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance GHC.Read.Read Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: instance GHC.Show.Show Amazonka.S3.Types.MetricsAndOperator.MetricsAndOperator
+ Amazonka.S3.Types.MetricsAndOperator: metricsAndOperator_accessPointArn :: Lens' MetricsAndOperator (Maybe Text)
+ Amazonka.S3.Types.MetricsAndOperator: metricsAndOperator_prefix :: Lens' MetricsAndOperator (Maybe Text)
+ Amazonka.S3.Types.MetricsAndOperator: metricsAndOperator_tags :: Lens' MetricsAndOperator (Maybe [Tag])
+ Amazonka.S3.Types.MetricsAndOperator: newMetricsAndOperator :: MetricsAndOperator
+ Amazonka.S3.Types.MetricsConfiguration: MetricsConfiguration' :: Maybe MetricsFilter -> Text -> MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: [$sel:filter':MetricsConfiguration'] :: MetricsConfiguration -> Maybe MetricsFilter
+ Amazonka.S3.Types.MetricsConfiguration: [$sel:id:MetricsConfiguration'] :: MetricsConfiguration -> Text
+ Amazonka.S3.Types.MetricsConfiguration: data MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance GHC.Read.Read Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: instance GHC.Show.Show Amazonka.S3.Types.MetricsConfiguration.MetricsConfiguration
+ Amazonka.S3.Types.MetricsConfiguration: metricsConfiguration_filter :: Lens' MetricsConfiguration (Maybe MetricsFilter)
+ Amazonka.S3.Types.MetricsConfiguration: metricsConfiguration_id :: Lens' MetricsConfiguration Text
+ Amazonka.S3.Types.MetricsConfiguration: newMetricsConfiguration :: Text -> MetricsConfiguration
+ Amazonka.S3.Types.MetricsFilter: MetricsFilter' :: Maybe Text -> Maybe MetricsAndOperator -> Maybe Text -> Maybe Tag -> MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: [$sel:accessPointArn:MetricsFilter'] :: MetricsFilter -> Maybe Text
+ Amazonka.S3.Types.MetricsFilter: [$sel:and:MetricsFilter'] :: MetricsFilter -> Maybe MetricsAndOperator
+ Amazonka.S3.Types.MetricsFilter: [$sel:prefix:MetricsFilter'] :: MetricsFilter -> Maybe Text
+ Amazonka.S3.Types.MetricsFilter: [$sel:tag:MetricsFilter'] :: MetricsFilter -> Maybe Tag
+ Amazonka.S3.Types.MetricsFilter: data MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance GHC.Classes.Eq Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance GHC.Generics.Generic Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance GHC.Read.Read Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: instance GHC.Show.Show Amazonka.S3.Types.MetricsFilter.MetricsFilter
+ Amazonka.S3.Types.MetricsFilter: metricsFilter_accessPointArn :: Lens' MetricsFilter (Maybe Text)
+ Amazonka.S3.Types.MetricsFilter: metricsFilter_and :: Lens' MetricsFilter (Maybe MetricsAndOperator)
+ Amazonka.S3.Types.MetricsFilter: metricsFilter_prefix :: Lens' MetricsFilter (Maybe Text)
+ Amazonka.S3.Types.MetricsFilter: metricsFilter_tag :: Lens' MetricsFilter (Maybe Tag)
+ Amazonka.S3.Types.MetricsFilter: newMetricsFilter :: MetricsFilter
+ Amazonka.S3.Types.MetricsStatus: MetricsStatus' :: Text -> MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: [fromMetricsStatus] :: MetricsStatus -> Text
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance GHC.Classes.Eq Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance GHC.Classes.Ord Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance GHC.Generics.Generic Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance GHC.Read.Read Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: instance GHC.Show.Show Amazonka.S3.Types.MetricsStatus.MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: newtype MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: pattern MetricsStatus_Disabled :: MetricsStatus
+ Amazonka.S3.Types.MetricsStatus: pattern MetricsStatus_Enabled :: MetricsStatus
+ Amazonka.S3.Types.MultipartUpload: MultipartUpload' :: Maybe ChecksumAlgorithm -> Maybe ISO8601 -> Maybe Initiator -> Maybe ObjectKey -> Maybe Owner -> Maybe StorageClass -> Maybe Text -> MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: [$sel:checksumAlgorithm:MultipartUpload'] :: MultipartUpload -> Maybe ChecksumAlgorithm
+ Amazonka.S3.Types.MultipartUpload: [$sel:initiated:MultipartUpload'] :: MultipartUpload -> Maybe ISO8601
+ Amazonka.S3.Types.MultipartUpload: [$sel:initiator:MultipartUpload'] :: MultipartUpload -> Maybe Initiator
+ Amazonka.S3.Types.MultipartUpload: [$sel:key:MultipartUpload'] :: MultipartUpload -> Maybe ObjectKey
+ Amazonka.S3.Types.MultipartUpload: [$sel:owner:MultipartUpload'] :: MultipartUpload -> Maybe Owner
+ Amazonka.S3.Types.MultipartUpload: [$sel:storageClass:MultipartUpload'] :: MultipartUpload -> Maybe StorageClass
+ Amazonka.S3.Types.MultipartUpload: [$sel:uploadId:MultipartUpload'] :: MultipartUpload -> Maybe Text
+ Amazonka.S3.Types.MultipartUpload: data MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance Control.DeepSeq.NFData Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance GHC.Classes.Eq Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance GHC.Generics.Generic Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance GHC.Read.Read Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: instance GHC.Show.Show Amazonka.S3.Types.MultipartUpload.MultipartUpload
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_checksumAlgorithm :: Lens' MultipartUpload (Maybe ChecksumAlgorithm)
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_initiated :: Lens' MultipartUpload (Maybe UTCTime)
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_initiator :: Lens' MultipartUpload (Maybe Initiator)
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_key :: Lens' MultipartUpload (Maybe ObjectKey)
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_owner :: Lens' MultipartUpload (Maybe Owner)
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_storageClass :: Lens' MultipartUpload (Maybe StorageClass)
+ Amazonka.S3.Types.MultipartUpload: multipartUpload_uploadId :: Lens' MultipartUpload (Maybe Text)
+ Amazonka.S3.Types.MultipartUpload: newMultipartUpload :: MultipartUpload
+ Amazonka.S3.Types.NoncurrentVersionExpiration: NoncurrentVersionExpiration' :: Maybe Int -> Int -> NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: [$sel:newerNoncurrentVersions':NoncurrentVersionExpiration'] :: NoncurrentVersionExpiration -> Maybe Int
+ Amazonka.S3.Types.NoncurrentVersionExpiration: [$sel:noncurrentDays:NoncurrentVersionExpiration'] :: NoncurrentVersionExpiration -> Int
+ Amazonka.S3.Types.NoncurrentVersionExpiration: data NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance Control.DeepSeq.NFData Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance GHC.Classes.Eq Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance GHC.Generics.Generic Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance GHC.Read.Read Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: instance GHC.Show.Show Amazonka.S3.Types.NoncurrentVersionExpiration.NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: newNoncurrentVersionExpiration :: Int -> NoncurrentVersionExpiration
+ Amazonka.S3.Types.NoncurrentVersionExpiration: noncurrentVersionExpiration_newerNoncurrentVersions :: Lens' NoncurrentVersionExpiration (Maybe Int)
+ Amazonka.S3.Types.NoncurrentVersionExpiration: noncurrentVersionExpiration_noncurrentDays :: Lens' NoncurrentVersionExpiration Int
+ Amazonka.S3.Types.NoncurrentVersionTransition: NoncurrentVersionTransition' :: Maybe Int -> Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: [$sel:newerNoncurrentVersions':NoncurrentVersionTransition'] :: NoncurrentVersionTransition -> Maybe Int
+ Amazonka.S3.Types.NoncurrentVersionTransition: [$sel:noncurrentDays:NoncurrentVersionTransition'] :: NoncurrentVersionTransition -> Int
+ Amazonka.S3.Types.NoncurrentVersionTransition: [$sel:storageClass:NoncurrentVersionTransition'] :: NoncurrentVersionTransition -> TransitionStorageClass
+ Amazonka.S3.Types.NoncurrentVersionTransition: data NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance Control.DeepSeq.NFData Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance GHC.Classes.Eq Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance GHC.Generics.Generic Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance GHC.Read.Read Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: instance GHC.Show.Show Amazonka.S3.Types.NoncurrentVersionTransition.NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: newNoncurrentVersionTransition :: Int -> TransitionStorageClass -> NoncurrentVersionTransition
+ Amazonka.S3.Types.NoncurrentVersionTransition: noncurrentVersionTransition_newerNoncurrentVersions :: Lens' NoncurrentVersionTransition (Maybe Int)
+ Amazonka.S3.Types.NoncurrentVersionTransition: noncurrentVersionTransition_noncurrentDays :: Lens' NoncurrentVersionTransition Int
+ Amazonka.S3.Types.NoncurrentVersionTransition: noncurrentVersionTransition_storageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass
+ Amazonka.S3.Types.NotificationConfiguration: NotificationConfiguration' :: Maybe EventBridgeConfiguration -> Maybe [LambdaFunctionConfiguration] -> Maybe [QueueConfiguration] -> Maybe [TopicConfiguration] -> NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: [$sel:eventBridgeConfiguration:NotificationConfiguration'] :: NotificationConfiguration -> Maybe EventBridgeConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: [$sel:lambdaFunctionConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [LambdaFunctionConfiguration]
+ Amazonka.S3.Types.NotificationConfiguration: [$sel:queueConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [QueueConfiguration]
+ Amazonka.S3.Types.NotificationConfiguration: [$sel:topicConfigurations:NotificationConfiguration'] :: NotificationConfiguration -> Maybe [TopicConfiguration]
+ Amazonka.S3.Types.NotificationConfiguration: data NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance GHC.Read.Read Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: instance GHC.Show.Show Amazonka.S3.Types.NotificationConfiguration.NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: newNotificationConfiguration :: NotificationConfiguration
+ Amazonka.S3.Types.NotificationConfiguration: notificationConfiguration_eventBridgeConfiguration :: Lens' NotificationConfiguration (Maybe EventBridgeConfiguration)
+ Amazonka.S3.Types.NotificationConfiguration: notificationConfiguration_lambdaFunctionConfigurations :: Lens' NotificationConfiguration (Maybe [LambdaFunctionConfiguration])
+ Amazonka.S3.Types.NotificationConfiguration: notificationConfiguration_queueConfigurations :: Lens' NotificationConfiguration (Maybe [QueueConfiguration])
+ Amazonka.S3.Types.NotificationConfiguration: notificationConfiguration_topicConfigurations :: Lens' NotificationConfiguration (Maybe [TopicConfiguration])
+ Amazonka.S3.Types.NotificationConfigurationFilter: NotificationConfigurationFilter' :: Maybe S3KeyFilter -> NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: [$sel:key:NotificationConfigurationFilter'] :: NotificationConfigurationFilter -> Maybe S3KeyFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: data NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance GHC.Classes.Eq Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance GHC.Generics.Generic Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance GHC.Read.Read Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: instance GHC.Show.Show Amazonka.S3.Types.NotificationConfigurationFilter.NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: newNotificationConfigurationFilter :: NotificationConfigurationFilter
+ Amazonka.S3.Types.NotificationConfigurationFilter: notificationConfigurationFilter_key :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)
+ Amazonka.S3.Types.Object: Object' :: Maybe [ChecksumAlgorithm] -> Maybe Owner -> ETag -> Integer -> ObjectKey -> ObjectStorageClass -> RFC822 -> Object
+ Amazonka.S3.Types.Object: [$sel:checksumAlgorithm:Object'] :: Object -> Maybe [ChecksumAlgorithm]
+ Amazonka.S3.Types.Object: [$sel:eTag:Object'] :: Object -> ETag
+ Amazonka.S3.Types.Object: [$sel:key:Object'] :: Object -> ObjectKey
+ Amazonka.S3.Types.Object: [$sel:lastModified:Object'] :: Object -> RFC822
+ Amazonka.S3.Types.Object: [$sel:owner:Object'] :: Object -> Maybe Owner
+ Amazonka.S3.Types.Object: [$sel:size:Object'] :: Object -> Integer
+ Amazonka.S3.Types.Object: [$sel:storageClass:Object'] :: Object -> ObjectStorageClass
+ Amazonka.S3.Types.Object: data Object
+ Amazonka.S3.Types.Object: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: instance Control.DeepSeq.NFData Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: instance GHC.Classes.Eq Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: instance GHC.Generics.Generic Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: instance GHC.Read.Read Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: instance GHC.Show.Show Amazonka.S3.Types.Object.Object
+ Amazonka.S3.Types.Object: newObject :: ETag -> Integer -> ObjectKey -> ObjectStorageClass -> UTCTime -> Object
+ Amazonka.S3.Types.Object: object_checksumAlgorithm :: Lens' Object (Maybe [ChecksumAlgorithm])
+ Amazonka.S3.Types.Object: object_eTag :: Lens' Object ETag
+ Amazonka.S3.Types.Object: object_key :: Lens' Object ObjectKey
+ Amazonka.S3.Types.Object: object_lastModified :: Lens' Object UTCTime
+ Amazonka.S3.Types.Object: object_owner :: Lens' Object (Maybe Owner)
+ Amazonka.S3.Types.Object: object_size :: Lens' Object Integer
+ Amazonka.S3.Types.Object: object_storageClass :: Lens' Object ObjectStorageClass
+ Amazonka.S3.Types.ObjectAttributes: ObjectAttributes' :: Text -> ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: [fromObjectAttributes] :: ObjectAttributes -> Text
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance GHC.Read.Read Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: instance GHC.Show.Show Amazonka.S3.Types.ObjectAttributes.ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: newtype ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: pattern ObjectAttributes_Checksum :: ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: pattern ObjectAttributes_ETag :: ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: pattern ObjectAttributes_ObjectParts :: ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: pattern ObjectAttributes_ObjectSize :: ObjectAttributes
+ Amazonka.S3.Types.ObjectAttributes: pattern ObjectAttributes_StorageClass :: ObjectAttributes
+ Amazonka.S3.Types.ObjectCannedACL: ObjectCannedACL' :: Text -> ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: [fromObjectCannedACL] :: ObjectCannedACL -> Text
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance GHC.Read.Read Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: instance GHC.Show.Show Amazonka.S3.Types.ObjectCannedACL.ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: newtype ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Authenticated_read :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Aws_exec_read :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Bucket_owner_full_control :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Bucket_owner_read :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Private :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Public_read :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectCannedACL: pattern ObjectCannedACL_Public_read_write :: ObjectCannedACL
+ Amazonka.S3.Types.ObjectIdentifier: ObjectIdentifier' :: Maybe ObjectVersionId -> ObjectKey -> ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: [$sel:key:ObjectIdentifier'] :: ObjectIdentifier -> ObjectKey
+ Amazonka.S3.Types.ObjectIdentifier: [$sel:versionId:ObjectIdentifier'] :: ObjectIdentifier -> Maybe ObjectVersionId
+ Amazonka.S3.Types.ObjectIdentifier: data ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance GHC.Read.Read Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: instance GHC.Show.Show Amazonka.S3.Types.ObjectIdentifier.ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: newObjectIdentifier :: ObjectKey -> ObjectIdentifier
+ Amazonka.S3.Types.ObjectIdentifier: objectIdentifier_key :: Lens' ObjectIdentifier ObjectKey
+ Amazonka.S3.Types.ObjectIdentifier: objectIdentifier_versionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)
+ Amazonka.S3.Types.ObjectLockConfiguration: ObjectLockConfiguration' :: Maybe ObjectLockEnabled -> Maybe ObjectLockRule -> ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: [$sel:objectLockEnabled:ObjectLockConfiguration'] :: ObjectLockConfiguration -> Maybe ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockConfiguration: [$sel:rule:ObjectLockConfiguration'] :: ObjectLockConfiguration -> Maybe ObjectLockRule
+ Amazonka.S3.Types.ObjectLockConfiguration: data ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockConfiguration.ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: newObjectLockConfiguration :: ObjectLockConfiguration
+ Amazonka.S3.Types.ObjectLockConfiguration: objectLockConfiguration_objectLockEnabled :: Lens' ObjectLockConfiguration (Maybe ObjectLockEnabled)
+ Amazonka.S3.Types.ObjectLockConfiguration: objectLockConfiguration_rule :: Lens' ObjectLockConfiguration (Maybe ObjectLockRule)
+ Amazonka.S3.Types.ObjectLockEnabled: ObjectLockEnabled' :: Text -> ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: [fromObjectLockEnabled] :: ObjectLockEnabled -> Text
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockEnabled.ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: newtype ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockEnabled: pattern ObjectLockEnabled_Enabled :: ObjectLockEnabled
+ Amazonka.S3.Types.ObjectLockLegalHold: ObjectLockLegalHold' :: Maybe ObjectLockLegalHoldStatus -> ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: [$sel:status:ObjectLockLegalHold'] :: ObjectLockLegalHold -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHold: data ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockLegalHold.ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: newObjectLockLegalHold :: ObjectLockLegalHold
+ Amazonka.S3.Types.ObjectLockLegalHold: objectLockLegalHold_status :: Lens' ObjectLockLegalHold (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: ObjectLockLegalHoldStatus' :: Text -> ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: [fromObjectLockLegalHoldStatus] :: ObjectLockLegalHoldStatus -> Text
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockLegalHoldStatus.ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: newtype ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: pattern ObjectLockLegalHoldStatus_OFF :: ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockLegalHoldStatus: pattern ObjectLockLegalHoldStatus_ON :: ObjectLockLegalHoldStatus
+ Amazonka.S3.Types.ObjectLockMode: ObjectLockMode' :: Text -> ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: [fromObjectLockMode] :: ObjectLockMode -> Text
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockMode.ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: newtype ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: pattern ObjectLockMode_COMPLIANCE :: ObjectLockMode
+ Amazonka.S3.Types.ObjectLockMode: pattern ObjectLockMode_GOVERNANCE :: ObjectLockMode
+ Amazonka.S3.Types.ObjectLockRetention: ObjectLockRetention' :: Maybe ObjectLockRetentionMode -> Maybe ISO8601 -> ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: [$sel:mode:ObjectLockRetention'] :: ObjectLockRetention -> Maybe ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetention: [$sel:retainUntilDate:ObjectLockRetention'] :: ObjectLockRetention -> Maybe ISO8601
+ Amazonka.S3.Types.ObjectLockRetention: data ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockRetention.ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: newObjectLockRetention :: ObjectLockRetention
+ Amazonka.S3.Types.ObjectLockRetention: objectLockRetention_mode :: Lens' ObjectLockRetention (Maybe ObjectLockRetentionMode)
+ Amazonka.S3.Types.ObjectLockRetention: objectLockRetention_retainUntilDate :: Lens' ObjectLockRetention (Maybe UTCTime)
+ Amazonka.S3.Types.ObjectLockRetentionMode: ObjectLockRetentionMode' :: Text -> ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: [fromObjectLockRetentionMode] :: ObjectLockRetentionMode -> Text
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockRetentionMode.ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: newtype ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: pattern ObjectLockRetentionMode_COMPLIANCE :: ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRetentionMode: pattern ObjectLockRetentionMode_GOVERNANCE :: ObjectLockRetentionMode
+ Amazonka.S3.Types.ObjectLockRule: ObjectLockRule' :: Maybe DefaultRetention -> ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: [$sel:defaultRetention:ObjectLockRule'] :: ObjectLockRule -> Maybe DefaultRetention
+ Amazonka.S3.Types.ObjectLockRule: data ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance GHC.Read.Read Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: instance GHC.Show.Show Amazonka.S3.Types.ObjectLockRule.ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: newObjectLockRule :: ObjectLockRule
+ Amazonka.S3.Types.ObjectLockRule: objectLockRule_defaultRetention :: Lens' ObjectLockRule (Maybe DefaultRetention)
+ Amazonka.S3.Types.ObjectOwnership: ObjectOwnership' :: Text -> ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: [fromObjectOwnership] :: ObjectOwnership -> Text
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance GHC.Read.Read Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: instance GHC.Show.Show Amazonka.S3.Types.ObjectOwnership.ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: newtype ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: pattern ObjectOwnership_BucketOwnerEnforced :: ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: pattern ObjectOwnership_BucketOwnerPreferred :: ObjectOwnership
+ Amazonka.S3.Types.ObjectOwnership: pattern ObjectOwnership_ObjectWriter :: ObjectOwnership
+ Amazonka.S3.Types.ObjectPart: ObjectPart' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe Integer -> ObjectPart
+ Amazonka.S3.Types.ObjectPart: [$sel:checksumCRC32:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types.ObjectPart: [$sel:checksumCRC32C:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types.ObjectPart: [$sel:checksumSHA1:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types.ObjectPart: [$sel:checksumSHA256:ObjectPart'] :: ObjectPart -> Maybe Text
+ Amazonka.S3.Types.ObjectPart: [$sel:partNumber:ObjectPart'] :: ObjectPart -> Maybe Int
+ Amazonka.S3.Types.ObjectPart: [$sel:size:ObjectPart'] :: ObjectPart -> Maybe Integer
+ Amazonka.S3.Types.ObjectPart: data ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance GHC.Read.Read Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: instance GHC.Show.Show Amazonka.S3.Types.ObjectPart.ObjectPart
+ Amazonka.S3.Types.ObjectPart: newObjectPart :: ObjectPart
+ Amazonka.S3.Types.ObjectPart: objectPart_checksumCRC32 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types.ObjectPart: objectPart_checksumCRC32C :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types.ObjectPart: objectPart_checksumSHA1 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types.ObjectPart: objectPart_checksumSHA256 :: Lens' ObjectPart (Maybe Text)
+ Amazonka.S3.Types.ObjectPart: objectPart_partNumber :: Lens' ObjectPart (Maybe Int)
+ Amazonka.S3.Types.ObjectPart: objectPart_size :: Lens' ObjectPart (Maybe Integer)
+ Amazonka.S3.Types.ObjectStorageClass: ObjectStorageClass' :: Text -> ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: [fromObjectStorageClass] :: ObjectStorageClass -> Text
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance GHC.Read.Read Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: instance GHC.Show.Show Amazonka.S3.Types.ObjectStorageClass.ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: newtype ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: pattern ObjectStorageClass_GLACIER :: ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: pattern ObjectStorageClass_INTELLIGENT_TIERING :: ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: pattern ObjectStorageClass_REDUCED_REDUNDANCY :: ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: pattern ObjectStorageClass_STANDARD :: ObjectStorageClass
+ Amazonka.S3.Types.ObjectStorageClass: pattern ObjectStorageClass_STANDARD_IA :: ObjectStorageClass
+ Amazonka.S3.Types.ObjectVersion: ObjectVersion' :: Maybe [ChecksumAlgorithm] -> Maybe ETag -> Maybe Bool -> Maybe ObjectKey -> Maybe RFC822 -> Maybe Owner -> Maybe Integer -> Maybe ObjectVersionStorageClass -> Maybe ObjectVersionId -> ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: [$sel:checksumAlgorithm:ObjectVersion'] :: ObjectVersion -> Maybe [ChecksumAlgorithm]
+ Amazonka.S3.Types.ObjectVersion: [$sel:eTag:ObjectVersion'] :: ObjectVersion -> Maybe ETag
+ Amazonka.S3.Types.ObjectVersion: [$sel:isLatest:ObjectVersion'] :: ObjectVersion -> Maybe Bool
+ Amazonka.S3.Types.ObjectVersion: [$sel:key:ObjectVersion'] :: ObjectVersion -> Maybe ObjectKey
+ Amazonka.S3.Types.ObjectVersion: [$sel:lastModified:ObjectVersion'] :: ObjectVersion -> Maybe RFC822
+ Amazonka.S3.Types.ObjectVersion: [$sel:owner:ObjectVersion'] :: ObjectVersion -> Maybe Owner
+ Amazonka.S3.Types.ObjectVersion: [$sel:size:ObjectVersion'] :: ObjectVersion -> Maybe Integer
+ Amazonka.S3.Types.ObjectVersion: [$sel:storageClass:ObjectVersion'] :: ObjectVersion -> Maybe ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersion: [$sel:versionId:ObjectVersion'] :: ObjectVersion -> Maybe ObjectVersionId
+ Amazonka.S3.Types.ObjectVersion: data ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance GHC.Read.Read Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: instance GHC.Show.Show Amazonka.S3.Types.ObjectVersion.ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: newObjectVersion :: ObjectVersion
+ Amazonka.S3.Types.ObjectVersion: objectVersion_checksumAlgorithm :: Lens' ObjectVersion (Maybe [ChecksumAlgorithm])
+ Amazonka.S3.Types.ObjectVersion: objectVersion_eTag :: Lens' ObjectVersion (Maybe ETag)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_isLatest :: Lens' ObjectVersion (Maybe Bool)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_key :: Lens' ObjectVersion (Maybe ObjectKey)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_lastModified :: Lens' ObjectVersion (Maybe UTCTime)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_owner :: Lens' ObjectVersion (Maybe Owner)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_size :: Lens' ObjectVersion (Maybe Integer)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_storageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)
+ Amazonka.S3.Types.ObjectVersion: objectVersion_versionId :: Lens' ObjectVersion (Maybe ObjectVersionId)
+ Amazonka.S3.Types.ObjectVersionStorageClass: ObjectVersionStorageClass' :: Text -> ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: [fromObjectVersionStorageClass] :: ObjectVersionStorageClass -> Text
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Control.DeepSeq.NFData Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance GHC.Classes.Eq Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance GHC.Classes.Ord Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance GHC.Generics.Generic Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance GHC.Read.Read Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: instance GHC.Show.Show Amazonka.S3.Types.ObjectVersionStorageClass.ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: newtype ObjectVersionStorageClass
+ Amazonka.S3.Types.ObjectVersionStorageClass: pattern ObjectVersionStorageClass_STANDARD :: ObjectVersionStorageClass
+ Amazonka.S3.Types.OutputLocation: OutputLocation' :: Maybe S3Location -> OutputLocation
+ Amazonka.S3.Types.OutputLocation: [$sel:s3:OutputLocation'] :: OutputLocation -> Maybe S3Location
+ Amazonka.S3.Types.OutputLocation: data OutputLocation
+ Amazonka.S3.Types.OutputLocation: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.OutputLocation.OutputLocation
+ Amazonka.S3.Types.OutputLocation: instance Control.DeepSeq.NFData Amazonka.S3.Types.OutputLocation.OutputLocation
+ Amazonka.S3.Types.OutputLocation: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.OutputLocation.OutputLocation
+ Amazonka.S3.Types.OutputLocation: instance GHC.Classes.Eq Amazonka.S3.Types.OutputLocation.OutputLocation
+ Amazonka.S3.Types.OutputLocation: instance GHC.Generics.Generic Amazonka.S3.Types.OutputLocation.OutputLocation
+ Amazonka.S3.Types.OutputLocation: instance GHC.Show.Show Amazonka.S3.Types.OutputLocation.OutputLocation
+ Amazonka.S3.Types.OutputLocation: newOutputLocation :: OutputLocation
+ Amazonka.S3.Types.OutputLocation: outputLocation_s3 :: Lens' OutputLocation (Maybe S3Location)
+ Amazonka.S3.Types.OutputSerialization: OutputSerialization' :: Maybe CSVOutput -> Maybe JSONOutput -> OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: [$sel:csv:OutputSerialization'] :: OutputSerialization -> Maybe CSVOutput
+ Amazonka.S3.Types.OutputSerialization: [$sel:json:OutputSerialization'] :: OutputSerialization -> Maybe JSONOutput
+ Amazonka.S3.Types.OutputSerialization: data OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance Control.DeepSeq.NFData Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance GHC.Classes.Eq Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance GHC.Generics.Generic Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance GHC.Read.Read Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: instance GHC.Show.Show Amazonka.S3.Types.OutputSerialization.OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: newOutputSerialization :: OutputSerialization
+ Amazonka.S3.Types.OutputSerialization: outputSerialization_csv :: Lens' OutputSerialization (Maybe CSVOutput)
+ Amazonka.S3.Types.OutputSerialization: outputSerialization_json :: Lens' OutputSerialization (Maybe JSONOutput)
+ Amazonka.S3.Types.Owner: Owner' :: Maybe Text -> Maybe Text -> Owner
+ Amazonka.S3.Types.Owner: [$sel:displayName:Owner'] :: Owner -> Maybe Text
+ Amazonka.S3.Types.Owner: [$sel:id:Owner'] :: Owner -> Maybe Text
+ Amazonka.S3.Types.Owner: data Owner
+ Amazonka.S3.Types.Owner: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance Control.DeepSeq.NFData Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance GHC.Classes.Eq Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance GHC.Generics.Generic Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance GHC.Read.Read Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: instance GHC.Show.Show Amazonka.S3.Types.Owner.Owner
+ Amazonka.S3.Types.Owner: newOwner :: Owner
+ Amazonka.S3.Types.Owner: owner_displayName :: Lens' Owner (Maybe Text)
+ Amazonka.S3.Types.Owner: owner_id :: Lens' Owner (Maybe Text)
+ Amazonka.S3.Types.OwnerOverride: OwnerOverride' :: Text -> OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: [fromOwnerOverride] :: OwnerOverride -> Text
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Control.DeepSeq.NFData Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance GHC.Classes.Eq Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance GHC.Classes.Ord Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance GHC.Generics.Generic Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance GHC.Read.Read Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: instance GHC.Show.Show Amazonka.S3.Types.OwnerOverride.OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: newtype OwnerOverride
+ Amazonka.S3.Types.OwnerOverride: pattern OwnerOverride_Destination :: OwnerOverride
+ Amazonka.S3.Types.OwnershipControls: OwnershipControls' :: [OwnershipControlsRule] -> OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: [$sel:rules:OwnershipControls'] :: OwnershipControls -> [OwnershipControlsRule]
+ Amazonka.S3.Types.OwnershipControls: data OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance Control.DeepSeq.NFData Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance GHC.Classes.Eq Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance GHC.Generics.Generic Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance GHC.Read.Read Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: instance GHC.Show.Show Amazonka.S3.Types.OwnershipControls.OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: newOwnershipControls :: OwnershipControls
+ Amazonka.S3.Types.OwnershipControls: ownershipControls_rules :: Lens' OwnershipControls [OwnershipControlsRule]
+ Amazonka.S3.Types.OwnershipControlsRule: OwnershipControlsRule' :: ObjectOwnership -> OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: [$sel:objectOwnership:OwnershipControlsRule'] :: OwnershipControlsRule -> ObjectOwnership
+ Amazonka.S3.Types.OwnershipControlsRule: data OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance GHC.Classes.Eq Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance GHC.Generics.Generic Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance GHC.Read.Read Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: instance GHC.Show.Show Amazonka.S3.Types.OwnershipControlsRule.OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: newOwnershipControlsRule :: ObjectOwnership -> OwnershipControlsRule
+ Amazonka.S3.Types.OwnershipControlsRule: ownershipControlsRule_objectOwnership :: Lens' OwnershipControlsRule ObjectOwnership
+ Amazonka.S3.Types.ParquetInput: ParquetInput' :: ParquetInput
+ Amazonka.S3.Types.ParquetInput: data ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance Control.DeepSeq.NFData Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance GHC.Classes.Eq Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance GHC.Generics.Generic Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance GHC.Read.Read Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: instance GHC.Show.Show Amazonka.S3.Types.ParquetInput.ParquetInput
+ Amazonka.S3.Types.ParquetInput: newParquetInput :: ParquetInput
+ Amazonka.S3.Types.Part: Part' :: Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RFC822 -> Maybe Int -> Maybe Integer -> Part
+ Amazonka.S3.Types.Part: [$sel:checksumCRC32:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types.Part: [$sel:checksumCRC32C:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types.Part: [$sel:checksumSHA1:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types.Part: [$sel:checksumSHA256:Part'] :: Part -> Maybe Text
+ Amazonka.S3.Types.Part: [$sel:eTag:Part'] :: Part -> Maybe ETag
+ Amazonka.S3.Types.Part: [$sel:lastModified:Part'] :: Part -> Maybe RFC822
+ Amazonka.S3.Types.Part: [$sel:partNumber:Part'] :: Part -> Maybe Int
+ Amazonka.S3.Types.Part: [$sel:size:Part'] :: Part -> Maybe Integer
+ Amazonka.S3.Types.Part: data Part
+ Amazonka.S3.Types.Part: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: instance Control.DeepSeq.NFData Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: instance GHC.Classes.Eq Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: instance GHC.Generics.Generic Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: instance GHC.Read.Read Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: instance GHC.Show.Show Amazonka.S3.Types.Part.Part
+ Amazonka.S3.Types.Part: newPart :: Part
+ Amazonka.S3.Types.Part: part_checksumCRC32 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types.Part: part_checksumCRC32C :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types.Part: part_checksumSHA1 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types.Part: part_checksumSHA256 :: Lens' Part (Maybe Text)
+ Amazonka.S3.Types.Part: part_eTag :: Lens' Part (Maybe ETag)
+ Amazonka.S3.Types.Part: part_lastModified :: Lens' Part (Maybe UTCTime)
+ Amazonka.S3.Types.Part: part_partNumber :: Lens' Part (Maybe Int)
+ Amazonka.S3.Types.Part: part_size :: Lens' Part (Maybe Integer)
+ Amazonka.S3.Types.Payer: Payer' :: Text -> Payer
+ Amazonka.S3.Types.Payer: [fromPayer] :: Payer -> Text
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Control.DeepSeq.NFData Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance GHC.Classes.Eq Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance GHC.Classes.Ord Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance GHC.Generics.Generic Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance GHC.Read.Read Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: instance GHC.Show.Show Amazonka.S3.Types.Payer.Payer
+ Amazonka.S3.Types.Payer: newtype Payer
+ Amazonka.S3.Types.Payer: pattern Payer_BucketOwner :: Payer
+ Amazonka.S3.Types.Payer: pattern Payer_Requester :: Payer
+ Amazonka.S3.Types.Permission: Permission' :: Text -> Permission
+ Amazonka.S3.Types.Permission: [fromPermission] :: Permission -> Text
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Control.DeepSeq.NFData Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance GHC.Classes.Eq Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance GHC.Classes.Ord Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance GHC.Generics.Generic Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance GHC.Read.Read Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: instance GHC.Show.Show Amazonka.S3.Types.Permission.Permission
+ Amazonka.S3.Types.Permission: newtype Permission
+ Amazonka.S3.Types.Permission: pattern Permission_FULL_CONTROL :: Permission
+ Amazonka.S3.Types.Permission: pattern Permission_READ :: Permission
+ Amazonka.S3.Types.Permission: pattern Permission_READ_ACP :: Permission
+ Amazonka.S3.Types.Permission: pattern Permission_WRITE :: Permission
+ Amazonka.S3.Types.Permission: pattern Permission_WRITE_ACP :: Permission
+ Amazonka.S3.Types.PolicyStatus: PolicyStatus' :: Maybe Bool -> PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: [$sel:isPublic:PolicyStatus'] :: PolicyStatus -> Maybe Bool
+ Amazonka.S3.Types.PolicyStatus: data PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance GHC.Classes.Eq Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance GHC.Generics.Generic Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance GHC.Read.Read Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: instance GHC.Show.Show Amazonka.S3.Types.PolicyStatus.PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: newPolicyStatus :: PolicyStatus
+ Amazonka.S3.Types.PolicyStatus: policyStatus_isPublic :: Lens' PolicyStatus (Maybe Bool)
+ Amazonka.S3.Types.Progress: Progress' :: Maybe Integer -> Maybe Integer -> Maybe Integer -> Progress
+ Amazonka.S3.Types.Progress: [$sel:bytesProcessed:Progress'] :: Progress -> Maybe Integer
+ Amazonka.S3.Types.Progress: [$sel:bytesReturned:Progress'] :: Progress -> Maybe Integer
+ Amazonka.S3.Types.Progress: [$sel:bytesScanned:Progress'] :: Progress -> Maybe Integer
+ Amazonka.S3.Types.Progress: data Progress
+ Amazonka.S3.Types.Progress: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: instance Control.DeepSeq.NFData Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: instance GHC.Classes.Eq Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: instance GHC.Generics.Generic Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: instance GHC.Read.Read Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: instance GHC.Show.Show Amazonka.S3.Types.Progress.Progress
+ Amazonka.S3.Types.Progress: newProgress :: Progress
+ Amazonka.S3.Types.Progress: progress_bytesProcessed :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Types.Progress: progress_bytesReturned :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Types.Progress: progress_bytesScanned :: Lens' Progress (Maybe Integer)
+ Amazonka.S3.Types.ProgressEvent: ProgressEvent' :: Maybe Progress -> ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: [$sel:details:ProgressEvent'] :: ProgressEvent -> Maybe Progress
+ Amazonka.S3.Types.ProgressEvent: data ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance Control.DeepSeq.NFData Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance GHC.Classes.Eq Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance GHC.Generics.Generic Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance GHC.Read.Read Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: instance GHC.Show.Show Amazonka.S3.Types.ProgressEvent.ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: newProgressEvent :: ProgressEvent
+ Amazonka.S3.Types.ProgressEvent: progressEvent_details :: Lens' ProgressEvent (Maybe Progress)
+ Amazonka.S3.Types.Protocol: Protocol' :: Text -> Protocol
+ Amazonka.S3.Types.Protocol: [fromProtocol] :: Protocol -> Text
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Control.DeepSeq.NFData Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance GHC.Classes.Eq Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance GHC.Classes.Ord Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance GHC.Generics.Generic Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance GHC.Read.Read Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: instance GHC.Show.Show Amazonka.S3.Types.Protocol.Protocol
+ Amazonka.S3.Types.Protocol: newtype Protocol
+ Amazonka.S3.Types.Protocol: pattern Protocol_Http :: Protocol
+ Amazonka.S3.Types.Protocol: pattern Protocol_Https :: Protocol
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: PublicAccessBlockConfiguration' :: Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: [$sel:blockPublicAcls:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: [$sel:blockPublicPolicy:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: [$sel:ignorePublicAcls:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: [$sel:restrictPublicBuckets:PublicAccessBlockConfiguration'] :: PublicAccessBlockConfiguration -> Maybe Bool
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: data PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance GHC.Read.Read Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: instance GHC.Show.Show Amazonka.S3.Types.PublicAccessBlockConfiguration.PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: newPublicAccessBlockConfiguration :: PublicAccessBlockConfiguration
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: publicAccessBlockConfiguration_blockPublicAcls :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: publicAccessBlockConfiguration_blockPublicPolicy :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: publicAccessBlockConfiguration_ignorePublicAcls :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types.PublicAccessBlockConfiguration: publicAccessBlockConfiguration_restrictPublicBuckets :: Lens' PublicAccessBlockConfiguration (Maybe Bool)
+ Amazonka.S3.Types.QueueConfiguration: QueueConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: [$sel:events:QueueConfiguration'] :: QueueConfiguration -> [Event]
+ Amazonka.S3.Types.QueueConfiguration: [$sel:filter':QueueConfiguration'] :: QueueConfiguration -> Maybe NotificationConfigurationFilter
+ Amazonka.S3.Types.QueueConfiguration: [$sel:id:QueueConfiguration'] :: QueueConfiguration -> Maybe Text
+ Amazonka.S3.Types.QueueConfiguration: [$sel:queueArn:QueueConfiguration'] :: QueueConfiguration -> Text
+ Amazonka.S3.Types.QueueConfiguration: data QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance GHC.Read.Read Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: instance GHC.Show.Show Amazonka.S3.Types.QueueConfiguration.QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: newQueueConfiguration :: Text -> QueueConfiguration
+ Amazonka.S3.Types.QueueConfiguration: queueConfiguration_events :: Lens' QueueConfiguration [Event]
+ Amazonka.S3.Types.QueueConfiguration: queueConfiguration_filter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Types.QueueConfiguration: queueConfiguration_id :: Lens' QueueConfiguration (Maybe Text)
+ Amazonka.S3.Types.QueueConfiguration: queueConfiguration_queueArn :: Lens' QueueConfiguration Text
+ Amazonka.S3.Types.QuoteFields: QuoteFields' :: Text -> QuoteFields
+ Amazonka.S3.Types.QuoteFields: [fromQuoteFields] :: QuoteFields -> Text
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Control.DeepSeq.NFData Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance GHC.Classes.Eq Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance GHC.Classes.Ord Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance GHC.Generics.Generic Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance GHC.Read.Read Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: instance GHC.Show.Show Amazonka.S3.Types.QuoteFields.QuoteFields
+ Amazonka.S3.Types.QuoteFields: newtype QuoteFields
+ Amazonka.S3.Types.QuoteFields: pattern QuoteFields_ALWAYS :: QuoteFields
+ Amazonka.S3.Types.QuoteFields: pattern QuoteFields_ASNEEDED :: QuoteFields
+ Amazonka.S3.Types.RecordsEvent: RecordsEvent' :: Maybe Base64 -> RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: [$sel:payload:RecordsEvent'] :: RecordsEvent -> Maybe Base64
+ Amazonka.S3.Types.RecordsEvent: data RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance Control.DeepSeq.NFData Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance GHC.Classes.Eq Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance GHC.Generics.Generic Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance GHC.Read.Read Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: instance GHC.Show.Show Amazonka.S3.Types.RecordsEvent.RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: newRecordsEvent :: RecordsEvent
+ Amazonka.S3.Types.RecordsEvent: recordsEvent_payload :: Lens' RecordsEvent (Maybe ByteString)
+ Amazonka.S3.Types.Redirect: Redirect' :: Maybe Text -> Maybe Text -> Maybe Protocol -> Maybe Text -> Maybe Text -> Redirect
+ Amazonka.S3.Types.Redirect: [$sel:hostName:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types.Redirect: [$sel:httpRedirectCode:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types.Redirect: [$sel:protocol:Redirect'] :: Redirect -> Maybe Protocol
+ Amazonka.S3.Types.Redirect: [$sel:replaceKeyPrefixWith:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types.Redirect: [$sel:replaceKeyWith:Redirect'] :: Redirect -> Maybe Text
+ Amazonka.S3.Types.Redirect: data Redirect
+ Amazonka.S3.Types.Redirect: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance Control.DeepSeq.NFData Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance GHC.Classes.Eq Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance GHC.Generics.Generic Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance GHC.Read.Read Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: instance GHC.Show.Show Amazonka.S3.Types.Redirect.Redirect
+ Amazonka.S3.Types.Redirect: newRedirect :: Redirect
+ Amazonka.S3.Types.Redirect: redirect_hostName :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types.Redirect: redirect_httpRedirectCode :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types.Redirect: redirect_protocol :: Lens' Redirect (Maybe Protocol)
+ Amazonka.S3.Types.Redirect: redirect_replaceKeyPrefixWith :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types.Redirect: redirect_replaceKeyWith :: Lens' Redirect (Maybe Text)
+ Amazonka.S3.Types.RedirectAllRequestsTo: RedirectAllRequestsTo' :: Maybe Protocol -> Text -> RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: [$sel:hostName:RedirectAllRequestsTo'] :: RedirectAllRequestsTo -> Text
+ Amazonka.S3.Types.RedirectAllRequestsTo: [$sel:protocol:RedirectAllRequestsTo'] :: RedirectAllRequestsTo -> Maybe Protocol
+ Amazonka.S3.Types.RedirectAllRequestsTo: data RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance Control.DeepSeq.NFData Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance GHC.Classes.Eq Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance GHC.Generics.Generic Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance GHC.Read.Read Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: instance GHC.Show.Show Amazonka.S3.Types.RedirectAllRequestsTo.RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: newRedirectAllRequestsTo :: Text -> RedirectAllRequestsTo
+ Amazonka.S3.Types.RedirectAllRequestsTo: redirectAllRequestsTo_hostName :: Lens' RedirectAllRequestsTo Text
+ Amazonka.S3.Types.RedirectAllRequestsTo: redirectAllRequestsTo_protocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)
+ Amazonka.S3.Types.ReplicaModifications: ReplicaModifications' :: ReplicaModificationsStatus -> ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: [$sel:status:ReplicaModifications'] :: ReplicaModifications -> ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModifications: data ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance GHC.Read.Read Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: instance GHC.Show.Show Amazonka.S3.Types.ReplicaModifications.ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: newReplicaModifications :: ReplicaModificationsStatus -> ReplicaModifications
+ Amazonka.S3.Types.ReplicaModifications: replicaModifications_status :: Lens' ReplicaModifications ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: ReplicaModificationsStatus' :: Text -> ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: [fromReplicaModificationsStatus] :: ReplicaModificationsStatus -> Text
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance GHC.Read.Read Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: instance GHC.Show.Show Amazonka.S3.Types.ReplicaModificationsStatus.ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: newtype ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: pattern ReplicaModificationsStatus_Disabled :: ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicaModificationsStatus: pattern ReplicaModificationsStatus_Enabled :: ReplicaModificationsStatus
+ Amazonka.S3.Types.ReplicationConfiguration: ReplicationConfiguration' :: Text -> [ReplicationRule] -> ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: [$sel:role':ReplicationConfiguration'] :: ReplicationConfiguration -> Text
+ Amazonka.S3.Types.ReplicationConfiguration: [$sel:rules:ReplicationConfiguration'] :: ReplicationConfiguration -> [ReplicationRule]
+ Amazonka.S3.Types.ReplicationConfiguration: data ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance GHC.Read.Read Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: instance GHC.Show.Show Amazonka.S3.Types.ReplicationConfiguration.ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: newReplicationConfiguration :: Text -> ReplicationConfiguration
+ Amazonka.S3.Types.ReplicationConfiguration: replicationConfiguration_role :: Lens' ReplicationConfiguration Text
+ Amazonka.S3.Types.ReplicationConfiguration: replicationConfiguration_rules :: Lens' ReplicationConfiguration [ReplicationRule]
+ Amazonka.S3.Types.ReplicationRule: ReplicationRule' :: Maybe DeleteMarkerReplication -> Maybe ExistingObjectReplication -> Maybe ReplicationRuleFilter -> Maybe Text -> Maybe Text -> Maybe Int -> Maybe SourceSelectionCriteria -> ReplicationRuleStatus -> Destination -> ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: [$sel:deleteMarkerReplication:ReplicationRule'] :: ReplicationRule -> Maybe DeleteMarkerReplication
+ Amazonka.S3.Types.ReplicationRule: [$sel:destination:ReplicationRule'] :: ReplicationRule -> Destination
+ Amazonka.S3.Types.ReplicationRule: [$sel:existingObjectReplication:ReplicationRule'] :: ReplicationRule -> Maybe ExistingObjectReplication
+ Amazonka.S3.Types.ReplicationRule: [$sel:filter':ReplicationRule'] :: ReplicationRule -> Maybe ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRule: [$sel:id:ReplicationRule'] :: ReplicationRule -> Maybe Text
+ Amazonka.S3.Types.ReplicationRule: [$sel:prefix:ReplicationRule'] :: ReplicationRule -> Maybe Text
+ Amazonka.S3.Types.ReplicationRule: [$sel:priority:ReplicationRule'] :: ReplicationRule -> Maybe Int
+ Amazonka.S3.Types.ReplicationRule: [$sel:sourceSelectionCriteria:ReplicationRule'] :: ReplicationRule -> Maybe SourceSelectionCriteria
+ Amazonka.S3.Types.ReplicationRule: [$sel:status:ReplicationRule'] :: ReplicationRule -> ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRule: data ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance GHC.Read.Read Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: instance GHC.Show.Show Amazonka.S3.Types.ReplicationRule.ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: newReplicationRule :: ReplicationRuleStatus -> Destination -> ReplicationRule
+ Amazonka.S3.Types.ReplicationRule: replicationRule_deleteMarkerReplication :: Lens' ReplicationRule (Maybe DeleteMarkerReplication)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_destination :: Lens' ReplicationRule Destination
+ Amazonka.S3.Types.ReplicationRule: replicationRule_existingObjectReplication :: Lens' ReplicationRule (Maybe ExistingObjectReplication)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_filter :: Lens' ReplicationRule (Maybe ReplicationRuleFilter)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_id :: Lens' ReplicationRule (Maybe Text)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_prefix :: Lens' ReplicationRule (Maybe Text)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_priority :: Lens' ReplicationRule (Maybe Int)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_sourceSelectionCriteria :: Lens' ReplicationRule (Maybe SourceSelectionCriteria)
+ Amazonka.S3.Types.ReplicationRule: replicationRule_status :: Lens' ReplicationRule ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleAndOperator: ReplicationRuleAndOperator' :: Maybe Text -> Maybe [Tag] -> ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: [$sel:prefix:ReplicationRuleAndOperator'] :: ReplicationRuleAndOperator -> Maybe Text
+ Amazonka.S3.Types.ReplicationRuleAndOperator: [$sel:tags:ReplicationRuleAndOperator'] :: ReplicationRuleAndOperator -> Maybe [Tag]
+ Amazonka.S3.Types.ReplicationRuleAndOperator: data ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance GHC.Read.Read Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: instance GHC.Show.Show Amazonka.S3.Types.ReplicationRuleAndOperator.ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: newReplicationRuleAndOperator :: ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleAndOperator: replicationRuleAndOperator_prefix :: Lens' ReplicationRuleAndOperator (Maybe Text)
+ Amazonka.S3.Types.ReplicationRuleAndOperator: replicationRuleAndOperator_tags :: Lens' ReplicationRuleAndOperator (Maybe [Tag])
+ Amazonka.S3.Types.ReplicationRuleFilter: ReplicationRuleFilter' :: Maybe ReplicationRuleAndOperator -> Maybe Text -> Maybe Tag -> ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: [$sel:and:ReplicationRuleFilter'] :: ReplicationRuleFilter -> Maybe ReplicationRuleAndOperator
+ Amazonka.S3.Types.ReplicationRuleFilter: [$sel:prefix:ReplicationRuleFilter'] :: ReplicationRuleFilter -> Maybe Text
+ Amazonka.S3.Types.ReplicationRuleFilter: [$sel:tag:ReplicationRuleFilter'] :: ReplicationRuleFilter -> Maybe Tag
+ Amazonka.S3.Types.ReplicationRuleFilter: data ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance GHC.Read.Read Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: instance GHC.Show.Show Amazonka.S3.Types.ReplicationRuleFilter.ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: newReplicationRuleFilter :: ReplicationRuleFilter
+ Amazonka.S3.Types.ReplicationRuleFilter: replicationRuleFilter_and :: Lens' ReplicationRuleFilter (Maybe ReplicationRuleAndOperator)
+ Amazonka.S3.Types.ReplicationRuleFilter: replicationRuleFilter_prefix :: Lens' ReplicationRuleFilter (Maybe Text)
+ Amazonka.S3.Types.ReplicationRuleFilter: replicationRuleFilter_tag :: Lens' ReplicationRuleFilter (Maybe Tag)
+ Amazonka.S3.Types.ReplicationRuleStatus: ReplicationRuleStatus' :: Text -> ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: [fromReplicationRuleStatus] :: ReplicationRuleStatus -> Text
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance GHC.Read.Read Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: instance GHC.Show.Show Amazonka.S3.Types.ReplicationRuleStatus.ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: newtype ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: pattern ReplicationRuleStatus_Disabled :: ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationRuleStatus: pattern ReplicationRuleStatus_Enabled :: ReplicationRuleStatus
+ Amazonka.S3.Types.ReplicationStatus: ReplicationStatus' :: Text -> ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: [fromReplicationStatus] :: ReplicationStatus -> Text
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance GHC.Read.Read Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: instance GHC.Show.Show Amazonka.S3.Types.ReplicationStatus.ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: newtype ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: pattern ReplicationStatus_COMPLETED :: ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: pattern ReplicationStatus_FAILED :: ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: pattern ReplicationStatus_PENDING :: ReplicationStatus
+ Amazonka.S3.Types.ReplicationStatus: pattern ReplicationStatus_REPLICA :: ReplicationStatus
+ Amazonka.S3.Types.ReplicationTime: ReplicationTime' :: ReplicationTimeStatus -> ReplicationTimeValue -> ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: [$sel:status:ReplicationTime'] :: ReplicationTime -> ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTime: [$sel:time:ReplicationTime'] :: ReplicationTime -> ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTime: data ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance GHC.Read.Read Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: instance GHC.Show.Show Amazonka.S3.Types.ReplicationTime.ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: newReplicationTime :: ReplicationTimeStatus -> ReplicationTimeValue -> ReplicationTime
+ Amazonka.S3.Types.ReplicationTime: replicationTime_status :: Lens' ReplicationTime ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTime: replicationTime_time :: Lens' ReplicationTime ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeStatus: ReplicationTimeStatus' :: Text -> ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: [fromReplicationTimeStatus] :: ReplicationTimeStatus -> Text
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance GHC.Classes.Ord Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance GHC.Read.Read Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: instance GHC.Show.Show Amazonka.S3.Types.ReplicationTimeStatus.ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: newtype ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: pattern ReplicationTimeStatus_Disabled :: ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeStatus: pattern ReplicationTimeStatus_Enabled :: ReplicationTimeStatus
+ Amazonka.S3.Types.ReplicationTimeValue: ReplicationTimeValue' :: Maybe Int -> ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: [$sel:minutes:ReplicationTimeValue'] :: ReplicationTimeValue -> Maybe Int
+ Amazonka.S3.Types.ReplicationTimeValue: data ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance Control.DeepSeq.NFData Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance GHC.Classes.Eq Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance GHC.Generics.Generic Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance GHC.Read.Read Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: instance GHC.Show.Show Amazonka.S3.Types.ReplicationTimeValue.ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: newReplicationTimeValue :: ReplicationTimeValue
+ Amazonka.S3.Types.ReplicationTimeValue: replicationTimeValue_minutes :: Lens' ReplicationTimeValue (Maybe Int)
+ Amazonka.S3.Types.RequestCharged: RequestCharged' :: Text -> RequestCharged
+ Amazonka.S3.Types.RequestCharged: [fromRequestCharged] :: RequestCharged -> Text
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Control.DeepSeq.NFData Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance GHC.Classes.Eq Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance GHC.Classes.Ord Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance GHC.Generics.Generic Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance GHC.Read.Read Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: instance GHC.Show.Show Amazonka.S3.Types.RequestCharged.RequestCharged
+ Amazonka.S3.Types.RequestCharged: newtype RequestCharged
+ Amazonka.S3.Types.RequestCharged: pattern RequestCharged_Requester :: RequestCharged
+ Amazonka.S3.Types.RequestPayer: RequestPayer' :: Text -> RequestPayer
+ Amazonka.S3.Types.RequestPayer: [fromRequestPayer] :: RequestPayer -> Text
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Control.DeepSeq.NFData Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance GHC.Classes.Eq Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance GHC.Classes.Ord Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance GHC.Generics.Generic Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance GHC.Read.Read Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: instance GHC.Show.Show Amazonka.S3.Types.RequestPayer.RequestPayer
+ Amazonka.S3.Types.RequestPayer: newtype RequestPayer
+ Amazonka.S3.Types.RequestPayer: pattern RequestPayer_Requester :: RequestPayer
+ Amazonka.S3.Types.RequestPaymentConfiguration: RequestPaymentConfiguration' :: Payer -> RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: [$sel:payer:RequestPaymentConfiguration'] :: RequestPaymentConfiguration -> Payer
+ Amazonka.S3.Types.RequestPaymentConfiguration: data RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance GHC.Read.Read Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: instance GHC.Show.Show Amazonka.S3.Types.RequestPaymentConfiguration.RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: newRequestPaymentConfiguration :: Payer -> RequestPaymentConfiguration
+ Amazonka.S3.Types.RequestPaymentConfiguration: requestPaymentConfiguration_payer :: Lens' RequestPaymentConfiguration Payer
+ Amazonka.S3.Types.RequestProgress: RequestProgress' :: Maybe Bool -> RequestProgress
+ Amazonka.S3.Types.RequestProgress: [$sel:enabled:RequestProgress'] :: RequestProgress -> Maybe Bool
+ Amazonka.S3.Types.RequestProgress: data RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance Control.DeepSeq.NFData Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance GHC.Classes.Eq Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance GHC.Generics.Generic Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance GHC.Read.Read Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: instance GHC.Show.Show Amazonka.S3.Types.RequestProgress.RequestProgress
+ Amazonka.S3.Types.RequestProgress: newRequestProgress :: RequestProgress
+ Amazonka.S3.Types.RequestProgress: requestProgress_enabled :: Lens' RequestProgress (Maybe Bool)
+ Amazonka.S3.Types.RestoreRequest: RestoreRequest' :: Maybe Int -> Maybe Text -> Maybe GlacierJobParameters -> Maybe OutputLocation -> Maybe SelectParameters -> Maybe Tier -> Maybe RestoreRequestType -> RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: [$sel:days:RestoreRequest'] :: RestoreRequest -> Maybe Int
+ Amazonka.S3.Types.RestoreRequest: [$sel:description:RestoreRequest'] :: RestoreRequest -> Maybe Text
+ Amazonka.S3.Types.RestoreRequest: [$sel:glacierJobParameters:RestoreRequest'] :: RestoreRequest -> Maybe GlacierJobParameters
+ Amazonka.S3.Types.RestoreRequest: [$sel:outputLocation:RestoreRequest'] :: RestoreRequest -> Maybe OutputLocation
+ Amazonka.S3.Types.RestoreRequest: [$sel:selectParameters:RestoreRequest'] :: RestoreRequest -> Maybe SelectParameters
+ Amazonka.S3.Types.RestoreRequest: [$sel:tier:RestoreRequest'] :: RestoreRequest -> Maybe Tier
+ Amazonka.S3.Types.RestoreRequest: [$sel:type':RestoreRequest'] :: RestoreRequest -> Maybe RestoreRequestType
+ Amazonka.S3.Types.RestoreRequest: data RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RestoreRequest.RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: instance Control.DeepSeq.NFData Amazonka.S3.Types.RestoreRequest.RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RestoreRequest.RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: instance GHC.Classes.Eq Amazonka.S3.Types.RestoreRequest.RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: instance GHC.Generics.Generic Amazonka.S3.Types.RestoreRequest.RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: instance GHC.Show.Show Amazonka.S3.Types.RestoreRequest.RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: newRestoreRequest :: RestoreRequest
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_days :: Lens' RestoreRequest (Maybe Int)
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_description :: Lens' RestoreRequest (Maybe Text)
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_glacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_outputLocation :: Lens' RestoreRequest (Maybe OutputLocation)
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_selectParameters :: Lens' RestoreRequest (Maybe SelectParameters)
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_tier :: Lens' RestoreRequest (Maybe Tier)
+ Amazonka.S3.Types.RestoreRequest: restoreRequest_type :: Lens' RestoreRequest (Maybe RestoreRequestType)
+ Amazonka.S3.Types.RestoreRequestType: RestoreRequestType' :: Text -> RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: [fromRestoreRequestType] :: RestoreRequestType -> Text
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Control.DeepSeq.NFData Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance GHC.Classes.Eq Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance GHC.Classes.Ord Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance GHC.Generics.Generic Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance GHC.Read.Read Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: instance GHC.Show.Show Amazonka.S3.Types.RestoreRequestType.RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: newtype RestoreRequestType
+ Amazonka.S3.Types.RestoreRequestType: pattern RestoreRequestType_SELECT :: RestoreRequestType
+ Amazonka.S3.Types.RoutingRule: RoutingRule' :: Maybe Condition -> Redirect -> RoutingRule
+ Amazonka.S3.Types.RoutingRule: [$sel:condition:RoutingRule'] :: RoutingRule -> Maybe Condition
+ Amazonka.S3.Types.RoutingRule: [$sel:redirect:RoutingRule'] :: RoutingRule -> Redirect
+ Amazonka.S3.Types.RoutingRule: data RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance GHC.Classes.Eq Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance GHC.Generics.Generic Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance GHC.Read.Read Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: instance GHC.Show.Show Amazonka.S3.Types.RoutingRule.RoutingRule
+ Amazonka.S3.Types.RoutingRule: newRoutingRule :: Redirect -> RoutingRule
+ Amazonka.S3.Types.RoutingRule: routingRule_condition :: Lens' RoutingRule (Maybe Condition)
+ Amazonka.S3.Types.RoutingRule: routingRule_redirect :: Lens' RoutingRule Redirect
+ Amazonka.S3.Types.S3KeyFilter: S3KeyFilter' :: Maybe [FilterRule] -> S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: [$sel:filterRules:S3KeyFilter'] :: S3KeyFilter -> Maybe [FilterRule]
+ Amazonka.S3.Types.S3KeyFilter: data S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance Control.DeepSeq.NFData Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance GHC.Classes.Eq Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance GHC.Generics.Generic Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance GHC.Read.Read Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: instance GHC.Show.Show Amazonka.S3.Types.S3KeyFilter.S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: newS3KeyFilter :: S3KeyFilter
+ Amazonka.S3.Types.S3KeyFilter: s3KeyFilter_filterRules :: Lens' S3KeyFilter (Maybe [FilterRule])
+ Amazonka.S3.Types.S3Location: S3Location' :: Maybe [Grant] -> Maybe ObjectCannedACL -> Maybe Encryption -> Maybe StorageClass -> Maybe Tagging -> Maybe [MetadataEntry] -> BucketName -> Text -> S3Location
+ Amazonka.S3.Types.S3Location: [$sel:accessControlList:S3Location'] :: S3Location -> Maybe [Grant]
+ Amazonka.S3.Types.S3Location: [$sel:bucketName:S3Location'] :: S3Location -> BucketName
+ Amazonka.S3.Types.S3Location: [$sel:cannedACL:S3Location'] :: S3Location -> Maybe ObjectCannedACL
+ Amazonka.S3.Types.S3Location: [$sel:encryption:S3Location'] :: S3Location -> Maybe Encryption
+ Amazonka.S3.Types.S3Location: [$sel:prefix:S3Location'] :: S3Location -> Text
+ Amazonka.S3.Types.S3Location: [$sel:storageClass:S3Location'] :: S3Location -> Maybe StorageClass
+ Amazonka.S3.Types.S3Location: [$sel:tagging:S3Location'] :: S3Location -> Maybe Tagging
+ Amazonka.S3.Types.S3Location: [$sel:userMetadata:S3Location'] :: S3Location -> Maybe [MetadataEntry]
+ Amazonka.S3.Types.S3Location: data S3Location
+ Amazonka.S3.Types.S3Location: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.S3Location.S3Location
+ Amazonka.S3.Types.S3Location: instance Control.DeepSeq.NFData Amazonka.S3.Types.S3Location.S3Location
+ Amazonka.S3.Types.S3Location: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.S3Location.S3Location
+ Amazonka.S3.Types.S3Location: instance GHC.Classes.Eq Amazonka.S3.Types.S3Location.S3Location
+ Amazonka.S3.Types.S3Location: instance GHC.Generics.Generic Amazonka.S3.Types.S3Location.S3Location
+ Amazonka.S3.Types.S3Location: instance GHC.Show.Show Amazonka.S3.Types.S3Location.S3Location
+ Amazonka.S3.Types.S3Location: newS3Location :: BucketName -> Text -> S3Location
+ Amazonka.S3.Types.S3Location: s3Location_accessControlList :: Lens' S3Location (Maybe [Grant])
+ Amazonka.S3.Types.S3Location: s3Location_bucketName :: Lens' S3Location BucketName
+ Amazonka.S3.Types.S3Location: s3Location_cannedACL :: Lens' S3Location (Maybe ObjectCannedACL)
+ Amazonka.S3.Types.S3Location: s3Location_encryption :: Lens' S3Location (Maybe Encryption)
+ Amazonka.S3.Types.S3Location: s3Location_prefix :: Lens' S3Location Text
+ Amazonka.S3.Types.S3Location: s3Location_storageClass :: Lens' S3Location (Maybe StorageClass)
+ Amazonka.S3.Types.S3Location: s3Location_tagging :: Lens' S3Location (Maybe Tagging)
+ Amazonka.S3.Types.S3Location: s3Location_userMetadata :: Lens' S3Location (Maybe [MetadataEntry])
+ Amazonka.S3.Types.S3ServiceError: S3ServiceError' :: Maybe Text -> Maybe ObjectKey -> Maybe Text -> Maybe ObjectVersionId -> S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: [$sel:code:S3ServiceError'] :: S3ServiceError -> Maybe Text
+ Amazonka.S3.Types.S3ServiceError: [$sel:key:S3ServiceError'] :: S3ServiceError -> Maybe ObjectKey
+ Amazonka.S3.Types.S3ServiceError: [$sel:message:S3ServiceError'] :: S3ServiceError -> Maybe Text
+ Amazonka.S3.Types.S3ServiceError: [$sel:versionId:S3ServiceError'] :: S3ServiceError -> Maybe ObjectVersionId
+ Amazonka.S3.Types.S3ServiceError: data S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance Control.DeepSeq.NFData Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance GHC.Classes.Eq Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance GHC.Generics.Generic Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance GHC.Read.Read Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: instance GHC.Show.Show Amazonka.S3.Types.S3ServiceError.S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: newS3ServiceError :: S3ServiceError
+ Amazonka.S3.Types.S3ServiceError: s3ServiceError_code :: Lens' S3ServiceError (Maybe Text)
+ Amazonka.S3.Types.S3ServiceError: s3ServiceError_key :: Lens' S3ServiceError (Maybe ObjectKey)
+ Amazonka.S3.Types.S3ServiceError: s3ServiceError_message :: Lens' S3ServiceError (Maybe Text)
+ Amazonka.S3.Types.S3ServiceError: s3ServiceError_versionId :: Lens' S3ServiceError (Maybe ObjectVersionId)
+ Amazonka.S3.Types.SSEKMS: SSEKMS' :: Sensitive Text -> SSEKMS
+ Amazonka.S3.Types.SSEKMS: [$sel:keyId:SSEKMS'] :: SSEKMS -> Sensitive Text
+ Amazonka.S3.Types.SSEKMS: data SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance Control.DeepSeq.NFData Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance GHC.Classes.Eq Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance GHC.Generics.Generic Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: instance GHC.Show.Show Amazonka.S3.Types.SSEKMS.SSEKMS
+ Amazonka.S3.Types.SSEKMS: newSSEKMS :: Text -> SSEKMS
+ Amazonka.S3.Types.SSEKMS: ssekms_keyId :: Lens' SSEKMS Text
+ Amazonka.S3.Types.SSES3: SSES3' :: SSES3
+ Amazonka.S3.Types.SSES3: data SSES3
+ Amazonka.S3.Types.SSES3: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance Control.DeepSeq.NFData Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance GHC.Classes.Eq Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance GHC.Generics.Generic Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance GHC.Read.Read Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: instance GHC.Show.Show Amazonka.S3.Types.SSES3.SSES3
+ Amazonka.S3.Types.SSES3: newSSES3 :: SSES3
+ Amazonka.S3.Types.ScanRange: ScanRange' :: Maybe Integer -> Maybe Integer -> ScanRange
+ Amazonka.S3.Types.ScanRange: [$sel:end:ScanRange'] :: ScanRange -> Maybe Integer
+ Amazonka.S3.Types.ScanRange: [$sel:start:ScanRange'] :: ScanRange -> Maybe Integer
+ Amazonka.S3.Types.ScanRange: data ScanRange
+ Amazonka.S3.Types.ScanRange: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: instance Control.DeepSeq.NFData Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: instance GHC.Classes.Eq Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: instance GHC.Generics.Generic Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: instance GHC.Read.Read Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: instance GHC.Show.Show Amazonka.S3.Types.ScanRange.ScanRange
+ Amazonka.S3.Types.ScanRange: newScanRange :: ScanRange
+ Amazonka.S3.Types.ScanRange: scanRange_end :: Lens' ScanRange (Maybe Integer)
+ Amazonka.S3.Types.ScanRange: scanRange_start :: Lens' ScanRange (Maybe Integer)
+ Amazonka.S3.Types.SelectObjectContentEventStream: SelectObjectContentEventStream' :: Maybe ContinuationEvent -> Maybe EndEvent -> Maybe ProgressEvent -> Maybe RecordsEvent -> Maybe StatsEvent -> SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: [$sel:cont:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe ContinuationEvent
+ Amazonka.S3.Types.SelectObjectContentEventStream: [$sel:end:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe EndEvent
+ Amazonka.S3.Types.SelectObjectContentEventStream: [$sel:progress:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe ProgressEvent
+ Amazonka.S3.Types.SelectObjectContentEventStream: [$sel:records:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe RecordsEvent
+ Amazonka.S3.Types.SelectObjectContentEventStream: [$sel:stats:SelectObjectContentEventStream'] :: SelectObjectContentEventStream -> Maybe StatsEvent
+ Amazonka.S3.Types.SelectObjectContentEventStream: data SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance Control.DeepSeq.NFData Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance GHC.Classes.Eq Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance GHC.Generics.Generic Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance GHC.Read.Read Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: instance GHC.Show.Show Amazonka.S3.Types.SelectObjectContentEventStream.SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: newSelectObjectContentEventStream :: SelectObjectContentEventStream
+ Amazonka.S3.Types.SelectObjectContentEventStream: selectObjectContentEventStream_cont :: Lens' SelectObjectContentEventStream (Maybe ContinuationEvent)
+ Amazonka.S3.Types.SelectObjectContentEventStream: selectObjectContentEventStream_end :: Lens' SelectObjectContentEventStream (Maybe EndEvent)
+ Amazonka.S3.Types.SelectObjectContentEventStream: selectObjectContentEventStream_progress :: Lens' SelectObjectContentEventStream (Maybe ProgressEvent)
+ Amazonka.S3.Types.SelectObjectContentEventStream: selectObjectContentEventStream_records :: Lens' SelectObjectContentEventStream (Maybe RecordsEvent)
+ Amazonka.S3.Types.SelectObjectContentEventStream: selectObjectContentEventStream_stats :: Lens' SelectObjectContentEventStream (Maybe StatsEvent)
+ Amazonka.S3.Types.SelectParameters: SelectParameters' :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
+ Amazonka.S3.Types.SelectParameters: [$sel:expression:SelectParameters'] :: SelectParameters -> Text
+ Amazonka.S3.Types.SelectParameters: [$sel:expressionType:SelectParameters'] :: SelectParameters -> ExpressionType
+ Amazonka.S3.Types.SelectParameters: [$sel:inputSerialization:SelectParameters'] :: SelectParameters -> InputSerialization
+ Amazonka.S3.Types.SelectParameters: [$sel:outputSerialization:SelectParameters'] :: SelectParameters -> OutputSerialization
+ Amazonka.S3.Types.SelectParameters: data SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance Control.DeepSeq.NFData Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance GHC.Classes.Eq Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance GHC.Generics.Generic Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance GHC.Read.Read Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: instance GHC.Show.Show Amazonka.S3.Types.SelectParameters.SelectParameters
+ Amazonka.S3.Types.SelectParameters: newSelectParameters :: InputSerialization -> ExpressionType -> Text -> OutputSerialization -> SelectParameters
+ Amazonka.S3.Types.SelectParameters: selectParameters_expression :: Lens' SelectParameters Text
+ Amazonka.S3.Types.SelectParameters: selectParameters_expressionType :: Lens' SelectParameters ExpressionType
+ Amazonka.S3.Types.SelectParameters: selectParameters_inputSerialization :: Lens' SelectParameters InputSerialization
+ Amazonka.S3.Types.SelectParameters: selectParameters_outputSerialization :: Lens' SelectParameters OutputSerialization
+ Amazonka.S3.Types.ServerSideEncryption: ServerSideEncryption' :: Text -> ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: [fromServerSideEncryption] :: ServerSideEncryption -> Text
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Control.DeepSeq.NFData Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance GHC.Classes.Eq Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance GHC.Classes.Ord Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance GHC.Generics.Generic Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance GHC.Read.Read Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: instance GHC.Show.Show Amazonka.S3.Types.ServerSideEncryption.ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: newtype ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: pattern ServerSideEncryption_AES256 :: ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryption: pattern ServerSideEncryption_Aws_kms :: ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: ServerSideEncryptionByDefault' :: Maybe (Sensitive Text) -> ServerSideEncryption -> ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: [$sel:kmsMasterKeyID:ServerSideEncryptionByDefault'] :: ServerSideEncryptionByDefault -> Maybe (Sensitive Text)
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: [$sel:sSEAlgorithm:ServerSideEncryptionByDefault'] :: ServerSideEncryptionByDefault -> ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: data ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance Control.DeepSeq.NFData Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance GHC.Classes.Eq Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance GHC.Generics.Generic Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: instance GHC.Show.Show Amazonka.S3.Types.ServerSideEncryptionByDefault.ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: newServerSideEncryptionByDefault :: ServerSideEncryption -> ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: serverSideEncryptionByDefault_kmsMasterKeyID :: Lens' ServerSideEncryptionByDefault (Maybe Text)
+ Amazonka.S3.Types.ServerSideEncryptionByDefault: serverSideEncryptionByDefault_sSEAlgorithm :: Lens' ServerSideEncryptionByDefault ServerSideEncryption
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: ServerSideEncryptionConfiguration' :: [ServerSideEncryptionRule] -> ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: [$sel:rules:ServerSideEncryptionConfiguration'] :: ServerSideEncryptionConfiguration -> [ServerSideEncryptionRule]
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: data ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: instance GHC.Show.Show Amazonka.S3.Types.ServerSideEncryptionConfiguration.ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: newServerSideEncryptionConfiguration :: ServerSideEncryptionConfiguration
+ Amazonka.S3.Types.ServerSideEncryptionConfiguration: serverSideEncryptionConfiguration_rules :: Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]
+ Amazonka.S3.Types.ServerSideEncryptionRule: ServerSideEncryptionRule' :: Maybe ServerSideEncryptionByDefault -> Maybe Bool -> ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: [$sel:applyServerSideEncryptionByDefault:ServerSideEncryptionRule'] :: ServerSideEncryptionRule -> Maybe ServerSideEncryptionByDefault
+ Amazonka.S3.Types.ServerSideEncryptionRule: [$sel:bucketKeyEnabled:ServerSideEncryptionRule'] :: ServerSideEncryptionRule -> Maybe Bool
+ Amazonka.S3.Types.ServerSideEncryptionRule: data ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance Control.DeepSeq.NFData Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance GHC.Classes.Eq Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance GHC.Generics.Generic Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: instance GHC.Show.Show Amazonka.S3.Types.ServerSideEncryptionRule.ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: newServerSideEncryptionRule :: ServerSideEncryptionRule
+ Amazonka.S3.Types.ServerSideEncryptionRule: serverSideEncryptionRule_applyServerSideEncryptionByDefault :: Lens' ServerSideEncryptionRule (Maybe ServerSideEncryptionByDefault)
+ Amazonka.S3.Types.ServerSideEncryptionRule: serverSideEncryptionRule_bucketKeyEnabled :: Lens' ServerSideEncryptionRule (Maybe Bool)
+ Amazonka.S3.Types.SourceSelectionCriteria: SourceSelectionCriteria' :: Maybe ReplicaModifications -> Maybe SseKmsEncryptedObjects -> SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: [$sel:replicaModifications:SourceSelectionCriteria'] :: SourceSelectionCriteria -> Maybe ReplicaModifications
+ Amazonka.S3.Types.SourceSelectionCriteria: [$sel:sseKmsEncryptedObjects:SourceSelectionCriteria'] :: SourceSelectionCriteria -> Maybe SseKmsEncryptedObjects
+ Amazonka.S3.Types.SourceSelectionCriteria: data SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance Control.DeepSeq.NFData Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance GHC.Classes.Eq Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance GHC.Generics.Generic Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance GHC.Read.Read Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: instance GHC.Show.Show Amazonka.S3.Types.SourceSelectionCriteria.SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: newSourceSelectionCriteria :: SourceSelectionCriteria
+ Amazonka.S3.Types.SourceSelectionCriteria: sourceSelectionCriteria_replicaModifications :: Lens' SourceSelectionCriteria (Maybe ReplicaModifications)
+ Amazonka.S3.Types.SourceSelectionCriteria: sourceSelectionCriteria_sseKmsEncryptedObjects :: Lens' SourceSelectionCriteria (Maybe SseKmsEncryptedObjects)
+ Amazonka.S3.Types.SseKmsEncryptedObjects: SseKmsEncryptedObjects' :: SseKmsEncryptedObjectsStatus -> SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: [$sel:status:SseKmsEncryptedObjects'] :: SseKmsEncryptedObjects -> SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjects: data SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance Control.DeepSeq.NFData Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance GHC.Classes.Eq Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance GHC.Generics.Generic Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance GHC.Read.Read Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: instance GHC.Show.Show Amazonka.S3.Types.SseKmsEncryptedObjects.SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: newSseKmsEncryptedObjects :: SseKmsEncryptedObjectsStatus -> SseKmsEncryptedObjects
+ Amazonka.S3.Types.SseKmsEncryptedObjects: sseKmsEncryptedObjects_status :: Lens' SseKmsEncryptedObjects SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: SseKmsEncryptedObjectsStatus' :: Text -> SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: [fromSseKmsEncryptedObjectsStatus] :: SseKmsEncryptedObjectsStatus -> Text
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Control.DeepSeq.NFData Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance GHC.Classes.Eq Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance GHC.Classes.Ord Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance GHC.Generics.Generic Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance GHC.Read.Read Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: instance GHC.Show.Show Amazonka.S3.Types.SseKmsEncryptedObjectsStatus.SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: newtype SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: pattern SseKmsEncryptedObjectsStatus_Disabled :: SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.SseKmsEncryptedObjectsStatus: pattern SseKmsEncryptedObjectsStatus_Enabled :: SseKmsEncryptedObjectsStatus
+ Amazonka.S3.Types.Stats: Stats' :: Maybe Integer -> Maybe Integer -> Maybe Integer -> Stats
+ Amazonka.S3.Types.Stats: [$sel:bytesProcessed:Stats'] :: Stats -> Maybe Integer
+ Amazonka.S3.Types.Stats: [$sel:bytesReturned:Stats'] :: Stats -> Maybe Integer
+ Amazonka.S3.Types.Stats: [$sel:bytesScanned:Stats'] :: Stats -> Maybe Integer
+ Amazonka.S3.Types.Stats: data Stats
+ Amazonka.S3.Types.Stats: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: instance Control.DeepSeq.NFData Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: instance GHC.Classes.Eq Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: instance GHC.Generics.Generic Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: instance GHC.Read.Read Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: instance GHC.Show.Show Amazonka.S3.Types.Stats.Stats
+ Amazonka.S3.Types.Stats: newStats :: Stats
+ Amazonka.S3.Types.Stats: stats_bytesProcessed :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Types.Stats: stats_bytesReturned :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Types.Stats: stats_bytesScanned :: Lens' Stats (Maybe Integer)
+ Amazonka.S3.Types.StatsEvent: StatsEvent' :: Maybe Stats -> StatsEvent
+ Amazonka.S3.Types.StatsEvent: [$sel:details:StatsEvent'] :: StatsEvent -> Maybe Stats
+ Amazonka.S3.Types.StatsEvent: data StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance Control.DeepSeq.NFData Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance GHC.Classes.Eq Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance GHC.Generics.Generic Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance GHC.Read.Read Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: instance GHC.Show.Show Amazonka.S3.Types.StatsEvent.StatsEvent
+ Amazonka.S3.Types.StatsEvent: newStatsEvent :: StatsEvent
+ Amazonka.S3.Types.StatsEvent: statsEvent_details :: Lens' StatsEvent (Maybe Stats)
+ Amazonka.S3.Types.StorageClass: StorageClass' :: Text -> StorageClass
+ Amazonka.S3.Types.StorageClass: [fromStorageClass] :: StorageClass -> Text
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Control.DeepSeq.NFData Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance GHC.Classes.Eq Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance GHC.Classes.Ord Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance GHC.Generics.Generic Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance GHC.Read.Read Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: instance GHC.Show.Show Amazonka.S3.Types.StorageClass.StorageClass
+ Amazonka.S3.Types.StorageClass: newtype StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_DEEP_ARCHIVE :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_GLACIER :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_GLACIER_IR :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_INTELLIGENT_TIERING :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_ONEZONE_IA :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_OUTPOSTS :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_REDUCED_REDUNDANCY :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_STANDARD :: StorageClass
+ Amazonka.S3.Types.StorageClass: pattern StorageClass_STANDARD_IA :: StorageClass
+ Amazonka.S3.Types.StorageClassAnalysis: StorageClassAnalysis' :: Maybe StorageClassAnalysisDataExport -> StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: [$sel:dataExport:StorageClassAnalysis'] :: StorageClassAnalysis -> Maybe StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysis: data StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance Control.DeepSeq.NFData Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance GHC.Classes.Eq Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance GHC.Generics.Generic Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance GHC.Read.Read Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: instance GHC.Show.Show Amazonka.S3.Types.StorageClassAnalysis.StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: newStorageClassAnalysis :: StorageClassAnalysis
+ Amazonka.S3.Types.StorageClassAnalysis: storageClassAnalysis_dataExport :: Lens' StorageClassAnalysis (Maybe StorageClassAnalysisDataExport)
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: StorageClassAnalysisDataExport' :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: [$sel:destination:StorageClassAnalysisDataExport'] :: StorageClassAnalysisDataExport -> AnalyticsExportDestination
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: [$sel:outputSchemaVersion:StorageClassAnalysisDataExport'] :: StorageClassAnalysisDataExport -> StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: data StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance Control.DeepSeq.NFData Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance GHC.Classes.Eq Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance GHC.Generics.Generic Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance GHC.Read.Read Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: instance GHC.Show.Show Amazonka.S3.Types.StorageClassAnalysisDataExport.StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: newStorageClassAnalysisDataExport :: StorageClassAnalysisSchemaVersion -> AnalyticsExportDestination -> StorageClassAnalysisDataExport
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: storageClassAnalysisDataExport_destination :: Lens' StorageClassAnalysisDataExport AnalyticsExportDestination
+ Amazonka.S3.Types.StorageClassAnalysisDataExport: storageClassAnalysisDataExport_outputSchemaVersion :: Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: StorageClassAnalysisSchemaVersion' :: Text -> StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: [fromStorageClassAnalysisSchemaVersion] :: StorageClassAnalysisSchemaVersion -> Text
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Control.DeepSeq.NFData Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance GHC.Classes.Eq Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance GHC.Classes.Ord Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance GHC.Generics.Generic Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance GHC.Read.Read Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: instance GHC.Show.Show Amazonka.S3.Types.StorageClassAnalysisSchemaVersion.StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: newtype StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.StorageClassAnalysisSchemaVersion: pattern StorageClassAnalysisSchemaVersion_V_1 :: StorageClassAnalysisSchemaVersion
+ Amazonka.S3.Types.Tag: Tag' :: ObjectKey -> Text -> Tag
+ Amazonka.S3.Types.Tag: [$sel:key:Tag'] :: Tag -> ObjectKey
+ Amazonka.S3.Types.Tag: [$sel:value:Tag'] :: Tag -> Text
+ Amazonka.S3.Types.Tag: data Tag
+ Amazonka.S3.Types.Tag: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance Control.DeepSeq.NFData Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance GHC.Classes.Eq Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance GHC.Generics.Generic Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance GHC.Read.Read Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: instance GHC.Show.Show Amazonka.S3.Types.Tag.Tag
+ Amazonka.S3.Types.Tag: newTag :: ObjectKey -> Text -> Tag
+ Amazonka.S3.Types.Tag: tag_key :: Lens' Tag ObjectKey
+ Amazonka.S3.Types.Tag: tag_value :: Lens' Tag Text
+ Amazonka.S3.Types.Tagging: Tagging' :: [Tag] -> Tagging
+ Amazonka.S3.Types.Tagging: [$sel:tagSet:Tagging'] :: Tagging -> [Tag]
+ Amazonka.S3.Types.Tagging: data Tagging
+ Amazonka.S3.Types.Tagging: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: instance Control.DeepSeq.NFData Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: instance GHC.Classes.Eq Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: instance GHC.Generics.Generic Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: instance GHC.Read.Read Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: instance GHC.Show.Show Amazonka.S3.Types.Tagging.Tagging
+ Amazonka.S3.Types.Tagging: newTagging :: Tagging
+ Amazonka.S3.Types.Tagging: tagging_tagSet :: Lens' Tagging [Tag]
+ Amazonka.S3.Types.TaggingDirective: TaggingDirective' :: Text -> TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: [fromTaggingDirective] :: TaggingDirective -> Text
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Control.DeepSeq.NFData Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance GHC.Classes.Eq Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance GHC.Classes.Ord Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance GHC.Generics.Generic Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance GHC.Read.Read Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: instance GHC.Show.Show Amazonka.S3.Types.TaggingDirective.TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: newtype TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: pattern TaggingDirective_COPY :: TaggingDirective
+ Amazonka.S3.Types.TaggingDirective: pattern TaggingDirective_REPLACE :: TaggingDirective
+ Amazonka.S3.Types.TargetGrant: TargetGrant' :: Maybe Grantee -> Maybe BucketLogsPermission -> TargetGrant
+ Amazonka.S3.Types.TargetGrant: [$sel:grantee:TargetGrant'] :: TargetGrant -> Maybe Grantee
+ Amazonka.S3.Types.TargetGrant: [$sel:permission:TargetGrant'] :: TargetGrant -> Maybe BucketLogsPermission
+ Amazonka.S3.Types.TargetGrant: data TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance Control.DeepSeq.NFData Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance GHC.Classes.Eq Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance GHC.Generics.Generic Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance GHC.Read.Read Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: instance GHC.Show.Show Amazonka.S3.Types.TargetGrant.TargetGrant
+ Amazonka.S3.Types.TargetGrant: newTargetGrant :: TargetGrant
+ Amazonka.S3.Types.TargetGrant: targetGrant_grantee :: Lens' TargetGrant (Maybe Grantee)
+ Amazonka.S3.Types.TargetGrant: targetGrant_permission :: Lens' TargetGrant (Maybe BucketLogsPermission)
+ Amazonka.S3.Types.Tier: Tier' :: Text -> Tier
+ Amazonka.S3.Types.Tier: [fromTier] :: Tier -> Text
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Control.DeepSeq.NFData Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance GHC.Classes.Eq Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance GHC.Classes.Ord Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance GHC.Generics.Generic Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance GHC.Read.Read Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: instance GHC.Show.Show Amazonka.S3.Types.Tier.Tier
+ Amazonka.S3.Types.Tier: newtype Tier
+ Amazonka.S3.Types.Tier: pattern Tier_Bulk :: Tier
+ Amazonka.S3.Types.Tier: pattern Tier_Expedited :: Tier
+ Amazonka.S3.Types.Tier: pattern Tier_Standard :: Tier
+ Amazonka.S3.Types.Tiering: Tiering' :: Int -> IntelligentTieringAccessTier -> Tiering
+ Amazonka.S3.Types.Tiering: [$sel:accessTier:Tiering'] :: Tiering -> IntelligentTieringAccessTier
+ Amazonka.S3.Types.Tiering: [$sel:days:Tiering'] :: Tiering -> Int
+ Amazonka.S3.Types.Tiering: data Tiering
+ Amazonka.S3.Types.Tiering: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance Control.DeepSeq.NFData Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance GHC.Classes.Eq Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance GHC.Generics.Generic Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance GHC.Read.Read Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: instance GHC.Show.Show Amazonka.S3.Types.Tiering.Tiering
+ Amazonka.S3.Types.Tiering: newTiering :: Int -> IntelligentTieringAccessTier -> Tiering
+ Amazonka.S3.Types.Tiering: tiering_accessTier :: Lens' Tiering IntelligentTieringAccessTier
+ Amazonka.S3.Types.Tiering: tiering_days :: Lens' Tiering Int
+ Amazonka.S3.Types.TopicConfiguration: TopicConfiguration' :: Maybe NotificationConfigurationFilter -> Maybe Text -> Text -> [Event] -> TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: [$sel:events:TopicConfiguration'] :: TopicConfiguration -> [Event]
+ Amazonka.S3.Types.TopicConfiguration: [$sel:filter':TopicConfiguration'] :: TopicConfiguration -> Maybe NotificationConfigurationFilter
+ Amazonka.S3.Types.TopicConfiguration: [$sel:id:TopicConfiguration'] :: TopicConfiguration -> Maybe Text
+ Amazonka.S3.Types.TopicConfiguration: [$sel:topicArn:TopicConfiguration'] :: TopicConfiguration -> Text
+ Amazonka.S3.Types.TopicConfiguration: data TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance GHC.Read.Read Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: instance GHC.Show.Show Amazonka.S3.Types.TopicConfiguration.TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: newTopicConfiguration :: Text -> TopicConfiguration
+ Amazonka.S3.Types.TopicConfiguration: topicConfiguration_events :: Lens' TopicConfiguration [Event]
+ Amazonka.S3.Types.TopicConfiguration: topicConfiguration_filter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)
+ Amazonka.S3.Types.TopicConfiguration: topicConfiguration_id :: Lens' TopicConfiguration (Maybe Text)
+ Amazonka.S3.Types.TopicConfiguration: topicConfiguration_topicArn :: Lens' TopicConfiguration Text
+ Amazonka.S3.Types.Transition: Transition' :: Maybe ISO8601 -> Maybe Int -> Maybe TransitionStorageClass -> Transition
+ Amazonka.S3.Types.Transition: [$sel:date:Transition'] :: Transition -> Maybe ISO8601
+ Amazonka.S3.Types.Transition: [$sel:days:Transition'] :: Transition -> Maybe Int
+ Amazonka.S3.Types.Transition: [$sel:storageClass:Transition'] :: Transition -> Maybe TransitionStorageClass
+ Amazonka.S3.Types.Transition: data Transition
+ Amazonka.S3.Types.Transition: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance Control.DeepSeq.NFData Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance GHC.Classes.Eq Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance GHC.Generics.Generic Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance GHC.Read.Read Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: instance GHC.Show.Show Amazonka.S3.Types.Transition.Transition
+ Amazonka.S3.Types.Transition: newTransition :: Transition
+ Amazonka.S3.Types.Transition: transition_date :: Lens' Transition (Maybe UTCTime)
+ Amazonka.S3.Types.Transition: transition_days :: Lens' Transition (Maybe Int)
+ Amazonka.S3.Types.Transition: transition_storageClass :: Lens' Transition (Maybe TransitionStorageClass)
+ Amazonka.S3.Types.TransitionStorageClass: TransitionStorageClass' :: Text -> TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: [fromTransitionStorageClass] :: TransitionStorageClass -> Text
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Control.DeepSeq.NFData Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance GHC.Classes.Eq Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance GHC.Classes.Ord Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance GHC.Generics.Generic Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance GHC.Read.Read Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: instance GHC.Show.Show Amazonka.S3.Types.TransitionStorageClass.TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: newtype TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: pattern TransitionStorageClass_DEEP_ARCHIVE :: TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: pattern TransitionStorageClass_GLACIER :: TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: pattern TransitionStorageClass_GLACIER_IR :: TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: pattern TransitionStorageClass_INTELLIGENT_TIERING :: TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: pattern TransitionStorageClass_ONEZONE_IA :: TransitionStorageClass
+ Amazonka.S3.Types.TransitionStorageClass: pattern TransitionStorageClass_STANDARD_IA :: TransitionStorageClass
+ Amazonka.S3.Types.Type: Type' :: Text -> Type
+ Amazonka.S3.Types.Type: [fromType] :: Type -> Text
+ Amazonka.S3.Types.Type: instance Amazonka.Data.ByteString.ToByteString Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.Headers.ToHeader Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.Log.ToLog Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.Query.ToQuery Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.Text.FromText Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.Text.ToText Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.XML.FromXML Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Control.DeepSeq.NFData Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Data.Aeson.Types.FromJSON.FromJSON Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Data.Aeson.Types.FromJSON.FromJSONKey Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Data.Aeson.Types.ToJSON.ToJSON Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Data.Aeson.Types.ToJSON.ToJSONKey Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance GHC.Classes.Eq Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance GHC.Classes.Ord Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance GHC.Generics.Generic Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance GHC.Read.Read Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: instance GHC.Show.Show Amazonka.S3.Types.Type.Type
+ Amazonka.S3.Types.Type: newtype Type
+ Amazonka.S3.Types.Type: pattern Type_AmazonCustomerByEmail :: Type
+ Amazonka.S3.Types.Type: pattern Type_CanonicalUser :: Type
+ Amazonka.S3.Types.Type: pattern Type_Group :: Type
+ Amazonka.S3.Types.VersioningConfiguration: VersioningConfiguration' :: Maybe MFADelete -> Maybe BucketVersioningStatus -> VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: [$sel:mfaDelete:VersioningConfiguration'] :: VersioningConfiguration -> Maybe MFADelete
+ Amazonka.S3.Types.VersioningConfiguration: [$sel:status:VersioningConfiguration'] :: VersioningConfiguration -> Maybe BucketVersioningStatus
+ Amazonka.S3.Types.VersioningConfiguration: data VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance GHC.Read.Read Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: instance GHC.Show.Show Amazonka.S3.Types.VersioningConfiguration.VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: newVersioningConfiguration :: VersioningConfiguration
+ Amazonka.S3.Types.VersioningConfiguration: versioningConfiguration_mfaDelete :: Lens' VersioningConfiguration (Maybe MFADelete)
+ Amazonka.S3.Types.VersioningConfiguration: versioningConfiguration_status :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)
+ Amazonka.S3.Types.WebsiteConfiguration: WebsiteConfiguration' :: Maybe ErrorDocument -> Maybe IndexDocument -> Maybe RedirectAllRequestsTo -> Maybe [RoutingRule] -> WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: [$sel:errorDocument:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe ErrorDocument
+ Amazonka.S3.Types.WebsiteConfiguration: [$sel:indexDocument:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe IndexDocument
+ Amazonka.S3.Types.WebsiteConfiguration: [$sel:redirectAllRequestsTo:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe RedirectAllRequestsTo
+ Amazonka.S3.Types.WebsiteConfiguration: [$sel:routingRules:WebsiteConfiguration'] :: WebsiteConfiguration -> Maybe [RoutingRule]
+ Amazonka.S3.Types.WebsiteConfiguration: data WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance Amazonka.Data.XML.ToXML Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance Control.DeepSeq.NFData Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance Data.Hashable.Class.Hashable Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance GHC.Classes.Eq Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance GHC.Generics.Generic Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance GHC.Read.Read Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: instance GHC.Show.Show Amazonka.S3.Types.WebsiteConfiguration.WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: newWebsiteConfiguration :: WebsiteConfiguration
+ Amazonka.S3.Types.WebsiteConfiguration: websiteConfiguration_errorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)
+ Amazonka.S3.Types.WebsiteConfiguration: websiteConfiguration_indexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)
+ Amazonka.S3.Types.WebsiteConfiguration: websiteConfiguration_redirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)
+ Amazonka.S3.Types.WebsiteConfiguration: websiteConfiguration_routingRules :: Lens' WebsiteConfiguration (Maybe [RoutingRule])
+ Amazonka.S3.UploadPart: UploadPart' :: Maybe ChecksumAlgorithm -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> ObjectKey -> Int -> Text -> RequestBody -> UploadPart
+ Amazonka.S3.UploadPart: UploadPartResponse' :: Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe ETag -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Int -> UploadPartResponse
+ Amazonka.S3.UploadPart: [$sel:body:UploadPart'] :: UploadPart -> RequestBody
+ Amazonka.S3.UploadPart: [$sel:bucket:UploadPart'] :: UploadPart -> BucketName
+ Amazonka.S3.UploadPart: [$sel:bucketKeyEnabled:UploadPartResponse'] :: UploadPartResponse -> Maybe Bool
+ Amazonka.S3.UploadPart: [$sel:checksumAlgorithm:UploadPart'] :: UploadPart -> Maybe ChecksumAlgorithm
+ Amazonka.S3.UploadPart: [$sel:checksumCRC32:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumCRC32:UploadPartResponse'] :: UploadPartResponse -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumCRC32C:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumCRC32C:UploadPartResponse'] :: UploadPartResponse -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumSHA1:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumSHA1:UploadPartResponse'] :: UploadPartResponse -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumSHA256:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:checksumSHA256:UploadPartResponse'] :: UploadPartResponse -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:contentLength:UploadPart'] :: UploadPart -> Maybe Integer
+ Amazonka.S3.UploadPart: [$sel:contentMD5:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:eTag:UploadPartResponse'] :: UploadPartResponse -> Maybe ETag
+ Amazonka.S3.UploadPart: [$sel:expectedBucketOwner:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:httpStatus:UploadPartResponse'] :: UploadPartResponse -> Int
+ Amazonka.S3.UploadPart: [$sel:key:UploadPart'] :: UploadPart -> ObjectKey
+ Amazonka.S3.UploadPart: [$sel:partNumber:UploadPart'] :: UploadPart -> Int
+ Amazonka.S3.UploadPart: [$sel:requestCharged:UploadPartResponse'] :: UploadPartResponse -> Maybe RequestCharged
+ Amazonka.S3.UploadPart: [$sel:requestPayer:UploadPart'] :: UploadPart -> Maybe RequestPayer
+ Amazonka.S3.UploadPart: [$sel:sSECustomerAlgorithm:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:sSECustomerAlgorithm:UploadPartResponse'] :: UploadPartResponse -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:sSECustomerKey:UploadPart'] :: UploadPart -> Maybe (Sensitive Text)
+ Amazonka.S3.UploadPart: [$sel:sSECustomerKeyMD5:UploadPart'] :: UploadPart -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:sSECustomerKeyMD5:UploadPartResponse'] :: UploadPartResponse -> Maybe Text
+ Amazonka.S3.UploadPart: [$sel:sSEKMSKeyId:UploadPartResponse'] :: UploadPartResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.UploadPart: [$sel:serverSideEncryption:UploadPartResponse'] :: UploadPartResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.UploadPart: [$sel:uploadId:UploadPart'] :: UploadPart -> Text
+ Amazonka.S3.UploadPart: data UploadPart
+ Amazonka.S3.UploadPart: data UploadPartResponse
+ Amazonka.S3.UploadPart: instance Amazonka.Data.Body.ToBody Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance Amazonka.Data.Path.ToPath Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance Amazonka.Data.Query.ToQuery Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance Amazonka.Types.AWSRequest Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance Control.DeepSeq.NFData Amazonka.S3.UploadPart.UploadPartResponse
+ Amazonka.S3.UploadPart: instance GHC.Classes.Eq Amazonka.S3.UploadPart.UploadPartResponse
+ Amazonka.S3.UploadPart: instance GHC.Generics.Generic Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance GHC.Generics.Generic Amazonka.S3.UploadPart.UploadPartResponse
+ Amazonka.S3.UploadPart: instance GHC.Show.Show Amazonka.S3.UploadPart.UploadPart
+ Amazonka.S3.UploadPart: instance GHC.Show.Show Amazonka.S3.UploadPart.UploadPartResponse
+ Amazonka.S3.UploadPart: newUploadPart :: BucketName -> ObjectKey -> Int -> Text -> RequestBody -> UploadPart
+ Amazonka.S3.UploadPart: newUploadPartResponse :: Int -> UploadPartResponse
+ Amazonka.S3.UploadPart: uploadPartResponse_bucketKeyEnabled :: Lens' UploadPartResponse (Maybe Bool)
+ Amazonka.S3.UploadPart: uploadPartResponse_checksumCRC32 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_checksumCRC32C :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_checksumSHA1 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_checksumSHA256 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_eTag :: Lens' UploadPartResponse (Maybe ETag)
+ Amazonka.S3.UploadPart: uploadPartResponse_httpStatus :: Lens' UploadPartResponse Int
+ Amazonka.S3.UploadPart: uploadPartResponse_requestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)
+ Amazonka.S3.UploadPart: uploadPartResponse_sSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_sSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_sSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPartResponse_serverSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.UploadPart: uploadPart_body :: Lens' UploadPart RequestBody
+ Amazonka.S3.UploadPart: uploadPart_bucket :: Lens' UploadPart BucketName
+ Amazonka.S3.UploadPart: uploadPart_checksumAlgorithm :: Lens' UploadPart (Maybe ChecksumAlgorithm)
+ Amazonka.S3.UploadPart: uploadPart_checksumCRC32 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_checksumCRC32C :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_checksumSHA1 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_checksumSHA256 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_contentLength :: Lens' UploadPart (Maybe Integer)
+ Amazonka.S3.UploadPart: uploadPart_contentMD5 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_expectedBucketOwner :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_key :: Lens' UploadPart ObjectKey
+ Amazonka.S3.UploadPart: uploadPart_partNumber :: Lens' UploadPart Int
+ Amazonka.S3.UploadPart: uploadPart_requestPayer :: Lens' UploadPart (Maybe RequestPayer)
+ Amazonka.S3.UploadPart: uploadPart_sSECustomerAlgorithm :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_sSECustomerKey :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_sSECustomerKeyMD5 :: Lens' UploadPart (Maybe Text)
+ Amazonka.S3.UploadPart: uploadPart_uploadId :: Lens' UploadPart Text
+ Amazonka.S3.UploadPartCopy: UploadPartCopy' :: Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe RFC822 -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RequestPayer -> Maybe Text -> Maybe (Sensitive Text) -> Maybe Text -> BucketName -> Text -> ObjectKey -> Int -> Text -> UploadPartCopy
+ Amazonka.S3.UploadPartCopy: UploadPartCopyResponse' :: Maybe Bool -> Maybe CopyPartResult -> Maybe Text -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Int -> UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: [$sel:bucket:UploadPartCopy'] :: UploadPartCopy -> BucketName
+ Amazonka.S3.UploadPartCopy: [$sel:bucketKeyEnabled:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe Bool
+ Amazonka.S3.UploadPartCopy: [$sel:copyPartResult:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe CopyPartResult
+ Amazonka.S3.UploadPartCopy: [$sel:copySource:UploadPartCopy'] :: UploadPartCopy -> Text
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceIfMatch:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceIfModifiedSince:UploadPartCopy'] :: UploadPartCopy -> Maybe RFC822
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceIfNoneMatch:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceIfUnmodifiedSince:UploadPartCopy'] :: UploadPartCopy -> Maybe RFC822
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceRange:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceSSECustomerAlgorithm:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceSSECustomerKey:UploadPartCopy'] :: UploadPartCopy -> Maybe (Sensitive Text)
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceSSECustomerKeyMD5:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:copySourceVersionId:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:expectedBucketOwner:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:expectedSourceBucketOwner:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:httpStatus:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Int
+ Amazonka.S3.UploadPartCopy: [$sel:key:UploadPartCopy'] :: UploadPartCopy -> ObjectKey
+ Amazonka.S3.UploadPartCopy: [$sel:partNumber:UploadPartCopy'] :: UploadPartCopy -> Int
+ Amazonka.S3.UploadPartCopy: [$sel:requestCharged:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe RequestCharged
+ Amazonka.S3.UploadPartCopy: [$sel:requestPayer:UploadPartCopy'] :: UploadPartCopy -> Maybe RequestPayer
+ Amazonka.S3.UploadPartCopy: [$sel:sSECustomerAlgorithm:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:sSECustomerAlgorithm:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:sSECustomerKey:UploadPartCopy'] :: UploadPartCopy -> Maybe (Sensitive Text)
+ Amazonka.S3.UploadPartCopy: [$sel:sSECustomerKeyMD5:UploadPartCopy'] :: UploadPartCopy -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:sSECustomerKeyMD5:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe Text
+ Amazonka.S3.UploadPartCopy: [$sel:sSEKMSKeyId:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.UploadPartCopy: [$sel:serverSideEncryption:UploadPartCopyResponse'] :: UploadPartCopyResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.UploadPartCopy: [$sel:uploadId:UploadPartCopy'] :: UploadPartCopy -> Text
+ Amazonka.S3.UploadPartCopy: data UploadPartCopy
+ Amazonka.S3.UploadPartCopy: data UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance Amazonka.Data.Path.ToPath Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance Amazonka.Data.Query.ToQuery Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance Amazonka.Types.AWSRequest Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance Control.DeepSeq.NFData Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance Control.DeepSeq.NFData Amazonka.S3.UploadPartCopy.UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: instance Data.Hashable.Class.Hashable Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance GHC.Classes.Eq Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance GHC.Classes.Eq Amazonka.S3.UploadPartCopy.UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: instance GHC.Generics.Generic Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance GHC.Generics.Generic Amazonka.S3.UploadPartCopy.UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: instance GHC.Show.Show Amazonka.S3.UploadPartCopy.UploadPartCopy
+ Amazonka.S3.UploadPartCopy: instance GHC.Show.Show Amazonka.S3.UploadPartCopy.UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: newUploadPartCopy :: BucketName -> Text -> ObjectKey -> Int -> Text -> UploadPartCopy
+ Amazonka.S3.UploadPartCopy: newUploadPartCopyResponse :: Int -> UploadPartCopyResponse
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_bucketKeyEnabled :: Lens' UploadPartCopyResponse (Maybe Bool)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_copyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_copySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_httpStatus :: Lens' UploadPartCopyResponse Int
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_requestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_sSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_sSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_sSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopyResponse_serverSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_bucket :: Lens' UploadPartCopy BucketName
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySource :: Lens' UploadPartCopy Text
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceIfMatch :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceIfModifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceIfNoneMatch :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceIfUnmodifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceRange :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_copySourceSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_expectedBucketOwner :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_expectedSourceBucketOwner :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_key :: Lens' UploadPartCopy ObjectKey
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_partNumber :: Lens' UploadPartCopy Int
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_requestPayer :: Lens' UploadPartCopy (Maybe RequestPayer)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_sSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_sSECustomerKey :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_sSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)
+ Amazonka.S3.UploadPartCopy: uploadPartCopy_uploadId :: Lens' UploadPartCopy Text
+ Amazonka.S3.Waiters: newBucketExists :: Wait HeadBucket
+ Amazonka.S3.Waiters: newBucketNotExists :: Wait HeadBucket
+ Amazonka.S3.Waiters: newObjectExists :: Wait HeadObject
+ Amazonka.S3.Waiters: newObjectNotExists :: Wait HeadObject
+ Amazonka.S3.WriteGetObjectResponse: WriteGetObjectResponse' :: Maybe Text -> Maybe Bool -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe Integer -> Maybe Text -> Maybe Text -> Maybe Bool -> Maybe ETag -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe RFC822 -> Maybe RFC822 -> HashMap Text Text -> Maybe Int -> Maybe ObjectLockLegalHoldStatus -> Maybe ObjectLockMode -> Maybe ISO8601 -> Maybe Int -> Maybe ReplicationStatus -> Maybe RequestCharged -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe (Sensitive Text) -> Maybe ServerSideEncryption -> Maybe Int -> Maybe StorageClass -> Maybe Int -> Maybe ObjectVersionId -> Text -> Text -> RequestBody -> WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: WriteGetObjectResponseResponse' :: WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: [$sel:acceptRanges:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:body:WriteGetObjectResponse'] :: WriteGetObjectResponse -> RequestBody
+ Amazonka.S3.WriteGetObjectResponse: [$sel:bucketKeyEnabled:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Bool
+ Amazonka.S3.WriteGetObjectResponse: [$sel:cacheControl:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:checksumCRC32:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:checksumCRC32C:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:checksumSHA1:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:checksumSHA256:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:contentDisposition:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:contentEncoding:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:contentLanguage:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:contentLength:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Integer
+ Amazonka.S3.WriteGetObjectResponse: [$sel:contentRange:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:contentType:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:deleteMarker:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Bool
+ Amazonka.S3.WriteGetObjectResponse: [$sel:eTag:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ETag
+ Amazonka.S3.WriteGetObjectResponse: [$sel:errorCode:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:errorMessage:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:expiration:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:expires:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe RFC822
+ Amazonka.S3.WriteGetObjectResponse: [$sel:lastModified:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe RFC822
+ Amazonka.S3.WriteGetObjectResponse: [$sel:metadata:WriteGetObjectResponse'] :: WriteGetObjectResponse -> HashMap Text Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:missingMeta:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Int
+ Amazonka.S3.WriteGetObjectResponse: [$sel:objectLockLegalHoldStatus:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ObjectLockLegalHoldStatus
+ Amazonka.S3.WriteGetObjectResponse: [$sel:objectLockMode:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ObjectLockMode
+ Amazonka.S3.WriteGetObjectResponse: [$sel:objectLockRetainUntilDate:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ISO8601
+ Amazonka.S3.WriteGetObjectResponse: [$sel:partsCount:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Int
+ Amazonka.S3.WriteGetObjectResponse: [$sel:replicationStatus:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ReplicationStatus
+ Amazonka.S3.WriteGetObjectResponse: [$sel:requestCharged:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe RequestCharged
+ Amazonka.S3.WriteGetObjectResponse: [$sel:requestRoute:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:requestToken:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:restore:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:sSECustomerAlgorithm:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:sSECustomerKeyMD5:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Text
+ Amazonka.S3.WriteGetObjectResponse: [$sel:sSEKMSKeyId:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe (Sensitive Text)
+ Amazonka.S3.WriteGetObjectResponse: [$sel:serverSideEncryption:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ServerSideEncryption
+ Amazonka.S3.WriteGetObjectResponse: [$sel:statusCode:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Int
+ Amazonka.S3.WriteGetObjectResponse: [$sel:storageClass:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe StorageClass
+ Amazonka.S3.WriteGetObjectResponse: [$sel:tagCount:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe Int
+ Amazonka.S3.WriteGetObjectResponse: [$sel:versionId:WriteGetObjectResponse'] :: WriteGetObjectResponse -> Maybe ObjectVersionId
+ Amazonka.S3.WriteGetObjectResponse: data WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: data WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: instance Amazonka.Data.Body.ToBody Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance Amazonka.Data.Headers.ToHeaders Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance Amazonka.Data.Path.ToPath Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance Amazonka.Data.Query.ToQuery Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance Amazonka.Types.AWSRequest Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance Control.DeepSeq.NFData Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: instance GHC.Classes.Eq Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: instance GHC.Generics.Generic Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance GHC.Generics.Generic Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: instance GHC.Read.Read Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: instance GHC.Show.Show Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: instance GHC.Show.Show Amazonka.S3.WriteGetObjectResponse.WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: newWriteGetObjectResponse :: Text -> Text -> RequestBody -> WriteGetObjectResponse
+ Amazonka.S3.WriteGetObjectResponse: newWriteGetObjectResponseResponse :: WriteGetObjectResponseResponse
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_acceptRanges :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_body :: Lens' WriteGetObjectResponse RequestBody
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_bucketKeyEnabled :: Lens' WriteGetObjectResponse (Maybe Bool)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_cacheControl :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_checksumCRC32 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_checksumCRC32C :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_checksumSHA1 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_checksumSHA256 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_contentDisposition :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_contentEncoding :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_contentLanguage :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_contentLength :: Lens' WriteGetObjectResponse (Maybe Integer)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_contentRange :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_contentType :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_deleteMarker :: Lens' WriteGetObjectResponse (Maybe Bool)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_eTag :: Lens' WriteGetObjectResponse (Maybe ETag)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_errorCode :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_errorMessage :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_expiration :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_expires :: Lens' WriteGetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_lastModified :: Lens' WriteGetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_metadata :: Lens' WriteGetObjectResponse (HashMap Text Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_missingMeta :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_objectLockLegalHoldStatus :: Lens' WriteGetObjectResponse (Maybe ObjectLockLegalHoldStatus)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_objectLockMode :: Lens' WriteGetObjectResponse (Maybe ObjectLockMode)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_objectLockRetainUntilDate :: Lens' WriteGetObjectResponse (Maybe UTCTime)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_partsCount :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_replicationStatus :: Lens' WriteGetObjectResponse (Maybe ReplicationStatus)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_requestCharged :: Lens' WriteGetObjectResponse (Maybe RequestCharged)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_requestRoute :: Lens' WriteGetObjectResponse Text
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_requestToken :: Lens' WriteGetObjectResponse Text
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_restore :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_sSECustomerAlgorithm :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_sSECustomerKeyMD5 :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_sSEKMSKeyId :: Lens' WriteGetObjectResponse (Maybe Text)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_serverSideEncryption :: Lens' WriteGetObjectResponse (Maybe ServerSideEncryption)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_statusCode :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_storageClass :: Lens' WriteGetObjectResponse (Maybe StorageClass)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_tagCount :: Lens' WriteGetObjectResponse (Maybe Int)
+ Amazonka.S3.WriteGetObjectResponse: writeGetObjectResponse_versionId :: Lens' WriteGetObjectResponse (Maybe ObjectVersionId)

Files

README.md view
@@ -7,9 +7,8 @@   ## Version--`1.6.1`-+ +`2.0` - Derived from API version @2006-03-01@ of the AWS service descriptions, licensed under Apache 2.0.  ## Description @@ -26,7 +25,7 @@ The provided lenses should be compatible with any of the major lens libraries [lens](http://hackage.haskell.org/package/lens) or [lens-family-core](http://hackage.haskell.org/package/lens-family-core). -See [Network.AWS.S3](http://hackage.haskell.org/package/amazonka-s3/docs/Network-AWS-S3.html)+See [Amazonka.S3](http://hackage.haskell.org/package/amazonka-s3/docs/Amazonka-S3.html) or [the AWS documentation](https://aws.amazon.com/documentation/) to get started.  
− Setup.hs
@@ -1,2 +0,0 @@-import           Distribution.Simple-main = defaultMain
amazonka-s3.cabal view
@@ -1,162 +1,367 @@-name:                  amazonka-s3-version:               1.6.1-synopsis:              Amazon Simple Storage Service SDK.-homepage:              https://github.com/brendanhay/amazonka-bug-reports:           https://github.com/brendanhay/amazonka/issues-license:               MPL-2.0-license-file:          LICENSE-author:                Brendan Hay-maintainer:            Brendan Hay <brendan.g.hay+amazonka@gmail.com>-copyright:             Copyright (c) 2013-2018 Brendan Hay-category:              Network, AWS, Cloud, Distributed Computing-build-type:            Simple-cabal-version:         >= 1.10-extra-source-files:    README.md fixture/*.yaml fixture/*.proto src/.gitkeep+cabal-version:      2.2+name:               amazonka-s3+version:            2.0+synopsis:           Amazon Simple Storage Service SDK.+homepage:           https://github.com/brendanhay/amazonka+bug-reports:        https://github.com/brendanhay/amazonka/issues+license:            MPL-2.0+license-file:       LICENSE+author:             Brendan Hay+maintainer:+  Brendan Hay <brendan.g.hay+amazonka@gmail.com>, Jack Kelly <jack@jackkelly.name>++copyright:          Copyright (c) 2013-2023 Brendan Hay+category:           AWS+build-type:         Simple+extra-source-files:+  fixture/*.proto+  fixture/*.yaml+  README.md+  src/.gitkeep+ description:-    The types from this library are intended to be used with-    <http://hackage.haskell.org/package/amazonka amazonka>, which provides-    mechanisms for specifying AuthN/AuthZ information, sending requests,-    and receiving responses.-    .-    Lenses are used for constructing and manipulating types,-    due to the depth of nesting of AWS types and transparency regarding-    de/serialisation into more palatable Haskell values.-    The provided lenses should be compatible with any of the major lens libraries-    such as <http://hackage.haskell.org/package/lens lens> or-    <http://hackage.haskell.org/package/lens-family-core lens-family-core>.-    .-    See "Network.AWS.S3" or <https://aws.amazon.com/documentation/ the AWS documentation>-    to get started.+  Derived from API version @2006-03-01@ of the AWS service descriptions, licensed under Apache 2.0.+  .+  The types from this library are intended to be used with <http://hackage.haskell.org/package/amazonka amazonka>,+  which provides mechanisms for specifying AuthN/AuthZ information, sending requests, and receiving responses.+  .+  It is recommended to use generic lenses or optics from packages such as <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify optional fields and deconstruct responses.+  .+  Generated lenses can be found in "Amazonka.S3.Lens" and are+  suitable for use with a lens package such as <http://hackage.haskell.org/package/lens lens> or <http://hackage.haskell.org/package/lens-family-core lens-family-core>.+  .+  See "Amazonka.S3" and the <https://aws.amazon.com/documentation/ AWS documentation> to get started.  source-repository head-    type:              git-    location:          git://github.com/brendanhay/amazonka.git-    subdir:            amazonka-s3+  type:     git+  location: git://github.com/brendanhay/amazonka.git+  subdir:   amazonka-s3  library-    default-language:  Haskell2010-    hs-source-dirs:    src gen--    ghc-options:-        -Wall-        -fwarn-incomplete-uni-patterns-        -fwarn-incomplete-record-updates-        -funbox-strict-fields--    exposed-modules:-          Network.AWS.S3-        , Network.AWS.S3.AbortMultipartUpload-        , Network.AWS.S3.CompleteMultipartUpload-        , Network.AWS.S3.CopyObject-        , Network.AWS.S3.CreateBucket-        , Network.AWS.S3.CreateMultipartUpload-        , Network.AWS.S3.DeleteBucket-        , Network.AWS.S3.DeleteBucketAnalyticsConfiguration-        , Network.AWS.S3.DeleteBucketCORS-        , Network.AWS.S3.DeleteBucketEncryption-        , Network.AWS.S3.DeleteBucketInventoryConfiguration-        , Network.AWS.S3.DeleteBucketLifecycle-        , Network.AWS.S3.DeleteBucketMetricsConfiguration-        , Network.AWS.S3.DeleteBucketPolicy-        , Network.AWS.S3.DeleteBucketReplication-        , Network.AWS.S3.DeleteBucketTagging-        , Network.AWS.S3.DeleteBucketWebsite-        , Network.AWS.S3.DeleteObject-        , Network.AWS.S3.DeleteObjectTagging-        , Network.AWS.S3.DeleteObjects-        , Network.AWS.S3.GetBucketACL-        , Network.AWS.S3.GetBucketAccelerateConfiguration-        , Network.AWS.S3.GetBucketAnalyticsConfiguration-        , Network.AWS.S3.GetBucketCORS-        , Network.AWS.S3.GetBucketEncryption-        , Network.AWS.S3.GetBucketInventoryConfiguration-        , Network.AWS.S3.GetBucketLifecycleConfiguration-        , Network.AWS.S3.GetBucketLocation-        , Network.AWS.S3.GetBucketLogging-        , Network.AWS.S3.GetBucketMetricsConfiguration-        , Network.AWS.S3.GetBucketNotificationConfiguration-        , Network.AWS.S3.GetBucketPolicy-        , Network.AWS.S3.GetBucketReplication-        , Network.AWS.S3.GetBucketRequestPayment-        , Network.AWS.S3.GetBucketTagging-        , Network.AWS.S3.GetBucketVersioning-        , Network.AWS.S3.GetBucketWebsite-        , Network.AWS.S3.GetObject-        , Network.AWS.S3.GetObjectACL-        , Network.AWS.S3.GetObjectTagging-        , Network.AWS.S3.GetObjectTorrent-        , Network.AWS.S3.HeadBucket-        , Network.AWS.S3.HeadObject-        , Network.AWS.S3.ListBucketAnalyticsConfigurations-        , Network.AWS.S3.ListBucketInventoryConfigurations-        , Network.AWS.S3.ListBucketMetricsConfigurations-        , Network.AWS.S3.ListBuckets-        , Network.AWS.S3.ListMultipartUploads-        , Network.AWS.S3.ListObjectVersions-        , Network.AWS.S3.ListObjects-        , Network.AWS.S3.ListObjectsV2-        , Network.AWS.S3.ListParts-        , Network.AWS.S3.PutBucketACL-        , Network.AWS.S3.PutBucketAccelerateConfiguration-        , Network.AWS.S3.PutBucketAnalyticsConfiguration-        , Network.AWS.S3.PutBucketCORS-        , Network.AWS.S3.PutBucketEncryption-        , Network.AWS.S3.PutBucketInventoryConfiguration-        , Network.AWS.S3.PutBucketLifecycleConfiguration-        , Network.AWS.S3.PutBucketLogging-        , Network.AWS.S3.PutBucketMetricsConfiguration-        , Network.AWS.S3.PutBucketNotificationConfiguration-        , Network.AWS.S3.PutBucketPolicy-        , Network.AWS.S3.PutBucketReplication-        , Network.AWS.S3.PutBucketRequestPayment-        , Network.AWS.S3.PutBucketTagging-        , Network.AWS.S3.PutBucketVersioning-        , Network.AWS.S3.PutBucketWebsite-        , Network.AWS.S3.PutObject-        , Network.AWS.S3.PutObjectACL-        , Network.AWS.S3.PutObjectTagging-        , Network.AWS.S3.RestoreObject-        , Network.AWS.S3.SelectObjectContent-        , Network.AWS.S3.Types-        , Network.AWS.S3.UploadPart-        , Network.AWS.S3.UploadPartCopy-        , Network.AWS.S3.Waiters+  default-language: Haskell2010+  hs-source-dirs:   src gen+  ghc-options:+    -Wall -fwarn-incomplete-uni-patterns+    -fwarn-incomplete-record-updates -funbox-strict-fields -    other-modules:-          Network.AWS.S3.Internal-        , Network.AWS.S3.Types.Product-        , Network.AWS.S3.Types.Sum+  exposed-modules:+    Amazonka.S3+    Amazonka.S3.AbortMultipartUpload+    Amazonka.S3.CompleteMultipartUpload+    Amazonka.S3.CopyObject+    Amazonka.S3.CreateBucket+    Amazonka.S3.CreateMultipartUpload+    Amazonka.S3.DeleteBucket+    Amazonka.S3.DeleteBucketAnalyticsConfiguration+    Amazonka.S3.DeleteBucketCors+    Amazonka.S3.DeleteBucketEncryption+    Amazonka.S3.DeleteBucketIntelligentTieringConfiguration+    Amazonka.S3.DeleteBucketInventoryConfiguration+    Amazonka.S3.DeleteBucketLifecycle+    Amazonka.S3.DeleteBucketMetricsConfiguration+    Amazonka.S3.DeleteBucketOwnershipControls+    Amazonka.S3.DeleteBucketPolicy+    Amazonka.S3.DeleteBucketReplication+    Amazonka.S3.DeleteBucketTagging+    Amazonka.S3.DeleteBucketWebsite+    Amazonka.S3.DeleteObject+    Amazonka.S3.DeleteObjects+    Amazonka.S3.DeleteObjectTagging+    Amazonka.S3.DeletePublicAccessBlock+    Amazonka.S3.GetBucketAccelerateConfiguration+    Amazonka.S3.GetBucketAcl+    Amazonka.S3.GetBucketAnalyticsConfiguration+    Amazonka.S3.GetBucketCors+    Amazonka.S3.GetBucketEncryption+    Amazonka.S3.GetBucketIntelligentTieringConfiguration+    Amazonka.S3.GetBucketInventoryConfiguration+    Amazonka.S3.GetBucketLifecycleConfiguration+    Amazonka.S3.GetBucketLocation+    Amazonka.S3.GetBucketLogging+    Amazonka.S3.GetBucketMetricsConfiguration+    Amazonka.S3.GetBucketNotificationConfiguration+    Amazonka.S3.GetBucketOwnershipControls+    Amazonka.S3.GetBucketPolicy+    Amazonka.S3.GetBucketPolicyStatus+    Amazonka.S3.GetBucketReplication+    Amazonka.S3.GetBucketRequestPayment+    Amazonka.S3.GetBucketTagging+    Amazonka.S3.GetBucketVersioning+    Amazonka.S3.GetBucketWebsite+    Amazonka.S3.GetObject+    Amazonka.S3.GetObjectAcl+    Amazonka.S3.GetObjectAttributes+    Amazonka.S3.GetObjectLegalHold+    Amazonka.S3.GetObjectLockConfiguration+    Amazonka.S3.GetObjectRetention+    Amazonka.S3.GetObjectTagging+    Amazonka.S3.GetObjectTorrent+    Amazonka.S3.GetPublicAccessBlock+    Amazonka.S3.HeadBucket+    Amazonka.S3.HeadObject+    Amazonka.S3.Internal+    Amazonka.S3.Lens+    Amazonka.S3.ListBucketAnalyticsConfigurations+    Amazonka.S3.ListBucketIntelligentTieringConfigurations+    Amazonka.S3.ListBucketInventoryConfigurations+    Amazonka.S3.ListBucketMetricsConfigurations+    Amazonka.S3.ListBuckets+    Amazonka.S3.ListMultipartUploads+    Amazonka.S3.ListObjects+    Amazonka.S3.ListObjectsV2+    Amazonka.S3.ListObjectVersions+    Amazonka.S3.ListParts+    Amazonka.S3.PutBucketAccelerateConfiguration+    Amazonka.S3.PutBucketAcl+    Amazonka.S3.PutBucketAnalyticsConfiguration+    Amazonka.S3.PutBucketCors+    Amazonka.S3.PutBucketEncryption+    Amazonka.S3.PutBucketIntelligentTieringConfiguration+    Amazonka.S3.PutBucketInventoryConfiguration+    Amazonka.S3.PutBucketLifecycleConfiguration+    Amazonka.S3.PutBucketLogging+    Amazonka.S3.PutBucketMetricsConfiguration+    Amazonka.S3.PutBucketNotificationConfiguration+    Amazonka.S3.PutBucketOwnershipControls+    Amazonka.S3.PutBucketPolicy+    Amazonka.S3.PutBucketReplication+    Amazonka.S3.PutBucketRequestPayment+    Amazonka.S3.PutBucketTagging+    Amazonka.S3.PutBucketVersioning+    Amazonka.S3.PutBucketWebsite+    Amazonka.S3.PutObject+    Amazonka.S3.PutObjectAcl+    Amazonka.S3.PutObjectLegalHold+    Amazonka.S3.PutObjectLockConfiguration+    Amazonka.S3.PutObjectRetention+    Amazonka.S3.PutObjectTagging+    Amazonka.S3.PutPublicAccessBlock+    Amazonka.S3.RestoreObject+    Amazonka.S3.SelectObjectContent+    Amazonka.S3.Types+    Amazonka.S3.Types.AbortIncompleteMultipartUpload+    Amazonka.S3.Types.AccelerateConfiguration+    Amazonka.S3.Types.AccessControlPolicy+    Amazonka.S3.Types.AccessControlTranslation+    Amazonka.S3.Types.AnalyticsAndOperator+    Amazonka.S3.Types.AnalyticsConfiguration+    Amazonka.S3.Types.AnalyticsExportDestination+    Amazonka.S3.Types.AnalyticsFilter+    Amazonka.S3.Types.AnalyticsS3BucketDestination+    Amazonka.S3.Types.AnalyticsS3ExportFileFormat+    Amazonka.S3.Types.ArchiveStatus+    Amazonka.S3.Types.Bucket+    Amazonka.S3.Types.BucketAccelerateStatus+    Amazonka.S3.Types.BucketCannedACL+    Amazonka.S3.Types.BucketLifecycleConfiguration+    Amazonka.S3.Types.BucketLoggingStatus+    Amazonka.S3.Types.BucketLogsPermission+    Amazonka.S3.Types.BucketVersioningStatus+    Amazonka.S3.Types.Checksum+    Amazonka.S3.Types.ChecksumAlgorithm+    Amazonka.S3.Types.ChecksumMode+    Amazonka.S3.Types.CommonPrefix+    Amazonka.S3.Types.CompletedMultipartUpload+    Amazonka.S3.Types.CompletedPart+    Amazonka.S3.Types.CompressionType+    Amazonka.S3.Types.Condition+    Amazonka.S3.Types.ContinuationEvent+    Amazonka.S3.Types.CopyObjectResult+    Amazonka.S3.Types.CopyPartResult+    Amazonka.S3.Types.CORSConfiguration+    Amazonka.S3.Types.CORSRule+    Amazonka.S3.Types.CreateBucketConfiguration+    Amazonka.S3.Types.CSVInput+    Amazonka.S3.Types.CSVOutput+    Amazonka.S3.Types.DefaultRetention+    Amazonka.S3.Types.Delete+    Amazonka.S3.Types.DeletedObject+    Amazonka.S3.Types.DeleteMarkerEntry+    Amazonka.S3.Types.DeleteMarkerReplication+    Amazonka.S3.Types.DeleteMarkerReplicationStatus+    Amazonka.S3.Types.Destination+    Amazonka.S3.Types.EncodingType+    Amazonka.S3.Types.Encryption+    Amazonka.S3.Types.EncryptionConfiguration+    Amazonka.S3.Types.EndEvent+    Amazonka.S3.Types.ErrorDocument+    Amazonka.S3.Types.Event+    Amazonka.S3.Types.EventBridgeConfiguration+    Amazonka.S3.Types.ExistingObjectReplication+    Amazonka.S3.Types.ExistingObjectReplicationStatus+    Amazonka.S3.Types.ExpirationStatus+    Amazonka.S3.Types.ExpressionType+    Amazonka.S3.Types.FileHeaderInfo+    Amazonka.S3.Types.FilterRule+    Amazonka.S3.Types.FilterRuleName+    Amazonka.S3.Types.GetObjectAttributesParts+    Amazonka.S3.Types.GlacierJobParameters+    Amazonka.S3.Types.Grant+    Amazonka.S3.Types.Grantee+    Amazonka.S3.Types.IndexDocument+    Amazonka.S3.Types.Initiator+    Amazonka.S3.Types.InputSerialization+    Amazonka.S3.Types.IntelligentTieringAccessTier+    Amazonka.S3.Types.IntelligentTieringAndOperator+    Amazonka.S3.Types.IntelligentTieringConfiguration+    Amazonka.S3.Types.IntelligentTieringFilter+    Amazonka.S3.Types.IntelligentTieringStatus+    Amazonka.S3.Types.InventoryConfiguration+    Amazonka.S3.Types.InventoryDestination+    Amazonka.S3.Types.InventoryEncryption+    Amazonka.S3.Types.InventoryFilter+    Amazonka.S3.Types.InventoryFormat+    Amazonka.S3.Types.InventoryFrequency+    Amazonka.S3.Types.InventoryIncludedObjectVersions+    Amazonka.S3.Types.InventoryOptionalField+    Amazonka.S3.Types.InventoryS3BucketDestination+    Amazonka.S3.Types.InventorySchedule+    Amazonka.S3.Types.JSONInput+    Amazonka.S3.Types.JSONOutput+    Amazonka.S3.Types.JSONType+    Amazonka.S3.Types.LambdaFunctionConfiguration+    Amazonka.S3.Types.LifecycleExpiration+    Amazonka.S3.Types.LifecycleRule+    Amazonka.S3.Types.LifecycleRuleAndOperator+    Amazonka.S3.Types.LifecycleRuleFilter+    Amazonka.S3.Types.LoggingEnabled+    Amazonka.S3.Types.MetadataDirective+    Amazonka.S3.Types.MetadataEntry+    Amazonka.S3.Types.Metrics+    Amazonka.S3.Types.MetricsAndOperator+    Amazonka.S3.Types.MetricsConfiguration+    Amazonka.S3.Types.MetricsFilter+    Amazonka.S3.Types.MetricsStatus+    Amazonka.S3.Types.MFADelete+    Amazonka.S3.Types.MFADeleteStatus+    Amazonka.S3.Types.MultipartUpload+    Amazonka.S3.Types.NoncurrentVersionExpiration+    Amazonka.S3.Types.NoncurrentVersionTransition+    Amazonka.S3.Types.NotificationConfiguration+    Amazonka.S3.Types.NotificationConfigurationFilter+    Amazonka.S3.Types.Object+    Amazonka.S3.Types.ObjectAttributes+    Amazonka.S3.Types.ObjectCannedACL+    Amazonka.S3.Types.ObjectIdentifier+    Amazonka.S3.Types.ObjectLockConfiguration+    Amazonka.S3.Types.ObjectLockEnabled+    Amazonka.S3.Types.ObjectLockLegalHold+    Amazonka.S3.Types.ObjectLockLegalHoldStatus+    Amazonka.S3.Types.ObjectLockMode+    Amazonka.S3.Types.ObjectLockRetention+    Amazonka.S3.Types.ObjectLockRetentionMode+    Amazonka.S3.Types.ObjectLockRule+    Amazonka.S3.Types.ObjectOwnership+    Amazonka.S3.Types.ObjectPart+    Amazonka.S3.Types.ObjectStorageClass+    Amazonka.S3.Types.ObjectVersion+    Amazonka.S3.Types.ObjectVersionStorageClass+    Amazonka.S3.Types.OutputLocation+    Amazonka.S3.Types.OutputSerialization+    Amazonka.S3.Types.Owner+    Amazonka.S3.Types.OwnerOverride+    Amazonka.S3.Types.OwnershipControls+    Amazonka.S3.Types.OwnershipControlsRule+    Amazonka.S3.Types.ParquetInput+    Amazonka.S3.Types.Part+    Amazonka.S3.Types.Payer+    Amazonka.S3.Types.Permission+    Amazonka.S3.Types.PolicyStatus+    Amazonka.S3.Types.Progress+    Amazonka.S3.Types.ProgressEvent+    Amazonka.S3.Types.Protocol+    Amazonka.S3.Types.PublicAccessBlockConfiguration+    Amazonka.S3.Types.QueueConfiguration+    Amazonka.S3.Types.QuoteFields+    Amazonka.S3.Types.RecordsEvent+    Amazonka.S3.Types.Redirect+    Amazonka.S3.Types.RedirectAllRequestsTo+    Amazonka.S3.Types.ReplicaModifications+    Amazonka.S3.Types.ReplicaModificationsStatus+    Amazonka.S3.Types.ReplicationConfiguration+    Amazonka.S3.Types.ReplicationRule+    Amazonka.S3.Types.ReplicationRuleAndOperator+    Amazonka.S3.Types.ReplicationRuleFilter+    Amazonka.S3.Types.ReplicationRuleStatus+    Amazonka.S3.Types.ReplicationStatus+    Amazonka.S3.Types.ReplicationTime+    Amazonka.S3.Types.ReplicationTimeStatus+    Amazonka.S3.Types.ReplicationTimeValue+    Amazonka.S3.Types.RequestCharged+    Amazonka.S3.Types.RequestPayer+    Amazonka.S3.Types.RequestPaymentConfiguration+    Amazonka.S3.Types.RequestProgress+    Amazonka.S3.Types.RestoreRequest+    Amazonka.S3.Types.RestoreRequestType+    Amazonka.S3.Types.RoutingRule+    Amazonka.S3.Types.S3KeyFilter+    Amazonka.S3.Types.S3Location+    Amazonka.S3.Types.S3ServiceError+    Amazonka.S3.Types.ScanRange+    Amazonka.S3.Types.SelectObjectContentEventStream+    Amazonka.S3.Types.SelectParameters+    Amazonka.S3.Types.ServerSideEncryption+    Amazonka.S3.Types.ServerSideEncryptionByDefault+    Amazonka.S3.Types.ServerSideEncryptionConfiguration+    Amazonka.S3.Types.ServerSideEncryptionRule+    Amazonka.S3.Types.SourceSelectionCriteria+    Amazonka.S3.Types.SSEKMS+    Amazonka.S3.Types.SseKmsEncryptedObjects+    Amazonka.S3.Types.SseKmsEncryptedObjectsStatus+    Amazonka.S3.Types.SSES3+    Amazonka.S3.Types.Stats+    Amazonka.S3.Types.StatsEvent+    Amazonka.S3.Types.StorageClass+    Amazonka.S3.Types.StorageClassAnalysis+    Amazonka.S3.Types.StorageClassAnalysisDataExport+    Amazonka.S3.Types.StorageClassAnalysisSchemaVersion+    Amazonka.S3.Types.Tag+    Amazonka.S3.Types.Tagging+    Amazonka.S3.Types.TaggingDirective+    Amazonka.S3.Types.TargetGrant+    Amazonka.S3.Types.Tier+    Amazonka.S3.Types.Tiering+    Amazonka.S3.Types.TopicConfiguration+    Amazonka.S3.Types.Transition+    Amazonka.S3.Types.TransitionStorageClass+    Amazonka.S3.Types.Type+    Amazonka.S3.Types.VersioningConfiguration+    Amazonka.S3.Types.WebsiteConfiguration+    Amazonka.S3.UploadPart+    Amazonka.S3.UploadPartCopy+    Amazonka.S3.Waiters+    Amazonka.S3.WriteGetObjectResponse -    build-depends:-          amazonka-core == 1.6.1.*-        , base          >= 4.7     && < 5-        , lens >= 4.4-        , text >= 1.1+  build-depends:+    , amazonka-core  >=2.0  && <2.1+    , base           >=4.12 && <5+    , lens+    , text  test-suite amazonka-s3-test-    type:              exitcode-stdio-1.0-    default-language:  Haskell2010-    hs-source-dirs:    test-    main-is:           Main.hs--    ghc-options:       -Wall -threaded+  type:             exitcode-stdio-1.0+  default-language: Haskell2010+  hs-source-dirs:   test+  main-is:          Main.hs+  ghc-options:      -Wall -threaded -    -- This section is encoded by the template and any modules added by-    -- hand outside these namespaces will not correctly be added to the-    -- distribution package.-    other-modules:-          Test.AWS.S3-        , Test.AWS.Gen.S3-        , Test.AWS.S3.Internal+  -- This section is encoded by the template and any modules added by+  -- hand outside these namespaces will not correctly be added to the+  -- distribution package.+  other-modules:+    Test.Amazonka.Gen.S3+    Test.Amazonka.S3+    Test.Amazonka.S3.Internal -    build-depends:-          amazonka-core == 1.6.1.*-        , amazonka-test == 1.6.1.*-        , amazonka-s3-        , base-        , bytestring-        , tasty-        , tasty-hunit-        , text-        , time-        , unordered-containers+  build-depends:+    , amazonka-core         >=2.0 && <2.1+    , amazonka-s3+    , amazonka-test         >=2.0 && <2.1+    , base+    , bytestring+    , case-insensitive+    , tasty+    , tasty-hunit+    , text+    , time+    , unordered-containers
fixture/AbortMultipartUpload.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/CompleteMultipartUpload.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/CopyObject.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/CopyObjectResponse.proto view
@@ -1,5 +0,0 @@-<?xml version="1.0" encoding="UTF-8"?>-<CopyObjectResult>-  <LastModified>2009-10-28T22:32:00Z</LastModified>-  <ETag>"9b2cf535f27731c974343645a3985328"</ETag>-</CopyObjectResult>
fixture/CreateBucket.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/CreateMultipartUpload.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/DeleteBucket.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
− fixture/DeleteBucketCORS.yaml
− fixture/DeleteBucketCORSResponse.proto
+ fixture/DeleteBucketCors.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteBucketCorsResponse.proto view
+ fixture/DeleteBucketIntelligentTieringConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteBucketIntelligentTieringConfigurationResponse.proto view
fixture/DeleteBucketLifecycle.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteBucketOwnershipControls.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeleteBucketOwnershipControlsResponse.proto view
fixture/DeleteBucketPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/DeleteBucketReplication.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/DeleteBucketTagging.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/DeleteBucketWebsite.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/DeleteObject.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/DeleteObjects.yaml view
@@ -1,11 +1,10 @@ --- method: POST-path:   /bucketname-query:  ?delete= headers:-  Host: s3.amazonaws.com-  Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-md5;host;x-amz-content-sha256;x-amz-date, Signature=8395d88802592a49a30ca19ee1e0a819a663542eddc9bfe6482e314f6ce09b58-  Content-MD5: Baa58yLrqn+8X+KF6MwPug==-  X-Amz-Content-SHA256: 3be5f080da935ef26665db14539913f2a45d0219d47414df168777f155b30070-  X-Amz-Date: 20091028T223200Z-body: <?xml version="1.0" encoding="UTF-8"?><Delete xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Object><Key>sample1.text</Key></Object><Object><Key>sample2.text</Key></Object></Delete>+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeletePublicAccessBlock.yaml view
@@ -0,0 +1,10 @@+---+method: DELETE+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/DeletePublicAccessBlockResponse.proto view
− fixture/GetBucketACL.yaml
− fixture/GetBucketACLResponse.proto
@@ -1,15 +0,0 @@-<AccessControlPolicy xmlns="http://s3.amazonaws.com/doc/2006-03-01/">-  <Owner>-    <ID>fedcba0987654321</ID>-    <DisplayName>foo</DisplayName>-  </Owner>-  <AccessControlList>-    <Grant>-      <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="CanonicalUser">-        <ID>1234567890abcdef</ID>-        <DisplayName>bar</DisplayName>-      </Grantee>-      <Permission>FULL_CONTROL</Permission>-    </Grant>-  </AccessControlList>-</AccessControlPolicy>
fixture/GetBucketAccelerateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketAcl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketAclResponse.proto view
− fixture/GetBucketCORS.yaml
− fixture/GetBucketCORSResponse.proto
+ fixture/GetBucketCors.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketCorsResponse.proto view
+ fixture/GetBucketIntelligentTieringConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketIntelligentTieringConfigurationResponse.proto view
fixture/GetBucketLifecycleConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketLocation.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketLogging.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketNotificationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketOwnershipControls.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketOwnershipControlsResponse.proto view
fixture/GetBucketPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketPolicyResponse.proto view
@@ -1,15 +0,0 @@-{-"Version":"2008-10-17",-"Id":"aaaa-bbbb-cccc-dddd",-"Statement" : [-    {-        "Effect":"Deny",-        "Sid":"1",-        "Principal" : {-            "AWS":["111122223333","444455556666"]-        },-        "Action":["s3:*"],-        "Resource":"arn:aws:s3:::bucket/*"-    }- ]-}
+ fixture/GetBucketPolicyStatus.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetBucketPolicyStatusResponse.proto view
fixture/GetBucketReplication.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketReplicationResponse.proto view
@@ -1,12 +0,0 @@-<?xml version="1.0" encoding="UTF-8"?>-<ReplicationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">-  <Rule>-    <ID>rule1</ID>-    <Status>Enabled</Status>-    <Prefix></Prefix>-    <Destination>-      <Bucket>arn:aws:s3:::exampletargetbucket</Bucket>-    </Destination>-  </Rule>-  <Role>arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3</Role>-</ReplicationConfiguration>
fixture/GetBucketRequestPayment.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketTagging.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketVersioning.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetBucketWebsite.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/GetObject.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
− fixture/GetObjectACL.yaml
− fixture/GetObjectACLResponse.proto
+ fixture/GetObjectAcl.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetObjectAclResponse.proto view
+ fixture/GetObjectAttributes.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetObjectAttributesResponse.proto view
+ fixture/GetObjectLegalHold.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetObjectLegalHoldResponse.proto view
+ fixture/GetObjectLockConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetObjectLockConfigurationResponse.proto view
+ fixture/GetObjectRetention.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetObjectRetentionResponse.proto view
fixture/GetObjectTorrent.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetPublicAccessBlock.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/GetPublicAccessBlockResponse.proto view
fixture/HeadBucket.yaml view
@@ -0,0 +1,10 @@+---+method: HEAD'+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/HeadObject.yaml view
@@ -0,0 +1,10 @@+---+method: HEAD'+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListBucketIntelligentTieringConfigurations.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListBucketIntelligentTieringConfigurationsResponse.proto view
fixture/ListBuckets.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/ListMultipartUploads.yaml view
@@ -1,9 +1,10 @@ --- method: GET-path: /foo-bucket-query: ?max-uploads=3&uploads= headers:-  Authorization: AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=6e58e657cbe9bbd48775a6a3d471748505159f4e6cc23affb6aeb784057d7d48-  Host: s3.amazonaws.com-  X-Amz-Content-SHA256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-  X-Amz-Date: 20091028T223200Z+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/ListObjectVersions.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/ListObjects.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListObjectsV.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/ListObjectsVResponse.proto view
fixture/ListParts.yaml view
@@ -0,0 +1,10 @@+---+method: GET+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/ListPartsResponse.proto view
@@ -1,31 +0,0 @@-<?xml version="1.0" encoding="UTF-8"?>-<ListPartsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">-  <Bucket>example-bucket</Bucket>-  <Key>example-object</Key>-  <UploadId>XXBsb2FkIElEIGZvciBlbHZpbmcncyVcdS1tb3ZpZS5tMnRzEEEwbG9hZA</UploadId>-  <Initiator>-      <ID>arn:aws:iam::111122223333:user/some-user-11116a31-17b5-4fb7-9df5-b288870f11xx</ID>-      <DisplayName>umat-user-11116a31-17b5-4fb7-9df5-b288870f11xx</DisplayName>-  </Initiator>-  <Owner>-    <ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID>-    <DisplayName>someName</DisplayName>-  </Owner>-  <StorageClass>STANDARD</StorageClass>-  <PartNumberMarker>1</PartNumberMarker>-  <NextPartNumberMarker>3</NextPartNumberMarker>-  <MaxParts>2</MaxParts>-  <IsTruncated>true</IsTruncated>-  <Part>-    <PartNumber>2</PartNumber>-    <LastModified>2010-11-10T20:48:34.000Z</LastModified>-    <ETag>"7778aef83f66abc1fa1e8477f296d394"</ETag>-    <Size>10485760</Size>-  </Part>-  <Part>-    <PartNumber>3</PartNumber>-    <LastModified>2010-11-10T20:48:33.000Z</LastModified>-    <ETag>"aaaa18db4cc2f85cedef654fccc4a4x8"</ETag>-    <Size>10485760</Size>-  </Part>-</ListPartsResult>
− fixture/PutBucketACL.yaml
− fixture/PutBucketACLResponse.proto
fixture/PutBucketAccelerateConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutBucketAcl.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutBucketAclResponse.proto view
− fixture/PutBucketCORS.yaml
− fixture/PutBucketCORSResponse.proto
+ fixture/PutBucketCors.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutBucketCorsResponse.proto view
+ fixture/PutBucketIntelligentTieringConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutBucketIntelligentTieringConfigurationResponse.proto view
fixture/PutBucketLifecycleConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketLogging.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketNotificationConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutBucketOwnershipControls.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutBucketOwnershipControlsResponse.proto view
fixture/PutBucketPolicy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketReplication.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketRequestPayment.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketTagging.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketVersioning.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutBucketWebsite.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/PutObject.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
− fixture/PutObjectACL.yaml
− fixture/PutObjectACLResponse.proto
+ fixture/PutObjectAcl.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutObjectAclResponse.proto view
+ fixture/PutObjectLegalHold.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutObjectLegalHoldResponse.proto view
+ fixture/PutObjectLockConfiguration.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutObjectLockConfigurationResponse.proto view
+ fixture/PutObjectRetention.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutObjectRetentionResponse.proto view
+ fixture/PutPublicAccessBlock.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/PutPublicAccessBlockResponse.proto view
fixture/RestoreObject.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/UploadPart.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
fixture/UploadPartCopy.yaml view
@@ -0,0 +1,10 @@+---+method: PUT+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/WriteGetObjectResponse.yaml view
@@ -0,0 +1,10 @@+---+method: POST+headers:+  Authorization:         AWS4-HMAC-SHA256 Credential=access/20091028/us-east-1/s3/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date, Signature=?+  Host:                  s3.us-east-1.amazonaws.com+  Content-Type:          application/x-www-form-urlencoded; charset=utf-8+  X-Amz-Content-SHA256:  abcdef+  X-Amz-Date:            20091028T223200Z+body:+  ''
+ fixture/WriteGetObjectResponseResponse.proto view
+ gen/Amazonka/S3.hs view
@@ -0,0 +1,1453 @@+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- |+-- Module      : Amazonka.S3+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Derived from API version @2006-03-01@ of the AWS service descriptions, licensed under Apache 2.0.+--+-- Amazon Simple Storage Service is storage for the Internet. Amazon S3 has+-- a simple web services interface that you can use to store and retrieve+-- any amount of data, at any time, from anywhere on the web. It gives any+-- developer access to the same highly scalable, reliable, fast,+-- inexpensive data storage infrastructure that Amazon uses to run its own+-- global network of web sites. The service aims to maximize benefits of+-- scale and to pass those benefits on to developers.+module Amazonka.S3+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    -- $errors++    -- ** BucketAlreadyExists+    _BucketAlreadyExists,++    -- ** BucketAlreadyOwnedByYou+    _BucketAlreadyOwnedByYou,++    -- ** InvalidObjectState+    _InvalidObjectState,++    -- ** NoSuchBucket+    _NoSuchBucket,++    -- ** NoSuchKey+    _NoSuchKey,++    -- ** NoSuchUpload+    _NoSuchUpload,++    -- ** ObjectAlreadyInActiveTierError+    _ObjectAlreadyInActiveTierError,++    -- ** ObjectNotInActiveTierError+    _ObjectNotInActiveTierError,++    -- * Waiters+    -- $waiters++    -- ** BucketExists+    newBucketExists,++    -- ** BucketNotExists+    newBucketNotExists,++    -- ** ObjectExists+    newObjectExists,++    -- ** ObjectNotExists+    newObjectNotExists,++    -- * Operations+    -- $operations++    -- ** AbortMultipartUpload+    AbortMultipartUpload (AbortMultipartUpload'),+    newAbortMultipartUpload,+    AbortMultipartUploadResponse (AbortMultipartUploadResponse'),+    newAbortMultipartUploadResponse,++    -- ** CompleteMultipartUpload+    CompleteMultipartUpload (CompleteMultipartUpload'),+    newCompleteMultipartUpload,+    CompleteMultipartUploadResponse (CompleteMultipartUploadResponse'),+    newCompleteMultipartUploadResponse,++    -- ** CopyObject+    CopyObject (CopyObject'),+    newCopyObject,+    CopyObjectResponse (CopyObjectResponse'),+    newCopyObjectResponse,++    -- ** CreateBucket+    CreateBucket (CreateBucket'),+    newCreateBucket,+    CreateBucketResponse (CreateBucketResponse'),+    newCreateBucketResponse,++    -- ** CreateMultipartUpload+    CreateMultipartUpload (CreateMultipartUpload'),+    newCreateMultipartUpload,+    CreateMultipartUploadResponse (CreateMultipartUploadResponse'),+    newCreateMultipartUploadResponse,++    -- ** DeleteBucket+    DeleteBucket (DeleteBucket'),+    newDeleteBucket,+    DeleteBucketResponse (DeleteBucketResponse'),+    newDeleteBucketResponse,++    -- ** DeleteBucketAnalyticsConfiguration+    DeleteBucketAnalyticsConfiguration (DeleteBucketAnalyticsConfiguration'),+    newDeleteBucketAnalyticsConfiguration,+    DeleteBucketAnalyticsConfigurationResponse (DeleteBucketAnalyticsConfigurationResponse'),+    newDeleteBucketAnalyticsConfigurationResponse,++    -- ** DeleteBucketCors+    DeleteBucketCors (DeleteBucketCors'),+    newDeleteBucketCors,+    DeleteBucketCorsResponse (DeleteBucketCorsResponse'),+    newDeleteBucketCorsResponse,++    -- ** DeleteBucketEncryption+    DeleteBucketEncryption (DeleteBucketEncryption'),+    newDeleteBucketEncryption,+    DeleteBucketEncryptionResponse (DeleteBucketEncryptionResponse'),+    newDeleteBucketEncryptionResponse,++    -- ** DeleteBucketIntelligentTieringConfiguration+    DeleteBucketIntelligentTieringConfiguration (DeleteBucketIntelligentTieringConfiguration'),+    newDeleteBucketIntelligentTieringConfiguration,+    DeleteBucketIntelligentTieringConfigurationResponse (DeleteBucketIntelligentTieringConfigurationResponse'),+    newDeleteBucketIntelligentTieringConfigurationResponse,++    -- ** DeleteBucketInventoryConfiguration+    DeleteBucketInventoryConfiguration (DeleteBucketInventoryConfiguration'),+    newDeleteBucketInventoryConfiguration,+    DeleteBucketInventoryConfigurationResponse (DeleteBucketInventoryConfigurationResponse'),+    newDeleteBucketInventoryConfigurationResponse,++    -- ** DeleteBucketLifecycle+    DeleteBucketLifecycle (DeleteBucketLifecycle'),+    newDeleteBucketLifecycle,+    DeleteBucketLifecycleResponse (DeleteBucketLifecycleResponse'),+    newDeleteBucketLifecycleResponse,++    -- ** DeleteBucketMetricsConfiguration+    DeleteBucketMetricsConfiguration (DeleteBucketMetricsConfiguration'),+    newDeleteBucketMetricsConfiguration,+    DeleteBucketMetricsConfigurationResponse (DeleteBucketMetricsConfigurationResponse'),+    newDeleteBucketMetricsConfigurationResponse,++    -- ** DeleteBucketOwnershipControls+    DeleteBucketOwnershipControls (DeleteBucketOwnershipControls'),+    newDeleteBucketOwnershipControls,+    DeleteBucketOwnershipControlsResponse (DeleteBucketOwnershipControlsResponse'),+    newDeleteBucketOwnershipControlsResponse,++    -- ** DeleteBucketPolicy+    DeleteBucketPolicy (DeleteBucketPolicy'),+    newDeleteBucketPolicy,+    DeleteBucketPolicyResponse (DeleteBucketPolicyResponse'),+    newDeleteBucketPolicyResponse,++    -- ** DeleteBucketReplication+    DeleteBucketReplication (DeleteBucketReplication'),+    newDeleteBucketReplication,+    DeleteBucketReplicationResponse (DeleteBucketReplicationResponse'),+    newDeleteBucketReplicationResponse,++    -- ** DeleteBucketTagging+    DeleteBucketTagging (DeleteBucketTagging'),+    newDeleteBucketTagging,+    DeleteBucketTaggingResponse (DeleteBucketTaggingResponse'),+    newDeleteBucketTaggingResponse,++    -- ** DeleteBucketWebsite+    DeleteBucketWebsite (DeleteBucketWebsite'),+    newDeleteBucketWebsite,+    DeleteBucketWebsiteResponse (DeleteBucketWebsiteResponse'),+    newDeleteBucketWebsiteResponse,++    -- ** DeleteObject+    DeleteObject (DeleteObject'),+    newDeleteObject,+    DeleteObjectResponse (DeleteObjectResponse'),+    newDeleteObjectResponse,++    -- ** DeleteObjectTagging+    DeleteObjectTagging (DeleteObjectTagging'),+    newDeleteObjectTagging,+    DeleteObjectTaggingResponse (DeleteObjectTaggingResponse'),+    newDeleteObjectTaggingResponse,++    -- ** DeleteObjects+    DeleteObjects (DeleteObjects'),+    newDeleteObjects,+    DeleteObjectsResponse (DeleteObjectsResponse'),+    newDeleteObjectsResponse,++    -- ** DeletePublicAccessBlock+    DeletePublicAccessBlock (DeletePublicAccessBlock'),+    newDeletePublicAccessBlock,+    DeletePublicAccessBlockResponse (DeletePublicAccessBlockResponse'),+    newDeletePublicAccessBlockResponse,++    -- ** GetBucketAccelerateConfiguration+    GetBucketAccelerateConfiguration (GetBucketAccelerateConfiguration'),+    newGetBucketAccelerateConfiguration,+    GetBucketAccelerateConfigurationResponse (GetBucketAccelerateConfigurationResponse'),+    newGetBucketAccelerateConfigurationResponse,++    -- ** GetBucketAcl+    GetBucketAcl (GetBucketAcl'),+    newGetBucketAcl,+    GetBucketAclResponse (GetBucketAclResponse'),+    newGetBucketAclResponse,++    -- ** GetBucketAnalyticsConfiguration+    GetBucketAnalyticsConfiguration (GetBucketAnalyticsConfiguration'),+    newGetBucketAnalyticsConfiguration,+    GetBucketAnalyticsConfigurationResponse (GetBucketAnalyticsConfigurationResponse'),+    newGetBucketAnalyticsConfigurationResponse,++    -- ** GetBucketCors+    GetBucketCors (GetBucketCors'),+    newGetBucketCors,+    GetBucketCorsResponse (GetBucketCorsResponse'),+    newGetBucketCorsResponse,++    -- ** GetBucketEncryption+    GetBucketEncryption (GetBucketEncryption'),+    newGetBucketEncryption,+    GetBucketEncryptionResponse (GetBucketEncryptionResponse'),+    newGetBucketEncryptionResponse,++    -- ** GetBucketIntelligentTieringConfiguration+    GetBucketIntelligentTieringConfiguration (GetBucketIntelligentTieringConfiguration'),+    newGetBucketIntelligentTieringConfiguration,+    GetBucketIntelligentTieringConfigurationResponse (GetBucketIntelligentTieringConfigurationResponse'),+    newGetBucketIntelligentTieringConfigurationResponse,++    -- ** GetBucketInventoryConfiguration+    GetBucketInventoryConfiguration (GetBucketInventoryConfiguration'),+    newGetBucketInventoryConfiguration,+    GetBucketInventoryConfigurationResponse (GetBucketInventoryConfigurationResponse'),+    newGetBucketInventoryConfigurationResponse,++    -- ** GetBucketLifecycleConfiguration+    GetBucketLifecycleConfiguration (GetBucketLifecycleConfiguration'),+    newGetBucketLifecycleConfiguration,+    GetBucketLifecycleConfigurationResponse (GetBucketLifecycleConfigurationResponse'),+    newGetBucketLifecycleConfigurationResponse,++    -- ** GetBucketLocation+    GetBucketLocation (GetBucketLocation'),+    newGetBucketLocation,+    GetBucketLocationResponse (GetBucketLocationResponse'),+    newGetBucketLocationResponse,++    -- ** GetBucketLogging+    GetBucketLogging (GetBucketLogging'),+    newGetBucketLogging,+    GetBucketLoggingResponse (GetBucketLoggingResponse'),+    newGetBucketLoggingResponse,++    -- ** GetBucketMetricsConfiguration+    GetBucketMetricsConfiguration (GetBucketMetricsConfiguration'),+    newGetBucketMetricsConfiguration,+    GetBucketMetricsConfigurationResponse (GetBucketMetricsConfigurationResponse'),+    newGetBucketMetricsConfigurationResponse,++    -- ** GetBucketNotificationConfiguration+    GetBucketNotificationConfiguration (GetBucketNotificationConfiguration'),+    newGetBucketNotificationConfiguration,+    NotificationConfiguration (NotificationConfiguration'),+    newNotificationConfiguration,++    -- ** GetBucketOwnershipControls+    GetBucketOwnershipControls (GetBucketOwnershipControls'),+    newGetBucketOwnershipControls,+    GetBucketOwnershipControlsResponse (GetBucketOwnershipControlsResponse'),+    newGetBucketOwnershipControlsResponse,++    -- ** GetBucketPolicy+    GetBucketPolicy (GetBucketPolicy'),+    newGetBucketPolicy,+    GetBucketPolicyResponse (GetBucketPolicyResponse'),+    newGetBucketPolicyResponse,++    -- ** GetBucketPolicyStatus+    GetBucketPolicyStatus (GetBucketPolicyStatus'),+    newGetBucketPolicyStatus,+    GetBucketPolicyStatusResponse (GetBucketPolicyStatusResponse'),+    newGetBucketPolicyStatusResponse,++    -- ** GetBucketReplication+    GetBucketReplication (GetBucketReplication'),+    newGetBucketReplication,+    GetBucketReplicationResponse (GetBucketReplicationResponse'),+    newGetBucketReplicationResponse,++    -- ** GetBucketRequestPayment+    GetBucketRequestPayment (GetBucketRequestPayment'),+    newGetBucketRequestPayment,+    GetBucketRequestPaymentResponse (GetBucketRequestPaymentResponse'),+    newGetBucketRequestPaymentResponse,++    -- ** GetBucketTagging+    GetBucketTagging (GetBucketTagging'),+    newGetBucketTagging,+    GetBucketTaggingResponse (GetBucketTaggingResponse'),+    newGetBucketTaggingResponse,++    -- ** GetBucketVersioning+    GetBucketVersioning (GetBucketVersioning'),+    newGetBucketVersioning,+    GetBucketVersioningResponse (GetBucketVersioningResponse'),+    newGetBucketVersioningResponse,++    -- ** GetBucketWebsite+    GetBucketWebsite (GetBucketWebsite'),+    newGetBucketWebsite,+    GetBucketWebsiteResponse (GetBucketWebsiteResponse'),+    newGetBucketWebsiteResponse,++    -- ** GetObject+    GetObject (GetObject'),+    newGetObject,+    GetObjectResponse (GetObjectResponse'),+    newGetObjectResponse,++    -- ** GetObjectAcl+    GetObjectAcl (GetObjectAcl'),+    newGetObjectAcl,+    GetObjectAclResponse (GetObjectAclResponse'),+    newGetObjectAclResponse,++    -- ** GetObjectAttributes+    GetObjectAttributes (GetObjectAttributes'),+    newGetObjectAttributes,+    GetObjectAttributesResponse (GetObjectAttributesResponse'),+    newGetObjectAttributesResponse,++    -- ** GetObjectLegalHold+    GetObjectLegalHold (GetObjectLegalHold'),+    newGetObjectLegalHold,+    GetObjectLegalHoldResponse (GetObjectLegalHoldResponse'),+    newGetObjectLegalHoldResponse,++    -- ** GetObjectLockConfiguration+    GetObjectLockConfiguration (GetObjectLockConfiguration'),+    newGetObjectLockConfiguration,+    GetObjectLockConfigurationResponse (GetObjectLockConfigurationResponse'),+    newGetObjectLockConfigurationResponse,++    -- ** GetObjectRetention+    GetObjectRetention (GetObjectRetention'),+    newGetObjectRetention,+    GetObjectRetentionResponse (GetObjectRetentionResponse'),+    newGetObjectRetentionResponse,++    -- ** GetObjectTagging+    GetObjectTagging (GetObjectTagging'),+    newGetObjectTagging,+    GetObjectTaggingResponse (GetObjectTaggingResponse'),+    newGetObjectTaggingResponse,++    -- ** GetObjectTorrent+    GetObjectTorrent (GetObjectTorrent'),+    newGetObjectTorrent,+    GetObjectTorrentResponse (GetObjectTorrentResponse'),+    newGetObjectTorrentResponse,++    -- ** GetPublicAccessBlock+    GetPublicAccessBlock (GetPublicAccessBlock'),+    newGetPublicAccessBlock,+    GetPublicAccessBlockResponse (GetPublicAccessBlockResponse'),+    newGetPublicAccessBlockResponse,++    -- ** HeadBucket+    HeadBucket (HeadBucket'),+    newHeadBucket,+    HeadBucketResponse (HeadBucketResponse'),+    newHeadBucketResponse,++    -- ** HeadObject+    HeadObject (HeadObject'),+    newHeadObject,+    HeadObjectResponse (HeadObjectResponse'),+    newHeadObjectResponse,++    -- ** ListBucketAnalyticsConfigurations+    ListBucketAnalyticsConfigurations (ListBucketAnalyticsConfigurations'),+    newListBucketAnalyticsConfigurations,+    ListBucketAnalyticsConfigurationsResponse (ListBucketAnalyticsConfigurationsResponse'),+    newListBucketAnalyticsConfigurationsResponse,++    -- ** ListBucketIntelligentTieringConfigurations+    ListBucketIntelligentTieringConfigurations (ListBucketIntelligentTieringConfigurations'),+    newListBucketIntelligentTieringConfigurations,+    ListBucketIntelligentTieringConfigurationsResponse (ListBucketIntelligentTieringConfigurationsResponse'),+    newListBucketIntelligentTieringConfigurationsResponse,++    -- ** ListBucketInventoryConfigurations+    ListBucketInventoryConfigurations (ListBucketInventoryConfigurations'),+    newListBucketInventoryConfigurations,+    ListBucketInventoryConfigurationsResponse (ListBucketInventoryConfigurationsResponse'),+    newListBucketInventoryConfigurationsResponse,++    -- ** ListBucketMetricsConfigurations+    ListBucketMetricsConfigurations (ListBucketMetricsConfigurations'),+    newListBucketMetricsConfigurations,+    ListBucketMetricsConfigurationsResponse (ListBucketMetricsConfigurationsResponse'),+    newListBucketMetricsConfigurationsResponse,++    -- ** ListBuckets+    ListBuckets (ListBuckets'),+    newListBuckets,+    ListBucketsResponse (ListBucketsResponse'),+    newListBucketsResponse,++    -- ** ListMultipartUploads (Paginated)+    ListMultipartUploads (ListMultipartUploads'),+    newListMultipartUploads,+    ListMultipartUploadsResponse (ListMultipartUploadsResponse'),+    newListMultipartUploadsResponse,++    -- ** ListObjectVersions (Paginated)+    ListObjectVersions (ListObjectVersions'),+    newListObjectVersions,+    ListObjectVersionsResponse (ListObjectVersionsResponse'),+    newListObjectVersionsResponse,++    -- ** ListObjects (Paginated)+    ListObjects (ListObjects'),+    newListObjects,+    ListObjectsResponse (ListObjectsResponse'),+    newListObjectsResponse,++    -- ** ListObjectsV2 (Paginated)+    ListObjectsV2 (ListObjectsV2'),+    newListObjectsV2,+    ListObjectsV2Response (ListObjectsV2Response'),+    newListObjectsV2Response,++    -- ** ListParts (Paginated)+    ListParts (ListParts'),+    newListParts,+    ListPartsResponse (ListPartsResponse'),+    newListPartsResponse,++    -- ** PutBucketAccelerateConfiguration+    PutBucketAccelerateConfiguration (PutBucketAccelerateConfiguration'),+    newPutBucketAccelerateConfiguration,+    PutBucketAccelerateConfigurationResponse (PutBucketAccelerateConfigurationResponse'),+    newPutBucketAccelerateConfigurationResponse,++    -- ** PutBucketAcl+    PutBucketAcl (PutBucketAcl'),+    newPutBucketAcl,+    PutBucketAclResponse (PutBucketAclResponse'),+    newPutBucketAclResponse,++    -- ** PutBucketAnalyticsConfiguration+    PutBucketAnalyticsConfiguration (PutBucketAnalyticsConfiguration'),+    newPutBucketAnalyticsConfiguration,+    PutBucketAnalyticsConfigurationResponse (PutBucketAnalyticsConfigurationResponse'),+    newPutBucketAnalyticsConfigurationResponse,++    -- ** PutBucketCors+    PutBucketCors (PutBucketCors'),+    newPutBucketCors,+    PutBucketCorsResponse (PutBucketCorsResponse'),+    newPutBucketCorsResponse,++    -- ** PutBucketEncryption+    PutBucketEncryption (PutBucketEncryption'),+    newPutBucketEncryption,+    PutBucketEncryptionResponse (PutBucketEncryptionResponse'),+    newPutBucketEncryptionResponse,++    -- ** PutBucketIntelligentTieringConfiguration+    PutBucketIntelligentTieringConfiguration (PutBucketIntelligentTieringConfiguration'),+    newPutBucketIntelligentTieringConfiguration,+    PutBucketIntelligentTieringConfigurationResponse (PutBucketIntelligentTieringConfigurationResponse'),+    newPutBucketIntelligentTieringConfigurationResponse,++    -- ** PutBucketInventoryConfiguration+    PutBucketInventoryConfiguration (PutBucketInventoryConfiguration'),+    newPutBucketInventoryConfiguration,+    PutBucketInventoryConfigurationResponse (PutBucketInventoryConfigurationResponse'),+    newPutBucketInventoryConfigurationResponse,++    -- ** PutBucketLifecycleConfiguration+    PutBucketLifecycleConfiguration (PutBucketLifecycleConfiguration'),+    newPutBucketLifecycleConfiguration,+    PutBucketLifecycleConfigurationResponse (PutBucketLifecycleConfigurationResponse'),+    newPutBucketLifecycleConfigurationResponse,++    -- ** PutBucketLogging+    PutBucketLogging (PutBucketLogging'),+    newPutBucketLogging,+    PutBucketLoggingResponse (PutBucketLoggingResponse'),+    newPutBucketLoggingResponse,++    -- ** PutBucketMetricsConfiguration+    PutBucketMetricsConfiguration (PutBucketMetricsConfiguration'),+    newPutBucketMetricsConfiguration,+    PutBucketMetricsConfigurationResponse (PutBucketMetricsConfigurationResponse'),+    newPutBucketMetricsConfigurationResponse,++    -- ** PutBucketNotificationConfiguration+    PutBucketNotificationConfiguration (PutBucketNotificationConfiguration'),+    newPutBucketNotificationConfiguration,+    PutBucketNotificationConfigurationResponse (PutBucketNotificationConfigurationResponse'),+    newPutBucketNotificationConfigurationResponse,++    -- ** PutBucketOwnershipControls+    PutBucketOwnershipControls (PutBucketOwnershipControls'),+    newPutBucketOwnershipControls,+    PutBucketOwnershipControlsResponse (PutBucketOwnershipControlsResponse'),+    newPutBucketOwnershipControlsResponse,++    -- ** PutBucketPolicy+    PutBucketPolicy (PutBucketPolicy'),+    newPutBucketPolicy,+    PutBucketPolicyResponse (PutBucketPolicyResponse'),+    newPutBucketPolicyResponse,++    -- ** PutBucketReplication+    PutBucketReplication (PutBucketReplication'),+    newPutBucketReplication,+    PutBucketReplicationResponse (PutBucketReplicationResponse'),+    newPutBucketReplicationResponse,++    -- ** PutBucketRequestPayment+    PutBucketRequestPayment (PutBucketRequestPayment'),+    newPutBucketRequestPayment,+    PutBucketRequestPaymentResponse (PutBucketRequestPaymentResponse'),+    newPutBucketRequestPaymentResponse,++    -- ** PutBucketTagging+    PutBucketTagging (PutBucketTagging'),+    newPutBucketTagging,+    PutBucketTaggingResponse (PutBucketTaggingResponse'),+    newPutBucketTaggingResponse,++    -- ** PutBucketVersioning+    PutBucketVersioning (PutBucketVersioning'),+    newPutBucketVersioning,+    PutBucketVersioningResponse (PutBucketVersioningResponse'),+    newPutBucketVersioningResponse,++    -- ** PutBucketWebsite+    PutBucketWebsite (PutBucketWebsite'),+    newPutBucketWebsite,+    PutBucketWebsiteResponse (PutBucketWebsiteResponse'),+    newPutBucketWebsiteResponse,++    -- ** PutObject+    PutObject (PutObject'),+    newPutObject,+    PutObjectResponse (PutObjectResponse'),+    newPutObjectResponse,++    -- ** PutObjectAcl+    PutObjectAcl (PutObjectAcl'),+    newPutObjectAcl,+    PutObjectAclResponse (PutObjectAclResponse'),+    newPutObjectAclResponse,++    -- ** PutObjectLegalHold+    PutObjectLegalHold (PutObjectLegalHold'),+    newPutObjectLegalHold,+    PutObjectLegalHoldResponse (PutObjectLegalHoldResponse'),+    newPutObjectLegalHoldResponse,++    -- ** PutObjectLockConfiguration+    PutObjectLockConfiguration (PutObjectLockConfiguration'),+    newPutObjectLockConfiguration,+    PutObjectLockConfigurationResponse (PutObjectLockConfigurationResponse'),+    newPutObjectLockConfigurationResponse,++    -- ** PutObjectRetention+    PutObjectRetention (PutObjectRetention'),+    newPutObjectRetention,+    PutObjectRetentionResponse (PutObjectRetentionResponse'),+    newPutObjectRetentionResponse,++    -- ** PutObjectTagging+    PutObjectTagging (PutObjectTagging'),+    newPutObjectTagging,+    PutObjectTaggingResponse (PutObjectTaggingResponse'),+    newPutObjectTaggingResponse,++    -- ** PutPublicAccessBlock+    PutPublicAccessBlock (PutPublicAccessBlock'),+    newPutPublicAccessBlock,+    PutPublicAccessBlockResponse (PutPublicAccessBlockResponse'),+    newPutPublicAccessBlockResponse,++    -- ** RestoreObject+    RestoreObject (RestoreObject'),+    newRestoreObject,+    RestoreObjectResponse (RestoreObjectResponse'),+    newRestoreObjectResponse,++    -- ** SelectObjectContent+    SelectObjectContent (SelectObjectContent'),+    newSelectObjectContent,+    SelectObjectContentResponse (SelectObjectContentResponse'),+    newSelectObjectContentResponse,++    -- ** UploadPart+    UploadPart (UploadPart'),+    newUploadPart,+    UploadPartResponse (UploadPartResponse'),+    newUploadPartResponse,++    -- ** UploadPartCopy+    UploadPartCopy (UploadPartCopy'),+    newUploadPartCopy,+    UploadPartCopyResponse (UploadPartCopyResponse'),+    newUploadPartCopyResponse,++    -- ** WriteGetObjectResponse+    WriteGetObjectResponse (WriteGetObjectResponse'),+    newWriteGetObjectResponse,+    WriteGetObjectResponseResponse (WriteGetObjectResponseResponse'),+    newWriteGetObjectResponseResponse,++    -- * Types++    -- ** Common+    module Amazonka.S3.Internal,++    -- ** AnalyticsS3ExportFileFormat+    AnalyticsS3ExportFileFormat (..),++    -- ** ArchiveStatus+    ArchiveStatus (..),++    -- ** BucketAccelerateStatus+    BucketAccelerateStatus (..),++    -- ** BucketCannedACL+    BucketCannedACL (..),++    -- ** BucketLogsPermission+    BucketLogsPermission (..),++    -- ** BucketVersioningStatus+    BucketVersioningStatus (..),++    -- ** ChecksumAlgorithm+    ChecksumAlgorithm (..),++    -- ** ChecksumMode+    ChecksumMode (..),++    -- ** CompressionType+    CompressionType (..),++    -- ** DeleteMarkerReplicationStatus+    DeleteMarkerReplicationStatus (..),++    -- ** EncodingType+    EncodingType (..),++    -- ** Event+    Event (..),++    -- ** ExistingObjectReplicationStatus+    ExistingObjectReplicationStatus (..),++    -- ** ExpirationStatus+    ExpirationStatus (..),++    -- ** ExpressionType+    ExpressionType (..),++    -- ** FileHeaderInfo+    FileHeaderInfo (..),++    -- ** FilterRuleName+    FilterRuleName (..),++    -- ** IntelligentTieringAccessTier+    IntelligentTieringAccessTier (..),++    -- ** IntelligentTieringStatus+    IntelligentTieringStatus (..),++    -- ** InventoryFormat+    InventoryFormat (..),++    -- ** InventoryFrequency+    InventoryFrequency (..),++    -- ** InventoryIncludedObjectVersions+    InventoryIncludedObjectVersions (..),++    -- ** InventoryOptionalField+    InventoryOptionalField (..),++    -- ** JSONType+    JSONType (..),++    -- ** MFADelete+    MFADelete (..),++    -- ** MFADeleteStatus+    MFADeleteStatus (..),++    -- ** MetadataDirective+    MetadataDirective (..),++    -- ** MetricsStatus+    MetricsStatus (..),++    -- ** ObjectAttributes+    ObjectAttributes (..),++    -- ** ObjectCannedACL+    ObjectCannedACL (..),++    -- ** ObjectLockEnabled+    ObjectLockEnabled (..),++    -- ** ObjectLockLegalHoldStatus+    ObjectLockLegalHoldStatus (..),++    -- ** ObjectLockMode+    ObjectLockMode (..),++    -- ** ObjectLockRetentionMode+    ObjectLockRetentionMode (..),++    -- ** ObjectOwnership+    ObjectOwnership (..),++    -- ** ObjectStorageClass+    ObjectStorageClass (..),++    -- ** ObjectVersionStorageClass+    ObjectVersionStorageClass (..),++    -- ** OwnerOverride+    OwnerOverride (..),++    -- ** Payer+    Payer (..),++    -- ** Permission+    Permission (..),++    -- ** Protocol+    Protocol (..),++    -- ** QuoteFields+    QuoteFields (..),++    -- ** ReplicaModificationsStatus+    ReplicaModificationsStatus (..),++    -- ** ReplicationRuleStatus+    ReplicationRuleStatus (..),++    -- ** ReplicationStatus+    ReplicationStatus (..),++    -- ** ReplicationTimeStatus+    ReplicationTimeStatus (..),++    -- ** RequestCharged+    RequestCharged (..),++    -- ** RequestPayer+    RequestPayer (..),++    -- ** RestoreRequestType+    RestoreRequestType (..),++    -- ** ServerSideEncryption+    ServerSideEncryption (..),++    -- ** SseKmsEncryptedObjectsStatus+    SseKmsEncryptedObjectsStatus (..),++    -- ** StorageClass+    StorageClass (..),++    -- ** StorageClassAnalysisSchemaVersion+    StorageClassAnalysisSchemaVersion (..),++    -- ** TaggingDirective+    TaggingDirective (..),++    -- ** Tier+    Tier (..),++    -- ** TransitionStorageClass+    TransitionStorageClass (..),++    -- ** Type+    Type (..),++    -- ** AbortIncompleteMultipartUpload+    AbortIncompleteMultipartUpload (AbortIncompleteMultipartUpload'),+    newAbortIncompleteMultipartUpload,++    -- ** AccelerateConfiguration+    AccelerateConfiguration (AccelerateConfiguration'),+    newAccelerateConfiguration,++    -- ** AccessControlPolicy+    AccessControlPolicy (AccessControlPolicy'),+    newAccessControlPolicy,++    -- ** AccessControlTranslation+    AccessControlTranslation (AccessControlTranslation'),+    newAccessControlTranslation,++    -- ** AnalyticsAndOperator+    AnalyticsAndOperator (AnalyticsAndOperator'),+    newAnalyticsAndOperator,++    -- ** AnalyticsConfiguration+    AnalyticsConfiguration (AnalyticsConfiguration'),+    newAnalyticsConfiguration,++    -- ** AnalyticsExportDestination+    AnalyticsExportDestination (AnalyticsExportDestination'),+    newAnalyticsExportDestination,++    -- ** AnalyticsFilter+    AnalyticsFilter (AnalyticsFilter'),+    newAnalyticsFilter,++    -- ** AnalyticsS3BucketDestination+    AnalyticsS3BucketDestination (AnalyticsS3BucketDestination'),+    newAnalyticsS3BucketDestination,++    -- ** Bucket+    Bucket (Bucket'),+    newBucket,++    -- ** BucketLifecycleConfiguration+    BucketLifecycleConfiguration (BucketLifecycleConfiguration'),+    newBucketLifecycleConfiguration,++    -- ** BucketLoggingStatus+    BucketLoggingStatus (BucketLoggingStatus'),+    newBucketLoggingStatus,++    -- ** CORSConfiguration+    CORSConfiguration (CORSConfiguration'),+    newCORSConfiguration,++    -- ** CORSRule+    CORSRule (CORSRule'),+    newCORSRule,++    -- ** CSVInput+    CSVInput (CSVInput'),+    newCSVInput,++    -- ** CSVOutput+    CSVOutput (CSVOutput'),+    newCSVOutput,++    -- ** Checksum+    Checksum (Checksum'),+    newChecksum,++    -- ** CommonPrefix+    CommonPrefix (CommonPrefix'),+    newCommonPrefix,++    -- ** CompletedMultipartUpload+    CompletedMultipartUpload (CompletedMultipartUpload'),+    newCompletedMultipartUpload,++    -- ** CompletedPart+    CompletedPart (CompletedPart'),+    newCompletedPart,++    -- ** Condition+    Condition (Condition'),+    newCondition,++    -- ** ContinuationEvent+    ContinuationEvent (ContinuationEvent'),+    newContinuationEvent,++    -- ** CopyObjectResult+    CopyObjectResult (CopyObjectResult'),+    newCopyObjectResult,++    -- ** CopyPartResult+    CopyPartResult (CopyPartResult'),+    newCopyPartResult,++    -- ** CreateBucketConfiguration+    CreateBucketConfiguration (CreateBucketConfiguration'),+    newCreateBucketConfiguration,++    -- ** DefaultRetention+    DefaultRetention (DefaultRetention'),+    newDefaultRetention,++    -- ** Delete+    Delete (Delete'),+    newDelete,++    -- ** DeleteMarkerEntry+    DeleteMarkerEntry (DeleteMarkerEntry'),+    newDeleteMarkerEntry,++    -- ** DeleteMarkerReplication+    DeleteMarkerReplication (DeleteMarkerReplication'),+    newDeleteMarkerReplication,++    -- ** DeletedObject+    DeletedObject (DeletedObject'),+    newDeletedObject,++    -- ** Destination+    Destination (Destination'),+    newDestination,++    -- ** Encryption+    Encryption (Encryption'),+    newEncryption,++    -- ** EncryptionConfiguration+    EncryptionConfiguration (EncryptionConfiguration'),+    newEncryptionConfiguration,++    -- ** EndEvent+    EndEvent (EndEvent'),+    newEndEvent,++    -- ** ErrorDocument+    ErrorDocument (ErrorDocument'),+    newErrorDocument,++    -- ** EventBridgeConfiguration+    EventBridgeConfiguration (EventBridgeConfiguration'),+    newEventBridgeConfiguration,++    -- ** ExistingObjectReplication+    ExistingObjectReplication (ExistingObjectReplication'),+    newExistingObjectReplication,++    -- ** FilterRule+    FilterRule (FilterRule'),+    newFilterRule,++    -- ** GetObjectAttributesParts+    GetObjectAttributesParts (GetObjectAttributesParts'),+    newGetObjectAttributesParts,++    -- ** GlacierJobParameters+    GlacierJobParameters (GlacierJobParameters'),+    newGlacierJobParameters,++    -- ** Grant+    Grant (Grant'),+    newGrant,++    -- ** Grantee+    Grantee (Grantee'),+    newGrantee,++    -- ** IndexDocument+    IndexDocument (IndexDocument'),+    newIndexDocument,++    -- ** Initiator+    Initiator (Initiator'),+    newInitiator,++    -- ** InputSerialization+    InputSerialization (InputSerialization'),+    newInputSerialization,++    -- ** IntelligentTieringAndOperator+    IntelligentTieringAndOperator (IntelligentTieringAndOperator'),+    newIntelligentTieringAndOperator,++    -- ** IntelligentTieringConfiguration+    IntelligentTieringConfiguration (IntelligentTieringConfiguration'),+    newIntelligentTieringConfiguration,++    -- ** IntelligentTieringFilter+    IntelligentTieringFilter (IntelligentTieringFilter'),+    newIntelligentTieringFilter,++    -- ** InventoryConfiguration+    InventoryConfiguration (InventoryConfiguration'),+    newInventoryConfiguration,++    -- ** InventoryDestination+    InventoryDestination (InventoryDestination'),+    newInventoryDestination,++    -- ** InventoryEncryption+    InventoryEncryption (InventoryEncryption'),+    newInventoryEncryption,++    -- ** InventoryFilter+    InventoryFilter (InventoryFilter'),+    newInventoryFilter,++    -- ** InventoryS3BucketDestination+    InventoryS3BucketDestination (InventoryS3BucketDestination'),+    newInventoryS3BucketDestination,++    -- ** InventorySchedule+    InventorySchedule (InventorySchedule'),+    newInventorySchedule,++    -- ** JSONInput+    JSONInput (JSONInput'),+    newJSONInput,++    -- ** JSONOutput+    JSONOutput (JSONOutput'),+    newJSONOutput,++    -- ** LambdaFunctionConfiguration+    LambdaFunctionConfiguration (LambdaFunctionConfiguration'),+    newLambdaFunctionConfiguration,++    -- ** LifecycleExpiration+    LifecycleExpiration (LifecycleExpiration'),+    newLifecycleExpiration,++    -- ** LifecycleRule+    LifecycleRule (LifecycleRule'),+    newLifecycleRule,++    -- ** LifecycleRuleAndOperator+    LifecycleRuleAndOperator (LifecycleRuleAndOperator'),+    newLifecycleRuleAndOperator,++    -- ** LifecycleRuleFilter+    LifecycleRuleFilter (LifecycleRuleFilter'),+    newLifecycleRuleFilter,++    -- ** LoggingEnabled+    LoggingEnabled (LoggingEnabled'),+    newLoggingEnabled,++    -- ** MetadataEntry+    MetadataEntry (MetadataEntry'),+    newMetadataEntry,++    -- ** Metrics+    Metrics (Metrics'),+    newMetrics,++    -- ** MetricsAndOperator+    MetricsAndOperator (MetricsAndOperator'),+    newMetricsAndOperator,++    -- ** MetricsConfiguration+    MetricsConfiguration (MetricsConfiguration'),+    newMetricsConfiguration,++    -- ** MetricsFilter+    MetricsFilter (MetricsFilter'),+    newMetricsFilter,++    -- ** MultipartUpload+    MultipartUpload (MultipartUpload'),+    newMultipartUpload,++    -- ** NoncurrentVersionExpiration+    NoncurrentVersionExpiration (NoncurrentVersionExpiration'),+    newNoncurrentVersionExpiration,++    -- ** NoncurrentVersionTransition+    NoncurrentVersionTransition (NoncurrentVersionTransition'),+    newNoncurrentVersionTransition,++    -- ** NotificationConfiguration+    NotificationConfiguration (NotificationConfiguration'),+    newNotificationConfiguration,++    -- ** NotificationConfigurationFilter+    NotificationConfigurationFilter (NotificationConfigurationFilter'),+    newNotificationConfigurationFilter,++    -- ** Object+    Object (Object'),+    newObject,++    -- ** ObjectIdentifier+    ObjectIdentifier (ObjectIdentifier'),+    newObjectIdentifier,++    -- ** ObjectLockConfiguration+    ObjectLockConfiguration (ObjectLockConfiguration'),+    newObjectLockConfiguration,++    -- ** ObjectLockLegalHold+    ObjectLockLegalHold (ObjectLockLegalHold'),+    newObjectLockLegalHold,++    -- ** ObjectLockRetention+    ObjectLockRetention (ObjectLockRetention'),+    newObjectLockRetention,++    -- ** ObjectLockRule+    ObjectLockRule (ObjectLockRule'),+    newObjectLockRule,++    -- ** ObjectPart+    ObjectPart (ObjectPart'),+    newObjectPart,++    -- ** ObjectVersion+    ObjectVersion (ObjectVersion'),+    newObjectVersion,++    -- ** OutputLocation+    OutputLocation (OutputLocation'),+    newOutputLocation,++    -- ** OutputSerialization+    OutputSerialization (OutputSerialization'),+    newOutputSerialization,++    -- ** Owner+    Owner (Owner'),+    newOwner,++    -- ** OwnershipControls+    OwnershipControls (OwnershipControls'),+    newOwnershipControls,++    -- ** OwnershipControlsRule+    OwnershipControlsRule (OwnershipControlsRule'),+    newOwnershipControlsRule,++    -- ** ParquetInput+    ParquetInput (ParquetInput'),+    newParquetInput,++    -- ** Part+    Part (Part'),+    newPart,++    -- ** PolicyStatus+    PolicyStatus (PolicyStatus'),+    newPolicyStatus,++    -- ** Progress+    Progress (Progress'),+    newProgress,++    -- ** ProgressEvent+    ProgressEvent (ProgressEvent'),+    newProgressEvent,++    -- ** PublicAccessBlockConfiguration+    PublicAccessBlockConfiguration (PublicAccessBlockConfiguration'),+    newPublicAccessBlockConfiguration,++    -- ** QueueConfiguration+    QueueConfiguration (QueueConfiguration'),+    newQueueConfiguration,++    -- ** RecordsEvent+    RecordsEvent (RecordsEvent'),+    newRecordsEvent,++    -- ** Redirect+    Redirect (Redirect'),+    newRedirect,++    -- ** RedirectAllRequestsTo+    RedirectAllRequestsTo (RedirectAllRequestsTo'),+    newRedirectAllRequestsTo,++    -- ** ReplicaModifications+    ReplicaModifications (ReplicaModifications'),+    newReplicaModifications,++    -- ** ReplicationConfiguration+    ReplicationConfiguration (ReplicationConfiguration'),+    newReplicationConfiguration,++    -- ** ReplicationRule+    ReplicationRule (ReplicationRule'),+    newReplicationRule,++    -- ** ReplicationRuleAndOperator+    ReplicationRuleAndOperator (ReplicationRuleAndOperator'),+    newReplicationRuleAndOperator,++    -- ** ReplicationRuleFilter+    ReplicationRuleFilter (ReplicationRuleFilter'),+    newReplicationRuleFilter,++    -- ** ReplicationTime+    ReplicationTime (ReplicationTime'),+    newReplicationTime,++    -- ** ReplicationTimeValue+    ReplicationTimeValue (ReplicationTimeValue'),+    newReplicationTimeValue,++    -- ** RequestPaymentConfiguration+    RequestPaymentConfiguration (RequestPaymentConfiguration'),+    newRequestPaymentConfiguration,++    -- ** RequestProgress+    RequestProgress (RequestProgress'),+    newRequestProgress,++    -- ** RestoreRequest+    RestoreRequest (RestoreRequest'),+    newRestoreRequest,++    -- ** RoutingRule+    RoutingRule (RoutingRule'),+    newRoutingRule,++    -- ** S3KeyFilter+    S3KeyFilter (S3KeyFilter'),+    newS3KeyFilter,++    -- ** S3Location+    S3Location (S3Location'),+    newS3Location,++    -- ** S3ServiceError+    S3ServiceError (S3ServiceError'),+    newS3ServiceError,++    -- ** SSEKMS+    SSEKMS (SSEKMS'),+    newSSEKMS,++    -- ** SSES3+    SSES3 (SSES3'),+    newSSES3,++    -- ** ScanRange+    ScanRange (ScanRange'),+    newScanRange,++    -- ** SelectObjectContentEventStream+    SelectObjectContentEventStream (SelectObjectContentEventStream'),+    newSelectObjectContentEventStream,++    -- ** SelectParameters+    SelectParameters (SelectParameters'),+    newSelectParameters,++    -- ** ServerSideEncryptionByDefault+    ServerSideEncryptionByDefault (ServerSideEncryptionByDefault'),+    newServerSideEncryptionByDefault,++    -- ** ServerSideEncryptionConfiguration+    ServerSideEncryptionConfiguration (ServerSideEncryptionConfiguration'),+    newServerSideEncryptionConfiguration,++    -- ** ServerSideEncryptionRule+    ServerSideEncryptionRule (ServerSideEncryptionRule'),+    newServerSideEncryptionRule,++    -- ** SourceSelectionCriteria+    SourceSelectionCriteria (SourceSelectionCriteria'),+    newSourceSelectionCriteria,++    -- ** SseKmsEncryptedObjects+    SseKmsEncryptedObjects (SseKmsEncryptedObjects'),+    newSseKmsEncryptedObjects,++    -- ** Stats+    Stats (Stats'),+    newStats,++    -- ** StatsEvent+    StatsEvent (StatsEvent'),+    newStatsEvent,++    -- ** StorageClassAnalysis+    StorageClassAnalysis (StorageClassAnalysis'),+    newStorageClassAnalysis,++    -- ** StorageClassAnalysisDataExport+    StorageClassAnalysisDataExport (StorageClassAnalysisDataExport'),+    newStorageClassAnalysisDataExport,++    -- ** Tag+    Tag (Tag'),+    newTag,++    -- ** Tagging+    Tagging (Tagging'),+    newTagging,++    -- ** TargetGrant+    TargetGrant (TargetGrant'),+    newTargetGrant,++    -- ** Tiering+    Tiering (Tiering'),+    newTiering,++    -- ** TopicConfiguration+    TopicConfiguration (TopicConfiguration'),+    newTopicConfiguration,++    -- ** Transition+    Transition (Transition'),+    newTransition,++    -- ** VersioningConfiguration+    VersioningConfiguration (VersioningConfiguration'),+    newVersioningConfiguration,++    -- ** WebsiteConfiguration+    WebsiteConfiguration (WebsiteConfiguration'),+    newWebsiteConfiguration,+  )+where++import Amazonka.S3.AbortMultipartUpload+import Amazonka.S3.CompleteMultipartUpload+import Amazonka.S3.CopyObject+import Amazonka.S3.CreateBucket+import Amazonka.S3.CreateMultipartUpload+import Amazonka.S3.DeleteBucket+import Amazonka.S3.DeleteBucketAnalyticsConfiguration+import Amazonka.S3.DeleteBucketCors+import Amazonka.S3.DeleteBucketEncryption+import Amazonka.S3.DeleteBucketIntelligentTieringConfiguration+import Amazonka.S3.DeleteBucketInventoryConfiguration+import Amazonka.S3.DeleteBucketLifecycle+import Amazonka.S3.DeleteBucketMetricsConfiguration+import Amazonka.S3.DeleteBucketOwnershipControls+import Amazonka.S3.DeleteBucketPolicy+import Amazonka.S3.DeleteBucketReplication+import Amazonka.S3.DeleteBucketTagging+import Amazonka.S3.DeleteBucketWebsite+import Amazonka.S3.DeleteObject+import Amazonka.S3.DeleteObjectTagging+import Amazonka.S3.DeleteObjects+import Amazonka.S3.DeletePublicAccessBlock+import Amazonka.S3.GetBucketAccelerateConfiguration+import Amazonka.S3.GetBucketAcl+import Amazonka.S3.GetBucketAnalyticsConfiguration+import Amazonka.S3.GetBucketCors+import Amazonka.S3.GetBucketEncryption+import Amazonka.S3.GetBucketIntelligentTieringConfiguration+import Amazonka.S3.GetBucketInventoryConfiguration+import Amazonka.S3.GetBucketLifecycleConfiguration+import Amazonka.S3.GetBucketLocation+import Amazonka.S3.GetBucketLogging+import Amazonka.S3.GetBucketMetricsConfiguration+import Amazonka.S3.GetBucketNotificationConfiguration+import Amazonka.S3.GetBucketOwnershipControls+import Amazonka.S3.GetBucketPolicy+import Amazonka.S3.GetBucketPolicyStatus+import Amazonka.S3.GetBucketReplication+import Amazonka.S3.GetBucketRequestPayment+import Amazonka.S3.GetBucketTagging+import Amazonka.S3.GetBucketVersioning+import Amazonka.S3.GetBucketWebsite+import Amazonka.S3.GetObject+import Amazonka.S3.GetObjectAcl+import Amazonka.S3.GetObjectAttributes+import Amazonka.S3.GetObjectLegalHold+import Amazonka.S3.GetObjectLockConfiguration+import Amazonka.S3.GetObjectRetention+import Amazonka.S3.GetObjectTagging+import Amazonka.S3.GetObjectTorrent+import Amazonka.S3.GetPublicAccessBlock+import Amazonka.S3.HeadBucket+import Amazonka.S3.HeadObject+import Amazonka.S3.Internal+import Amazonka.S3.Lens+import Amazonka.S3.ListBucketAnalyticsConfigurations+import Amazonka.S3.ListBucketIntelligentTieringConfigurations+import Amazonka.S3.ListBucketInventoryConfigurations+import Amazonka.S3.ListBucketMetricsConfigurations+import Amazonka.S3.ListBuckets+import Amazonka.S3.ListMultipartUploads+import Amazonka.S3.ListObjectVersions+import Amazonka.S3.ListObjects+import Amazonka.S3.ListObjectsV2+import Amazonka.S3.ListParts+import Amazonka.S3.PutBucketAccelerateConfiguration+import Amazonka.S3.PutBucketAcl+import Amazonka.S3.PutBucketAnalyticsConfiguration+import Amazonka.S3.PutBucketCors+import Amazonka.S3.PutBucketEncryption+import Amazonka.S3.PutBucketIntelligentTieringConfiguration+import Amazonka.S3.PutBucketInventoryConfiguration+import Amazonka.S3.PutBucketLifecycleConfiguration+import Amazonka.S3.PutBucketLogging+import Amazonka.S3.PutBucketMetricsConfiguration+import Amazonka.S3.PutBucketNotificationConfiguration+import Amazonka.S3.PutBucketOwnershipControls+import Amazonka.S3.PutBucketPolicy+import Amazonka.S3.PutBucketReplication+import Amazonka.S3.PutBucketRequestPayment+import Amazonka.S3.PutBucketTagging+import Amazonka.S3.PutBucketVersioning+import Amazonka.S3.PutBucketWebsite+import Amazonka.S3.PutObject+import Amazonka.S3.PutObjectAcl+import Amazonka.S3.PutObjectLegalHold+import Amazonka.S3.PutObjectLockConfiguration+import Amazonka.S3.PutObjectRetention+import Amazonka.S3.PutObjectTagging+import Amazonka.S3.PutPublicAccessBlock+import Amazonka.S3.RestoreObject+import Amazonka.S3.SelectObjectContent+import Amazonka.S3.Types+import Amazonka.S3.UploadPart+import Amazonka.S3.UploadPartCopy+import Amazonka.S3.Waiters+import Amazonka.S3.WriteGetObjectResponse++-- $errors+-- Error matchers are designed for use with the functions provided by+-- <http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.+-- This allows catching (and rethrowing) service specific errors returned+-- by 'S3'.++-- $operations+-- Some AWS operations return results that are incomplete and require subsequent+-- requests in order to obtain the entire result set. The process of sending+-- subsequent requests to continue where a previous request left off is called+-- pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to+-- 1000 objects at a time, and you must send subsequent requests with the+-- appropriate Marker in order to retrieve the next page of results.+--+-- Operations that have an 'AWSPager' instance can transparently perform subsequent+-- requests, correctly setting Markers and other request facets to iterate through+-- the entire result set of a truncated API operation. Operations which support+-- this have an additional note in the documentation.+--+-- Many operations have the ability to filter results on the server side. See the+-- individual operation parameters for details.++-- $waiters+-- Waiters poll by repeatedly sending a request until some remote success condition+-- configured by the 'Wait' specification is fulfilled. The 'Wait' specification+-- determines how many attempts should be made, in addition to delay and retry strategies.
+ gen/Amazonka/S3/AbortMultipartUpload.hs view
@@ -0,0 +1,303 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.AbortMultipartUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action aborts a multipart upload. After a multipart upload is+-- aborted, no additional parts can be uploaded using that upload ID. The+-- storage consumed by any previously uploaded parts will be freed.+-- However, if any part uploads are currently in progress, those part+-- uploads might or might not succeed. As a result, it might be necessary+-- to abort a given multipart upload multiple times in order to completely+-- free all storage consumed by all parts.+--+-- To verify that all parts have been removed, so you don\'t get charged+-- for the part storage, you should call the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+-- action and ensure that the parts list is empty.+--+-- For information about permissions required to use the multipart upload,+-- see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>.+--+-- The following operations are related to @AbortMultipartUpload@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html ListMultipartUploads>+module Amazonka.S3.AbortMultipartUpload+  ( -- * Creating a Request+    AbortMultipartUpload (..),+    newAbortMultipartUpload,++    -- * Request Lenses+    abortMultipartUpload_expectedBucketOwner,+    abortMultipartUpload_requestPayer,+    abortMultipartUpload_bucket,+    abortMultipartUpload_key,+    abortMultipartUpload_uploadId,++    -- * Destructuring the Response+    AbortMultipartUploadResponse (..),+    newAbortMultipartUploadResponse,++    -- * Response Lenses+    abortMultipartUploadResponse_requestCharged,+    abortMultipartUploadResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newAbortMultipartUpload' smart constructor.+data AbortMultipartUpload = AbortMultipartUpload'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The bucket name to which the upload was taking place.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Key of the object for which the multipart upload was initiated.+    key :: ObjectKey,+    -- | Upload ID that identifies the multipart upload.+    uploadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbortMultipartUpload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'abortMultipartUpload_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'abortMultipartUpload_requestPayer' - Undocumented member.+--+-- 'bucket', 'abortMultipartUpload_bucket' - The bucket name to which the upload was taking place.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'abortMultipartUpload_key' - Key of the object for which the multipart upload was initiated.+--+-- 'uploadId', 'abortMultipartUpload_uploadId' - Upload ID that identifies the multipart upload.+newAbortMultipartUpload ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'uploadId'+  Prelude.Text ->+  AbortMultipartUpload+newAbortMultipartUpload pBucket_ pKey_ pUploadId_ =+  AbortMultipartUpload'+    { expectedBucketOwner =+        Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_,+      uploadId = pUploadId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+abortMultipartUpload_expectedBucketOwner :: Lens.Lens' AbortMultipartUpload (Prelude.Maybe Prelude.Text)+abortMultipartUpload_expectedBucketOwner = Lens.lens (\AbortMultipartUpload' {expectedBucketOwner} -> expectedBucketOwner) (\s@AbortMultipartUpload' {} a -> s {expectedBucketOwner = a} :: AbortMultipartUpload)++-- | Undocumented member.+abortMultipartUpload_requestPayer :: Lens.Lens' AbortMultipartUpload (Prelude.Maybe RequestPayer)+abortMultipartUpload_requestPayer = Lens.lens (\AbortMultipartUpload' {requestPayer} -> requestPayer) (\s@AbortMultipartUpload' {} a -> s {requestPayer = a} :: AbortMultipartUpload)++-- | The bucket name to which the upload was taking place.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+abortMultipartUpload_bucket :: Lens.Lens' AbortMultipartUpload BucketName+abortMultipartUpload_bucket = Lens.lens (\AbortMultipartUpload' {bucket} -> bucket) (\s@AbortMultipartUpload' {} a -> s {bucket = a} :: AbortMultipartUpload)++-- | Key of the object for which the multipart upload was initiated.+abortMultipartUpload_key :: Lens.Lens' AbortMultipartUpload ObjectKey+abortMultipartUpload_key = Lens.lens (\AbortMultipartUpload' {key} -> key) (\s@AbortMultipartUpload' {} a -> s {key = a} :: AbortMultipartUpload)++-- | Upload ID that identifies the multipart upload.+abortMultipartUpload_uploadId :: Lens.Lens' AbortMultipartUpload Prelude.Text+abortMultipartUpload_uploadId = Lens.lens (\AbortMultipartUpload' {uploadId} -> uploadId) (\s@AbortMultipartUpload' {} a -> s {uploadId = a} :: AbortMultipartUpload)++instance Core.AWSRequest AbortMultipartUpload where+  type+    AWSResponse AbortMultipartUpload =+      AbortMultipartUploadResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          AbortMultipartUploadResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable AbortMultipartUpload where+  hashWithSalt _salt AbortMultipartUpload' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` uploadId++instance Prelude.NFData AbortMultipartUpload where+  rnf AbortMultipartUpload' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf uploadId++instance Data.ToHeaders AbortMultipartUpload where+  toHeaders AbortMultipartUpload' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath AbortMultipartUpload where+  toPath AbortMultipartUpload' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery AbortMultipartUpload where+  toQuery AbortMultipartUpload' {..} =+    Prelude.mconcat ["uploadId" Data.=: uploadId]++-- | /See:/ 'newAbortMultipartUploadResponse' smart constructor.+data AbortMultipartUploadResponse = AbortMultipartUploadResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbortMultipartUploadResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'abortMultipartUploadResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'abortMultipartUploadResponse_httpStatus' - The response's http status code.+newAbortMultipartUploadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  AbortMultipartUploadResponse+newAbortMultipartUploadResponse pHttpStatus_ =+  AbortMultipartUploadResponse'+    { requestCharged =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+abortMultipartUploadResponse_requestCharged :: Lens.Lens' AbortMultipartUploadResponse (Prelude.Maybe RequestCharged)+abortMultipartUploadResponse_requestCharged = Lens.lens (\AbortMultipartUploadResponse' {requestCharged} -> requestCharged) (\s@AbortMultipartUploadResponse' {} a -> s {requestCharged = a} :: AbortMultipartUploadResponse)++-- | The response's http status code.+abortMultipartUploadResponse_httpStatus :: Lens.Lens' AbortMultipartUploadResponse Prelude.Int+abortMultipartUploadResponse_httpStatus = Lens.lens (\AbortMultipartUploadResponse' {httpStatus} -> httpStatus) (\s@AbortMultipartUploadResponse' {} a -> s {httpStatus = a} :: AbortMultipartUploadResponse)++instance Prelude.NFData AbortMultipartUploadResponse where+  rnf AbortMultipartUploadResponse' {..} =+    Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/CompleteMultipartUpload.hs view
@@ -0,0 +1,900 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.CompleteMultipartUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Completes a multipart upload by assembling previously uploaded parts.+--+-- You first initiate the multipart upload and then upload all parts using+-- the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+-- operation. After successfully uploading all relevant parts of an upload,+-- you call this action to complete the upload. Upon receiving this+-- request, Amazon S3 concatenates all the parts in ascending order by part+-- number to create a new object. In the Complete Multipart Upload request,+-- you must provide the parts list. You must ensure that the parts list is+-- complete. This action concatenates the parts that you provide in the+-- list. For each part in the list, you must provide the part number and+-- the @ETag@ value, returned after that part was uploaded.+--+-- Processing of a Complete Multipart Upload request could take several+-- minutes to complete. After Amazon S3 begins processing the request, it+-- sends an HTTP response header that specifies a 200 OK response. While+-- processing is in progress, Amazon S3 periodically sends white space+-- characters to keep the connection from timing out. Because a request+-- could fail after the initial 200 OK response has been sent, it is+-- important that you check the response body to determine whether the+-- request succeeded.+--+-- Note that if @CompleteMultipartUpload@ fails, applications should be+-- prepared to retry the failed requests. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html Amazon S3 Error Best Practices>.+--+-- You cannot use @Content-Type: application\/x-www-form-urlencoded@ with+-- Complete Multipart Upload requests. Also, if you do not provide a+-- @Content-Type@ header, @CompleteMultipartUpload@ returns a 200 OK+-- response.+--+-- For more information about multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html Uploading Objects Using Multipart Upload>.+--+-- For information about permissions required to use the multipart upload+-- API, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>.+--+-- @CompleteMultipartUpload@ has the following special errors:+--+-- -   Error code: @EntityTooSmall@+--+--     -   Description: Your proposed upload is smaller than the minimum+--         allowed object size. Each part must be at least 5 MB in size,+--         except the last part.+--+--     -   400 Bad Request+--+-- -   Error code: @InvalidPart@+--+--     -   Description: One or more of the specified parts could not be+--         found. The part might not have been uploaded, or the specified+--         entity tag might not have matched the part\'s entity tag.+--+--     -   400 Bad Request+--+-- -   Error code: @InvalidPartOrder@+--+--     -   Description: The list of parts was not in ascending order. The+--         parts list must be specified in order by part number.+--+--     -   400 Bad Request+--+-- -   Error code: @NoSuchUpload@+--+--     -   Description: The specified multipart upload does not exist. The+--         upload ID might be invalid, or the multipart upload might have+--         been aborted or completed.+--+--     -   404 Not Found+--+-- The following operations are related to @CompleteMultipartUpload@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html ListMultipartUploads>+module Amazonka.S3.CompleteMultipartUpload+  ( -- * Creating a Request+    CompleteMultipartUpload (..),+    newCompleteMultipartUpload,++    -- * Request Lenses+    completeMultipartUpload_checksumCRC32,+    completeMultipartUpload_checksumCRC32C,+    completeMultipartUpload_checksumSHA1,+    completeMultipartUpload_checksumSHA256,+    completeMultipartUpload_expectedBucketOwner,+    completeMultipartUpload_multipartUpload,+    completeMultipartUpload_requestPayer,+    completeMultipartUpload_sSECustomerAlgorithm,+    completeMultipartUpload_sSECustomerKey,+    completeMultipartUpload_sSECustomerKeyMD5,+    completeMultipartUpload_bucket,+    completeMultipartUpload_key,+    completeMultipartUpload_uploadId,++    -- * Destructuring the Response+    CompleteMultipartUploadResponse (..),+    newCompleteMultipartUploadResponse,++    -- * Response Lenses+    completeMultipartUploadResponse_bucket,+    completeMultipartUploadResponse_bucketKeyEnabled,+    completeMultipartUploadResponse_checksumCRC32,+    completeMultipartUploadResponse_checksumCRC32C,+    completeMultipartUploadResponse_checksumSHA1,+    completeMultipartUploadResponse_checksumSHA256,+    completeMultipartUploadResponse_eTag,+    completeMultipartUploadResponse_expiration,+    completeMultipartUploadResponse_key,+    completeMultipartUploadResponse_location,+    completeMultipartUploadResponse_requestCharged,+    completeMultipartUploadResponse_sSEKMSKeyId,+    completeMultipartUploadResponse_serverSideEncryption,+    completeMultipartUploadResponse_versionId,+    completeMultipartUploadResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newCompleteMultipartUpload' smart constructor.+data CompleteMultipartUpload = CompleteMultipartUpload'+  { -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The container for the multipart upload request information.+    multipartUpload :: Prelude.Maybe CompletedMultipartUpload,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The server-side encryption (SSE) algorithm used to encrypt the object.+    -- This parameter is needed only when the object was created using a+    -- checksum algorithm. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | The server-side encryption (SSE) customer managed key. This parameter is+    -- needed only when the object was created using a checksum algorithm. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The MD5 server-side encryption (SSE) customer managed key. This+    -- parameter is needed only when the object was created using a checksum+    -- algorithm. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | Name of the bucket to which the multipart upload was initiated.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which the multipart upload was initiated.+    key :: ObjectKey,+    -- | ID for the initiated multipart upload.+    uploadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompleteMultipartUpload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'completeMultipartUpload_checksumCRC32' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'completeMultipartUpload_checksumCRC32C' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'completeMultipartUpload_checksumSHA1' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'completeMultipartUpload_checksumSHA256' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'expectedBucketOwner', 'completeMultipartUpload_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'multipartUpload', 'completeMultipartUpload_multipartUpload' - The container for the multipart upload request information.+--+-- 'requestPayer', 'completeMultipartUpload_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'completeMultipartUpload_sSECustomerAlgorithm' - The server-side encryption (SSE) algorithm used to encrypt the object.+-- This parameter is needed only when the object was created using a+-- checksum algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'sSECustomerKey', 'completeMultipartUpload_sSECustomerKey' - The server-side encryption (SSE) customer managed key. This parameter is+-- needed only when the object was created using a checksum algorithm. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'sSECustomerKeyMD5', 'completeMultipartUpload_sSECustomerKeyMD5' - The MD5 server-side encryption (SSE) customer managed key. This+-- parameter is needed only when the object was created using a checksum+-- algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'bucket', 'completeMultipartUpload_bucket' - Name of the bucket to which the multipart upload was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'completeMultipartUpload_key' - Object key for which the multipart upload was initiated.+--+-- 'uploadId', 'completeMultipartUpload_uploadId' - ID for the initiated multipart upload.+newCompleteMultipartUpload ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'uploadId'+  Prelude.Text ->+  CompleteMultipartUpload+newCompleteMultipartUpload pBucket_ pKey_ pUploadId_ =+  CompleteMultipartUpload'+    { checksumCRC32 =+        Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      multipartUpload = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_,+      uploadId = pUploadId_+    }++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_checksumCRC32 :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_checksumCRC32 = Lens.lens (\CompleteMultipartUpload' {checksumCRC32} -> checksumCRC32) (\s@CompleteMultipartUpload' {} a -> s {checksumCRC32 = a} :: CompleteMultipartUpload)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_checksumCRC32C :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_checksumCRC32C = Lens.lens (\CompleteMultipartUpload' {checksumCRC32C} -> checksumCRC32C) (\s@CompleteMultipartUpload' {} a -> s {checksumCRC32C = a} :: CompleteMultipartUpload)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_checksumSHA1 :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_checksumSHA1 = Lens.lens (\CompleteMultipartUpload' {checksumSHA1} -> checksumSHA1) (\s@CompleteMultipartUpload' {} a -> s {checksumSHA1 = a} :: CompleteMultipartUpload)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_checksumSHA256 :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_checksumSHA256 = Lens.lens (\CompleteMultipartUpload' {checksumSHA256} -> checksumSHA256) (\s@CompleteMultipartUpload' {} a -> s {checksumSHA256 = a} :: CompleteMultipartUpload)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+completeMultipartUpload_expectedBucketOwner :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_expectedBucketOwner = Lens.lens (\CompleteMultipartUpload' {expectedBucketOwner} -> expectedBucketOwner) (\s@CompleteMultipartUpload' {} a -> s {expectedBucketOwner = a} :: CompleteMultipartUpload)++-- | The container for the multipart upload request information.+completeMultipartUpload_multipartUpload :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe CompletedMultipartUpload)+completeMultipartUpload_multipartUpload = Lens.lens (\CompleteMultipartUpload' {multipartUpload} -> multipartUpload) (\s@CompleteMultipartUpload' {} a -> s {multipartUpload = a} :: CompleteMultipartUpload)++-- | Undocumented member.+completeMultipartUpload_requestPayer :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe RequestPayer)+completeMultipartUpload_requestPayer = Lens.lens (\CompleteMultipartUpload' {requestPayer} -> requestPayer) (\s@CompleteMultipartUpload' {} a -> s {requestPayer = a} :: CompleteMultipartUpload)++-- | The server-side encryption (SSE) algorithm used to encrypt the object.+-- This parameter is needed only when the object was created using a+-- checksum algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_sSECustomerAlgorithm :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_sSECustomerAlgorithm = Lens.lens (\CompleteMultipartUpload' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@CompleteMultipartUpload' {} a -> s {sSECustomerAlgorithm = a} :: CompleteMultipartUpload)++-- | The server-side encryption (SSE) customer managed key. This parameter is+-- needed only when the object was created using a checksum algorithm. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_sSECustomerKey :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_sSECustomerKey = Lens.lens (\CompleteMultipartUpload' {sSECustomerKey} -> sSECustomerKey) (\s@CompleteMultipartUpload' {} a -> s {sSECustomerKey = a} :: CompleteMultipartUpload) Prelude.. Lens.mapping Data._Sensitive++-- | The MD5 server-side encryption (SSE) customer managed key. This+-- parameter is needed only when the object was created using a checksum+-- algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_sSECustomerKeyMD5 :: Lens.Lens' CompleteMultipartUpload (Prelude.Maybe Prelude.Text)+completeMultipartUpload_sSECustomerKeyMD5 = Lens.lens (\CompleteMultipartUpload' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@CompleteMultipartUpload' {} a -> s {sSECustomerKeyMD5 = a} :: CompleteMultipartUpload)++-- | Name of the bucket to which the multipart upload was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+completeMultipartUpload_bucket :: Lens.Lens' CompleteMultipartUpload BucketName+completeMultipartUpload_bucket = Lens.lens (\CompleteMultipartUpload' {bucket} -> bucket) (\s@CompleteMultipartUpload' {} a -> s {bucket = a} :: CompleteMultipartUpload)++-- | Object key for which the multipart upload was initiated.+completeMultipartUpload_key :: Lens.Lens' CompleteMultipartUpload ObjectKey+completeMultipartUpload_key = Lens.lens (\CompleteMultipartUpload' {key} -> key) (\s@CompleteMultipartUpload' {} a -> s {key = a} :: CompleteMultipartUpload)++-- | ID for the initiated multipart upload.+completeMultipartUpload_uploadId :: Lens.Lens' CompleteMultipartUpload Prelude.Text+completeMultipartUpload_uploadId = Lens.lens (\CompleteMultipartUpload' {uploadId} -> uploadId) (\s@CompleteMultipartUpload' {} a -> s {uploadId = a} :: CompleteMultipartUpload)++instance Core.AWSRequest CompleteMultipartUpload where+  type+    AWSResponse CompleteMultipartUpload =+      CompleteMultipartUploadResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.postXML (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          CompleteMultipartUploadResponse'+            Prelude.<$> (x Data..@? "Bucket")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (x Data..@? "ChecksumCRC32")+            Prelude.<*> (x Data..@? "ChecksumCRC32C")+            Prelude.<*> (x Data..@? "ChecksumSHA1")+            Prelude.<*> (x Data..@? "ChecksumSHA256")+            Prelude.<*> (x Data..@? "ETag")+            Prelude.<*> (h Data..#? "x-amz-expiration")+            Prelude.<*> (x Data..@? "Key")+            Prelude.<*> (x Data..@? "Location")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CompleteMultipartUpload where+  hashWithSalt _salt CompleteMultipartUpload' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` multipartUpload+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` uploadId++instance Prelude.NFData CompleteMultipartUpload where+  rnf CompleteMultipartUpload' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf multipartUpload+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf uploadId++instance Data.ToElement CompleteMultipartUpload where+  toElement CompleteMultipartUpload' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}CompleteMultipartUpload"+      multipartUpload++instance Data.ToHeaders CompleteMultipartUpload where+  toHeaders CompleteMultipartUpload' {..} =+    Prelude.mconcat+      [ "x-amz-checksum-crc32" Data.=# checksumCRC32,+        "x-amz-checksum-crc32c" Data.=# checksumCRC32C,+        "x-amz-checksum-sha1" Data.=# checksumSHA1,+        "x-amz-checksum-sha256" Data.=# checksumSHA256,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5+      ]++instance Data.ToPath CompleteMultipartUpload where+  toPath CompleteMultipartUpload' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery CompleteMultipartUpload where+  toQuery CompleteMultipartUpload' {..} =+    Prelude.mconcat ["uploadId" Data.=: uploadId]++-- | /See:/ 'newCompleteMultipartUploadResponse' smart constructor.+data CompleteMultipartUploadResponse = CompleteMultipartUploadResponse'+  { -- | The name of the bucket that contains the newly created object. Does not+    -- return the access point ARN or access point alias if used.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: Prelude.Maybe BucketName,+    -- | Indicates whether the multipart upload uses an S3 Bucket Key for+    -- server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Entity tag that identifies the newly created object\'s data. Objects+    -- with different object data will have different entity tags. The entity+    -- tag is an opaque string. The entity tag may or may not be an MD5 digest+    -- of the object data. If the entity tag is not an MD5 digest of the object+    -- data, it will contain one or more nonhexadecimal characters and\/or will+    -- consist of less than 32 or more than 32 hexadecimal digits. For more+    -- information about how the entity tag is calculated, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    eTag :: Prelude.Maybe ETag,+    -- | If the object expiration is configured, this will contain the expiration+    -- date (@expiry-date@) and rule ID (@rule-id@). The value of @rule-id@ is+    -- URL-encoded.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | The object key of the newly created object.+    key :: Prelude.Maybe ObjectKey,+    -- | The URI that identifies the newly created object.+    location :: Prelude.Maybe Prelude.Text,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If you specified server-side encryption either with an Amazon S3-managed+    -- encryption key or an Amazon Web Services KMS key in your initiate+    -- multipart upload request, the response includes this header. It confirms+    -- the encryption algorithm that Amazon S3 used to encrypt the object.+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | Version ID of the newly created object, in case the bucket has+    -- versioning turned on.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompleteMultipartUploadResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'completeMultipartUploadResponse_bucket' - The name of the bucket that contains the newly created object. Does not+-- return the access point ARN or access point alias if used.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'bucketKeyEnabled', 'completeMultipartUploadResponse_bucketKeyEnabled' - Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'checksumCRC32', 'completeMultipartUploadResponse_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'completeMultipartUploadResponse_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'completeMultipartUploadResponse_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'completeMultipartUploadResponse_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'eTag', 'completeMultipartUploadResponse_eTag' - Entity tag that identifies the newly created object\'s data. Objects+-- with different object data will have different entity tags. The entity+-- tag is an opaque string. The entity tag may or may not be an MD5 digest+-- of the object data. If the entity tag is not an MD5 digest of the object+-- data, it will contain one or more nonhexadecimal characters and\/or will+-- consist of less than 32 or more than 32 hexadecimal digits. For more+-- information about how the entity tag is calculated, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'expiration', 'completeMultipartUploadResponse_expiration' - If the object expiration is configured, this will contain the expiration+-- date (@expiry-date@) and rule ID (@rule-id@). The value of @rule-id@ is+-- URL-encoded.+--+-- 'key', 'completeMultipartUploadResponse_key' - The object key of the newly created object.+--+-- 'location', 'completeMultipartUploadResponse_location' - The URI that identifies the newly created object.+--+-- 'requestCharged', 'completeMultipartUploadResponse_requestCharged' - Undocumented member.+--+-- 'sSEKMSKeyId', 'completeMultipartUploadResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+--+-- 'serverSideEncryption', 'completeMultipartUploadResponse_serverSideEncryption' - If you specified server-side encryption either with an Amazon S3-managed+-- encryption key or an Amazon Web Services KMS key in your initiate+-- multipart upload request, the response includes this header. It confirms+-- the encryption algorithm that Amazon S3 used to encrypt the object.+--+-- 'versionId', 'completeMultipartUploadResponse_versionId' - Version ID of the newly created object, in case the bucket has+-- versioning turned on.+--+-- 'httpStatus', 'completeMultipartUploadResponse_httpStatus' - The response's http status code.+newCompleteMultipartUploadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CompleteMultipartUploadResponse+newCompleteMultipartUploadResponse pHttpStatus_ =+  CompleteMultipartUploadResponse'+    { bucket =+        Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing,+      checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      eTag = Prelude.Nothing,+      expiration = Prelude.Nothing,+      key = Prelude.Nothing,+      location = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      versionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name of the bucket that contains the newly created object. Does not+-- return the access point ARN or access point alias if used.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+completeMultipartUploadResponse_bucket :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe BucketName)+completeMultipartUploadResponse_bucket = Lens.lens (\CompleteMultipartUploadResponse' {bucket} -> bucket) (\s@CompleteMultipartUploadResponse' {} a -> s {bucket = a} :: CompleteMultipartUploadResponse)++-- | Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+completeMultipartUploadResponse_bucketKeyEnabled :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Bool)+completeMultipartUploadResponse_bucketKeyEnabled = Lens.lens (\CompleteMultipartUploadResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@CompleteMultipartUploadResponse' {} a -> s {bucketKeyEnabled = a} :: CompleteMultipartUploadResponse)++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUploadResponse_checksumCRC32 :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_checksumCRC32 = Lens.lens (\CompleteMultipartUploadResponse' {checksumCRC32} -> checksumCRC32) (\s@CompleteMultipartUploadResponse' {} a -> s {checksumCRC32 = a} :: CompleteMultipartUploadResponse)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUploadResponse_checksumCRC32C :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_checksumCRC32C = Lens.lens (\CompleteMultipartUploadResponse' {checksumCRC32C} -> checksumCRC32C) (\s@CompleteMultipartUploadResponse' {} a -> s {checksumCRC32C = a} :: CompleteMultipartUploadResponse)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUploadResponse_checksumSHA1 :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_checksumSHA1 = Lens.lens (\CompleteMultipartUploadResponse' {checksumSHA1} -> checksumSHA1) (\s@CompleteMultipartUploadResponse' {} a -> s {checksumSHA1 = a} :: CompleteMultipartUploadResponse)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUploadResponse_checksumSHA256 :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_checksumSHA256 = Lens.lens (\CompleteMultipartUploadResponse' {checksumSHA256} -> checksumSHA256) (\s@CompleteMultipartUploadResponse' {} a -> s {checksumSHA256 = a} :: CompleteMultipartUploadResponse)++-- | Entity tag that identifies the newly created object\'s data. Objects+-- with different object data will have different entity tags. The entity+-- tag is an opaque string. The entity tag may or may not be an MD5 digest+-- of the object data. If the entity tag is not an MD5 digest of the object+-- data, it will contain one or more nonhexadecimal characters and\/or will+-- consist of less than 32 or more than 32 hexadecimal digits. For more+-- information about how the entity tag is calculated, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+completeMultipartUploadResponse_eTag :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe ETag)+completeMultipartUploadResponse_eTag = Lens.lens (\CompleteMultipartUploadResponse' {eTag} -> eTag) (\s@CompleteMultipartUploadResponse' {} a -> s {eTag = a} :: CompleteMultipartUploadResponse)++-- | If the object expiration is configured, this will contain the expiration+-- date (@expiry-date@) and rule ID (@rule-id@). The value of @rule-id@ is+-- URL-encoded.+completeMultipartUploadResponse_expiration :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_expiration = Lens.lens (\CompleteMultipartUploadResponse' {expiration} -> expiration) (\s@CompleteMultipartUploadResponse' {} a -> s {expiration = a} :: CompleteMultipartUploadResponse)++-- | The object key of the newly created object.+completeMultipartUploadResponse_key :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe ObjectKey)+completeMultipartUploadResponse_key = Lens.lens (\CompleteMultipartUploadResponse' {key} -> key) (\s@CompleteMultipartUploadResponse' {} a -> s {key = a} :: CompleteMultipartUploadResponse)++-- | The URI that identifies the newly created object.+completeMultipartUploadResponse_location :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_location = Lens.lens (\CompleteMultipartUploadResponse' {location} -> location) (\s@CompleteMultipartUploadResponse' {} a -> s {location = a} :: CompleteMultipartUploadResponse)++-- | Undocumented member.+completeMultipartUploadResponse_requestCharged :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe RequestCharged)+completeMultipartUploadResponse_requestCharged = Lens.lens (\CompleteMultipartUploadResponse' {requestCharged} -> requestCharged) (\s@CompleteMultipartUploadResponse' {} a -> s {requestCharged = a} :: CompleteMultipartUploadResponse)++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+completeMultipartUploadResponse_sSEKMSKeyId :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe Prelude.Text)+completeMultipartUploadResponse_sSEKMSKeyId = Lens.lens (\CompleteMultipartUploadResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@CompleteMultipartUploadResponse' {} a -> s {sSEKMSKeyId = a} :: CompleteMultipartUploadResponse) Prelude.. Lens.mapping Data._Sensitive++-- | If you specified server-side encryption either with an Amazon S3-managed+-- encryption key or an Amazon Web Services KMS key in your initiate+-- multipart upload request, the response includes this header. It confirms+-- the encryption algorithm that Amazon S3 used to encrypt the object.+completeMultipartUploadResponse_serverSideEncryption :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe ServerSideEncryption)+completeMultipartUploadResponse_serverSideEncryption = Lens.lens (\CompleteMultipartUploadResponse' {serverSideEncryption} -> serverSideEncryption) (\s@CompleteMultipartUploadResponse' {} a -> s {serverSideEncryption = a} :: CompleteMultipartUploadResponse)++-- | Version ID of the newly created object, in case the bucket has+-- versioning turned on.+completeMultipartUploadResponse_versionId :: Lens.Lens' CompleteMultipartUploadResponse (Prelude.Maybe ObjectVersionId)+completeMultipartUploadResponse_versionId = Lens.lens (\CompleteMultipartUploadResponse' {versionId} -> versionId) (\s@CompleteMultipartUploadResponse' {} a -> s {versionId = a} :: CompleteMultipartUploadResponse)++-- | The response's http status code.+completeMultipartUploadResponse_httpStatus :: Lens.Lens' CompleteMultipartUploadResponse Prelude.Int+completeMultipartUploadResponse_httpStatus = Lens.lens (\CompleteMultipartUploadResponse' {httpStatus} -> httpStatus) (\s@CompleteMultipartUploadResponse' {} a -> s {httpStatus = a} :: CompleteMultipartUploadResponse)++instance+  Prelude.NFData+    CompleteMultipartUploadResponse+  where+  rnf CompleteMultipartUploadResponse' {..} =+    Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf location+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf sSEKMSKeyId+      `Prelude.seq` Prelude.rnf serverSideEncryption+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/CopyObject.hs view
@@ -0,0 +1,1414 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.CopyObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a copy of an object that is already stored in Amazon S3.+--+-- You can store individual objects of up to 5 TB in Amazon S3. You create+-- a copy of your object up to 5 GB in size in a single atomic action using+-- this API. However, to copy an object greater than 5 GB, you must use the+-- multipart upload Upload Part - Copy (UploadPartCopy) API. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html Copy Object Using the REST Multipart Upload API>.+--+-- All copy requests must be authenticated. Additionally, you must have+-- /read/ access to the source object and /write/ access to the destination+-- bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>.+-- Both the Region that you want to copy the object from and the Region+-- that you want to copy the object to must be enabled for your account.+--+-- A copy request might return an error when Amazon S3 receives the copy+-- request or while Amazon S3 is copying the files. If the error occurs+-- before the copy action starts, you receive a standard Amazon S3 error.+-- If the error occurs during the copy operation, the error response is+-- embedded in the @200 OK@ response. This means that a @200 OK@ response+-- can contain either a success or an error. Design your application to+-- parse the contents of the response and handle it appropriately.+--+-- If the copy is successful, you receive a response with information about+-- the copied object.+--+-- If the request is an HTTP 1.1 request, the response is chunk encoded. If+-- it were not, it would not contain the content-length, and you would need+-- to read the entire body.+--+-- The copy request charge is based on the storage class and Region that+-- you specify for the destination object. For pricing information, see+-- <http://aws.amazon.com/s3/pricing/ Amazon S3 pricing>.+--+-- Amazon S3 transfer acceleration does not support cross-Region copies. If+-- you request a cross-Region copy using a transfer acceleration endpoint,+-- you get a 400 @Bad Request@ error. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html Transfer Acceleration>.+--+-- __Metadata__+--+-- When copying an object, you can preserve all metadata (default) or+-- specify new metadata. However, the ACL is not preserved and is set to+-- private for the user making the request. To override the default ACL+-- setting, specify a new ACL when generating a copy request. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html Using ACLs>.+--+-- To specify whether you want the object metadata copied from the source+-- object or replaced with metadata provided in the request, you can+-- optionally add the @x-amz-metadata-directive@ header. When you grant+-- permissions, you can use the @s3:x-amz-metadata-directive@ condition key+-- to enforce certain metadata behavior when objects are uploaded. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html Specifying Conditions in a Policy>+-- in the /Amazon S3 User Guide/. For a complete list of Amazon S3-specific+-- condition keys, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html Actions, Resources, and Condition Keys for Amazon S3>.+--+-- __x-amz-copy-source-if Headers__+--+-- To only copy an object under certain conditions, such as whether the+-- @Etag@ matches or whether the object was modified before or after a+-- specified date, use the following request parameters:+--+-- -   @x-amz-copy-source-if-match@+--+-- -   @x-amz-copy-source-if-none-match@+--+-- -   @x-amz-copy-source-if-unmodified-since@+--+-- -   @x-amz-copy-source-if-modified-since@+--+-- If both the @x-amz-copy-source-if-match@ and+-- @x-amz-copy-source-if-unmodified-since@ headers are present in the+-- request and evaluate as follows, Amazon S3 returns @200 OK@ and copies+-- the data:+--+-- -   @x-amz-copy-source-if-match@ condition evaluates to true+--+-- -   @x-amz-copy-source-if-unmodified-since@ condition evaluates to false+--+-- If both the @x-amz-copy-source-if-none-match@ and+-- @x-amz-copy-source-if-modified-since@ headers are present in the request+-- and evaluate as follows, Amazon S3 returns the @412 Precondition Failed@+-- response code:+--+-- -   @x-amz-copy-source-if-none-match@ condition evaluates to false+--+-- -   @x-amz-copy-source-if-modified-since@ condition evaluates to true+--+-- All headers with the @x-amz-@ prefix, including @x-amz-copy-source@,+-- must be signed.+--+-- __Server-side encryption__+--+-- When you perform a CopyObject operation, you can optionally use the+-- appropriate encryption-related headers to encrypt the object using+-- server-side encryption with Amazon Web Services managed encryption keys+-- (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With+-- server-side encryption, Amazon S3 encrypts your data as it writes it to+-- disks in its data centers and decrypts the data when you access it. For+-- more information about server-side encryption, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html Using Server-Side Encryption>.+--+-- If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the+-- object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html Amazon S3 Bucket Keys>+-- in the /Amazon S3 User Guide/.+--+-- __Access Control List (ACL)-Specific Request Headers__+--+-- When copying an object, you can optionally use headers to grant+-- ACL-based permissions. By default, all objects are private. Only the+-- owner has full access control. When adding a new object, you can grant+-- permissions to individual Amazon Web Services accounts or to predefined+-- groups defined by Amazon S3. These permissions are then added to the ACL+-- on the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html Managing ACLs Using the REST API>.+--+-- If the bucket that you\'re copying objects to uses the bucket owner+-- enforced setting for S3 Object Ownership, ACLs are disabled and no+-- longer affect permissions. Buckets that use this setting only accept PUT+-- requests that don\'t specify an ACL or PUT requests that specify bucket+-- owner full control ACLs, such as the @bucket-owner-full-control@ canned+-- ACL or an equivalent form of this ACL expressed in the XML format.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling ownership of objects and disabling ACLs>+-- in the /Amazon S3 User Guide/.+--+-- If your bucket uses the bucket owner enforced setting for Object+-- Ownership, all objects written to the bucket by any account will be+-- owned by the bucket owner.+--+-- __Checksums__+--+-- When copying an object, if it has a checksum, that checksum will be+-- copied to the new object by default. When you copy the object over, you+-- may optionally specify a different checksum algorithm to use with the+-- @x-amz-checksum-algorithm@ header.+--+-- __Storage Class Options__+--+-- You can use the @CopyObject@ action to change the storage class of an+-- object that is already stored in Amazon S3 using the @StorageClass@+-- parameter. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+--+-- __Versioning__+--+-- By default, @x-amz-copy-source@ identifies the current version of an+-- object to copy. If the current version is a delete marker, Amazon S3+-- behaves as if the object was deleted. To copy a different version, use+-- the @versionId@ subresource.+--+-- If you enable versioning on the target bucket, Amazon S3 generates a+-- unique version ID for the object being copied. This version ID is+-- different from the version ID of the source object. Amazon S3 returns+-- the version ID of the copied object in the @x-amz-version-id@ response+-- header in the response.+--+-- If you do not enable versioning or suspend it on the target bucket, the+-- version ID that Amazon S3 generates is always null.+--+-- If the source object\'s storage class is GLACIER, you must restore a+-- copy of this object before you can use it as a source object for the+-- copy operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html RestoreObject>.+--+-- The following operations are related to @CopyObject@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html Copying Objects>.+module Amazonka.S3.CopyObject+  ( -- * Creating a Request+    CopyObject (..),+    newCopyObject,++    -- * Request Lenses+    copyObject_acl,+    copyObject_bucketKeyEnabled,+    copyObject_cacheControl,+    copyObject_checksumAlgorithm,+    copyObject_contentDisposition,+    copyObject_contentEncoding,+    copyObject_contentLanguage,+    copyObject_contentType,+    copyObject_copySourceIfMatch,+    copyObject_copySourceIfModifiedSince,+    copyObject_copySourceIfNoneMatch,+    copyObject_copySourceIfUnmodifiedSince,+    copyObject_copySourceSSECustomerAlgorithm,+    copyObject_copySourceSSECustomerKey,+    copyObject_copySourceSSECustomerKeyMD5,+    copyObject_expectedBucketOwner,+    copyObject_expectedSourceBucketOwner,+    copyObject_expires,+    copyObject_grantFullControl,+    copyObject_grantRead,+    copyObject_grantReadACP,+    copyObject_grantWriteACP,+    copyObject_metadata,+    copyObject_metadataDirective,+    copyObject_objectLockLegalHoldStatus,+    copyObject_objectLockMode,+    copyObject_objectLockRetainUntilDate,+    copyObject_requestPayer,+    copyObject_sSECustomerAlgorithm,+    copyObject_sSECustomerKey,+    copyObject_sSECustomerKeyMD5,+    copyObject_sSEKMSEncryptionContext,+    copyObject_sSEKMSKeyId,+    copyObject_serverSideEncryption,+    copyObject_storageClass,+    copyObject_tagging,+    copyObject_taggingDirective,+    copyObject_websiteRedirectLocation,+    copyObject_bucket,+    copyObject_copySource,+    copyObject_key,++    -- * Destructuring the Response+    CopyObjectResponse (..),+    newCopyObjectResponse,++    -- * Response Lenses+    copyObjectResponse_bucketKeyEnabled,+    copyObjectResponse_copyObjectResult,+    copyObjectResponse_copySourceVersionId,+    copyObjectResponse_expiration,+    copyObjectResponse_requestCharged,+    copyObjectResponse_sSECustomerAlgorithm,+    copyObjectResponse_sSECustomerKeyMD5,+    copyObjectResponse_sSEKMSEncryptionContext,+    copyObjectResponse_sSEKMSKeyId,+    copyObjectResponse_serverSideEncryption,+    copyObjectResponse_versionId,+    copyObjectResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newCopyObject' smart constructor.+data CopyObject = CopyObject'+  { -- | The canned ACL to apply to the object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    acl :: Prelude.Maybe ObjectCannedACL,+    -- | Specifies whether Amazon S3 should use an S3 Bucket Key for object+    -- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+    -- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+    -- object encryption with SSE-KMS.+    --+    -- Specifying this header with a COPY action doesn’t affect bucket-level+    -- settings for S3 Bucket Key.+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Specifies caching behavior along the request\/reply chain.+    cacheControl :: Prelude.Maybe Prelude.Text,+    -- | Indicates the algorithm you want Amazon S3 to use to create the checksum+    -- for the object. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | Specifies presentational information for the object.+    contentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Specifies what content encodings have been applied to the object and+    -- thus what decoding mechanisms must be applied to obtain the media-type+    -- referenced by the Content-Type header field.+    contentEncoding :: Prelude.Maybe Prelude.Text,+    -- | The language the content is in.+    contentLanguage :: Prelude.Maybe Prelude.Text,+    -- | A standard MIME type describing the format of the object data.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | Copies the object if its entity tag (ETag) matches the specified tag.+    copySourceIfMatch :: Prelude.Maybe Prelude.Text,+    -- | Copies the object if it has been modified since the specified time.+    copySourceIfModifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Copies the object if its entity tag (ETag) is different than the+    -- specified ETag.+    copySourceIfNoneMatch :: Prelude.Maybe Prelude.Text,+    -- | Copies the object if it hasn\'t been modified since the specified time.+    copySourceIfUnmodifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Specifies the algorithm to use when decrypting the source object (for+    -- example, AES256).+    copySourceSSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use to+    -- decrypt the source object. The encryption key provided in this header+    -- must be one that was used when the source object was created.+    copySourceSSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    copySourceSSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected destination bucket owner. If the+    -- destination bucket is owned by a different account, the request fails+    -- with the HTTP status code @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected source bucket owner. If the source bucket+    -- is owned by a different account, the request fails with the HTTP status+    -- code @403 Forbidden@ (access denied).+    expectedSourceBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The date and time at which the object is no longer cacheable.+    expires :: Prelude.Maybe Data.RFC822,+    -- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+    -- object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantFullControl :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the object data and its metadata.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantRead :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the object ACL.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantReadACP :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to write the ACL for the applicable object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantWriteACP :: Prelude.Maybe Prelude.Text,+    -- | A map of metadata to store with the object in S3.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | Specifies whether the metadata is copied from the source object or+    -- replaced with metadata provided in the request.+    metadataDirective :: Prelude.Maybe MetadataDirective,+    -- | Specifies whether you want to apply a legal hold to the copied object.+    objectLockLegalHoldStatus :: Prelude.Maybe ObjectLockLegalHoldStatus,+    -- | The Object Lock mode that you want to apply to the copied object.+    objectLockMode :: Prelude.Maybe ObjectLockMode,+    -- | The date and time when you want the copied object\'s Object Lock to+    -- expire.+    objectLockRetainUntilDate :: Prelude.Maybe Data.ISO8601,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use to when encrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | Specifies the Amazon Web Services KMS Encryption Context to use for+    -- object encryption. The value of this header is a base64-encoded UTF-8+    -- string holding JSON with the encryption context key-value pairs.+    sSEKMSEncryptionContext :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the Amazon Web Services KMS key ID to use for object+    -- encryption. All GET and PUT requests for an object protected by Amazon+    -- Web Services KMS will fail if not made via SSL or using SigV4. For+    -- information about configuring using any of the officially supported+    -- Amazon Web Services SDKs and Amazon Web Services CLI, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version Specifying the Signature Version in Request Authentication>+    -- in the /Amazon S3 User Guide/.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | By default, Amazon S3 uses the STANDARD Storage Class to store newly+    -- created objects. The STANDARD storage class provides high durability and+    -- high availability. Depending on performance needs, you can specify a+    -- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+    -- Storage Class. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+    -- in the /Amazon S3 User Guide/.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The tag-set for the object destination object this value must be used in+    -- conjunction with the @TaggingDirective@. The tag-set must be encoded as+    -- URL Query parameters.+    tagging :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the object tag-set are copied from the source object+    -- or replaced with tag-set provided in the request.+    taggingDirective :: Prelude.Maybe TaggingDirective,+    -- | If the bucket is configured as a website, redirects requests for this+    -- object to another object in the same bucket or to an external URL.+    -- Amazon S3 stores the value of this header in the object metadata.+    websiteRedirectLocation :: Prelude.Maybe Prelude.Text,+    -- | The name of the destination bucket.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Specifies the source object for the copy operation. You specify the+    -- value in one of two formats, depending on whether you want to access the+    -- source object through an+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html access point>:+    --+    -- -   For objects not accessed through an access point, specify the name+    --     of the source bucket and the key of the source object, separated by+    --     a slash (\/). For example, to copy the object @reports\/january.pdf@+    --     from the bucket @awsexamplebucket@, use+    --     @awsexamplebucket\/reports\/january.pdf@. The value must be+    --     URL-encoded.+    --+    -- -   For objects accessed through access points, specify the Amazon+    --     Resource Name (ARN) of the object as accessed through the access+    --     point, in the format+    --     @arn:aws:s3:\<Region>:\<account-id>:accesspoint\/\<access-point-name>\/object\/\<key>@.+    --     For example, to copy the object @reports\/january.pdf@ through+    --     access point @my-access-point@ owned by account @123456789012@ in+    --     Region @us-west-2@, use the URL encoding of+    --     @arn:aws:s3:us-west-2:123456789012:accesspoint\/my-access-point\/object\/reports\/january.pdf@.+    --     The value must be URL encoded.+    --+    --     Amazon S3 supports copy operations using access points only when the+    --     source and destination buckets are in the same Amazon Web Services+    --     Region.+    --+    --     Alternatively, for objects accessed through Amazon S3 on Outposts,+    --     specify the ARN of the object as accessed in the format+    --     @arn:aws:s3-outposts:\<Region>:\<account-id>:outpost\/\<outpost-id>\/object\/\<key>@.+    --     For example, to copy the object @reports\/january.pdf@ through+    --     outpost @my-outpost@ owned by account @123456789012@ in Region+    --     @us-west-2@, use the URL encoding of+    --     @arn:aws:s3-outposts:us-west-2:123456789012:outpost\/my-outpost\/object\/reports\/january.pdf@.+    --     The value must be URL-encoded.+    --+    -- To copy a specific version of an object, append+    -- @?versionId=\<version-id>@ to the value (for example,+    -- @awsexamplebucket\/reports\/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893@).+    -- If you don\'t specify a version ID, Amazon S3 copies the latest version+    -- of the source object.+    copySource :: Prelude.Text,+    -- | The key of the destination object.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acl', 'copyObject_acl' - The canned ACL to apply to the object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'bucketKeyEnabled', 'copyObject_bucketKeyEnabled' - Specifies whether Amazon S3 should use an S3 Bucket Key for object+-- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+-- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+-- object encryption with SSE-KMS.+--+-- Specifying this header with a COPY action doesn’t affect bucket-level+-- settings for S3 Bucket Key.+--+-- 'cacheControl', 'copyObject_cacheControl' - Specifies caching behavior along the request\/reply chain.+--+-- 'checksumAlgorithm', 'copyObject_checksumAlgorithm' - Indicates the algorithm you want Amazon S3 to use to create the checksum+-- for the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'contentDisposition', 'copyObject_contentDisposition' - Specifies presentational information for the object.+--+-- 'contentEncoding', 'copyObject_contentEncoding' - Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+--+-- 'contentLanguage', 'copyObject_contentLanguage' - The language the content is in.+--+-- 'contentType', 'copyObject_contentType' - A standard MIME type describing the format of the object data.+--+-- 'copySourceIfMatch', 'copyObject_copySourceIfMatch' - Copies the object if its entity tag (ETag) matches the specified tag.+--+-- 'copySourceIfModifiedSince', 'copyObject_copySourceIfModifiedSince' - Copies the object if it has been modified since the specified time.+--+-- 'copySourceIfNoneMatch', 'copyObject_copySourceIfNoneMatch' - Copies the object if its entity tag (ETag) is different than the+-- specified ETag.+--+-- 'copySourceIfUnmodifiedSince', 'copyObject_copySourceIfUnmodifiedSince' - Copies the object if it hasn\'t been modified since the specified time.+--+-- 'copySourceSSECustomerAlgorithm', 'copyObject_copySourceSSECustomerAlgorithm' - Specifies the algorithm to use when decrypting the source object (for+-- example, AES256).+--+-- 'copySourceSSECustomerKey', 'copyObject_copySourceSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use to+-- decrypt the source object. The encryption key provided in this header+-- must be one that was used when the source object was created.+--+-- 'copySourceSSECustomerKeyMD5', 'copyObject_copySourceSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'expectedBucketOwner', 'copyObject_expectedBucketOwner' - The account ID of the expected destination bucket owner. If the+-- destination bucket is owned by a different account, the request fails+-- with the HTTP status code @403 Forbidden@ (access denied).+--+-- 'expectedSourceBucketOwner', 'copyObject_expectedSourceBucketOwner' - The account ID of the expected source bucket owner. If the source bucket+-- is owned by a different account, the request fails with the HTTP status+-- code @403 Forbidden@ (access denied).+--+-- 'expires', 'copyObject_expires' - The date and time at which the object is no longer cacheable.+--+-- 'grantFullControl', 'copyObject_grantFullControl' - Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantRead', 'copyObject_grantRead' - Allows grantee to read the object data and its metadata.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantReadACP', 'copyObject_grantReadACP' - Allows grantee to read the object ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantWriteACP', 'copyObject_grantWriteACP' - Allows grantee to write the ACL for the applicable object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'metadata', 'copyObject_metadata' - A map of metadata to store with the object in S3.+--+-- 'metadataDirective', 'copyObject_metadataDirective' - Specifies whether the metadata is copied from the source object or+-- replaced with metadata provided in the request.+--+-- 'objectLockLegalHoldStatus', 'copyObject_objectLockLegalHoldStatus' - Specifies whether you want to apply a legal hold to the copied object.+--+-- 'objectLockMode', 'copyObject_objectLockMode' - The Object Lock mode that you want to apply to the copied object.+--+-- 'objectLockRetainUntilDate', 'copyObject_objectLockRetainUntilDate' - The date and time when you want the copied object\'s Object Lock to+-- expire.+--+-- 'requestPayer', 'copyObject_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'copyObject_sSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'copyObject_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+--+-- 'sSECustomerKeyMD5', 'copyObject_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'sSEKMSEncryptionContext', 'copyObject_sSEKMSEncryptionContext' - Specifies the Amazon Web Services KMS Encryption Context to use for+-- object encryption. The value of this header is a base64-encoded UTF-8+-- string holding JSON with the encryption context key-value pairs.+--+-- 'sSEKMSKeyId', 'copyObject_sSEKMSKeyId' - Specifies the Amazon Web Services KMS key ID to use for object+-- encryption. All GET and PUT requests for an object protected by Amazon+-- Web Services KMS will fail if not made via SSL or using SigV4. For+-- information about configuring using any of the officially supported+-- Amazon Web Services SDKs and Amazon Web Services CLI, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version Specifying the Signature Version in Request Authentication>+-- in the /Amazon S3 User Guide/.+--+-- 'serverSideEncryption', 'copyObject_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'storageClass', 'copyObject_storageClass' - By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+--+-- 'tagging', 'copyObject_tagging' - The tag-set for the object destination object this value must be used in+-- conjunction with the @TaggingDirective@. The tag-set must be encoded as+-- URL Query parameters.+--+-- 'taggingDirective', 'copyObject_taggingDirective' - Specifies whether the object tag-set are copied from the source object+-- or replaced with tag-set provided in the request.+--+-- 'websiteRedirectLocation', 'copyObject_websiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+--+-- 'bucket', 'copyObject_bucket' - The name of the destination bucket.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'copySource', 'copyObject_copySource' - Specifies the source object for the copy operation. You specify the+-- value in one of two formats, depending on whether you want to access the+-- source object through an+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html access point>:+--+-- -   For objects not accessed through an access point, specify the name+--     of the source bucket and the key of the source object, separated by+--     a slash (\/). For example, to copy the object @reports\/january.pdf@+--     from the bucket @awsexamplebucket@, use+--     @awsexamplebucket\/reports\/january.pdf@. The value must be+--     URL-encoded.+--+-- -   For objects accessed through access points, specify the Amazon+--     Resource Name (ARN) of the object as accessed through the access+--     point, in the format+--     @arn:aws:s3:\<Region>:\<account-id>:accesspoint\/\<access-point-name>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     access point @my-access-point@ owned by account @123456789012@ in+--     Region @us-west-2@, use the URL encoding of+--     @arn:aws:s3:us-west-2:123456789012:accesspoint\/my-access-point\/object\/reports\/january.pdf@.+--     The value must be URL encoded.+--+--     Amazon S3 supports copy operations using access points only when the+--     source and destination buckets are in the same Amazon Web Services+--     Region.+--+--     Alternatively, for objects accessed through Amazon S3 on Outposts,+--     specify the ARN of the object as accessed in the format+--     @arn:aws:s3-outposts:\<Region>:\<account-id>:outpost\/\<outpost-id>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     outpost @my-outpost@ owned by account @123456789012@ in Region+--     @us-west-2@, use the URL encoding of+--     @arn:aws:s3-outposts:us-west-2:123456789012:outpost\/my-outpost\/object\/reports\/january.pdf@.+--     The value must be URL-encoded.+--+-- To copy a specific version of an object, append+-- @?versionId=\<version-id>@ to the value (for example,+-- @awsexamplebucket\/reports\/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893@).+-- If you don\'t specify a version ID, Amazon S3 copies the latest version+-- of the source object.+--+-- 'key', 'copyObject_key' - The key of the destination object.+newCopyObject ::+  -- | 'bucket'+  BucketName ->+  -- | 'copySource'+  Prelude.Text ->+  -- | 'key'+  ObjectKey ->+  CopyObject+newCopyObject pBucket_ pCopySource_ pKey_ =+  CopyObject'+    { acl = Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing,+      cacheControl = Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      contentDisposition = Prelude.Nothing,+      contentEncoding = Prelude.Nothing,+      contentLanguage = Prelude.Nothing,+      contentType = Prelude.Nothing,+      copySourceIfMatch = Prelude.Nothing,+      copySourceIfModifiedSince = Prelude.Nothing,+      copySourceIfNoneMatch = Prelude.Nothing,+      copySourceIfUnmodifiedSince = Prelude.Nothing,+      copySourceSSECustomerAlgorithm = Prelude.Nothing,+      copySourceSSECustomerKey = Prelude.Nothing,+      copySourceSSECustomerKeyMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      expectedSourceBucketOwner = Prelude.Nothing,+      expires = Prelude.Nothing,+      grantFullControl = Prelude.Nothing,+      grantRead = Prelude.Nothing,+      grantReadACP = Prelude.Nothing,+      grantWriteACP = Prelude.Nothing,+      metadata = Prelude.mempty,+      metadataDirective = Prelude.Nothing,+      objectLockLegalHoldStatus = Prelude.Nothing,+      objectLockMode = Prelude.Nothing,+      objectLockRetainUntilDate = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSEncryptionContext = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      tagging = Prelude.Nothing,+      taggingDirective = Prelude.Nothing,+      websiteRedirectLocation = Prelude.Nothing,+      bucket = pBucket_,+      copySource = pCopySource_,+      key = pKey_+    }++-- | The canned ACL to apply to the object.+--+-- This action is not supported by Amazon S3 on Outposts.+copyObject_acl :: Lens.Lens' CopyObject (Prelude.Maybe ObjectCannedACL)+copyObject_acl = Lens.lens (\CopyObject' {acl} -> acl) (\s@CopyObject' {} a -> s {acl = a} :: CopyObject)++-- | Specifies whether Amazon S3 should use an S3 Bucket Key for object+-- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+-- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+-- object encryption with SSE-KMS.+--+-- Specifying this header with a COPY action doesn’t affect bucket-level+-- settings for S3 Bucket Key.+copyObject_bucketKeyEnabled :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Bool)+copyObject_bucketKeyEnabled = Lens.lens (\CopyObject' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@CopyObject' {} a -> s {bucketKeyEnabled = a} :: CopyObject)++-- | Specifies caching behavior along the request\/reply chain.+copyObject_cacheControl :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_cacheControl = Lens.lens (\CopyObject' {cacheControl} -> cacheControl) (\s@CopyObject' {} a -> s {cacheControl = a} :: CopyObject)++-- | Indicates the algorithm you want Amazon S3 to use to create the checksum+-- for the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyObject_checksumAlgorithm :: Lens.Lens' CopyObject (Prelude.Maybe ChecksumAlgorithm)+copyObject_checksumAlgorithm = Lens.lens (\CopyObject' {checksumAlgorithm} -> checksumAlgorithm) (\s@CopyObject' {} a -> s {checksumAlgorithm = a} :: CopyObject)++-- | Specifies presentational information for the object.+copyObject_contentDisposition :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_contentDisposition = Lens.lens (\CopyObject' {contentDisposition} -> contentDisposition) (\s@CopyObject' {} a -> s {contentDisposition = a} :: CopyObject)++-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+copyObject_contentEncoding :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_contentEncoding = Lens.lens (\CopyObject' {contentEncoding} -> contentEncoding) (\s@CopyObject' {} a -> s {contentEncoding = a} :: CopyObject)++-- | The language the content is in.+copyObject_contentLanguage :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_contentLanguage = Lens.lens (\CopyObject' {contentLanguage} -> contentLanguage) (\s@CopyObject' {} a -> s {contentLanguage = a} :: CopyObject)++-- | A standard MIME type describing the format of the object data.+copyObject_contentType :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_contentType = Lens.lens (\CopyObject' {contentType} -> contentType) (\s@CopyObject' {} a -> s {contentType = a} :: CopyObject)++-- | Copies the object if its entity tag (ETag) matches the specified tag.+copyObject_copySourceIfMatch :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_copySourceIfMatch = Lens.lens (\CopyObject' {copySourceIfMatch} -> copySourceIfMatch) (\s@CopyObject' {} a -> s {copySourceIfMatch = a} :: CopyObject)++-- | Copies the object if it has been modified since the specified time.+copyObject_copySourceIfModifiedSince :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.UTCTime)+copyObject_copySourceIfModifiedSince = Lens.lens (\CopyObject' {copySourceIfModifiedSince} -> copySourceIfModifiedSince) (\s@CopyObject' {} a -> s {copySourceIfModifiedSince = a} :: CopyObject) Prelude.. Lens.mapping Data._Time++-- | Copies the object if its entity tag (ETag) is different than the+-- specified ETag.+copyObject_copySourceIfNoneMatch :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_copySourceIfNoneMatch = Lens.lens (\CopyObject' {copySourceIfNoneMatch} -> copySourceIfNoneMatch) (\s@CopyObject' {} a -> s {copySourceIfNoneMatch = a} :: CopyObject)++-- | Copies the object if it hasn\'t been modified since the specified time.+copyObject_copySourceIfUnmodifiedSince :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.UTCTime)+copyObject_copySourceIfUnmodifiedSince = Lens.lens (\CopyObject' {copySourceIfUnmodifiedSince} -> copySourceIfUnmodifiedSince) (\s@CopyObject' {} a -> s {copySourceIfUnmodifiedSince = a} :: CopyObject) Prelude.. Lens.mapping Data._Time++-- | Specifies the algorithm to use when decrypting the source object (for+-- example, AES256).+copyObject_copySourceSSECustomerAlgorithm :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_copySourceSSECustomerAlgorithm = Lens.lens (\CopyObject' {copySourceSSECustomerAlgorithm} -> copySourceSSECustomerAlgorithm) (\s@CopyObject' {} a -> s {copySourceSSECustomerAlgorithm = a} :: CopyObject)++-- | Specifies the customer-provided encryption key for Amazon S3 to use to+-- decrypt the source object. The encryption key provided in this header+-- must be one that was used when the source object was created.+copyObject_copySourceSSECustomerKey :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_copySourceSSECustomerKey = Lens.lens (\CopyObject' {copySourceSSECustomerKey} -> copySourceSSECustomerKey) (\s@CopyObject' {} a -> s {copySourceSSECustomerKey = a} :: CopyObject) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+copyObject_copySourceSSECustomerKeyMD5 :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_copySourceSSECustomerKeyMD5 = Lens.lens (\CopyObject' {copySourceSSECustomerKeyMD5} -> copySourceSSECustomerKeyMD5) (\s@CopyObject' {} a -> s {copySourceSSECustomerKeyMD5 = a} :: CopyObject)++-- | The account ID of the expected destination bucket owner. If the+-- destination bucket is owned by a different account, the request fails+-- with the HTTP status code @403 Forbidden@ (access denied).+copyObject_expectedBucketOwner :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_expectedBucketOwner = Lens.lens (\CopyObject' {expectedBucketOwner} -> expectedBucketOwner) (\s@CopyObject' {} a -> s {expectedBucketOwner = a} :: CopyObject)++-- | The account ID of the expected source bucket owner. If the source bucket+-- is owned by a different account, the request fails with the HTTP status+-- code @403 Forbidden@ (access denied).+copyObject_expectedSourceBucketOwner :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_expectedSourceBucketOwner = Lens.lens (\CopyObject' {expectedSourceBucketOwner} -> expectedSourceBucketOwner) (\s@CopyObject' {} a -> s {expectedSourceBucketOwner = a} :: CopyObject)++-- | The date and time at which the object is no longer cacheable.+copyObject_expires :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.UTCTime)+copyObject_expires = Lens.lens (\CopyObject' {expires} -> expires) (\s@CopyObject' {} a -> s {expires = a} :: CopyObject) Prelude.. Lens.mapping Data._Time++-- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+--+-- This action is not supported by Amazon S3 on Outposts.+copyObject_grantFullControl :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_grantFullControl = Lens.lens (\CopyObject' {grantFullControl} -> grantFullControl) (\s@CopyObject' {} a -> s {grantFullControl = a} :: CopyObject)++-- | Allows grantee to read the object data and its metadata.+--+-- This action is not supported by Amazon S3 on Outposts.+copyObject_grantRead :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_grantRead = Lens.lens (\CopyObject' {grantRead} -> grantRead) (\s@CopyObject' {} a -> s {grantRead = a} :: CopyObject)++-- | Allows grantee to read the object ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+copyObject_grantReadACP :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_grantReadACP = Lens.lens (\CopyObject' {grantReadACP} -> grantReadACP) (\s@CopyObject' {} a -> s {grantReadACP = a} :: CopyObject)++-- | Allows grantee to write the ACL for the applicable object.+--+-- This action is not supported by Amazon S3 on Outposts.+copyObject_grantWriteACP :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_grantWriteACP = Lens.lens (\CopyObject' {grantWriteACP} -> grantWriteACP) (\s@CopyObject' {} a -> s {grantWriteACP = a} :: CopyObject)++-- | A map of metadata to store with the object in S3.+copyObject_metadata :: Lens.Lens' CopyObject (Prelude.HashMap Prelude.Text Prelude.Text)+copyObject_metadata = Lens.lens (\CopyObject' {metadata} -> metadata) (\s@CopyObject' {} a -> s {metadata = a} :: CopyObject) Prelude.. Lens.coerced++-- | Specifies whether the metadata is copied from the source object or+-- replaced with metadata provided in the request.+copyObject_metadataDirective :: Lens.Lens' CopyObject (Prelude.Maybe MetadataDirective)+copyObject_metadataDirective = Lens.lens (\CopyObject' {metadataDirective} -> metadataDirective) (\s@CopyObject' {} a -> s {metadataDirective = a} :: CopyObject)++-- | Specifies whether you want to apply a legal hold to the copied object.+copyObject_objectLockLegalHoldStatus :: Lens.Lens' CopyObject (Prelude.Maybe ObjectLockLegalHoldStatus)+copyObject_objectLockLegalHoldStatus = Lens.lens (\CopyObject' {objectLockLegalHoldStatus} -> objectLockLegalHoldStatus) (\s@CopyObject' {} a -> s {objectLockLegalHoldStatus = a} :: CopyObject)++-- | The Object Lock mode that you want to apply to the copied object.+copyObject_objectLockMode :: Lens.Lens' CopyObject (Prelude.Maybe ObjectLockMode)+copyObject_objectLockMode = Lens.lens (\CopyObject' {objectLockMode} -> objectLockMode) (\s@CopyObject' {} a -> s {objectLockMode = a} :: CopyObject)++-- | The date and time when you want the copied object\'s Object Lock to+-- expire.+copyObject_objectLockRetainUntilDate :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.UTCTime)+copyObject_objectLockRetainUntilDate = Lens.lens (\CopyObject' {objectLockRetainUntilDate} -> objectLockRetainUntilDate) (\s@CopyObject' {} a -> s {objectLockRetainUntilDate = a} :: CopyObject) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+copyObject_requestPayer :: Lens.Lens' CopyObject (Prelude.Maybe RequestPayer)+copyObject_requestPayer = Lens.lens (\CopyObject' {requestPayer} -> requestPayer) (\s@CopyObject' {} a -> s {requestPayer = a} :: CopyObject)++-- | Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+copyObject_sSECustomerAlgorithm :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_sSECustomerAlgorithm = Lens.lens (\CopyObject' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@CopyObject' {} a -> s {sSECustomerAlgorithm = a} :: CopyObject)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+copyObject_sSECustomerKey :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_sSECustomerKey = Lens.lens (\CopyObject' {sSECustomerKey} -> sSECustomerKey) (\s@CopyObject' {} a -> s {sSECustomerKey = a} :: CopyObject) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+copyObject_sSECustomerKeyMD5 :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_sSECustomerKeyMD5 = Lens.lens (\CopyObject' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@CopyObject' {} a -> s {sSECustomerKeyMD5 = a} :: CopyObject)++-- | Specifies the Amazon Web Services KMS Encryption Context to use for+-- object encryption. The value of this header is a base64-encoded UTF-8+-- string holding JSON with the encryption context key-value pairs.+copyObject_sSEKMSEncryptionContext :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_sSEKMSEncryptionContext = Lens.lens (\CopyObject' {sSEKMSEncryptionContext} -> sSEKMSEncryptionContext) (\s@CopyObject' {} a -> s {sSEKMSEncryptionContext = a} :: CopyObject) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the Amazon Web Services KMS key ID to use for object+-- encryption. All GET and PUT requests for an object protected by Amazon+-- Web Services KMS will fail if not made via SSL or using SigV4. For+-- information about configuring using any of the officially supported+-- Amazon Web Services SDKs and Amazon Web Services CLI, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version Specifying the Signature Version in Request Authentication>+-- in the /Amazon S3 User Guide/.+copyObject_sSEKMSKeyId :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_sSEKMSKeyId = Lens.lens (\CopyObject' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@CopyObject' {} a -> s {sSEKMSKeyId = a} :: CopyObject) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+copyObject_serverSideEncryption :: Lens.Lens' CopyObject (Prelude.Maybe ServerSideEncryption)+copyObject_serverSideEncryption = Lens.lens (\CopyObject' {serverSideEncryption} -> serverSideEncryption) (\s@CopyObject' {} a -> s {serverSideEncryption = a} :: CopyObject)++-- | By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+copyObject_storageClass :: Lens.Lens' CopyObject (Prelude.Maybe StorageClass)+copyObject_storageClass = Lens.lens (\CopyObject' {storageClass} -> storageClass) (\s@CopyObject' {} a -> s {storageClass = a} :: CopyObject)++-- | The tag-set for the object destination object this value must be used in+-- conjunction with the @TaggingDirective@. The tag-set must be encoded as+-- URL Query parameters.+copyObject_tagging :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_tagging = Lens.lens (\CopyObject' {tagging} -> tagging) (\s@CopyObject' {} a -> s {tagging = a} :: CopyObject)++-- | Specifies whether the object tag-set are copied from the source object+-- or replaced with tag-set provided in the request.+copyObject_taggingDirective :: Lens.Lens' CopyObject (Prelude.Maybe TaggingDirective)+copyObject_taggingDirective = Lens.lens (\CopyObject' {taggingDirective} -> taggingDirective) (\s@CopyObject' {} a -> s {taggingDirective = a} :: CopyObject)++-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+copyObject_websiteRedirectLocation :: Lens.Lens' CopyObject (Prelude.Maybe Prelude.Text)+copyObject_websiteRedirectLocation = Lens.lens (\CopyObject' {websiteRedirectLocation} -> websiteRedirectLocation) (\s@CopyObject' {} a -> s {websiteRedirectLocation = a} :: CopyObject)++-- | The name of the destination bucket.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+copyObject_bucket :: Lens.Lens' CopyObject BucketName+copyObject_bucket = Lens.lens (\CopyObject' {bucket} -> bucket) (\s@CopyObject' {} a -> s {bucket = a} :: CopyObject)++-- | Specifies the source object for the copy operation. You specify the+-- value in one of two formats, depending on whether you want to access the+-- source object through an+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html access point>:+--+-- -   For objects not accessed through an access point, specify the name+--     of the source bucket and the key of the source object, separated by+--     a slash (\/). For example, to copy the object @reports\/january.pdf@+--     from the bucket @awsexamplebucket@, use+--     @awsexamplebucket\/reports\/january.pdf@. The value must be+--     URL-encoded.+--+-- -   For objects accessed through access points, specify the Amazon+--     Resource Name (ARN) of the object as accessed through the access+--     point, in the format+--     @arn:aws:s3:\<Region>:\<account-id>:accesspoint\/\<access-point-name>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     access point @my-access-point@ owned by account @123456789012@ in+--     Region @us-west-2@, use the URL encoding of+--     @arn:aws:s3:us-west-2:123456789012:accesspoint\/my-access-point\/object\/reports\/january.pdf@.+--     The value must be URL encoded.+--+--     Amazon S3 supports copy operations using access points only when the+--     source and destination buckets are in the same Amazon Web Services+--     Region.+--+--     Alternatively, for objects accessed through Amazon S3 on Outposts,+--     specify the ARN of the object as accessed in the format+--     @arn:aws:s3-outposts:\<Region>:\<account-id>:outpost\/\<outpost-id>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     outpost @my-outpost@ owned by account @123456789012@ in Region+--     @us-west-2@, use the URL encoding of+--     @arn:aws:s3-outposts:us-west-2:123456789012:outpost\/my-outpost\/object\/reports\/january.pdf@.+--     The value must be URL-encoded.+--+-- To copy a specific version of an object, append+-- @?versionId=\<version-id>@ to the value (for example,+-- @awsexamplebucket\/reports\/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893@).+-- If you don\'t specify a version ID, Amazon S3 copies the latest version+-- of the source object.+copyObject_copySource :: Lens.Lens' CopyObject Prelude.Text+copyObject_copySource = Lens.lens (\CopyObject' {copySource} -> copySource) (\s@CopyObject' {} a -> s {copySource = a} :: CopyObject)++-- | The key of the destination object.+copyObject_key :: Lens.Lens' CopyObject ObjectKey+copyObject_key = Lens.lens (\CopyObject' {key} -> key) (\s@CopyObject' {} a -> s {key = a} :: CopyObject)++instance Core.AWSRequest CopyObject where+  type AWSResponse CopyObject = CopyObjectResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.put (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          CopyObjectResponse'+            Prelude.<$> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (Data.parseXML x)+            Prelude.<*> (h Data..#? "x-amz-copy-source-version-id")+            Prelude.<*> (h Data..#? "x-amz-expiration")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption-context")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CopyObject where+  hashWithSalt _salt CopyObject' {..} =+    _salt+      `Prelude.hashWithSalt` acl+      `Prelude.hashWithSalt` bucketKeyEnabled+      `Prelude.hashWithSalt` cacheControl+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentDisposition+      `Prelude.hashWithSalt` contentEncoding+      `Prelude.hashWithSalt` contentLanguage+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` copySourceIfMatch+      `Prelude.hashWithSalt` copySourceIfModifiedSince+      `Prelude.hashWithSalt` copySourceIfNoneMatch+      `Prelude.hashWithSalt` copySourceIfUnmodifiedSince+      `Prelude.hashWithSalt` copySourceSSECustomerAlgorithm+      `Prelude.hashWithSalt` copySourceSSECustomerKey+      `Prelude.hashWithSalt` copySourceSSECustomerKeyMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` expectedSourceBucketOwner+      `Prelude.hashWithSalt` expires+      `Prelude.hashWithSalt` grantFullControl+      `Prelude.hashWithSalt` grantRead+      `Prelude.hashWithSalt` grantReadACP+      `Prelude.hashWithSalt` grantWriteACP+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` metadataDirective+      `Prelude.hashWithSalt` objectLockLegalHoldStatus+      `Prelude.hashWithSalt` objectLockMode+      `Prelude.hashWithSalt` objectLockRetainUntilDate+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` sSEKMSEncryptionContext+      `Prelude.hashWithSalt` sSEKMSKeyId+      `Prelude.hashWithSalt` serverSideEncryption+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` tagging+      `Prelude.hashWithSalt` taggingDirective+      `Prelude.hashWithSalt` websiteRedirectLocation+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` copySource+      `Prelude.hashWithSalt` key++instance Prelude.NFData CopyObject where+  rnf CopyObject' {..} =+    Prelude.rnf acl+      `Prelude.seq` Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf cacheControl+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentDisposition+      `Prelude.seq` Prelude.rnf contentEncoding+      `Prelude.seq` Prelude.rnf contentLanguage+      `Prelude.seq` Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf copySourceIfMatch+      `Prelude.seq` Prelude.rnf copySourceIfModifiedSince+      `Prelude.seq` Prelude.rnf copySourceIfNoneMatch+      `Prelude.seq` Prelude.rnf copySourceIfUnmodifiedSince+      `Prelude.seq` Prelude.rnf copySourceSSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf copySourceSSECustomerKey+      `Prelude.seq` Prelude.rnf copySourceSSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf+        expectedSourceBucketOwner+      `Prelude.seq` Prelude.rnf expires+      `Prelude.seq` Prelude.rnf grantFullControl+      `Prelude.seq` Prelude.rnf grantRead+      `Prelude.seq` Prelude.rnf grantReadACP+      `Prelude.seq` Prelude.rnf grantWriteACP+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf+        metadataDirective+      `Prelude.seq` Prelude.rnf+        objectLockLegalHoldStatus+      `Prelude.seq` Prelude.rnf+        objectLockMode+      `Prelude.seq` Prelude.rnf+        objectLockRetainUntilDate+      `Prelude.seq` Prelude.rnf+        requestPayer+      `Prelude.seq` Prelude.rnf+        sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf+        sSECustomerKey+      `Prelude.seq` Prelude.rnf+        sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf+        sSEKMSEncryptionContext+      `Prelude.seq` Prelude.rnf+        sSEKMSKeyId+      `Prelude.seq` Prelude.rnf+        serverSideEncryption+      `Prelude.seq` Prelude.rnf+        storageClass+      `Prelude.seq` Prelude.rnf+        tagging+      `Prelude.seq` Prelude.rnf+        taggingDirective+      `Prelude.seq` Prelude.rnf+        websiteRedirectLocation+      `Prelude.seq` Prelude.rnf+        bucket+      `Prelude.seq` Prelude.rnf+        copySource+      `Prelude.seq` Prelude.rnf+        key++instance Data.ToHeaders CopyObject where+  toHeaders CopyObject' {..} =+    Prelude.mconcat+      [ "x-amz-acl" Data.=# acl,+        "x-amz-server-side-encryption-bucket-key-enabled"+          Data.=# bucketKeyEnabled,+        "Cache-Control" Data.=# cacheControl,+        "x-amz-checksum-algorithm" Data.=# checksumAlgorithm,+        "Content-Disposition" Data.=# contentDisposition,+        "Content-Encoding" Data.=# contentEncoding,+        "Content-Language" Data.=# contentLanguage,+        "Content-Type" Data.=# contentType,+        "x-amz-copy-source-if-match"+          Data.=# copySourceIfMatch,+        "x-amz-copy-source-if-modified-since"+          Data.=# copySourceIfModifiedSince,+        "x-amz-copy-source-if-none-match"+          Data.=# copySourceIfNoneMatch,+        "x-amz-copy-source-if-unmodified-since"+          Data.=# copySourceIfUnmodifiedSince,+        "x-amz-copy-source-server-side-encryption-customer-algorithm"+          Data.=# copySourceSSECustomerAlgorithm,+        "x-amz-copy-source-server-side-encryption-customer-key"+          Data.=# copySourceSSECustomerKey,+        "x-amz-copy-source-server-side-encryption-customer-key-MD5"+          Data.=# copySourceSSECustomerKeyMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-source-expected-bucket-owner"+          Data.=# expectedSourceBucketOwner,+        "Expires" Data.=# expires,+        "x-amz-grant-full-control" Data.=# grantFullControl,+        "x-amz-grant-read" Data.=# grantRead,+        "x-amz-grant-read-acp" Data.=# grantReadACP,+        "x-amz-grant-write-acp" Data.=# grantWriteACP,+        "x-amz-meta-" Data.=# metadata,+        "x-amz-metadata-directive" Data.=# metadataDirective,+        "x-amz-object-lock-legal-hold"+          Data.=# objectLockLegalHoldStatus,+        "x-amz-object-lock-mode" Data.=# objectLockMode,+        "x-amz-object-lock-retain-until-date"+          Data.=# objectLockRetainUntilDate,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5,+        "x-amz-server-side-encryption-context"+          Data.=# sSEKMSEncryptionContext,+        "x-amz-server-side-encryption-aws-kms-key-id"+          Data.=# sSEKMSKeyId,+        "x-amz-server-side-encryption"+          Data.=# serverSideEncryption,+        "x-amz-storage-class" Data.=# storageClass,+        "x-amz-tagging" Data.=# tagging,+        "x-amz-tagging-directive" Data.=# taggingDirective,+        "x-amz-website-redirect-location"+          Data.=# websiteRedirectLocation,+        "x-amz-copy-source" Data.=# copySource+      ]++instance Data.ToPath CopyObject where+  toPath CopyObject' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery CopyObject where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCopyObjectResponse' smart constructor.+data CopyObjectResponse = CopyObjectResponse'+  { -- | Indicates whether the copied object uses an S3 Bucket Key for+    -- server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Container for all response elements.+    copyObjectResult :: Prelude.Maybe CopyObjectResult,+    -- | Version of the copied object in the destination bucket.+    copySourceVersionId :: Prelude.Maybe Prelude.Text,+    -- | If the object expiration is configured, the response includes this+    -- header.+    expiration :: Prelude.Maybe Prelude.Text,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the Amazon Web Services KMS Encryption Context to+    -- use for object encryption. The value of this header is a base64-encoded+    -- UTF-8 string holding JSON with the encryption context key-value pairs.+    sSEKMSEncryptionContext :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | Version ID of the newly created copy.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketKeyEnabled', 'copyObjectResponse_bucketKeyEnabled' - Indicates whether the copied object uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'copyObjectResult', 'copyObjectResponse_copyObjectResult' - Container for all response elements.+--+-- 'copySourceVersionId', 'copyObjectResponse_copySourceVersionId' - Version of the copied object in the destination bucket.+--+-- 'expiration', 'copyObjectResponse_expiration' - If the object expiration is configured, the response includes this+-- header.+--+-- 'requestCharged', 'copyObjectResponse_requestCharged' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'copyObjectResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'copyObjectResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSEncryptionContext', 'copyObjectResponse_sSEKMSEncryptionContext' - If present, specifies the Amazon Web Services KMS Encryption Context to+-- use for object encryption. The value of this header is a base64-encoded+-- UTF-8 string holding JSON with the encryption context key-value pairs.+--+-- 'sSEKMSKeyId', 'copyObjectResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+--+-- 'serverSideEncryption', 'copyObjectResponse_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'versionId', 'copyObjectResponse_versionId' - Version ID of the newly created copy.+--+-- 'httpStatus', 'copyObjectResponse_httpStatus' - The response's http status code.+newCopyObjectResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CopyObjectResponse+newCopyObjectResponse pHttpStatus_ =+  CopyObjectResponse'+    { bucketKeyEnabled =+        Prelude.Nothing,+      copyObjectResult = Prelude.Nothing,+      copySourceVersionId = Prelude.Nothing,+      expiration = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSEncryptionContext = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      versionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates whether the copied object uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+copyObjectResponse_bucketKeyEnabled :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Bool)+copyObjectResponse_bucketKeyEnabled = Lens.lens (\CopyObjectResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@CopyObjectResponse' {} a -> s {bucketKeyEnabled = a} :: CopyObjectResponse)++-- | Container for all response elements.+copyObjectResponse_copyObjectResult :: Lens.Lens' CopyObjectResponse (Prelude.Maybe CopyObjectResult)+copyObjectResponse_copyObjectResult = Lens.lens (\CopyObjectResponse' {copyObjectResult} -> copyObjectResult) (\s@CopyObjectResponse' {} a -> s {copyObjectResult = a} :: CopyObjectResponse)++-- | Version of the copied object in the destination bucket.+copyObjectResponse_copySourceVersionId :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Text)+copyObjectResponse_copySourceVersionId = Lens.lens (\CopyObjectResponse' {copySourceVersionId} -> copySourceVersionId) (\s@CopyObjectResponse' {} a -> s {copySourceVersionId = a} :: CopyObjectResponse)++-- | If the object expiration is configured, the response includes this+-- header.+copyObjectResponse_expiration :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Text)+copyObjectResponse_expiration = Lens.lens (\CopyObjectResponse' {expiration} -> expiration) (\s@CopyObjectResponse' {} a -> s {expiration = a} :: CopyObjectResponse)++-- | Undocumented member.+copyObjectResponse_requestCharged :: Lens.Lens' CopyObjectResponse (Prelude.Maybe RequestCharged)+copyObjectResponse_requestCharged = Lens.lens (\CopyObjectResponse' {requestCharged} -> requestCharged) (\s@CopyObjectResponse' {} a -> s {requestCharged = a} :: CopyObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+copyObjectResponse_sSECustomerAlgorithm :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Text)+copyObjectResponse_sSECustomerAlgorithm = Lens.lens (\CopyObjectResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@CopyObjectResponse' {} a -> s {sSECustomerAlgorithm = a} :: CopyObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+copyObjectResponse_sSECustomerKeyMD5 :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Text)+copyObjectResponse_sSECustomerKeyMD5 = Lens.lens (\CopyObjectResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@CopyObjectResponse' {} a -> s {sSECustomerKeyMD5 = a} :: CopyObjectResponse)++-- | If present, specifies the Amazon Web Services KMS Encryption Context to+-- use for object encryption. The value of this header is a base64-encoded+-- UTF-8 string holding JSON with the encryption context key-value pairs.+copyObjectResponse_sSEKMSEncryptionContext :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Text)+copyObjectResponse_sSEKMSEncryptionContext = Lens.lens (\CopyObjectResponse' {sSEKMSEncryptionContext} -> sSEKMSEncryptionContext) (\s@CopyObjectResponse' {} a -> s {sSEKMSEncryptionContext = a} :: CopyObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+copyObjectResponse_sSEKMSKeyId :: Lens.Lens' CopyObjectResponse (Prelude.Maybe Prelude.Text)+copyObjectResponse_sSEKMSKeyId = Lens.lens (\CopyObjectResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@CopyObjectResponse' {} a -> s {sSEKMSKeyId = a} :: CopyObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+copyObjectResponse_serverSideEncryption :: Lens.Lens' CopyObjectResponse (Prelude.Maybe ServerSideEncryption)+copyObjectResponse_serverSideEncryption = Lens.lens (\CopyObjectResponse' {serverSideEncryption} -> serverSideEncryption) (\s@CopyObjectResponse' {} a -> s {serverSideEncryption = a} :: CopyObjectResponse)++-- | Version ID of the newly created copy.+copyObjectResponse_versionId :: Lens.Lens' CopyObjectResponse (Prelude.Maybe ObjectVersionId)+copyObjectResponse_versionId = Lens.lens (\CopyObjectResponse' {versionId} -> versionId) (\s@CopyObjectResponse' {} a -> s {versionId = a} :: CopyObjectResponse)++-- | The response's http status code.+copyObjectResponse_httpStatus :: Lens.Lens' CopyObjectResponse Prelude.Int+copyObjectResponse_httpStatus = Lens.lens (\CopyObjectResponse' {httpStatus} -> httpStatus) (\s@CopyObjectResponse' {} a -> s {httpStatus = a} :: CopyObjectResponse)++instance Prelude.NFData CopyObjectResponse where+  rnf CopyObjectResponse' {..} =+    Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf copyObjectResult+      `Prelude.seq` Prelude.rnf copySourceVersionId+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf sSEKMSEncryptionContext+      `Prelude.seq` Prelude.rnf sSEKMSKeyId+      `Prelude.seq` Prelude.rnf serverSideEncryption+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/CreateBucket.hs view
@@ -0,0 +1,418 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.CreateBucket+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new S3 bucket. To create a bucket, you must register with+-- Amazon S3 and have a valid Amazon Web Services Access Key ID to+-- authenticate requests. Anonymous requests are never allowed to create+-- buckets. By creating the bucket, you become the bucket owner.+--+-- Not every string is an acceptable bucket name. For information about+-- bucket naming restrictions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html Bucket naming rules>.+--+-- If you want to create an Amazon S3 on Outposts bucket, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html Create Bucket>.+--+-- By default, the bucket is created in the US East (N. Virginia) Region.+-- You can optionally specify a Region in the request body. You might+-- choose a Region to optimize latency, minimize costs, or address+-- regulatory requirements. For example, if you reside in Europe, you will+-- probably find it advantageous to create buckets in the Europe (Ireland)+-- Region. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro Accessing a bucket>.+--+-- If you send your create bucket request to the @s3.amazonaws.com@+-- endpoint, the request goes to the us-east-1 Region. Accordingly, the+-- signature calculations in Signature Version 4 must use us-east-1 as the+-- Region, even if the location constraint in the request specifies another+-- Region where the bucket is to be created. If you create a bucket in a+-- Region other than US East (N. Virginia), your application must be able+-- to handle 307 redirect. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html Virtual hosting of buckets>.+--+-- __Access control lists (ACLs)__+--+-- When creating a bucket using this operation, you can optionally+-- configure the bucket ACL to specify the accounts or groups that should+-- be granted specific permissions on the bucket.+--+-- If your CreateBucket request sets bucket owner enforced for S3 Object+-- Ownership and specifies a bucket ACL that provides access to an external+-- Amazon Web Services account, your request fails with a @400@ error and+-- returns the @InvalidBucketAclWithObjectOwnership@ error code. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling object ownership>+-- in the /Amazon S3 User Guide/.+--+-- There are two ways to grant the appropriate permissions using the+-- request headers.+--+-- -   Specify a canned ACL using the @x-amz-acl@ request header. Amazon S3+--     supports a set of predefined ACLs, known as /canned ACLs/. Each+--     canned ACL has a predefined set of grantees and permissions. For+--     more information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+-- -   Specify access permissions explicitly using the @x-amz-grant-read@,+--     @x-amz-grant-write@, @x-amz-grant-read-acp@,+--     @x-amz-grant-write-acp@, and @x-amz-grant-full-control@ headers.+--     These headers map to the set of permissions Amazon S3 supports in an+--     ACL. For more information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html Access control list (ACL) overview>.+--+--     You specify each grantee as a type=value pair, where the type is one+--     of the following:+--+--     -   @id@ – if the value specified is the canonical user ID of an+--         Amazon Web Services account+--+--     -   @uri@ – if you are granting permissions to a predefined group+--+--     -   @emailAddress@ – if the value specified is the email address of+--         an Amazon Web Services account+--+--         Using email addresses to specify a grantee is only supported in+--         the following Amazon Web Services Regions:+--+--         -   US East (N. Virginia)+--+--         -   US West (N. California)+--+--         -   US West (Oregon)+--+--         -   Asia Pacific (Singapore)+--+--         -   Asia Pacific (Sydney)+--+--         -   Asia Pacific (Tokyo)+--+--         -   Europe (Ireland)+--+--         -   South America (São Paulo)+--+--         For a list of all the Amazon S3 supported Regions and endpoints,+--         see+--         <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+--         in the Amazon Web Services General Reference.+--+--     For example, the following @x-amz-grant-read@ header grants the+--     Amazon Web Services accounts identified by account IDs permissions+--     to read object data and its metadata:+--+--     @x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" @+--+-- You can use either a canned ACL or specify access permissions+-- explicitly. You cannot do both.+--+-- __Permissions__+--+-- In addition to @s3:CreateBucket@, the following permissions are required+-- when your CreateBucket includes specific headers:+--+-- -   __ACLs__ - If your @CreateBucket@ request specifies ACL permissions+--     and the ACL is public-read, public-read-write, authenticated-read,+--     or if you specify access permissions explicitly through any other+--     ACL, both @s3:CreateBucket@ and @s3:PutBucketAcl@ permissions are+--     needed. If the ACL the @CreateBucket@ request is private or doesn\'t+--     specify any ACLs, only @s3:CreateBucket@ permission is needed.+--+-- -   __Object Lock__ - If @ObjectLockEnabledForBucket@ is set to true in+--     your @CreateBucket@ request, @s3:PutBucketObjectLockConfiguration@+--     and @s3:PutBucketVersioning@ permissions are required.+--+-- -   __S3 Object Ownership__ - If your CreateBucket request includes the+--     the @x-amz-object-ownership@ header, @s3:PutBucketOwnershipControls@+--     permission is required.+--+-- The following operations are related to @CreateBucket@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html DeleteBucket>+module Amazonka.S3.CreateBucket+  ( -- * Creating a Request+    CreateBucket (..),+    newCreateBucket,++    -- * Request Lenses+    createBucket_acl,+    createBucket_createBucketConfiguration,+    createBucket_grantFullControl,+    createBucket_grantRead,+    createBucket_grantReadACP,+    createBucket_grantWrite,+    createBucket_grantWriteACP,+    createBucket_objectLockEnabledForBucket,+    createBucket_objectOwnership,+    createBucket_bucket,++    -- * Destructuring the Response+    CreateBucketResponse (..),+    newCreateBucketResponse,++    -- * Response Lenses+    createBucketResponse_location,+    createBucketResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newCreateBucket' smart constructor.+data CreateBucket = CreateBucket'+  { -- | The canned ACL to apply to the bucket.+    acl :: Prelude.Maybe BucketCannedACL,+    -- | The configuration information for the bucket.+    createBucketConfiguration :: Prelude.Maybe CreateBucketConfiguration,+    -- | Allows grantee the read, write, read ACP, and write ACP permissions on+    -- the bucket.+    grantFullControl :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to list the objects in the bucket.+    grantRead :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the bucket ACL.+    grantReadACP :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to create new objects in the bucket.+    --+    -- For the bucket and object owners of existing objects, also allows+    -- deletions and overwrites of those objects.+    grantWrite :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to write the ACL for the applicable bucket.+    grantWriteACP :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether you want S3 Object Lock to be enabled for the new+    -- bucket.+    objectLockEnabledForBucket :: Prelude.Maybe Prelude.Bool,+    objectOwnership :: Prelude.Maybe ObjectOwnership,+    -- | The name of the bucket to create.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBucket' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acl', 'createBucket_acl' - The canned ACL to apply to the bucket.+--+-- 'createBucketConfiguration', 'createBucket_createBucketConfiguration' - The configuration information for the bucket.+--+-- 'grantFullControl', 'createBucket_grantFullControl' - Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+--+-- 'grantRead', 'createBucket_grantRead' - Allows grantee to list the objects in the bucket.+--+-- 'grantReadACP', 'createBucket_grantReadACP' - Allows grantee to read the bucket ACL.+--+-- 'grantWrite', 'createBucket_grantWrite' - Allows grantee to create new objects in the bucket.+--+-- For the bucket and object owners of existing objects, also allows+-- deletions and overwrites of those objects.+--+-- 'grantWriteACP', 'createBucket_grantWriteACP' - Allows grantee to write the ACL for the applicable bucket.+--+-- 'objectLockEnabledForBucket', 'createBucket_objectLockEnabledForBucket' - Specifies whether you want S3 Object Lock to be enabled for the new+-- bucket.+--+-- 'objectOwnership', 'createBucket_objectOwnership' - Undocumented member.+--+-- 'bucket', 'createBucket_bucket' - The name of the bucket to create.+newCreateBucket ::+  -- | 'bucket'+  BucketName ->+  CreateBucket+newCreateBucket pBucket_ =+  CreateBucket'+    { acl = Prelude.Nothing,+      createBucketConfiguration = Prelude.Nothing,+      grantFullControl = Prelude.Nothing,+      grantRead = Prelude.Nothing,+      grantReadACP = Prelude.Nothing,+      grantWrite = Prelude.Nothing,+      grantWriteACP = Prelude.Nothing,+      objectLockEnabledForBucket = Prelude.Nothing,+      objectOwnership = Prelude.Nothing,+      bucket = pBucket_+    }++-- | The canned ACL to apply to the bucket.+createBucket_acl :: Lens.Lens' CreateBucket (Prelude.Maybe BucketCannedACL)+createBucket_acl = Lens.lens (\CreateBucket' {acl} -> acl) (\s@CreateBucket' {} a -> s {acl = a} :: CreateBucket)++-- | The configuration information for the bucket.+createBucket_createBucketConfiguration :: Lens.Lens' CreateBucket (Prelude.Maybe CreateBucketConfiguration)+createBucket_createBucketConfiguration = Lens.lens (\CreateBucket' {createBucketConfiguration} -> createBucketConfiguration) (\s@CreateBucket' {} a -> s {createBucketConfiguration = a} :: CreateBucket)++-- | Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+createBucket_grantFullControl :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)+createBucket_grantFullControl = Lens.lens (\CreateBucket' {grantFullControl} -> grantFullControl) (\s@CreateBucket' {} a -> s {grantFullControl = a} :: CreateBucket)++-- | Allows grantee to list the objects in the bucket.+createBucket_grantRead :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)+createBucket_grantRead = Lens.lens (\CreateBucket' {grantRead} -> grantRead) (\s@CreateBucket' {} a -> s {grantRead = a} :: CreateBucket)++-- | Allows grantee to read the bucket ACL.+createBucket_grantReadACP :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)+createBucket_grantReadACP = Lens.lens (\CreateBucket' {grantReadACP} -> grantReadACP) (\s@CreateBucket' {} a -> s {grantReadACP = a} :: CreateBucket)++-- | Allows grantee to create new objects in the bucket.+--+-- For the bucket and object owners of existing objects, also allows+-- deletions and overwrites of those objects.+createBucket_grantWrite :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)+createBucket_grantWrite = Lens.lens (\CreateBucket' {grantWrite} -> grantWrite) (\s@CreateBucket' {} a -> s {grantWrite = a} :: CreateBucket)++-- | Allows grantee to write the ACL for the applicable bucket.+createBucket_grantWriteACP :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Text)+createBucket_grantWriteACP = Lens.lens (\CreateBucket' {grantWriteACP} -> grantWriteACP) (\s@CreateBucket' {} a -> s {grantWriteACP = a} :: CreateBucket)++-- | Specifies whether you want S3 Object Lock to be enabled for the new+-- bucket.+createBucket_objectLockEnabledForBucket :: Lens.Lens' CreateBucket (Prelude.Maybe Prelude.Bool)+createBucket_objectLockEnabledForBucket = Lens.lens (\CreateBucket' {objectLockEnabledForBucket} -> objectLockEnabledForBucket) (\s@CreateBucket' {} a -> s {objectLockEnabledForBucket = a} :: CreateBucket)++-- | Undocumented member.+createBucket_objectOwnership :: Lens.Lens' CreateBucket (Prelude.Maybe ObjectOwnership)+createBucket_objectOwnership = Lens.lens (\CreateBucket' {objectOwnership} -> objectOwnership) (\s@CreateBucket' {} a -> s {objectOwnership = a} :: CreateBucket)++-- | The name of the bucket to create.+createBucket_bucket :: Lens.Lens' CreateBucket BucketName+createBucket_bucket = Lens.lens (\CreateBucket' {bucket} -> bucket) (\s@CreateBucket' {} a -> s {bucket = a} :: CreateBucket)++instance Core.AWSRequest CreateBucket where+  type AWSResponse CreateBucket = CreateBucketResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          CreateBucketResponse'+            Prelude.<$> (h Data..#? "Location")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable CreateBucket where+  hashWithSalt _salt CreateBucket' {..} =+    _salt+      `Prelude.hashWithSalt` acl+      `Prelude.hashWithSalt` createBucketConfiguration+      `Prelude.hashWithSalt` grantFullControl+      `Prelude.hashWithSalt` grantRead+      `Prelude.hashWithSalt` grantReadACP+      `Prelude.hashWithSalt` grantWrite+      `Prelude.hashWithSalt` grantWriteACP+      `Prelude.hashWithSalt` objectLockEnabledForBucket+      `Prelude.hashWithSalt` objectOwnership+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData CreateBucket where+  rnf CreateBucket' {..} =+    Prelude.rnf acl+      `Prelude.seq` Prelude.rnf createBucketConfiguration+      `Prelude.seq` Prelude.rnf grantFullControl+      `Prelude.seq` Prelude.rnf grantRead+      `Prelude.seq` Prelude.rnf grantReadACP+      `Prelude.seq` Prelude.rnf grantWrite+      `Prelude.seq` Prelude.rnf grantWriteACP+      `Prelude.seq` Prelude.rnf objectLockEnabledForBucket+      `Prelude.seq` Prelude.rnf objectOwnership+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToElement CreateBucket where+  toElement CreateBucket' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}CreateBucketConfiguration"+      createBucketConfiguration++instance Data.ToHeaders CreateBucket where+  toHeaders CreateBucket' {..} =+    Prelude.mconcat+      [ "x-amz-acl" Data.=# acl,+        "x-amz-grant-full-control" Data.=# grantFullControl,+        "x-amz-grant-read" Data.=# grantRead,+        "x-amz-grant-read-acp" Data.=# grantReadACP,+        "x-amz-grant-write" Data.=# grantWrite,+        "x-amz-grant-write-acp" Data.=# grantWriteACP,+        "x-amz-bucket-object-lock-enabled"+          Data.=# objectLockEnabledForBucket,+        "x-amz-object-ownership" Data.=# objectOwnership+      ]++instance Data.ToPath CreateBucket where+  toPath CreateBucket' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery CreateBucket where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newCreateBucketResponse' smart constructor.+data CreateBucketResponse = CreateBucketResponse'+  { -- | A forward slash followed by the name of the bucket.+    location :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBucketResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'location', 'createBucketResponse_location' - A forward slash followed by the name of the bucket.+--+-- 'httpStatus', 'createBucketResponse_httpStatus' - The response's http status code.+newCreateBucketResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  CreateBucketResponse+newCreateBucketResponse pHttpStatus_ =+  CreateBucketResponse'+    { location = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A forward slash followed by the name of the bucket.+createBucketResponse_location :: Lens.Lens' CreateBucketResponse (Prelude.Maybe Prelude.Text)+createBucketResponse_location = Lens.lens (\CreateBucketResponse' {location} -> location) (\s@CreateBucketResponse' {} a -> s {location = a} :: CreateBucketResponse)++-- | The response's http status code.+createBucketResponse_httpStatus :: Lens.Lens' CreateBucketResponse Prelude.Int+createBucketResponse_httpStatus = Lens.lens (\CreateBucketResponse' {httpStatus} -> httpStatus) (\s@CreateBucketResponse' {} a -> s {httpStatus = a} :: CreateBucketResponse)++instance Prelude.NFData CreateBucketResponse where+  rnf CreateBucketResponse' {..} =+    Prelude.rnf location+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/CreateMultipartUpload.hs view
@@ -0,0 +1,1263 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.CreateMultipartUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action initiates a multipart upload and returns an upload ID. This+-- upload ID is used to associate all of the parts in the specific+-- multipart upload. You specify this upload ID in each of your subsequent+-- upload part requests (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>).+-- You also include this upload ID in the final request to either complete+-- or abort the multipart upload request.+--+-- For more information about multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html Multipart Upload Overview>.+--+-- If you have configured a lifecycle rule to abort incomplete multipart+-- uploads, the upload must complete within the number of days specified in+-- the bucket lifecycle configuration. Otherwise, the incomplete multipart+-- upload becomes eligible for an abort action and Amazon S3 aborts the+-- multipart upload. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+--+-- For information about the permissions required to use the multipart+-- upload API, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>.+--+-- For request signing, multipart upload is just a series of regular+-- requests. You initiate a multipart upload, send one or more requests to+-- upload parts, and then complete the multipart upload process. You sign+-- each request individually. There is nothing special about signing+-- multipart upload requests. For more information about signing, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html Authenticating Requests (Amazon Web Services Signature Version 4)>.+--+-- After you initiate a multipart upload and upload one or more parts, to+-- stop being charged for storing the uploaded parts, you must either+-- complete or abort the multipart upload. Amazon S3 frees up the space+-- used to store the parts and stop charging you for storing them only+-- after you either complete or abort a multipart upload.+--+-- You can optionally request server-side encryption. For server-side+-- encryption, Amazon S3 encrypts your data as it writes it to disks in its+-- data centers and decrypts it when you access it. You can provide your+-- own encryption key, or use Amazon Web Services KMS keys or Amazon+-- S3-managed encryption keys. If you choose to provide your own encryption+-- key, the request headers you provide in+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html UploadPartCopy>+-- requests must match the headers you used in the request to initiate the+-- upload by using @CreateMultipartUpload@.+--+-- To perform a multipart upload with encryption using an Amazon Web+-- Services KMS key, the requester must have permission to the+-- @kms:Decrypt@ and @kms:GenerateDataKey*@ actions on the key. These+-- permissions are required because Amazon S3 must decrypt and read data+-- from the encrypted file parts before it completes the multipart upload.+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions Multipart upload API and permissions>+-- in the /Amazon S3 User Guide/.+--+-- If your Identity and Access Management (IAM) user or role is in the same+-- Amazon Web Services account as the KMS key, then you must have these+-- permissions on the key policy. If your IAM user or role belongs to a+-- different account than the key, then you must have the permissions on+-- both the key policy and your IAM user or role.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html Protecting Data Using Server-Side Encryption>.+--+-- [Access Permissions]+--     When copying an object, you can optionally specify the accounts or+--     groups that should be granted specific permissions on the new+--     object. There are two ways to grant the permissions using the+--     request headers:+--+--     -   Specify a canned ACL with the @x-amz-acl@ request header. For+--         more information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+--     -   Specify access permissions explicitly with the+--         @x-amz-grant-read@, @x-amz-grant-read-acp@,+--         @x-amz-grant-write-acp@, and @x-amz-grant-full-control@ headers.+--         These parameters map to the set of permissions that Amazon S3+--         supports in an ACL. For more information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>.+--+--     You can use either a canned ACL or specify access permissions+--     explicitly. You cannot do both.+--+-- [Server-Side- Encryption-Specific Request Headers]+--     You can optionally tell Amazon S3 to encrypt data at rest using+--     server-side encryption. Server-side encryption is for data+--     encryption at rest. Amazon S3 encrypts your data as it writes it to+--     disks in its data centers and decrypts it when you access it. The+--     option you use depends on whether you want to use Amazon Web+--     Services managed encryption keys or provide your own encryption key.+--+--     -   Use encryption keys managed by Amazon S3 or customer managed key+--         stored in Amazon Web Services Key Management Service (Amazon Web+--         Services KMS) – If you want Amazon Web Services to manage the+--         keys used to encrypt data, specify the following headers in the+--         request.+--+--         -   @x-amz-server-side-encryption@+--+--         -   @x-amz-server-side-encryption-aws-kms-key-id@+--+--         -   @x-amz-server-side-encryption-context@+--+--         If you specify @x-amz-server-side-encryption:aws:kms@, but+--         don\'t provide @x-amz-server-side-encryption-aws-kms-key-id@,+--         Amazon S3 uses the Amazon Web Services managed key in Amazon Web+--         Services KMS to protect the data.+--+--         All GET and PUT requests for an object protected by Amazon Web+--         Services KMS fail if you don\'t make them with SSL or by using+--         SigV4.+--+--         For more information about server-side encryption with KMS key+--         (SSE-KMS), see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html Protecting Data Using Server-Side Encryption with KMS keys>.+--+--     -   Use customer-provided encryption keys – If you want to manage+--         your own encryption keys, provide all the following headers in+--         the request.+--+--         -   @x-amz-server-side-encryption-customer-algorithm@+--+--         -   @x-amz-server-side-encryption-customer-key@+--+--         -   @x-amz-server-side-encryption-customer-key-MD5@+--+--         For more information about server-side encryption with KMS keys+--         (SSE-KMS), see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html Protecting Data Using Server-Side Encryption with KMS keys>.+--+-- [Access-Control-List (ACL)-Specific Request Headers]+--     You also can use the following access control–related headers with+--     this operation. By default, all objects are private. Only the owner+--     has full access control. When adding a new object, you can grant+--     permissions to individual Amazon Web Services accounts or to+--     predefined groups defined by Amazon S3. These permissions are then+--     added to the access control list (ACL) on the object. For more+--     information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html Using ACLs>.+--     With this operation, you can grant access permissions using one of+--     the following two methods:+--+--     -   Specify a canned ACL (@x-amz-acl@) — Amazon S3 supports a set of+--         predefined ACLs, known as /canned ACLs/. Each canned ACL has a+--         predefined set of grantees and permissions. For more+--         information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+--     -   Specify access permissions explicitly — To explicitly grant+--         access permissions to specific Amazon Web Services accounts or+--         groups, use the following headers. Each header maps to specific+--         permissions that Amazon S3 supports in an ACL. For more+--         information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>.+--         In the header, you specify a list of grantees who get the+--         specific permission. To grant permissions explicitly, use:+--+--         -   @x-amz-grant-read@+--+--         -   @x-amz-grant-write@+--+--         -   @x-amz-grant-read-acp@+--+--         -   @x-amz-grant-write-acp@+--+--         -   @x-amz-grant-full-control@+--+--         You specify each grantee as a type=value pair, where the type is+--         one of the following:+--+--         -   @id@ – if the value specified is the canonical user ID of an+--             Amazon Web Services account+--+--         -   @uri@ – if you are granting permissions to a predefined+--             group+--+--         -   @emailAddress@ – if the value specified is the email address+--             of an Amazon Web Services account+--+--             Using email addresses to specify a grantee is only supported+--             in the following Amazon Web Services Regions:+--+--             -   US East (N. Virginia)+--+--             -   US West (N. California)+--+--             -   US West (Oregon)+--+--             -   Asia Pacific (Singapore)+--+--             -   Asia Pacific (Sydney)+--+--             -   Asia Pacific (Tokyo)+--+--             -   Europe (Ireland)+--+--             -   South America (São Paulo)+--+--             For a list of all the Amazon S3 supported Regions and+--             endpoints, see+--             <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+--             in the Amazon Web Services General Reference.+--+--         For example, the following @x-amz-grant-read@ header grants the+--         Amazon Web Services accounts identified by account IDs+--         permissions to read object data and its metadata:+--+--         @x-amz-grant-read: id=\"11112222333\", id=\"444455556666\" @+--+-- The following operations are related to @CreateMultipartUpload@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html ListMultipartUploads>+module Amazonka.S3.CreateMultipartUpload+  ( -- * Creating a Request+    CreateMultipartUpload (..),+    newCreateMultipartUpload,++    -- * Request Lenses+    createMultipartUpload_acl,+    createMultipartUpload_bucketKeyEnabled,+    createMultipartUpload_cacheControl,+    createMultipartUpload_checksumAlgorithm,+    createMultipartUpload_contentDisposition,+    createMultipartUpload_contentEncoding,+    createMultipartUpload_contentLanguage,+    createMultipartUpload_contentType,+    createMultipartUpload_expectedBucketOwner,+    createMultipartUpload_expires,+    createMultipartUpload_grantFullControl,+    createMultipartUpload_grantRead,+    createMultipartUpload_grantReadACP,+    createMultipartUpload_grantWriteACP,+    createMultipartUpload_metadata,+    createMultipartUpload_objectLockLegalHoldStatus,+    createMultipartUpload_objectLockMode,+    createMultipartUpload_objectLockRetainUntilDate,+    createMultipartUpload_requestPayer,+    createMultipartUpload_sSECustomerAlgorithm,+    createMultipartUpload_sSECustomerKey,+    createMultipartUpload_sSECustomerKeyMD5,+    createMultipartUpload_sSEKMSEncryptionContext,+    createMultipartUpload_sSEKMSKeyId,+    createMultipartUpload_serverSideEncryption,+    createMultipartUpload_storageClass,+    createMultipartUpload_tagging,+    createMultipartUpload_websiteRedirectLocation,+    createMultipartUpload_bucket,+    createMultipartUpload_key,++    -- * Destructuring the Response+    CreateMultipartUploadResponse (..),+    newCreateMultipartUploadResponse,++    -- * Response Lenses+    createMultipartUploadResponse_abortDate,+    createMultipartUploadResponse_abortRuleId,+    createMultipartUploadResponse_bucket,+    createMultipartUploadResponse_bucketKeyEnabled,+    createMultipartUploadResponse_checksumAlgorithm,+    createMultipartUploadResponse_key,+    createMultipartUploadResponse_requestCharged,+    createMultipartUploadResponse_sSECustomerAlgorithm,+    createMultipartUploadResponse_sSECustomerKeyMD5,+    createMultipartUploadResponse_sSEKMSEncryptionContext,+    createMultipartUploadResponse_sSEKMSKeyId,+    createMultipartUploadResponse_serverSideEncryption,+    createMultipartUploadResponse_httpStatus,+    createMultipartUploadResponse_uploadId,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newCreateMultipartUpload' smart constructor.+data CreateMultipartUpload = CreateMultipartUpload'+  { -- | The canned ACL to apply to the object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    acl :: Prelude.Maybe ObjectCannedACL,+    -- | Specifies whether Amazon S3 should use an S3 Bucket Key for object+    -- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+    -- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+    -- object encryption with SSE-KMS.+    --+    -- Specifying this header with an object action doesn’t affect bucket-level+    -- settings for S3 Bucket Key.+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Specifies caching behavior along the request\/reply chain.+    cacheControl :: Prelude.Maybe Prelude.Text,+    -- | Indicates the algorithm you want Amazon S3 to use to create the checksum+    -- for the object. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | Specifies presentational information for the object.+    contentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Specifies what content encodings have been applied to the object and+    -- thus what decoding mechanisms must be applied to obtain the media-type+    -- referenced by the Content-Type header field.+    contentEncoding :: Prelude.Maybe Prelude.Text,+    -- | The language the content is in.+    contentLanguage :: Prelude.Maybe Prelude.Text,+    -- | A standard MIME type describing the format of the object data.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The date and time at which the object is no longer cacheable.+    expires :: Prelude.Maybe Data.RFC822,+    -- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+    -- object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantFullControl :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the object data and its metadata.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantRead :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the object ACL.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantReadACP :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to write the ACL for the applicable object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantWriteACP :: Prelude.Maybe Prelude.Text,+    -- | A map of metadata to store with the object in S3.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | Specifies whether you want to apply a legal hold to the uploaded object.+    objectLockLegalHoldStatus :: Prelude.Maybe ObjectLockLegalHoldStatus,+    -- | Specifies the Object Lock mode that you want to apply to the uploaded+    -- object.+    objectLockMode :: Prelude.Maybe ObjectLockMode,+    -- | Specifies the date and time when you want the Object Lock to expire.+    objectLockRetainUntilDate :: Prelude.Maybe Data.ISO8601,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use to when encrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | Specifies the Amazon Web Services KMS Encryption Context to use for+    -- object encryption. The value of this header is a base64-encoded UTF-8+    -- string holding JSON with the encryption context key-value pairs.+    sSEKMSEncryptionContext :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the ID of the symmetric customer managed key to use for object+    -- encryption. All GET and PUT requests for an object protected by Amazon+    -- Web Services KMS will fail if not made via SSL or using SigV4. For+    -- information about configuring using any of the officially supported+    -- Amazon Web Services SDKs and Amazon Web Services CLI, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version Specifying the Signature Version in Request Authentication>+    -- in the /Amazon S3 User Guide/.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | By default, Amazon S3 uses the STANDARD Storage Class to store newly+    -- created objects. The STANDARD storage class provides high durability and+    -- high availability. Depending on performance needs, you can specify a+    -- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+    -- Storage Class. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+    -- in the /Amazon S3 User Guide/.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The tag-set for the object. The tag-set must be encoded as URL Query+    -- parameters.+    tagging :: Prelude.Maybe Prelude.Text,+    -- | If the bucket is configured as a website, redirects requests for this+    -- object to another object in the same bucket or to an external URL.+    -- Amazon S3 stores the value of this header in the object metadata.+    websiteRedirectLocation :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which to initiate the upload+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which the multipart upload is to be initiated.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMultipartUpload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acl', 'createMultipartUpload_acl' - The canned ACL to apply to the object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'bucketKeyEnabled', 'createMultipartUpload_bucketKeyEnabled' - Specifies whether Amazon S3 should use an S3 Bucket Key for object+-- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+-- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+-- object encryption with SSE-KMS.+--+-- Specifying this header with an object action doesn’t affect bucket-level+-- settings for S3 Bucket Key.+--+-- 'cacheControl', 'createMultipartUpload_cacheControl' - Specifies caching behavior along the request\/reply chain.+--+-- 'checksumAlgorithm', 'createMultipartUpload_checksumAlgorithm' - Indicates the algorithm you want Amazon S3 to use to create the checksum+-- for the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'contentDisposition', 'createMultipartUpload_contentDisposition' - Specifies presentational information for the object.+--+-- 'contentEncoding', 'createMultipartUpload_contentEncoding' - Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+--+-- 'contentLanguage', 'createMultipartUpload_contentLanguage' - The language the content is in.+--+-- 'contentType', 'createMultipartUpload_contentType' - A standard MIME type describing the format of the object data.+--+-- 'expectedBucketOwner', 'createMultipartUpload_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'expires', 'createMultipartUpload_expires' - The date and time at which the object is no longer cacheable.+--+-- 'grantFullControl', 'createMultipartUpload_grantFullControl' - Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantRead', 'createMultipartUpload_grantRead' - Allows grantee to read the object data and its metadata.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantReadACP', 'createMultipartUpload_grantReadACP' - Allows grantee to read the object ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantWriteACP', 'createMultipartUpload_grantWriteACP' - Allows grantee to write the ACL for the applicable object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'metadata', 'createMultipartUpload_metadata' - A map of metadata to store with the object in S3.+--+-- 'objectLockLegalHoldStatus', 'createMultipartUpload_objectLockLegalHoldStatus' - Specifies whether you want to apply a legal hold to the uploaded object.+--+-- 'objectLockMode', 'createMultipartUpload_objectLockMode' - Specifies the Object Lock mode that you want to apply to the uploaded+-- object.+--+-- 'objectLockRetainUntilDate', 'createMultipartUpload_objectLockRetainUntilDate' - Specifies the date and time when you want the Object Lock to expire.+--+-- 'requestPayer', 'createMultipartUpload_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'createMultipartUpload_sSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'createMultipartUpload_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+--+-- 'sSECustomerKeyMD5', 'createMultipartUpload_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'sSEKMSEncryptionContext', 'createMultipartUpload_sSEKMSEncryptionContext' - Specifies the Amazon Web Services KMS Encryption Context to use for+-- object encryption. The value of this header is a base64-encoded UTF-8+-- string holding JSON with the encryption context key-value pairs.+--+-- 'sSEKMSKeyId', 'createMultipartUpload_sSEKMSKeyId' - Specifies the ID of the symmetric customer managed key to use for object+-- encryption. All GET and PUT requests for an object protected by Amazon+-- Web Services KMS will fail if not made via SSL or using SigV4. For+-- information about configuring using any of the officially supported+-- Amazon Web Services SDKs and Amazon Web Services CLI, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version Specifying the Signature Version in Request Authentication>+-- in the /Amazon S3 User Guide/.+--+-- 'serverSideEncryption', 'createMultipartUpload_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'storageClass', 'createMultipartUpload_storageClass' - By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+--+-- 'tagging', 'createMultipartUpload_tagging' - The tag-set for the object. The tag-set must be encoded as URL Query+-- parameters.+--+-- 'websiteRedirectLocation', 'createMultipartUpload_websiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+--+-- 'bucket', 'createMultipartUpload_bucket' - The name of the bucket to which to initiate the upload+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'createMultipartUpload_key' - Object key for which the multipart upload is to be initiated.+newCreateMultipartUpload ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  CreateMultipartUpload+newCreateMultipartUpload pBucket_ pKey_ =+  CreateMultipartUpload'+    { acl = Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing,+      cacheControl = Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      contentDisposition = Prelude.Nothing,+      contentEncoding = Prelude.Nothing,+      contentLanguage = Prelude.Nothing,+      contentType = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      expires = Prelude.Nothing,+      grantFullControl = Prelude.Nothing,+      grantRead = Prelude.Nothing,+      grantReadACP = Prelude.Nothing,+      grantWriteACP = Prelude.Nothing,+      metadata = Prelude.mempty,+      objectLockLegalHoldStatus = Prelude.Nothing,+      objectLockMode = Prelude.Nothing,+      objectLockRetainUntilDate = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSEncryptionContext = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      tagging = Prelude.Nothing,+      websiteRedirectLocation = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The canned ACL to apply to the object.+--+-- This action is not supported by Amazon S3 on Outposts.+createMultipartUpload_acl :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe ObjectCannedACL)+createMultipartUpload_acl = Lens.lens (\CreateMultipartUpload' {acl} -> acl) (\s@CreateMultipartUpload' {} a -> s {acl = a} :: CreateMultipartUpload)++-- | Specifies whether Amazon S3 should use an S3 Bucket Key for object+-- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+-- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+-- object encryption with SSE-KMS.+--+-- Specifying this header with an object action doesn’t affect bucket-level+-- settings for S3 Bucket Key.+createMultipartUpload_bucketKeyEnabled :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Bool)+createMultipartUpload_bucketKeyEnabled = Lens.lens (\CreateMultipartUpload' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@CreateMultipartUpload' {} a -> s {bucketKeyEnabled = a} :: CreateMultipartUpload)++-- | Specifies caching behavior along the request\/reply chain.+createMultipartUpload_cacheControl :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_cacheControl = Lens.lens (\CreateMultipartUpload' {cacheControl} -> cacheControl) (\s@CreateMultipartUpload' {} a -> s {cacheControl = a} :: CreateMultipartUpload)++-- | Indicates the algorithm you want Amazon S3 to use to create the checksum+-- for the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+createMultipartUpload_checksumAlgorithm :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe ChecksumAlgorithm)+createMultipartUpload_checksumAlgorithm = Lens.lens (\CreateMultipartUpload' {checksumAlgorithm} -> checksumAlgorithm) (\s@CreateMultipartUpload' {} a -> s {checksumAlgorithm = a} :: CreateMultipartUpload)++-- | Specifies presentational information for the object.+createMultipartUpload_contentDisposition :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_contentDisposition = Lens.lens (\CreateMultipartUpload' {contentDisposition} -> contentDisposition) (\s@CreateMultipartUpload' {} a -> s {contentDisposition = a} :: CreateMultipartUpload)++-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+createMultipartUpload_contentEncoding :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_contentEncoding = Lens.lens (\CreateMultipartUpload' {contentEncoding} -> contentEncoding) (\s@CreateMultipartUpload' {} a -> s {contentEncoding = a} :: CreateMultipartUpload)++-- | The language the content is in.+createMultipartUpload_contentLanguage :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_contentLanguage = Lens.lens (\CreateMultipartUpload' {contentLanguage} -> contentLanguage) (\s@CreateMultipartUpload' {} a -> s {contentLanguage = a} :: CreateMultipartUpload)++-- | A standard MIME type describing the format of the object data.+createMultipartUpload_contentType :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_contentType = Lens.lens (\CreateMultipartUpload' {contentType} -> contentType) (\s@CreateMultipartUpload' {} a -> s {contentType = a} :: CreateMultipartUpload)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+createMultipartUpload_expectedBucketOwner :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_expectedBucketOwner = Lens.lens (\CreateMultipartUpload' {expectedBucketOwner} -> expectedBucketOwner) (\s@CreateMultipartUpload' {} a -> s {expectedBucketOwner = a} :: CreateMultipartUpload)++-- | The date and time at which the object is no longer cacheable.+createMultipartUpload_expires :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.UTCTime)+createMultipartUpload_expires = Lens.lens (\CreateMultipartUpload' {expires} -> expires) (\s@CreateMultipartUpload' {} a -> s {expires = a} :: CreateMultipartUpload) Prelude.. Lens.mapping Data._Time++-- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+--+-- This action is not supported by Amazon S3 on Outposts.+createMultipartUpload_grantFullControl :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_grantFullControl = Lens.lens (\CreateMultipartUpload' {grantFullControl} -> grantFullControl) (\s@CreateMultipartUpload' {} a -> s {grantFullControl = a} :: CreateMultipartUpload)++-- | Allows grantee to read the object data and its metadata.+--+-- This action is not supported by Amazon S3 on Outposts.+createMultipartUpload_grantRead :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_grantRead = Lens.lens (\CreateMultipartUpload' {grantRead} -> grantRead) (\s@CreateMultipartUpload' {} a -> s {grantRead = a} :: CreateMultipartUpload)++-- | Allows grantee to read the object ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+createMultipartUpload_grantReadACP :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_grantReadACP = Lens.lens (\CreateMultipartUpload' {grantReadACP} -> grantReadACP) (\s@CreateMultipartUpload' {} a -> s {grantReadACP = a} :: CreateMultipartUpload)++-- | Allows grantee to write the ACL for the applicable object.+--+-- This action is not supported by Amazon S3 on Outposts.+createMultipartUpload_grantWriteACP :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_grantWriteACP = Lens.lens (\CreateMultipartUpload' {grantWriteACP} -> grantWriteACP) (\s@CreateMultipartUpload' {} a -> s {grantWriteACP = a} :: CreateMultipartUpload)++-- | A map of metadata to store with the object in S3.+createMultipartUpload_metadata :: Lens.Lens' CreateMultipartUpload (Prelude.HashMap Prelude.Text Prelude.Text)+createMultipartUpload_metadata = Lens.lens (\CreateMultipartUpload' {metadata} -> metadata) (\s@CreateMultipartUpload' {} a -> s {metadata = a} :: CreateMultipartUpload) Prelude.. Lens.coerced++-- | Specifies whether you want to apply a legal hold to the uploaded object.+createMultipartUpload_objectLockLegalHoldStatus :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe ObjectLockLegalHoldStatus)+createMultipartUpload_objectLockLegalHoldStatus = Lens.lens (\CreateMultipartUpload' {objectLockLegalHoldStatus} -> objectLockLegalHoldStatus) (\s@CreateMultipartUpload' {} a -> s {objectLockLegalHoldStatus = a} :: CreateMultipartUpload)++-- | Specifies the Object Lock mode that you want to apply to the uploaded+-- object.+createMultipartUpload_objectLockMode :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe ObjectLockMode)+createMultipartUpload_objectLockMode = Lens.lens (\CreateMultipartUpload' {objectLockMode} -> objectLockMode) (\s@CreateMultipartUpload' {} a -> s {objectLockMode = a} :: CreateMultipartUpload)++-- | Specifies the date and time when you want the Object Lock to expire.+createMultipartUpload_objectLockRetainUntilDate :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.UTCTime)+createMultipartUpload_objectLockRetainUntilDate = Lens.lens (\CreateMultipartUpload' {objectLockRetainUntilDate} -> objectLockRetainUntilDate) (\s@CreateMultipartUpload' {} a -> s {objectLockRetainUntilDate = a} :: CreateMultipartUpload) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+createMultipartUpload_requestPayer :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe RequestPayer)+createMultipartUpload_requestPayer = Lens.lens (\CreateMultipartUpload' {requestPayer} -> requestPayer) (\s@CreateMultipartUpload' {} a -> s {requestPayer = a} :: CreateMultipartUpload)++-- | Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+createMultipartUpload_sSECustomerAlgorithm :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_sSECustomerAlgorithm = Lens.lens (\CreateMultipartUpload' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@CreateMultipartUpload' {} a -> s {sSECustomerAlgorithm = a} :: CreateMultipartUpload)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+createMultipartUpload_sSECustomerKey :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_sSECustomerKey = Lens.lens (\CreateMultipartUpload' {sSECustomerKey} -> sSECustomerKey) (\s@CreateMultipartUpload' {} a -> s {sSECustomerKey = a} :: CreateMultipartUpload) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+createMultipartUpload_sSECustomerKeyMD5 :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_sSECustomerKeyMD5 = Lens.lens (\CreateMultipartUpload' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@CreateMultipartUpload' {} a -> s {sSECustomerKeyMD5 = a} :: CreateMultipartUpload)++-- | Specifies the Amazon Web Services KMS Encryption Context to use for+-- object encryption. The value of this header is a base64-encoded UTF-8+-- string holding JSON with the encryption context key-value pairs.+createMultipartUpload_sSEKMSEncryptionContext :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_sSEKMSEncryptionContext = Lens.lens (\CreateMultipartUpload' {sSEKMSEncryptionContext} -> sSEKMSEncryptionContext) (\s@CreateMultipartUpload' {} a -> s {sSEKMSEncryptionContext = a} :: CreateMultipartUpload) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the ID of the symmetric customer managed key to use for object+-- encryption. All GET and PUT requests for an object protected by Amazon+-- Web Services KMS will fail if not made via SSL or using SigV4. For+-- information about configuring using any of the officially supported+-- Amazon Web Services SDKs and Amazon Web Services CLI, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version Specifying the Signature Version in Request Authentication>+-- in the /Amazon S3 User Guide/.+createMultipartUpload_sSEKMSKeyId :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_sSEKMSKeyId = Lens.lens (\CreateMultipartUpload' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@CreateMultipartUpload' {} a -> s {sSEKMSKeyId = a} :: CreateMultipartUpload) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+createMultipartUpload_serverSideEncryption :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe ServerSideEncryption)+createMultipartUpload_serverSideEncryption = Lens.lens (\CreateMultipartUpload' {serverSideEncryption} -> serverSideEncryption) (\s@CreateMultipartUpload' {} a -> s {serverSideEncryption = a} :: CreateMultipartUpload)++-- | By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+createMultipartUpload_storageClass :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe StorageClass)+createMultipartUpload_storageClass = Lens.lens (\CreateMultipartUpload' {storageClass} -> storageClass) (\s@CreateMultipartUpload' {} a -> s {storageClass = a} :: CreateMultipartUpload)++-- | The tag-set for the object. The tag-set must be encoded as URL Query+-- parameters.+createMultipartUpload_tagging :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_tagging = Lens.lens (\CreateMultipartUpload' {tagging} -> tagging) (\s@CreateMultipartUpload' {} a -> s {tagging = a} :: CreateMultipartUpload)++-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+createMultipartUpload_websiteRedirectLocation :: Lens.Lens' CreateMultipartUpload (Prelude.Maybe Prelude.Text)+createMultipartUpload_websiteRedirectLocation = Lens.lens (\CreateMultipartUpload' {websiteRedirectLocation} -> websiteRedirectLocation) (\s@CreateMultipartUpload' {} a -> s {websiteRedirectLocation = a} :: CreateMultipartUpload)++-- | The name of the bucket to which to initiate the upload+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+createMultipartUpload_bucket :: Lens.Lens' CreateMultipartUpload BucketName+createMultipartUpload_bucket = Lens.lens (\CreateMultipartUpload' {bucket} -> bucket) (\s@CreateMultipartUpload' {} a -> s {bucket = a} :: CreateMultipartUpload)++-- | Object key for which the multipart upload is to be initiated.+createMultipartUpload_key :: Lens.Lens' CreateMultipartUpload ObjectKey+createMultipartUpload_key = Lens.lens (\CreateMultipartUpload' {key} -> key) (\s@CreateMultipartUpload' {} a -> s {key = a} :: CreateMultipartUpload)++instance Core.AWSRequest CreateMultipartUpload where+  type+    AWSResponse CreateMultipartUpload =+      CreateMultipartUploadResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.post (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          CreateMultipartUploadResponse'+            Prelude.<$> (h Data..#? "x-amz-abort-date")+            Prelude.<*> (h Data..#? "x-amz-abort-rule-id")+            Prelude.<*> (x Data..@? "Bucket")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (h Data..#? "x-amz-checksum-algorithm")+            Prelude.<*> (x Data..@? "Key")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption-context")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (x Data..@ "UploadId")+      )++instance Prelude.Hashable CreateMultipartUpload where+  hashWithSalt _salt CreateMultipartUpload' {..} =+    _salt+      `Prelude.hashWithSalt` acl+      `Prelude.hashWithSalt` bucketKeyEnabled+      `Prelude.hashWithSalt` cacheControl+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentDisposition+      `Prelude.hashWithSalt` contentEncoding+      `Prelude.hashWithSalt` contentLanguage+      `Prelude.hashWithSalt` contentType+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` expires+      `Prelude.hashWithSalt` grantFullControl+      `Prelude.hashWithSalt` grantRead+      `Prelude.hashWithSalt` grantReadACP+      `Prelude.hashWithSalt` grantWriteACP+      `Prelude.hashWithSalt` metadata+      `Prelude.hashWithSalt` objectLockLegalHoldStatus+      `Prelude.hashWithSalt` objectLockMode+      `Prelude.hashWithSalt` objectLockRetainUntilDate+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` sSEKMSEncryptionContext+      `Prelude.hashWithSalt` sSEKMSKeyId+      `Prelude.hashWithSalt` serverSideEncryption+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` tagging+      `Prelude.hashWithSalt` websiteRedirectLocation+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData CreateMultipartUpload where+  rnf CreateMultipartUpload' {..} =+    Prelude.rnf acl+      `Prelude.seq` Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf cacheControl+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentDisposition+      `Prelude.seq` Prelude.rnf contentEncoding+      `Prelude.seq` Prelude.rnf contentLanguage+      `Prelude.seq` Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf expires+      `Prelude.seq` Prelude.rnf grantFullControl+      `Prelude.seq` Prelude.rnf grantRead+      `Prelude.seq` Prelude.rnf grantReadACP+      `Prelude.seq` Prelude.rnf grantWriteACP+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf objectLockLegalHoldStatus+      `Prelude.seq` Prelude.rnf objectLockMode+      `Prelude.seq` Prelude.rnf+        objectLockRetainUntilDate+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf+        sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf+        sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf+        sSEKMSEncryptionContext+      `Prelude.seq` Prelude.rnf+        sSEKMSKeyId+      `Prelude.seq` Prelude.rnf+        serverSideEncryption+      `Prelude.seq` Prelude.rnf+        storageClass+      `Prelude.seq` Prelude.rnf+        tagging+      `Prelude.seq` Prelude.rnf+        websiteRedirectLocation+      `Prelude.seq` Prelude.rnf+        bucket+      `Prelude.seq` Prelude.rnf+        key++instance Data.ToHeaders CreateMultipartUpload where+  toHeaders CreateMultipartUpload' {..} =+    Prelude.mconcat+      [ "x-amz-acl" Data.=# acl,+        "x-amz-server-side-encryption-bucket-key-enabled"+          Data.=# bucketKeyEnabled,+        "Cache-Control" Data.=# cacheControl,+        "x-amz-checksum-algorithm" Data.=# checksumAlgorithm,+        "Content-Disposition" Data.=# contentDisposition,+        "Content-Encoding" Data.=# contentEncoding,+        "Content-Language" Data.=# contentLanguage,+        "Content-Type" Data.=# contentType,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "Expires" Data.=# expires,+        "x-amz-grant-full-control" Data.=# grantFullControl,+        "x-amz-grant-read" Data.=# grantRead,+        "x-amz-grant-read-acp" Data.=# grantReadACP,+        "x-amz-grant-write-acp" Data.=# grantWriteACP,+        "x-amz-meta-" Data.=# metadata,+        "x-amz-object-lock-legal-hold"+          Data.=# objectLockLegalHoldStatus,+        "x-amz-object-lock-mode" Data.=# objectLockMode,+        "x-amz-object-lock-retain-until-date"+          Data.=# objectLockRetainUntilDate,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5,+        "x-amz-server-side-encryption-context"+          Data.=# sSEKMSEncryptionContext,+        "x-amz-server-side-encryption-aws-kms-key-id"+          Data.=# sSEKMSKeyId,+        "x-amz-server-side-encryption"+          Data.=# serverSideEncryption,+        "x-amz-storage-class" Data.=# storageClass,+        "x-amz-tagging" Data.=# tagging,+        "x-amz-website-redirect-location"+          Data.=# websiteRedirectLocation+      ]++instance Data.ToPath CreateMultipartUpload where+  toPath CreateMultipartUpload' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery CreateMultipartUpload where+  toQuery = Prelude.const (Prelude.mconcat ["uploads"])++-- | /See:/ 'newCreateMultipartUploadResponse' smart constructor.+data CreateMultipartUploadResponse = CreateMultipartUploadResponse'+  { -- | If the bucket has a lifecycle rule configured with an action to abort+    -- incomplete multipart uploads and the prefix in the lifecycle rule+    -- matches the object name in the request, the response includes this+    -- header. The header indicates when the initiated multipart upload becomes+    -- eligible for an abort operation. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+    --+    -- The response also includes the @x-amz-abort-rule-id@ header that+    -- provides the ID of the lifecycle configuration rule that defines this+    -- action.+    abortDate :: Prelude.Maybe Data.RFC822,+    -- | This header is returned along with the @x-amz-abort-date@ header. It+    -- identifies the applicable lifecycle configuration rule that defines the+    -- action to abort incomplete multipart uploads.+    abortRuleId :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which the multipart upload was initiated. Does+    -- not return the access point ARN or access point alias if used.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: Prelude.Maybe BucketName,+    -- | Indicates whether the multipart upload uses an S3 Bucket Key for+    -- server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The algorithm that was used to create a checksum of the object.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | Object key for which the multipart upload was initiated.+    key :: Prelude.Maybe ObjectKey,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the Amazon Web Services KMS Encryption Context to+    -- use for object encryption. The value of this header is a base64-encoded+    -- UTF-8 string holding JSON with the encryption context key-value pairs.+    sSEKMSEncryptionContext :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | ID for the initiated multipart upload.+    uploadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateMultipartUploadResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abortDate', 'createMultipartUploadResponse_abortDate' - If the bucket has a lifecycle rule configured with an action to abort+-- incomplete multipart uploads and the prefix in the lifecycle rule+-- matches the object name in the request, the response includes this+-- header. The header indicates when the initiated multipart upload becomes+-- eligible for an abort operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+--+-- The response also includes the @x-amz-abort-rule-id@ header that+-- provides the ID of the lifecycle configuration rule that defines this+-- action.+--+-- 'abortRuleId', 'createMultipartUploadResponse_abortRuleId' - This header is returned along with the @x-amz-abort-date@ header. It+-- identifies the applicable lifecycle configuration rule that defines the+-- action to abort incomplete multipart uploads.+--+-- 'bucket', 'createMultipartUploadResponse_bucket' - The name of the bucket to which the multipart upload was initiated. Does+-- not return the access point ARN or access point alias if used.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'bucketKeyEnabled', 'createMultipartUploadResponse_bucketKeyEnabled' - Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'checksumAlgorithm', 'createMultipartUploadResponse_checksumAlgorithm' - The algorithm that was used to create a checksum of the object.+--+-- 'key', 'createMultipartUploadResponse_key' - Object key for which the multipart upload was initiated.+--+-- 'requestCharged', 'createMultipartUploadResponse_requestCharged' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'createMultipartUploadResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'createMultipartUploadResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSEncryptionContext', 'createMultipartUploadResponse_sSEKMSEncryptionContext' - If present, specifies the Amazon Web Services KMS Encryption Context to+-- use for object encryption. The value of this header is a base64-encoded+-- UTF-8 string holding JSON with the encryption context key-value pairs.+--+-- 'sSEKMSKeyId', 'createMultipartUploadResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+--+-- 'serverSideEncryption', 'createMultipartUploadResponse_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'httpStatus', 'createMultipartUploadResponse_httpStatus' - The response's http status code.+--+-- 'uploadId', 'createMultipartUploadResponse_uploadId' - ID for the initiated multipart upload.+newCreateMultipartUploadResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'uploadId'+  Prelude.Text ->+  CreateMultipartUploadResponse+newCreateMultipartUploadResponse+  pHttpStatus_+  pUploadId_ =+    CreateMultipartUploadResponse'+      { abortDate =+          Prelude.Nothing,+        abortRuleId = Prelude.Nothing,+        bucket = Prelude.Nothing,+        bucketKeyEnabled = Prelude.Nothing,+        checksumAlgorithm = Prelude.Nothing,+        key = Prelude.Nothing,+        requestCharged = Prelude.Nothing,+        sSECustomerAlgorithm = Prelude.Nothing,+        sSECustomerKeyMD5 = Prelude.Nothing,+        sSEKMSEncryptionContext = Prelude.Nothing,+        sSEKMSKeyId = Prelude.Nothing,+        serverSideEncryption = Prelude.Nothing,+        httpStatus = pHttpStatus_,+        uploadId = pUploadId_+      }++-- | If the bucket has a lifecycle rule configured with an action to abort+-- incomplete multipart uploads and the prefix in the lifecycle rule+-- matches the object name in the request, the response includes this+-- header. The header indicates when the initiated multipart upload becomes+-- eligible for an abort operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+--+-- The response also includes the @x-amz-abort-rule-id@ header that+-- provides the ID of the lifecycle configuration rule that defines this+-- action.+createMultipartUploadResponse_abortDate :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.UTCTime)+createMultipartUploadResponse_abortDate = Lens.lens (\CreateMultipartUploadResponse' {abortDate} -> abortDate) (\s@CreateMultipartUploadResponse' {} a -> s {abortDate = a} :: CreateMultipartUploadResponse) Prelude.. Lens.mapping Data._Time++-- | This header is returned along with the @x-amz-abort-date@ header. It+-- identifies the applicable lifecycle configuration rule that defines the+-- action to abort incomplete multipart uploads.+createMultipartUploadResponse_abortRuleId :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.Text)+createMultipartUploadResponse_abortRuleId = Lens.lens (\CreateMultipartUploadResponse' {abortRuleId} -> abortRuleId) (\s@CreateMultipartUploadResponse' {} a -> s {abortRuleId = a} :: CreateMultipartUploadResponse)++-- | The name of the bucket to which the multipart upload was initiated. Does+-- not return the access point ARN or access point alias if used.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+createMultipartUploadResponse_bucket :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe BucketName)+createMultipartUploadResponse_bucket = Lens.lens (\CreateMultipartUploadResponse' {bucket} -> bucket) (\s@CreateMultipartUploadResponse' {} a -> s {bucket = a} :: CreateMultipartUploadResponse)++-- | Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+createMultipartUploadResponse_bucketKeyEnabled :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.Bool)+createMultipartUploadResponse_bucketKeyEnabled = Lens.lens (\CreateMultipartUploadResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@CreateMultipartUploadResponse' {} a -> s {bucketKeyEnabled = a} :: CreateMultipartUploadResponse)++-- | The algorithm that was used to create a checksum of the object.+createMultipartUploadResponse_checksumAlgorithm :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe ChecksumAlgorithm)+createMultipartUploadResponse_checksumAlgorithm = Lens.lens (\CreateMultipartUploadResponse' {checksumAlgorithm} -> checksumAlgorithm) (\s@CreateMultipartUploadResponse' {} a -> s {checksumAlgorithm = a} :: CreateMultipartUploadResponse)++-- | Object key for which the multipart upload was initiated.+createMultipartUploadResponse_key :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe ObjectKey)+createMultipartUploadResponse_key = Lens.lens (\CreateMultipartUploadResponse' {key} -> key) (\s@CreateMultipartUploadResponse' {} a -> s {key = a} :: CreateMultipartUploadResponse)++-- | Undocumented member.+createMultipartUploadResponse_requestCharged :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe RequestCharged)+createMultipartUploadResponse_requestCharged = Lens.lens (\CreateMultipartUploadResponse' {requestCharged} -> requestCharged) (\s@CreateMultipartUploadResponse' {} a -> s {requestCharged = a} :: CreateMultipartUploadResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+createMultipartUploadResponse_sSECustomerAlgorithm :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.Text)+createMultipartUploadResponse_sSECustomerAlgorithm = Lens.lens (\CreateMultipartUploadResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@CreateMultipartUploadResponse' {} a -> s {sSECustomerAlgorithm = a} :: CreateMultipartUploadResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+createMultipartUploadResponse_sSECustomerKeyMD5 :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.Text)+createMultipartUploadResponse_sSECustomerKeyMD5 = Lens.lens (\CreateMultipartUploadResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@CreateMultipartUploadResponse' {} a -> s {sSECustomerKeyMD5 = a} :: CreateMultipartUploadResponse)++-- | If present, specifies the Amazon Web Services KMS Encryption Context to+-- use for object encryption. The value of this header is a base64-encoded+-- UTF-8 string holding JSON with the encryption context key-value pairs.+createMultipartUploadResponse_sSEKMSEncryptionContext :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.Text)+createMultipartUploadResponse_sSEKMSEncryptionContext = Lens.lens (\CreateMultipartUploadResponse' {sSEKMSEncryptionContext} -> sSEKMSEncryptionContext) (\s@CreateMultipartUploadResponse' {} a -> s {sSEKMSEncryptionContext = a} :: CreateMultipartUploadResponse) Prelude.. Lens.mapping Data._Sensitive++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+createMultipartUploadResponse_sSEKMSKeyId :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe Prelude.Text)+createMultipartUploadResponse_sSEKMSKeyId = Lens.lens (\CreateMultipartUploadResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@CreateMultipartUploadResponse' {} a -> s {sSEKMSKeyId = a} :: CreateMultipartUploadResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+createMultipartUploadResponse_serverSideEncryption :: Lens.Lens' CreateMultipartUploadResponse (Prelude.Maybe ServerSideEncryption)+createMultipartUploadResponse_serverSideEncryption = Lens.lens (\CreateMultipartUploadResponse' {serverSideEncryption} -> serverSideEncryption) (\s@CreateMultipartUploadResponse' {} a -> s {serverSideEncryption = a} :: CreateMultipartUploadResponse)++-- | The response's http status code.+createMultipartUploadResponse_httpStatus :: Lens.Lens' CreateMultipartUploadResponse Prelude.Int+createMultipartUploadResponse_httpStatus = Lens.lens (\CreateMultipartUploadResponse' {httpStatus} -> httpStatus) (\s@CreateMultipartUploadResponse' {} a -> s {httpStatus = a} :: CreateMultipartUploadResponse)++-- | ID for the initiated multipart upload.+createMultipartUploadResponse_uploadId :: Lens.Lens' CreateMultipartUploadResponse Prelude.Text+createMultipartUploadResponse_uploadId = Lens.lens (\CreateMultipartUploadResponse' {uploadId} -> uploadId) (\s@CreateMultipartUploadResponse' {} a -> s {uploadId = a} :: CreateMultipartUploadResponse)++instance Prelude.NFData CreateMultipartUploadResponse where+  rnf CreateMultipartUploadResponse' {..} =+    Prelude.rnf abortDate+      `Prelude.seq` Prelude.rnf abortRuleId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf sSEKMSEncryptionContext+      `Prelude.seq` Prelude.rnf sSEKMSKeyId+      `Prelude.seq` Prelude.rnf serverSideEncryption+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf uploadId
+ gen/Amazonka/S3/DeleteBucket.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucket+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the S3 bucket. All objects (including all object versions and+-- delete markers) in the bucket must be deleted before the bucket itself+-- can be deleted.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html DeleteObject>+module Amazonka.S3.DeleteBucket+  ( -- * Creating a Request+    DeleteBucket (..),+    newDeleteBucket,++    -- * Request Lenses+    deleteBucket_expectedBucketOwner,+    deleteBucket_bucket,++    -- * Destructuring the Response+    DeleteBucketResponse (..),+    newDeleteBucketResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucket' smart constructor.+data DeleteBucket = DeleteBucket'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies the bucket being deleted.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucket' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucket_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucket_bucket' - Specifies the bucket being deleted.+newDeleteBucket ::+  -- | 'bucket'+  BucketName ->+  DeleteBucket+newDeleteBucket pBucket_ =+  DeleteBucket'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucket_expectedBucketOwner :: Lens.Lens' DeleteBucket (Prelude.Maybe Prelude.Text)+deleteBucket_expectedBucketOwner = Lens.lens (\DeleteBucket' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucket' {} a -> s {expectedBucketOwner = a} :: DeleteBucket)++-- | Specifies the bucket being deleted.+deleteBucket_bucket :: Lens.Lens' DeleteBucket BucketName+deleteBucket_bucket = Lens.lens (\DeleteBucket' {bucket} -> bucket) (\s@DeleteBucket' {} a -> s {bucket = a} :: DeleteBucket)++instance Core.AWSRequest DeleteBucket where+  type AWSResponse DeleteBucket = DeleteBucketResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response = Response.receiveNull DeleteBucketResponse'++instance Prelude.Hashable DeleteBucket where+  hashWithSalt _salt DeleteBucket' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucket where+  rnf DeleteBucket' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucket where+  toHeaders DeleteBucket' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucket where+  toPath DeleteBucket' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucket where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newDeleteBucketResponse' smart constructor.+data DeleteBucketResponse = DeleteBucketResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketResponse ::+  DeleteBucketResponse+newDeleteBucketResponse = DeleteBucketResponse'++instance Prelude.NFData DeleteBucketResponse where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketAnalyticsConfiguration.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketAnalyticsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an analytics configuration for the bucket (specified by the+-- analytics configuration ID).+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutAnalyticsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about the Amazon S3 analytics feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html Amazon S3 Analytics – Storage Class Analysis>.+--+-- The following operations are related to+-- @DeleteBucketAnalyticsConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html GetBucketAnalyticsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html ListBucketAnalyticsConfigurations>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html PutBucketAnalyticsConfiguration>+module Amazonka.S3.DeleteBucketAnalyticsConfiguration+  ( -- * Creating a Request+    DeleteBucketAnalyticsConfiguration (..),+    newDeleteBucketAnalyticsConfiguration,++    -- * Request Lenses+    deleteBucketAnalyticsConfiguration_expectedBucketOwner,+    deleteBucketAnalyticsConfiguration_bucket,+    deleteBucketAnalyticsConfiguration_id,++    -- * Destructuring the Response+    DeleteBucketAnalyticsConfigurationResponse (..),+    newDeleteBucketAnalyticsConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketAnalyticsConfiguration' smart constructor.+data DeleteBucketAnalyticsConfiguration = DeleteBucketAnalyticsConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket from which an analytics configuration is deleted.+    bucket :: BucketName,+    -- | The ID that identifies the analytics configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketAnalyticsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketAnalyticsConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketAnalyticsConfiguration_bucket' - The name of the bucket from which an analytics configuration is deleted.+--+-- 'id', 'deleteBucketAnalyticsConfiguration_id' - The ID that identifies the analytics configuration.+newDeleteBucketAnalyticsConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  DeleteBucketAnalyticsConfiguration+newDeleteBucketAnalyticsConfiguration pBucket_ pId_ =+  DeleteBucketAnalyticsConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_,+      id = pId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketAnalyticsConfiguration_expectedBucketOwner :: Lens.Lens' DeleteBucketAnalyticsConfiguration (Prelude.Maybe Prelude.Text)+deleteBucketAnalyticsConfiguration_expectedBucketOwner = Lens.lens (\DeleteBucketAnalyticsConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketAnalyticsConfiguration' {} a -> s {expectedBucketOwner = a} :: DeleteBucketAnalyticsConfiguration)++-- | The name of the bucket from which an analytics configuration is deleted.+deleteBucketAnalyticsConfiguration_bucket :: Lens.Lens' DeleteBucketAnalyticsConfiguration BucketName+deleteBucketAnalyticsConfiguration_bucket = Lens.lens (\DeleteBucketAnalyticsConfiguration' {bucket} -> bucket) (\s@DeleteBucketAnalyticsConfiguration' {} a -> s {bucket = a} :: DeleteBucketAnalyticsConfiguration)++-- | The ID that identifies the analytics configuration.+deleteBucketAnalyticsConfiguration_id :: Lens.Lens' DeleteBucketAnalyticsConfiguration Prelude.Text+deleteBucketAnalyticsConfiguration_id = Lens.lens (\DeleteBucketAnalyticsConfiguration' {id} -> id) (\s@DeleteBucketAnalyticsConfiguration' {} a -> s {id = a} :: DeleteBucketAnalyticsConfiguration)++instance+  Core.AWSRequest+    DeleteBucketAnalyticsConfiguration+  where+  type+    AWSResponse DeleteBucketAnalyticsConfiguration =+      DeleteBucketAnalyticsConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketAnalyticsConfigurationResponse'++instance+  Prelude.Hashable+    DeleteBucketAnalyticsConfiguration+  where+  hashWithSalt+    _salt+    DeleteBucketAnalyticsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DeleteBucketAnalyticsConfiguration+  where+  rnf DeleteBucketAnalyticsConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    DeleteBucketAnalyticsConfiguration+  where+  toHeaders DeleteBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance+  Data.ToPath+    DeleteBucketAnalyticsConfiguration+  where+  toPath DeleteBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    DeleteBucketAnalyticsConfiguration+  where+  toQuery DeleteBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "analytics"]++-- | /See:/ 'newDeleteBucketAnalyticsConfigurationResponse' smart constructor.+data DeleteBucketAnalyticsConfigurationResponse = DeleteBucketAnalyticsConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketAnalyticsConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketAnalyticsConfigurationResponse ::+  DeleteBucketAnalyticsConfigurationResponse+newDeleteBucketAnalyticsConfigurationResponse =+  DeleteBucketAnalyticsConfigurationResponse'++instance+  Prelude.NFData+    DeleteBucketAnalyticsConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketCors.hs view
@@ -0,0 +1,157 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketCors+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the @cors@ configuration information set for the bucket.+--+-- To use this operation, you must have permission to perform the+-- @s3:PutBucketCORS@ action. The bucket owner has this permission by+-- default and can grant this permission to others.+--+-- For information about @cors@, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>+-- in the /Amazon S3 User Guide/.+--+-- __Related Resources:__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html PutBucketCors>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html RESTOPTIONSobject>+module Amazonka.S3.DeleteBucketCors+  ( -- * Creating a Request+    DeleteBucketCors (..),+    newDeleteBucketCors,++    -- * Request Lenses+    deleteBucketCors_expectedBucketOwner,+    deleteBucketCors_bucket,++    -- * Destructuring the Response+    DeleteBucketCorsResponse (..),+    newDeleteBucketCorsResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketCors' smart constructor.+data DeleteBucketCors = DeleteBucketCors'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies the bucket whose @cors@ configuration is being deleted.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketCors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketCors_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketCors_bucket' - Specifies the bucket whose @cors@ configuration is being deleted.+newDeleteBucketCors ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketCors+newDeleteBucketCors pBucket_ =+  DeleteBucketCors'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketCors_expectedBucketOwner :: Lens.Lens' DeleteBucketCors (Prelude.Maybe Prelude.Text)+deleteBucketCors_expectedBucketOwner = Lens.lens (\DeleteBucketCors' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketCors' {} a -> s {expectedBucketOwner = a} :: DeleteBucketCors)++-- | Specifies the bucket whose @cors@ configuration is being deleted.+deleteBucketCors_bucket :: Lens.Lens' DeleteBucketCors BucketName+deleteBucketCors_bucket = Lens.lens (\DeleteBucketCors' {bucket} -> bucket) (\s@DeleteBucketCors' {} a -> s {bucket = a} :: DeleteBucketCors)++instance Core.AWSRequest DeleteBucketCors where+  type+    AWSResponse DeleteBucketCors =+      DeleteBucketCorsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteBucketCorsResponse'++instance Prelude.Hashable DeleteBucketCors where+  hashWithSalt _salt DeleteBucketCors' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketCors where+  rnf DeleteBucketCors' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketCors where+  toHeaders DeleteBucketCors' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketCors where+  toPath DeleteBucketCors' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketCors where+  toQuery = Prelude.const (Prelude.mconcat ["cors"])++-- | /See:/ 'newDeleteBucketCorsResponse' smart constructor.+data DeleteBucketCorsResponse = DeleteBucketCorsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketCorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketCorsResponse ::+  DeleteBucketCorsResponse+newDeleteBucketCorsResponse =+  DeleteBucketCorsResponse'++instance Prelude.NFData DeleteBucketCorsResponse where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketEncryption.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketEncryption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This implementation of the DELETE action removes default encryption from+-- the bucket. For information about the Amazon S3 default encryption+-- feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html Amazon S3 Default Bucket Encryption>+-- in the /Amazon S3 User Guide/.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutEncryptionConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to your Amazon S3 Resources>+-- in the /Amazon S3 User Guide/.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html PutBucketEncryption>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html GetBucketEncryption>+module Amazonka.S3.DeleteBucketEncryption+  ( -- * Creating a Request+    DeleteBucketEncryption (..),+    newDeleteBucketEncryption,++    -- * Request Lenses+    deleteBucketEncryption_expectedBucketOwner,+    deleteBucketEncryption_bucket,++    -- * Destructuring the Response+    DeleteBucketEncryptionResponse (..),+    newDeleteBucketEncryptionResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketEncryption' smart constructor.+data DeleteBucketEncryption = DeleteBucketEncryption'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the server-side encryption+    -- configuration to delete.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketEncryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketEncryption_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketEncryption_bucket' - The name of the bucket containing the server-side encryption+-- configuration to delete.+newDeleteBucketEncryption ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketEncryption+newDeleteBucketEncryption pBucket_ =+  DeleteBucketEncryption'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketEncryption_expectedBucketOwner :: Lens.Lens' DeleteBucketEncryption (Prelude.Maybe Prelude.Text)+deleteBucketEncryption_expectedBucketOwner = Lens.lens (\DeleteBucketEncryption' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketEncryption' {} a -> s {expectedBucketOwner = a} :: DeleteBucketEncryption)++-- | The name of the bucket containing the server-side encryption+-- configuration to delete.+deleteBucketEncryption_bucket :: Lens.Lens' DeleteBucketEncryption BucketName+deleteBucketEncryption_bucket = Lens.lens (\DeleteBucketEncryption' {bucket} -> bucket) (\s@DeleteBucketEncryption' {} a -> s {bucket = a} :: DeleteBucketEncryption)++instance Core.AWSRequest DeleteBucketEncryption where+  type+    AWSResponse DeleteBucketEncryption =+      DeleteBucketEncryptionResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketEncryptionResponse'++instance Prelude.Hashable DeleteBucketEncryption where+  hashWithSalt _salt DeleteBucketEncryption' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketEncryption where+  rnf DeleteBucketEncryption' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketEncryption where+  toHeaders DeleteBucketEncryption' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketEncryption where+  toPath DeleteBucketEncryption' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketEncryption where+  toQuery =+    Prelude.const (Prelude.mconcat ["encryption"])++-- | /See:/ 'newDeleteBucketEncryptionResponse' smart constructor.+data DeleteBucketEncryptionResponse = DeleteBucketEncryptionResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketEncryptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketEncryptionResponse ::+  DeleteBucketEncryptionResponse+newDeleteBucketEncryptionResponse =+  DeleteBucketEncryptionResponse'++instance+  Prelude.NFData+    DeleteBucketEncryptionResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketIntelligentTieringConfiguration.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketIntelligentTieringConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the S3 Intelligent-Tiering configuration from the specified+-- bucket.+--+-- The S3 Intelligent-Tiering storage class is designed to optimize storage+-- costs by automatically moving data to the most cost-effective storage+-- access tier, without performance impact or operational overhead. S3+-- Intelligent-Tiering delivers automatic cost savings in three low latency+-- and high throughput access tiers. To get the lowest storage cost on data+-- that can be accessed in minutes to hours, you can choose to activate+-- additional archiving capabilities.+--+-- The S3 Intelligent-Tiering storage class is the ideal storage class for+-- data with unknown, changing, or unpredictable access patterns,+-- independent of object size or retention period. If the size of an object+-- is less than 128 KB, it is not monitored and not eligible for+-- auto-tiering. Smaller objects can be stored, but they are always charged+-- at the Frequent Access tier rates in the S3 Intelligent-Tiering storage+-- class.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>.+--+-- Operations related to @DeleteBucketIntelligentTieringConfiguration@+-- include:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html GetBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html PutBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html ListBucketIntelligentTieringConfigurations>+module Amazonka.S3.DeleteBucketIntelligentTieringConfiguration+  ( -- * Creating a Request+    DeleteBucketIntelligentTieringConfiguration (..),+    newDeleteBucketIntelligentTieringConfiguration,++    -- * Request Lenses+    deleteBucketIntelligentTieringConfiguration_bucket,+    deleteBucketIntelligentTieringConfiguration_id,++    -- * Destructuring the Response+    DeleteBucketIntelligentTieringConfigurationResponse (..),+    newDeleteBucketIntelligentTieringConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketIntelligentTieringConfiguration' smart constructor.+data DeleteBucketIntelligentTieringConfiguration = DeleteBucketIntelligentTieringConfiguration'+  { -- | The name of the Amazon S3 bucket whose configuration you want to modify+    -- or retrieve.+    bucket :: BucketName,+    -- | The ID used to identify the S3 Intelligent-Tiering configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketIntelligentTieringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'deleteBucketIntelligentTieringConfiguration_bucket' - The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+--+-- 'id', 'deleteBucketIntelligentTieringConfiguration_id' - The ID used to identify the S3 Intelligent-Tiering configuration.+newDeleteBucketIntelligentTieringConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  DeleteBucketIntelligentTieringConfiguration+newDeleteBucketIntelligentTieringConfiguration+  pBucket_+  pId_ =+    DeleteBucketIntelligentTieringConfiguration'+      { bucket =+          pBucket_,+        id = pId_+      }++-- | The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+deleteBucketIntelligentTieringConfiguration_bucket :: Lens.Lens' DeleteBucketIntelligentTieringConfiguration BucketName+deleteBucketIntelligentTieringConfiguration_bucket = Lens.lens (\DeleteBucketIntelligentTieringConfiguration' {bucket} -> bucket) (\s@DeleteBucketIntelligentTieringConfiguration' {} a -> s {bucket = a} :: DeleteBucketIntelligentTieringConfiguration)++-- | The ID used to identify the S3 Intelligent-Tiering configuration.+deleteBucketIntelligentTieringConfiguration_id :: Lens.Lens' DeleteBucketIntelligentTieringConfiguration Prelude.Text+deleteBucketIntelligentTieringConfiguration_id = Lens.lens (\DeleteBucketIntelligentTieringConfiguration' {id} -> id) (\s@DeleteBucketIntelligentTieringConfiguration' {} a -> s {id = a} :: DeleteBucketIntelligentTieringConfiguration)++instance+  Core.AWSRequest+    DeleteBucketIntelligentTieringConfiguration+  where+  type+    AWSResponse+      DeleteBucketIntelligentTieringConfiguration =+      DeleteBucketIntelligentTieringConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketIntelligentTieringConfigurationResponse'++instance+  Prelude.Hashable+    DeleteBucketIntelligentTieringConfiguration+  where+  hashWithSalt+    _salt+    DeleteBucketIntelligentTieringConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DeleteBucketIntelligentTieringConfiguration+  where+  rnf DeleteBucketIntelligentTieringConfiguration' {..} =+    Prelude.rnf bucket `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    DeleteBucketIntelligentTieringConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    DeleteBucketIntelligentTieringConfiguration+  where+  toPath+    DeleteBucketIntelligentTieringConfiguration' {..} =+      Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    DeleteBucketIntelligentTieringConfiguration+  where+  toQuery+    DeleteBucketIntelligentTieringConfiguration' {..} =+      Prelude.mconcat+        ["id" Data.=: id, "intelligent-tiering"]++-- | /See:/ 'newDeleteBucketIntelligentTieringConfigurationResponse' smart constructor.+data DeleteBucketIntelligentTieringConfigurationResponse = DeleteBucketIntelligentTieringConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketIntelligentTieringConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketIntelligentTieringConfigurationResponse ::+  DeleteBucketIntelligentTieringConfigurationResponse+newDeleteBucketIntelligentTieringConfigurationResponse =+  DeleteBucketIntelligentTieringConfigurationResponse'++instance+  Prelude.NFData+    DeleteBucketIntelligentTieringConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketInventoryConfiguration.hs view
@@ -0,0 +1,202 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketInventoryConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes an inventory configuration (identified by the inventory ID) from+-- the bucket.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutInventoryConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about the Amazon S3 inventory feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html Amazon S3 Inventory>.+--+-- Operations related to @DeleteBucketInventoryConfiguration@ include:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html GetBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html PutBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html ListBucketInventoryConfigurations>+module Amazonka.S3.DeleteBucketInventoryConfiguration+  ( -- * Creating a Request+    DeleteBucketInventoryConfiguration (..),+    newDeleteBucketInventoryConfiguration,++    -- * Request Lenses+    deleteBucketInventoryConfiguration_expectedBucketOwner,+    deleteBucketInventoryConfiguration_bucket,+    deleteBucketInventoryConfiguration_id,++    -- * Destructuring the Response+    DeleteBucketInventoryConfigurationResponse (..),+    newDeleteBucketInventoryConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketInventoryConfiguration' smart constructor.+data DeleteBucketInventoryConfiguration = DeleteBucketInventoryConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the inventory configuration to delete.+    bucket :: BucketName,+    -- | The ID used to identify the inventory configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketInventoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketInventoryConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketInventoryConfiguration_bucket' - The name of the bucket containing the inventory configuration to delete.+--+-- 'id', 'deleteBucketInventoryConfiguration_id' - The ID used to identify the inventory configuration.+newDeleteBucketInventoryConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  DeleteBucketInventoryConfiguration+newDeleteBucketInventoryConfiguration pBucket_ pId_ =+  DeleteBucketInventoryConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_,+      id = pId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketInventoryConfiguration_expectedBucketOwner :: Lens.Lens' DeleteBucketInventoryConfiguration (Prelude.Maybe Prelude.Text)+deleteBucketInventoryConfiguration_expectedBucketOwner = Lens.lens (\DeleteBucketInventoryConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketInventoryConfiguration' {} a -> s {expectedBucketOwner = a} :: DeleteBucketInventoryConfiguration)++-- | The name of the bucket containing the inventory configuration to delete.+deleteBucketInventoryConfiguration_bucket :: Lens.Lens' DeleteBucketInventoryConfiguration BucketName+deleteBucketInventoryConfiguration_bucket = Lens.lens (\DeleteBucketInventoryConfiguration' {bucket} -> bucket) (\s@DeleteBucketInventoryConfiguration' {} a -> s {bucket = a} :: DeleteBucketInventoryConfiguration)++-- | The ID used to identify the inventory configuration.+deleteBucketInventoryConfiguration_id :: Lens.Lens' DeleteBucketInventoryConfiguration Prelude.Text+deleteBucketInventoryConfiguration_id = Lens.lens (\DeleteBucketInventoryConfiguration' {id} -> id) (\s@DeleteBucketInventoryConfiguration' {} a -> s {id = a} :: DeleteBucketInventoryConfiguration)++instance+  Core.AWSRequest+    DeleteBucketInventoryConfiguration+  where+  type+    AWSResponse DeleteBucketInventoryConfiguration =+      DeleteBucketInventoryConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketInventoryConfigurationResponse'++instance+  Prelude.Hashable+    DeleteBucketInventoryConfiguration+  where+  hashWithSalt+    _salt+    DeleteBucketInventoryConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DeleteBucketInventoryConfiguration+  where+  rnf DeleteBucketInventoryConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    DeleteBucketInventoryConfiguration+  where+  toHeaders DeleteBucketInventoryConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance+  Data.ToPath+    DeleteBucketInventoryConfiguration+  where+  toPath DeleteBucketInventoryConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    DeleteBucketInventoryConfiguration+  where+  toQuery DeleteBucketInventoryConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "inventory"]++-- | /See:/ 'newDeleteBucketInventoryConfigurationResponse' smart constructor.+data DeleteBucketInventoryConfigurationResponse = DeleteBucketInventoryConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketInventoryConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketInventoryConfigurationResponse ::+  DeleteBucketInventoryConfigurationResponse+newDeleteBucketInventoryConfigurationResponse =+  DeleteBucketInventoryConfigurationResponse'++instance+  Prelude.NFData+    DeleteBucketInventoryConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketLifecycle.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketLifecycle+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the lifecycle configuration from the specified bucket. Amazon S3+-- removes all the lifecycle configuration rules in the lifecycle+-- subresource associated with the bucket. Your objects never expire, and+-- Amazon S3 no longer automatically deletes any objects on the basis of+-- rules contained in the deleted lifecycle configuration.+--+-- To use this operation, you must have permission to perform the+-- @s3:PutLifecycleConfiguration@ action. By default, the bucket owner has+-- this permission and the bucket owner can grant this permission to+-- others.+--+-- There is usually some time lag before lifecycle configuration deletion+-- is fully propagated to all the Amazon S3 systems.+--+-- For more information about the object expiration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions Elements to Describe Lifecycle Actions>.+--+-- Related actions include:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html GetBucketLifecycleConfiguration>+module Amazonka.S3.DeleteBucketLifecycle+  ( -- * Creating a Request+    DeleteBucketLifecycle (..),+    newDeleteBucketLifecycle,++    -- * Request Lenses+    deleteBucketLifecycle_expectedBucketOwner,+    deleteBucketLifecycle_bucket,++    -- * Destructuring the Response+    DeleteBucketLifecycleResponse (..),+    newDeleteBucketLifecycleResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketLifecycle' smart constructor.+data DeleteBucketLifecycle = DeleteBucketLifecycle'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name of the lifecycle to delete.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketLifecycle' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketLifecycle_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketLifecycle_bucket' - The bucket name of the lifecycle to delete.+newDeleteBucketLifecycle ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketLifecycle+newDeleteBucketLifecycle pBucket_ =+  DeleteBucketLifecycle'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketLifecycle_expectedBucketOwner :: Lens.Lens' DeleteBucketLifecycle (Prelude.Maybe Prelude.Text)+deleteBucketLifecycle_expectedBucketOwner = Lens.lens (\DeleteBucketLifecycle' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketLifecycle' {} a -> s {expectedBucketOwner = a} :: DeleteBucketLifecycle)++-- | The bucket name of the lifecycle to delete.+deleteBucketLifecycle_bucket :: Lens.Lens' DeleteBucketLifecycle BucketName+deleteBucketLifecycle_bucket = Lens.lens (\DeleteBucketLifecycle' {bucket} -> bucket) (\s@DeleteBucketLifecycle' {} a -> s {bucket = a} :: DeleteBucketLifecycle)++instance Core.AWSRequest DeleteBucketLifecycle where+  type+    AWSResponse DeleteBucketLifecycle =+      DeleteBucketLifecycleResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteBucketLifecycleResponse'++instance Prelude.Hashable DeleteBucketLifecycle where+  hashWithSalt _salt DeleteBucketLifecycle' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketLifecycle where+  rnf DeleteBucketLifecycle' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketLifecycle where+  toHeaders DeleteBucketLifecycle' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketLifecycle where+  toPath DeleteBucketLifecycle' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketLifecycle where+  toQuery =+    Prelude.const (Prelude.mconcat ["lifecycle"])++-- | /See:/ 'newDeleteBucketLifecycleResponse' smart constructor.+data DeleteBucketLifecycleResponse = DeleteBucketLifecycleResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketLifecycleResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketLifecycleResponse ::+  DeleteBucketLifecycleResponse+newDeleteBucketLifecycleResponse =+  DeleteBucketLifecycleResponse'++instance Prelude.NFData DeleteBucketLifecycleResponse where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketMetricsConfiguration.hs view
@@ -0,0 +1,203 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketMetricsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes a metrics configuration for the Amazon CloudWatch request+-- metrics (specified by the metrics configuration ID) from the bucket.+-- Note that this doesn\'t include the daily storage metrics.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutMetricsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about CloudWatch request metrics for Amazon S3, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html Monitoring Metrics with Amazon CloudWatch>.+--+-- The following operations are related to+-- @DeleteBucketMetricsConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html GetBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html PutBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html ListBucketMetricsConfigurations>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html Monitoring Metrics with Amazon CloudWatch>+module Amazonka.S3.DeleteBucketMetricsConfiguration+  ( -- * Creating a Request+    DeleteBucketMetricsConfiguration (..),+    newDeleteBucketMetricsConfiguration,++    -- * Request Lenses+    deleteBucketMetricsConfiguration_expectedBucketOwner,+    deleteBucketMetricsConfiguration_bucket,+    deleteBucketMetricsConfiguration_id,++    -- * Destructuring the Response+    DeleteBucketMetricsConfigurationResponse (..),+    newDeleteBucketMetricsConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketMetricsConfiguration' smart constructor.+data DeleteBucketMetricsConfiguration = DeleteBucketMetricsConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the metrics configuration to delete.+    bucket :: BucketName,+    -- | The ID used to identify the metrics configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketMetricsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketMetricsConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketMetricsConfiguration_bucket' - The name of the bucket containing the metrics configuration to delete.+--+-- 'id', 'deleteBucketMetricsConfiguration_id' - The ID used to identify the metrics configuration.+newDeleteBucketMetricsConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  DeleteBucketMetricsConfiguration+newDeleteBucketMetricsConfiguration pBucket_ pId_ =+  DeleteBucketMetricsConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_,+      id = pId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketMetricsConfiguration_expectedBucketOwner :: Lens.Lens' DeleteBucketMetricsConfiguration (Prelude.Maybe Prelude.Text)+deleteBucketMetricsConfiguration_expectedBucketOwner = Lens.lens (\DeleteBucketMetricsConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketMetricsConfiguration' {} a -> s {expectedBucketOwner = a} :: DeleteBucketMetricsConfiguration)++-- | The name of the bucket containing the metrics configuration to delete.+deleteBucketMetricsConfiguration_bucket :: Lens.Lens' DeleteBucketMetricsConfiguration BucketName+deleteBucketMetricsConfiguration_bucket = Lens.lens (\DeleteBucketMetricsConfiguration' {bucket} -> bucket) (\s@DeleteBucketMetricsConfiguration' {} a -> s {bucket = a} :: DeleteBucketMetricsConfiguration)++-- | The ID used to identify the metrics configuration.+deleteBucketMetricsConfiguration_id :: Lens.Lens' DeleteBucketMetricsConfiguration Prelude.Text+deleteBucketMetricsConfiguration_id = Lens.lens (\DeleteBucketMetricsConfiguration' {id} -> id) (\s@DeleteBucketMetricsConfiguration' {} a -> s {id = a} :: DeleteBucketMetricsConfiguration)++instance+  Core.AWSRequest+    DeleteBucketMetricsConfiguration+  where+  type+    AWSResponse DeleteBucketMetricsConfiguration =+      DeleteBucketMetricsConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketMetricsConfigurationResponse'++instance+  Prelude.Hashable+    DeleteBucketMetricsConfiguration+  where+  hashWithSalt+    _salt+    DeleteBucketMetricsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    DeleteBucketMetricsConfiguration+  where+  rnf DeleteBucketMetricsConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    DeleteBucketMetricsConfiguration+  where+  toHeaders DeleteBucketMetricsConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketMetricsConfiguration where+  toPath DeleteBucketMetricsConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    DeleteBucketMetricsConfiguration+  where+  toQuery DeleteBucketMetricsConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "metrics"]++-- | /See:/ 'newDeleteBucketMetricsConfigurationResponse' smart constructor.+data DeleteBucketMetricsConfigurationResponse = DeleteBucketMetricsConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketMetricsConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketMetricsConfigurationResponse ::+  DeleteBucketMetricsConfigurationResponse+newDeleteBucketMetricsConfigurationResponse =+  DeleteBucketMetricsConfigurationResponse'++instance+  Prelude.NFData+    DeleteBucketMetricsConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketOwnershipControls.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketOwnershipControls+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes @OwnershipControls@ for an Amazon S3 bucket. To use this+-- operation, you must have the @s3:PutBucketOwnershipControls@ permission.+-- For more information about Amazon S3 permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>.+--+-- For information about Amazon S3 Object Ownership, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html Using Object Ownership>.+--+-- The following operations are related to @DeleteBucketOwnershipControls@:+--+-- -   GetBucketOwnershipControls+--+-- -   PutBucketOwnershipControls+module Amazonka.S3.DeleteBucketOwnershipControls+  ( -- * Creating a Request+    DeleteBucketOwnershipControls (..),+    newDeleteBucketOwnershipControls,++    -- * Request Lenses+    deleteBucketOwnershipControls_expectedBucketOwner,+    deleteBucketOwnershipControls_bucket,++    -- * Destructuring the Response+    DeleteBucketOwnershipControlsResponse (..),+    newDeleteBucketOwnershipControlsResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketOwnershipControls' smart constructor.+data DeleteBucketOwnershipControls = DeleteBucketOwnershipControls'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The Amazon S3 bucket whose @OwnershipControls@ you want to delete.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketOwnershipControls' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketOwnershipControls_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketOwnershipControls_bucket' - The Amazon S3 bucket whose @OwnershipControls@ you want to delete.+newDeleteBucketOwnershipControls ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketOwnershipControls+newDeleteBucketOwnershipControls pBucket_ =+  DeleteBucketOwnershipControls'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketOwnershipControls_expectedBucketOwner :: Lens.Lens' DeleteBucketOwnershipControls (Prelude.Maybe Prelude.Text)+deleteBucketOwnershipControls_expectedBucketOwner = Lens.lens (\DeleteBucketOwnershipControls' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketOwnershipControls' {} a -> s {expectedBucketOwner = a} :: DeleteBucketOwnershipControls)++-- | The Amazon S3 bucket whose @OwnershipControls@ you want to delete.+deleteBucketOwnershipControls_bucket :: Lens.Lens' DeleteBucketOwnershipControls BucketName+deleteBucketOwnershipControls_bucket = Lens.lens (\DeleteBucketOwnershipControls' {bucket} -> bucket) (\s@DeleteBucketOwnershipControls' {} a -> s {bucket = a} :: DeleteBucketOwnershipControls)++instance+  Core.AWSRequest+    DeleteBucketOwnershipControls+  where+  type+    AWSResponse DeleteBucketOwnershipControls =+      DeleteBucketOwnershipControlsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketOwnershipControlsResponse'++instance+  Prelude.Hashable+    DeleteBucketOwnershipControls+  where+  hashWithSalt _salt DeleteBucketOwnershipControls' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketOwnershipControls where+  rnf DeleteBucketOwnershipControls' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketOwnershipControls where+  toHeaders DeleteBucketOwnershipControls' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketOwnershipControls where+  toPath DeleteBucketOwnershipControls' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketOwnershipControls where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["ownershipControls"])++-- | /See:/ 'newDeleteBucketOwnershipControlsResponse' smart constructor.+data DeleteBucketOwnershipControlsResponse = DeleteBucketOwnershipControlsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketOwnershipControlsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketOwnershipControlsResponse ::+  DeleteBucketOwnershipControlsResponse+newDeleteBucketOwnershipControlsResponse =+  DeleteBucketOwnershipControlsResponse'++instance+  Prelude.NFData+    DeleteBucketOwnershipControlsResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketPolicy.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This implementation of the DELETE action uses the policy subresource to+-- delete the policy of a specified bucket. If you are using an identity+-- other than the root user of the Amazon Web Services account that owns+-- the bucket, the calling identity must have the @DeleteBucketPolicy@+-- permissions on the specified bucket and belong to the bucket owner\'s+-- account to use this operation.+--+-- If you don\'t have @DeleteBucketPolicy@ permissions, Amazon S3 returns a+-- @403 Access Denied@ error. If you have the correct permissions, but+-- you\'re not using an identity that belongs to the bucket owner\'s+-- account, Amazon S3 returns a @405 Method Not Allowed@ error.+--+-- As a security precaution, the root user of the Amazon Web Services+-- account that owns a bucket can always use this operation, even if the+-- policy explicitly denies the root user the ability to perform this+-- action.+--+-- For more information about bucket policies, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html Using Bucket Policies and UserPolicies>.+--+-- The following operations are related to @DeleteBucketPolicy@+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html DeleteObject>+module Amazonka.S3.DeleteBucketPolicy+  ( -- * Creating a Request+    DeleteBucketPolicy (..),+    newDeleteBucketPolicy,++    -- * Request Lenses+    deleteBucketPolicy_expectedBucketOwner,+    deleteBucketPolicy_bucket,++    -- * Destructuring the Response+    DeleteBucketPolicyResponse (..),+    newDeleteBucketPolicyResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketPolicy' smart constructor.+data DeleteBucketPolicy = DeleteBucketPolicy'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketPolicy_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketPolicy_bucket' - The bucket name.+newDeleteBucketPolicy ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketPolicy+newDeleteBucketPolicy pBucket_ =+  DeleteBucketPolicy'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketPolicy_expectedBucketOwner :: Lens.Lens' DeleteBucketPolicy (Prelude.Maybe Prelude.Text)+deleteBucketPolicy_expectedBucketOwner = Lens.lens (\DeleteBucketPolicy' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketPolicy' {} a -> s {expectedBucketOwner = a} :: DeleteBucketPolicy)++-- | The bucket name.+deleteBucketPolicy_bucket :: Lens.Lens' DeleteBucketPolicy BucketName+deleteBucketPolicy_bucket = Lens.lens (\DeleteBucketPolicy' {bucket} -> bucket) (\s@DeleteBucketPolicy' {} a -> s {bucket = a} :: DeleteBucketPolicy)++instance Core.AWSRequest DeleteBucketPolicy where+  type+    AWSResponse DeleteBucketPolicy =+      DeleteBucketPolicyResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteBucketPolicyResponse'++instance Prelude.Hashable DeleteBucketPolicy where+  hashWithSalt _salt DeleteBucketPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketPolicy where+  rnf DeleteBucketPolicy' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketPolicy where+  toHeaders DeleteBucketPolicy' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketPolicy where+  toPath DeleteBucketPolicy' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketPolicy where+  toQuery = Prelude.const (Prelude.mconcat ["policy"])++-- | /See:/ 'newDeleteBucketPolicyResponse' smart constructor.+data DeleteBucketPolicyResponse = DeleteBucketPolicyResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketPolicyResponse ::+  DeleteBucketPolicyResponse+newDeleteBucketPolicyResponse =+  DeleteBucketPolicyResponse'++instance Prelude.NFData DeleteBucketPolicyResponse where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketReplication.hs view
@@ -0,0 +1,169 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketReplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the replication configuration from the bucket.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutReplicationConfiguration@ action. The bucket owner has these+-- permissions by default and can grant it to others. For more information+-- about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- It can take a while for the deletion of a replication configuration to+-- fully propagate.+--+-- For information about replication configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html Replication>+-- in the /Amazon S3 User Guide/.+--+-- The following operations are related to @DeleteBucketReplication@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html PutBucketReplication>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html GetBucketReplication>+module Amazonka.S3.DeleteBucketReplication+  ( -- * Creating a Request+    DeleteBucketReplication (..),+    newDeleteBucketReplication,++    -- * Request Lenses+    deleteBucketReplication_expectedBucketOwner,+    deleteBucketReplication_bucket,++    -- * Destructuring the Response+    DeleteBucketReplicationResponse (..),+    newDeleteBucketReplicationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketReplication' smart constructor.+data DeleteBucketReplication = DeleteBucketReplication'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketReplication_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketReplication_bucket' - The bucket name.+newDeleteBucketReplication ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketReplication+newDeleteBucketReplication pBucket_ =+  DeleteBucketReplication'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketReplication_expectedBucketOwner :: Lens.Lens' DeleteBucketReplication (Prelude.Maybe Prelude.Text)+deleteBucketReplication_expectedBucketOwner = Lens.lens (\DeleteBucketReplication' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketReplication' {} a -> s {expectedBucketOwner = a} :: DeleteBucketReplication)++-- | The bucket name.+deleteBucketReplication_bucket :: Lens.Lens' DeleteBucketReplication BucketName+deleteBucketReplication_bucket = Lens.lens (\DeleteBucketReplication' {bucket} -> bucket) (\s@DeleteBucketReplication' {} a -> s {bucket = a} :: DeleteBucketReplication)++instance Core.AWSRequest DeleteBucketReplication where+  type+    AWSResponse DeleteBucketReplication =+      DeleteBucketReplicationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeleteBucketReplicationResponse'++instance Prelude.Hashable DeleteBucketReplication where+  hashWithSalt _salt DeleteBucketReplication' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketReplication where+  rnf DeleteBucketReplication' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketReplication where+  toHeaders DeleteBucketReplication' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketReplication where+  toPath DeleteBucketReplication' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketReplication where+  toQuery =+    Prelude.const (Prelude.mconcat ["replication"])++-- | /See:/ 'newDeleteBucketReplicationResponse' smart constructor.+data DeleteBucketReplicationResponse = DeleteBucketReplicationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketReplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketReplicationResponse ::+  DeleteBucketReplicationResponse+newDeleteBucketReplicationResponse =+  DeleteBucketReplicationResponse'++instance+  Prelude.NFData+    DeleteBucketReplicationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketTagging.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketTagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Deletes the tags from the bucket.+--+-- To use this operation, you must have permission to perform the+-- @s3:PutBucketTagging@ action. By default, the bucket owner has this+-- permission and can grant this permission to others.+--+-- The following operations are related to @DeleteBucketTagging@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html GetBucketTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html PutBucketTagging>+module Amazonka.S3.DeleteBucketTagging+  ( -- * Creating a Request+    DeleteBucketTagging (..),+    newDeleteBucketTagging,++    -- * Request Lenses+    deleteBucketTagging_expectedBucketOwner,+    deleteBucketTagging_bucket,++    -- * Destructuring the Response+    DeleteBucketTaggingResponse (..),+    newDeleteBucketTaggingResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketTagging' smart constructor.+data DeleteBucketTagging = DeleteBucketTagging'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket that has the tag set to be removed.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketTagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketTagging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketTagging_bucket' - The bucket that has the tag set to be removed.+newDeleteBucketTagging ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketTagging+newDeleteBucketTagging pBucket_ =+  DeleteBucketTagging'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketTagging_expectedBucketOwner :: Lens.Lens' DeleteBucketTagging (Prelude.Maybe Prelude.Text)+deleteBucketTagging_expectedBucketOwner = Lens.lens (\DeleteBucketTagging' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketTagging' {} a -> s {expectedBucketOwner = a} :: DeleteBucketTagging)++-- | The bucket that has the tag set to be removed.+deleteBucketTagging_bucket :: Lens.Lens' DeleteBucketTagging BucketName+deleteBucketTagging_bucket = Lens.lens (\DeleteBucketTagging' {bucket} -> bucket) (\s@DeleteBucketTagging' {} a -> s {bucket = a} :: DeleteBucketTagging)++instance Core.AWSRequest DeleteBucketTagging where+  type+    AWSResponse DeleteBucketTagging =+      DeleteBucketTaggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteBucketTaggingResponse'++instance Prelude.Hashable DeleteBucketTagging where+  hashWithSalt _salt DeleteBucketTagging' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketTagging where+  rnf DeleteBucketTagging' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketTagging where+  toHeaders DeleteBucketTagging' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketTagging where+  toPath DeleteBucketTagging' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketTagging where+  toQuery = Prelude.const (Prelude.mconcat ["tagging"])++-- | /See:/ 'newDeleteBucketTaggingResponse' smart constructor.+data DeleteBucketTaggingResponse = DeleteBucketTaggingResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketTaggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketTaggingResponse ::+  DeleteBucketTaggingResponse+newDeleteBucketTaggingResponse =+  DeleteBucketTaggingResponse'++instance Prelude.NFData DeleteBucketTaggingResponse where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteBucketWebsite.hs view
@@ -0,0 +1,163 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteBucketWebsite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action removes the website configuration for a bucket. Amazon S3+-- returns a @200 OK@ response upon successfully deleting a website+-- configuration on the specified bucket. You will get a @200 OK@ response+-- if the website configuration you are trying to delete does not exist on+-- the bucket. Amazon S3 returns a @404@ response if the bucket specified+-- in the request does not exist.+--+-- This DELETE action requires the @S3:DeleteBucketWebsite@ permission. By+-- default, only the bucket owner can delete the website configuration+-- attached to a bucket. However, bucket owners can grant other users+-- permission to delete the website configuration by writing a bucket+-- policy granting them the @S3:DeleteBucketWebsite@ permission.+--+-- For more information about hosting websites, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting Websites on Amazon S3>.+--+-- The following operations are related to @DeleteBucketWebsite@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html GetBucketWebsite>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html PutBucketWebsite>+module Amazonka.S3.DeleteBucketWebsite+  ( -- * Creating a Request+    DeleteBucketWebsite (..),+    newDeleteBucketWebsite,++    -- * Request Lenses+    deleteBucketWebsite_expectedBucketOwner,+    deleteBucketWebsite_bucket,++    -- * Destructuring the Response+    DeleteBucketWebsiteResponse (..),+    newDeleteBucketWebsiteResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteBucketWebsite' smart constructor.+data DeleteBucketWebsite = DeleteBucketWebsite'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name for which you want to remove the website configuration.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketWebsite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteBucketWebsite_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deleteBucketWebsite_bucket' - The bucket name for which you want to remove the website configuration.+newDeleteBucketWebsite ::+  -- | 'bucket'+  BucketName ->+  DeleteBucketWebsite+newDeleteBucketWebsite pBucket_ =+  DeleteBucketWebsite'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteBucketWebsite_expectedBucketOwner :: Lens.Lens' DeleteBucketWebsite (Prelude.Maybe Prelude.Text)+deleteBucketWebsite_expectedBucketOwner = Lens.lens (\DeleteBucketWebsite' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteBucketWebsite' {} a -> s {expectedBucketOwner = a} :: DeleteBucketWebsite)++-- | The bucket name for which you want to remove the website configuration.+deleteBucketWebsite_bucket :: Lens.Lens' DeleteBucketWebsite BucketName+deleteBucketWebsite_bucket = Lens.lens (\DeleteBucketWebsite' {bucket} -> bucket) (\s@DeleteBucketWebsite' {} a -> s {bucket = a} :: DeleteBucketWebsite)++instance Core.AWSRequest DeleteBucketWebsite where+  type+    AWSResponse DeleteBucketWebsite =+      DeleteBucketWebsiteResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull DeleteBucketWebsiteResponse'++instance Prelude.Hashable DeleteBucketWebsite where+  hashWithSalt _salt DeleteBucketWebsite' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeleteBucketWebsite where+  rnf DeleteBucketWebsite' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeleteBucketWebsite where+  toHeaders DeleteBucketWebsite' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteBucketWebsite where+  toPath DeleteBucketWebsite' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteBucketWebsite where+  toQuery = Prelude.const (Prelude.mconcat ["website"])++-- | /See:/ 'newDeleteBucketWebsiteResponse' smart constructor.+data DeleteBucketWebsiteResponse = DeleteBucketWebsiteResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteBucketWebsiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeleteBucketWebsiteResponse ::+  DeleteBucketWebsiteResponse+newDeleteBucketWebsiteResponse =+  DeleteBucketWebsiteResponse'++instance Prelude.NFData DeleteBucketWebsiteResponse where+  rnf _ = ()
+ gen/Amazonka/S3/DeleteObject.hs view
@@ -0,0 +1,374 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the null version (if there is one) of an object and inserts a+-- delete marker, which becomes the latest version of the object. If there+-- isn\'t a null version, Amazon S3 does not remove any objects but will+-- still respond that the command was successful.+--+-- To remove a specific version, you must be the bucket owner and you must+-- use the version Id subresource. Using this subresource permanently+-- deletes the version. If the object deleted is a delete marker, Amazon S3+-- sets the response header, @x-amz-delete-marker@, to true.+--+-- If the object you want to delete is in a bucket where the bucket+-- versioning configuration is MFA Delete enabled, you must include the+-- @x-amz-mfa@ request header in the DELETE @versionId@ request. Requests+-- that include @x-amz-mfa@ must use HTTPS.+--+-- For more information about MFA Delete, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html Using MFA Delete>.+-- To see sample requests that use versioning, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete Sample Request>.+--+-- You can delete objects by explicitly calling DELETE Object or configure+-- its lifecycle+-- (<https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html PutBucketLifecycle>)+-- to enable Amazon S3 to remove them for you. If you want to block users+-- or accounts from removing or deleting objects from your bucket, you must+-- deny them the @s3:DeleteObject@, @s3:DeleteObjectVersion@, and+-- @s3:PutLifeCycleConfiguration@ actions.+--+-- The following action is related to @DeleteObject@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+module Amazonka.S3.DeleteObject+  ( -- * Creating a Request+    DeleteObject (..),+    newDeleteObject,++    -- * Request Lenses+    deleteObject_bypassGovernanceRetention,+    deleteObject_expectedBucketOwner,+    deleteObject_mfa,+    deleteObject_requestPayer,+    deleteObject_versionId,+    deleteObject_bucket,+    deleteObject_key,++    -- * Destructuring the Response+    DeleteObjectResponse (..),+    newDeleteObjectResponse,++    -- * Response Lenses+    deleteObjectResponse_deleteMarker,+    deleteObjectResponse_requestCharged,+    deleteObjectResponse_versionId,+    deleteObjectResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteObject' smart constructor.+data DeleteObject = DeleteObject'+  { -- | Indicates whether S3 Object Lock should bypass Governance-mode+    -- restrictions to process this operation. To use this header, you must+    -- have the @s3:BypassGovernanceRetention@ permission.+    bypassGovernanceRetention :: Prelude.Maybe Prelude.Bool,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The concatenation of the authentication device\'s serial number, a+    -- space, and the value that is displayed on your authentication device.+    -- Required to permanently delete a versioned object if versioning is+    -- configured with MFA delete enabled.+    mfa :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | VersionId used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name of the bucket containing the object.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Key name of the object to delete.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bypassGovernanceRetention', 'deleteObject_bypassGovernanceRetention' - Indicates whether S3 Object Lock should bypass Governance-mode+-- restrictions to process this operation. To use this header, you must+-- have the @s3:BypassGovernanceRetention@ permission.+--+-- 'expectedBucketOwner', 'deleteObject_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'mfa', 'deleteObject_mfa' - The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+-- Required to permanently delete a versioned object if versioning is+-- configured with MFA delete enabled.+--+-- 'requestPayer', 'deleteObject_requestPayer' - Undocumented member.+--+-- 'versionId', 'deleteObject_versionId' - VersionId used to reference a specific version of the object.+--+-- 'bucket', 'deleteObject_bucket' - The bucket name of the bucket containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'deleteObject_key' - Key name of the object to delete.+newDeleteObject ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  DeleteObject+newDeleteObject pBucket_ pKey_ =+  DeleteObject'+    { bypassGovernanceRetention =+        Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      mfa = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | Indicates whether S3 Object Lock should bypass Governance-mode+-- restrictions to process this operation. To use this header, you must+-- have the @s3:BypassGovernanceRetention@ permission.+deleteObject_bypassGovernanceRetention :: Lens.Lens' DeleteObject (Prelude.Maybe Prelude.Bool)+deleteObject_bypassGovernanceRetention = Lens.lens (\DeleteObject' {bypassGovernanceRetention} -> bypassGovernanceRetention) (\s@DeleteObject' {} a -> s {bypassGovernanceRetention = a} :: DeleteObject)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteObject_expectedBucketOwner :: Lens.Lens' DeleteObject (Prelude.Maybe Prelude.Text)+deleteObject_expectedBucketOwner = Lens.lens (\DeleteObject' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteObject' {} a -> s {expectedBucketOwner = a} :: DeleteObject)++-- | The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+-- Required to permanently delete a versioned object if versioning is+-- configured with MFA delete enabled.+deleteObject_mfa :: Lens.Lens' DeleteObject (Prelude.Maybe Prelude.Text)+deleteObject_mfa = Lens.lens (\DeleteObject' {mfa} -> mfa) (\s@DeleteObject' {} a -> s {mfa = a} :: DeleteObject)++-- | Undocumented member.+deleteObject_requestPayer :: Lens.Lens' DeleteObject (Prelude.Maybe RequestPayer)+deleteObject_requestPayer = Lens.lens (\DeleteObject' {requestPayer} -> requestPayer) (\s@DeleteObject' {} a -> s {requestPayer = a} :: DeleteObject)++-- | VersionId used to reference a specific version of the object.+deleteObject_versionId :: Lens.Lens' DeleteObject (Prelude.Maybe ObjectVersionId)+deleteObject_versionId = Lens.lens (\DeleteObject' {versionId} -> versionId) (\s@DeleteObject' {} a -> s {versionId = a} :: DeleteObject)++-- | The bucket name of the bucket containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+deleteObject_bucket :: Lens.Lens' DeleteObject BucketName+deleteObject_bucket = Lens.lens (\DeleteObject' {bucket} -> bucket) (\s@DeleteObject' {} a -> s {bucket = a} :: DeleteObject)++-- | Key name of the object to delete.+deleteObject_key :: Lens.Lens' DeleteObject ObjectKey+deleteObject_key = Lens.lens (\DeleteObject' {key} -> key) (\s@DeleteObject' {} a -> s {key = a} :: DeleteObject)++instance Core.AWSRequest DeleteObject where+  type AWSResponse DeleteObject = DeleteObjectResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteObjectResponse'+            Prelude.<$> (h Data..#? "x-amz-delete-marker")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteObject where+  hashWithSalt _salt DeleteObject' {..} =+    _salt+      `Prelude.hashWithSalt` bypassGovernanceRetention+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` mfa+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData DeleteObject where+  rnf DeleteObject' {..} =+    Prelude.rnf bypassGovernanceRetention+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf mfa+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders DeleteObject where+  toHeaders DeleteObject' {..} =+    Prelude.mconcat+      [ "x-amz-bypass-governance-retention"+          Data.=# bypassGovernanceRetention,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-mfa" Data.=# mfa,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath DeleteObject where+  toPath DeleteObject' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery DeleteObject where+  toQuery DeleteObject' {..} =+    Prelude.mconcat ["versionId" Data.=: versionId]++-- | /See:/ 'newDeleteObjectResponse' smart constructor.+data DeleteObjectResponse = DeleteObjectResponse'+  { -- | Specifies whether the versioned object that was permanently deleted was+    -- (true) or was not (false) a delete marker.+    deleteMarker :: Prelude.Maybe Prelude.Bool,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | Returns the version ID of the delete marker created as a result of the+    -- DELETE operation.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteMarker', 'deleteObjectResponse_deleteMarker' - Specifies whether the versioned object that was permanently deleted was+-- (true) or was not (false) a delete marker.+--+-- 'requestCharged', 'deleteObjectResponse_requestCharged' - Undocumented member.+--+-- 'versionId', 'deleteObjectResponse_versionId' - Returns the version ID of the delete marker created as a result of the+-- DELETE operation.+--+-- 'httpStatus', 'deleteObjectResponse_httpStatus' - The response's http status code.+newDeleteObjectResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteObjectResponse+newDeleteObjectResponse pHttpStatus_ =+  DeleteObjectResponse'+    { deleteMarker =+        Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      versionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Specifies whether the versioned object that was permanently deleted was+-- (true) or was not (false) a delete marker.+deleteObjectResponse_deleteMarker :: Lens.Lens' DeleteObjectResponse (Prelude.Maybe Prelude.Bool)+deleteObjectResponse_deleteMarker = Lens.lens (\DeleteObjectResponse' {deleteMarker} -> deleteMarker) (\s@DeleteObjectResponse' {} a -> s {deleteMarker = a} :: DeleteObjectResponse)++-- | Undocumented member.+deleteObjectResponse_requestCharged :: Lens.Lens' DeleteObjectResponse (Prelude.Maybe RequestCharged)+deleteObjectResponse_requestCharged = Lens.lens (\DeleteObjectResponse' {requestCharged} -> requestCharged) (\s@DeleteObjectResponse' {} a -> s {requestCharged = a} :: DeleteObjectResponse)++-- | Returns the version ID of the delete marker created as a result of the+-- DELETE operation.+deleteObjectResponse_versionId :: Lens.Lens' DeleteObjectResponse (Prelude.Maybe ObjectVersionId)+deleteObjectResponse_versionId = Lens.lens (\DeleteObjectResponse' {versionId} -> versionId) (\s@DeleteObjectResponse' {} a -> s {versionId = a} :: DeleteObjectResponse)++-- | The response's http status code.+deleteObjectResponse_httpStatus :: Lens.Lens' DeleteObjectResponse Prelude.Int+deleteObjectResponse_httpStatus = Lens.lens (\DeleteObjectResponse' {httpStatus} -> httpStatus) (\s@DeleteObjectResponse' {} a -> s {httpStatus = a} :: DeleteObjectResponse)++instance Prelude.NFData DeleteObjectResponse where+  rnf DeleteObjectResponse' {..} =+    Prelude.rnf deleteMarker+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/DeleteObjectTagging.hs view
@@ -0,0 +1,283 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteObjectTagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the entire tag set from the specified object. For more+-- information about managing object tags, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html Object Tagging>.+--+-- To use this operation, you must have permission to perform the+-- @s3:DeleteObjectTagging@ action.+--+-- To delete tags of a specific object version, add the @versionId@ query+-- parameter in the request. You will need permission for the+-- @s3:DeleteObjectVersionTagging@ action.+--+-- The following operations are related to+-- @DeleteBucketMetricsConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html PutObjectTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html GetObjectTagging>+module Amazonka.S3.DeleteObjectTagging+  ( -- * Creating a Request+    DeleteObjectTagging (..),+    newDeleteObjectTagging,++    -- * Request Lenses+    deleteObjectTagging_expectedBucketOwner,+    deleteObjectTagging_versionId,+    deleteObjectTagging_bucket,+    deleteObjectTagging_key,++    -- * Destructuring the Response+    DeleteObjectTaggingResponse (..),+    newDeleteObjectTaggingResponse,++    -- * Response Lenses+    deleteObjectTaggingResponse_versionId,+    deleteObjectTaggingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteObjectTagging' smart constructor.+data DeleteObjectTagging = DeleteObjectTagging'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The versionId of the object that the tag-set will be removed from.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the objects from which to remove the tags.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The key that identifies the object in the bucket from which to remove+    -- all tags.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObjectTagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deleteObjectTagging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'versionId', 'deleteObjectTagging_versionId' - The versionId of the object that the tag-set will be removed from.+--+-- 'bucket', 'deleteObjectTagging_bucket' - The bucket name containing the objects from which to remove the tags.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'deleteObjectTagging_key' - The key that identifies the object in the bucket from which to remove+-- all tags.+newDeleteObjectTagging ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  DeleteObjectTagging+newDeleteObjectTagging pBucket_ pKey_ =+  DeleteObjectTagging'+    { expectedBucketOwner =+        Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteObjectTagging_expectedBucketOwner :: Lens.Lens' DeleteObjectTagging (Prelude.Maybe Prelude.Text)+deleteObjectTagging_expectedBucketOwner = Lens.lens (\DeleteObjectTagging' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteObjectTagging' {} a -> s {expectedBucketOwner = a} :: DeleteObjectTagging)++-- | The versionId of the object that the tag-set will be removed from.+deleteObjectTagging_versionId :: Lens.Lens' DeleteObjectTagging (Prelude.Maybe ObjectVersionId)+deleteObjectTagging_versionId = Lens.lens (\DeleteObjectTagging' {versionId} -> versionId) (\s@DeleteObjectTagging' {} a -> s {versionId = a} :: DeleteObjectTagging)++-- | The bucket name containing the objects from which to remove the tags.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+deleteObjectTagging_bucket :: Lens.Lens' DeleteObjectTagging BucketName+deleteObjectTagging_bucket = Lens.lens (\DeleteObjectTagging' {bucket} -> bucket) (\s@DeleteObjectTagging' {} a -> s {bucket = a} :: DeleteObjectTagging)++-- | The key that identifies the object in the bucket from which to remove+-- all tags.+deleteObjectTagging_key :: Lens.Lens' DeleteObjectTagging ObjectKey+deleteObjectTagging_key = Lens.lens (\DeleteObjectTagging' {key} -> key) (\s@DeleteObjectTagging' {} a -> s {key = a} :: DeleteObjectTagging)++instance Core.AWSRequest DeleteObjectTagging where+  type+    AWSResponse DeleteObjectTagging =+      DeleteObjectTaggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          DeleteObjectTaggingResponse'+            Prelude.<$> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteObjectTagging where+  hashWithSalt _salt DeleteObjectTagging' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData DeleteObjectTagging where+  rnf DeleteObjectTagging' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders DeleteObjectTagging where+  toHeaders DeleteObjectTagging' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeleteObjectTagging where+  toPath DeleteObjectTagging' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery DeleteObjectTagging where+  toQuery DeleteObjectTagging' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "tagging"]++-- | /See:/ 'newDeleteObjectTaggingResponse' smart constructor.+data DeleteObjectTaggingResponse = DeleteObjectTaggingResponse'+  { -- | The versionId of the object the tag-set was removed from.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObjectTaggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionId', 'deleteObjectTaggingResponse_versionId' - The versionId of the object the tag-set was removed from.+--+-- 'httpStatus', 'deleteObjectTaggingResponse_httpStatus' - The response's http status code.+newDeleteObjectTaggingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteObjectTaggingResponse+newDeleteObjectTaggingResponse pHttpStatus_ =+  DeleteObjectTaggingResponse'+    { versionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The versionId of the object the tag-set was removed from.+deleteObjectTaggingResponse_versionId :: Lens.Lens' DeleteObjectTaggingResponse (Prelude.Maybe ObjectVersionId)+deleteObjectTaggingResponse_versionId = Lens.lens (\DeleteObjectTaggingResponse' {versionId} -> versionId) (\s@DeleteObjectTaggingResponse' {} a -> s {versionId = a} :: DeleteObjectTaggingResponse)++-- | The response's http status code.+deleteObjectTaggingResponse_httpStatus :: Lens.Lens' DeleteObjectTaggingResponse Prelude.Int+deleteObjectTaggingResponse_httpStatus = Lens.lens (\DeleteObjectTaggingResponse' {httpStatus} -> httpStatus) (\s@DeleteObjectTaggingResponse' {} a -> s {httpStatus = a} :: DeleteObjectTaggingResponse)++instance Prelude.NFData DeleteObjectTaggingResponse where+  rnf DeleteObjectTaggingResponse' {..} =+    Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/DeleteObjects.hs view
@@ -0,0 +1,434 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeleteObjects+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action enables you to delete multiple objects from a bucket using a+-- single HTTP request. If you know the object keys that you want to+-- delete, then this action provides a suitable alternative to sending+-- individual delete requests, reducing per-request overhead.+--+-- The request contains a list of up to 1000 keys that you want to delete.+-- In the XML, you provide the object key names, and optionally, version+-- IDs if you want to delete a specific version of the object from a+-- versioning-enabled bucket. For each key, Amazon S3 performs a delete+-- action and returns the result of that delete, success, or failure, in+-- the response. Note that if the object specified in the request is not+-- found, Amazon S3 returns the result as deleted.+--+-- The action supports two modes for the response: verbose and quiet. By+-- default, the action uses verbose mode in which the response includes the+-- result of deletion of each key in your request. In quiet mode the+-- response includes only keys where the delete action encountered an+-- error. For a successful deletion, the action does not return any+-- information about the delete in the response body.+--+-- When performing this action on an MFA Delete enabled bucket, that+-- attempts to delete any versioned objects, you must include an MFA token.+-- If you do not provide one, the entire request will fail, even if there+-- are non-versioned objects you are trying to delete. If you provide an+-- invalid token, whether there are versioned keys in the request or not,+-- the entire Multi-Object Delete request will fail. For information about+-- MFA Delete, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete MFA Delete>.+--+-- Finally, the Content-MD5 header is required for all Multi-Object Delete+-- requests. Amazon S3 uses the header value to ensure that your request+-- body has not been altered in transit.+--+-- The following operations are related to @DeleteObjects@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+module Amazonka.S3.DeleteObjects+  ( -- * Creating a Request+    DeleteObjects (..),+    newDeleteObjects,++    -- * Request Lenses+    deleteObjects_bypassGovernanceRetention,+    deleteObjects_checksumAlgorithm,+    deleteObjects_expectedBucketOwner,+    deleteObjects_mfa,+    deleteObjects_requestPayer,+    deleteObjects_bucket,+    deleteObjects_delete,++    -- * Destructuring the Response+    DeleteObjectsResponse (..),+    newDeleteObjectsResponse,++    -- * Response Lenses+    deleteObjectsResponse_deleted,+    deleteObjectsResponse_errors,+    deleteObjectsResponse_requestCharged,+    deleteObjectsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeleteObjects' smart constructor.+data DeleteObjects = DeleteObjects'+  { -- | Specifies whether you want to delete this object even if it has a+    -- Governance-type Object Lock in place. To use this header, you must have+    -- the @s3:BypassGovernanceRetention@ permission.+    bypassGovernanceRetention :: Prelude.Maybe Prelude.Bool,+    -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    --+    -- This checksum algorithm must be the same for all parts and it match the+    -- checksum value supplied in the @CreateMultipartUpload@ request.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The concatenation of the authentication device\'s serial number, a+    -- space, and the value that is displayed on your authentication device.+    -- Required to permanently delete a versioned object if versioning is+    -- configured with MFA delete enabled.+    mfa :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The bucket name containing the objects to delete.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Container for the request.+    delete' :: Delete+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObjects' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bypassGovernanceRetention', 'deleteObjects_bypassGovernanceRetention' - Specifies whether you want to delete this object even if it has a+-- Governance-type Object Lock in place. To use this header, you must have+-- the @s3:BypassGovernanceRetention@ permission.+--+-- 'checksumAlgorithm', 'deleteObjects_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- This checksum algorithm must be the same for all parts and it match the+-- checksum value supplied in the @CreateMultipartUpload@ request.+--+-- 'expectedBucketOwner', 'deleteObjects_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'mfa', 'deleteObjects_mfa' - The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+-- Required to permanently delete a versioned object if versioning is+-- configured with MFA delete enabled.+--+-- 'requestPayer', 'deleteObjects_requestPayer' - Undocumented member.+--+-- 'bucket', 'deleteObjects_bucket' - The bucket name containing the objects to delete.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'delete'', 'deleteObjects_delete' - Container for the request.+newDeleteObjects ::+  -- | 'bucket'+  BucketName ->+  -- | 'delete''+  Delete ->+  DeleteObjects+newDeleteObjects pBucket_ pDelete_ =+  DeleteObjects'+    { bypassGovernanceRetention =+        Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      mfa = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      bucket = pBucket_,+      delete' = pDelete_+    }++-- | Specifies whether you want to delete this object even if it has a+-- Governance-type Object Lock in place. To use this header, you must have+-- the @s3:BypassGovernanceRetention@ permission.+deleteObjects_bypassGovernanceRetention :: Lens.Lens' DeleteObjects (Prelude.Maybe Prelude.Bool)+deleteObjects_bypassGovernanceRetention = Lens.lens (\DeleteObjects' {bypassGovernanceRetention} -> bypassGovernanceRetention) (\s@DeleteObjects' {} a -> s {bypassGovernanceRetention = a} :: DeleteObjects)++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- This checksum algorithm must be the same for all parts and it match the+-- checksum value supplied in the @CreateMultipartUpload@ request.+deleteObjects_checksumAlgorithm :: Lens.Lens' DeleteObjects (Prelude.Maybe ChecksumAlgorithm)+deleteObjects_checksumAlgorithm = Lens.lens (\DeleteObjects' {checksumAlgorithm} -> checksumAlgorithm) (\s@DeleteObjects' {} a -> s {checksumAlgorithm = a} :: DeleteObjects)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deleteObjects_expectedBucketOwner :: Lens.Lens' DeleteObjects (Prelude.Maybe Prelude.Text)+deleteObjects_expectedBucketOwner = Lens.lens (\DeleteObjects' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeleteObjects' {} a -> s {expectedBucketOwner = a} :: DeleteObjects)++-- | The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+-- Required to permanently delete a versioned object if versioning is+-- configured with MFA delete enabled.+deleteObjects_mfa :: Lens.Lens' DeleteObjects (Prelude.Maybe Prelude.Text)+deleteObjects_mfa = Lens.lens (\DeleteObjects' {mfa} -> mfa) (\s@DeleteObjects' {} a -> s {mfa = a} :: DeleteObjects)++-- | Undocumented member.+deleteObjects_requestPayer :: Lens.Lens' DeleteObjects (Prelude.Maybe RequestPayer)+deleteObjects_requestPayer = Lens.lens (\DeleteObjects' {requestPayer} -> requestPayer) (\s@DeleteObjects' {} a -> s {requestPayer = a} :: DeleteObjects)++-- | The bucket name containing the objects to delete.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+deleteObjects_bucket :: Lens.Lens' DeleteObjects BucketName+deleteObjects_bucket = Lens.lens (\DeleteObjects' {bucket} -> bucket) (\s@DeleteObjects' {} a -> s {bucket = a} :: DeleteObjects)++-- | Container for the request.+deleteObjects_delete :: Lens.Lens' DeleteObjects Delete+deleteObjects_delete = Lens.lens (\DeleteObjects' {delete'} -> delete') (\s@DeleteObjects' {} a -> s {delete' = a} :: DeleteObjects)++instance Core.AWSRequest DeleteObjects where+  type+    AWSResponse DeleteObjects =+      DeleteObjectsResponse+  request overrides =+    Request.contentMD5Header+      Prelude.. Request.s3vhost+      Prelude.. Request.postXML (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          DeleteObjectsResponse'+            Prelude.<$> (Core.may (Data.parseXMLList "Deleted") x)+            Prelude.<*> (Core.may (Data.parseXMLList "Error") x)+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable DeleteObjects where+  hashWithSalt _salt DeleteObjects' {..} =+    _salt+      `Prelude.hashWithSalt` bypassGovernanceRetention+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` mfa+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` delete'++instance Prelude.NFData DeleteObjects where+  rnf DeleteObjects' {..} =+    Prelude.rnf bypassGovernanceRetention+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf mfa+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf delete'++instance Data.ToElement DeleteObjects where+  toElement DeleteObjects' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}Delete"+      delete'++instance Data.ToHeaders DeleteObjects where+  toHeaders DeleteObjects' {..} =+    Prelude.mconcat+      [ "x-amz-bypass-governance-retention"+          Data.=# bypassGovernanceRetention,+        "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-mfa" Data.=# mfa,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath DeleteObjects where+  toPath DeleteObjects' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeleteObjects where+  toQuery = Prelude.const (Prelude.mconcat ["delete"])++-- | /See:/ 'newDeleteObjectsResponse' smart constructor.+data DeleteObjectsResponse = DeleteObjectsResponse'+  { -- | Container element for a successful delete. It identifies the object that+    -- was successfully deleted.+    deleted :: Prelude.Maybe [DeletedObject],+    -- | Container for a failed delete action that describes the object that+    -- Amazon S3 attempted to delete and the error it encountered.+    errors :: Prelude.Maybe [S3ServiceError],+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteObjectsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleted', 'deleteObjectsResponse_deleted' - Container element for a successful delete. It identifies the object that+-- was successfully deleted.+--+-- 'errors', 'deleteObjectsResponse_errors' - Container for a failed delete action that describes the object that+-- Amazon S3 attempted to delete and the error it encountered.+--+-- 'requestCharged', 'deleteObjectsResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'deleteObjectsResponse_httpStatus' - The response's http status code.+newDeleteObjectsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  DeleteObjectsResponse+newDeleteObjectsResponse pHttpStatus_ =+  DeleteObjectsResponse'+    { deleted = Prelude.Nothing,+      errors = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Container element for a successful delete. It identifies the object that+-- was successfully deleted.+deleteObjectsResponse_deleted :: Lens.Lens' DeleteObjectsResponse (Prelude.Maybe [DeletedObject])+deleteObjectsResponse_deleted = Lens.lens (\DeleteObjectsResponse' {deleted} -> deleted) (\s@DeleteObjectsResponse' {} a -> s {deleted = a} :: DeleteObjectsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Container for a failed delete action that describes the object that+-- Amazon S3 attempted to delete and the error it encountered.+deleteObjectsResponse_errors :: Lens.Lens' DeleteObjectsResponse (Prelude.Maybe [S3ServiceError])+deleteObjectsResponse_errors = Lens.lens (\DeleteObjectsResponse' {errors} -> errors) (\s@DeleteObjectsResponse' {} a -> s {errors = a} :: DeleteObjectsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+deleteObjectsResponse_requestCharged :: Lens.Lens' DeleteObjectsResponse (Prelude.Maybe RequestCharged)+deleteObjectsResponse_requestCharged = Lens.lens (\DeleteObjectsResponse' {requestCharged} -> requestCharged) (\s@DeleteObjectsResponse' {} a -> s {requestCharged = a} :: DeleteObjectsResponse)++-- | The response's http status code.+deleteObjectsResponse_httpStatus :: Lens.Lens' DeleteObjectsResponse Prelude.Int+deleteObjectsResponse_httpStatus = Lens.lens (\DeleteObjectsResponse' {httpStatus} -> httpStatus) (\s@DeleteObjectsResponse' {} a -> s {httpStatus = a} :: DeleteObjectsResponse)++instance Prelude.NFData DeleteObjectsResponse where+  rnf DeleteObjectsResponse' {..} =+    Prelude.rnf deleted+      `Prelude.seq` Prelude.rnf errors+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/DeletePublicAccessBlock.hs view
@@ -0,0 +1,167 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.DeletePublicAccessBlock+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Removes the @PublicAccessBlock@ configuration for an Amazon S3 bucket.+-- To use this operation, you must have the @s3:PutBucketPublicAccessBlock@+-- permission. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- The following operations are related to @DeletePublicAccessBlock@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html Using Amazon S3 Block Public Access>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html GetPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html PutPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html GetBucketPolicyStatus>+module Amazonka.S3.DeletePublicAccessBlock+  ( -- * Creating a Request+    DeletePublicAccessBlock (..),+    newDeletePublicAccessBlock,++    -- * Request Lenses+    deletePublicAccessBlock_expectedBucketOwner,+    deletePublicAccessBlock_bucket,++    -- * Destructuring the Response+    DeletePublicAccessBlockResponse (..),+    newDeletePublicAccessBlockResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newDeletePublicAccessBlock' smart constructor.+data DeletePublicAccessBlock = DeletePublicAccessBlock'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The Amazon S3 bucket whose @PublicAccessBlock@ configuration you want to+    -- delete.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePublicAccessBlock' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'deletePublicAccessBlock_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'deletePublicAccessBlock_bucket' - The Amazon S3 bucket whose @PublicAccessBlock@ configuration you want to+-- delete.+newDeletePublicAccessBlock ::+  -- | 'bucket'+  BucketName ->+  DeletePublicAccessBlock+newDeletePublicAccessBlock pBucket_ =+  DeletePublicAccessBlock'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+deletePublicAccessBlock_expectedBucketOwner :: Lens.Lens' DeletePublicAccessBlock (Prelude.Maybe Prelude.Text)+deletePublicAccessBlock_expectedBucketOwner = Lens.lens (\DeletePublicAccessBlock' {expectedBucketOwner} -> expectedBucketOwner) (\s@DeletePublicAccessBlock' {} a -> s {expectedBucketOwner = a} :: DeletePublicAccessBlock)++-- | The Amazon S3 bucket whose @PublicAccessBlock@ configuration you want to+-- delete.+deletePublicAccessBlock_bucket :: Lens.Lens' DeletePublicAccessBlock BucketName+deletePublicAccessBlock_bucket = Lens.lens (\DeletePublicAccessBlock' {bucket} -> bucket) (\s@DeletePublicAccessBlock' {} a -> s {bucket = a} :: DeletePublicAccessBlock)++instance Core.AWSRequest DeletePublicAccessBlock where+  type+    AWSResponse DeletePublicAccessBlock =+      DeletePublicAccessBlockResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.delete (overrides defaultService)+  response =+    Response.receiveNull+      DeletePublicAccessBlockResponse'++instance Prelude.Hashable DeletePublicAccessBlock where+  hashWithSalt _salt DeletePublicAccessBlock' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData DeletePublicAccessBlock where+  rnf DeletePublicAccessBlock' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders DeletePublicAccessBlock where+  toHeaders DeletePublicAccessBlock' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath DeletePublicAccessBlock where+  toPath DeletePublicAccessBlock' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery DeletePublicAccessBlock where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["publicAccessBlock"])++-- | /See:/ 'newDeletePublicAccessBlockResponse' smart constructor.+data DeletePublicAccessBlockResponse = DeletePublicAccessBlockResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletePublicAccessBlockResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newDeletePublicAccessBlockResponse ::+  DeletePublicAccessBlockResponse+newDeletePublicAccessBlockResponse =+  DeletePublicAccessBlockResponse'++instance+  Prelude.NFData+    DeletePublicAccessBlockResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/GetBucketAccelerateConfiguration.hs view
@@ -0,0 +1,233 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketAccelerateConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This implementation of the GET action uses the @accelerate@ subresource+-- to return the Transfer Acceleration state of a bucket, which is either+-- @Enabled@ or @Suspended@. Amazon S3 Transfer Acceleration is a+-- bucket-level feature that enables you to perform faster data transfers+-- to and from Amazon S3.+--+-- To use this operation, you must have permission to perform the+-- @s3:GetAccelerateConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to your Amazon S3 Resources>+-- in the /Amazon S3 User Guide/.+--+-- You set the Transfer Acceleration state of an existing bucket to+-- @Enabled@ or @Suspended@ by using the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html PutBucketAccelerateConfiguration>+-- operation.+--+-- A GET @accelerate@ request does not return a state value for a bucket+-- that has no transfer acceleration state. A bucket has no Transfer+-- Acceleration state if a state has never been set on the bucket.+--+-- For more information about transfer acceleration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html Transfer Acceleration>+-- in the Amazon S3 User Guide.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html PutBucketAccelerateConfiguration>+module Amazonka.S3.GetBucketAccelerateConfiguration+  ( -- * Creating a Request+    GetBucketAccelerateConfiguration (..),+    newGetBucketAccelerateConfiguration,++    -- * Request Lenses+    getBucketAccelerateConfiguration_expectedBucketOwner,+    getBucketAccelerateConfiguration_bucket,++    -- * Destructuring the Response+    GetBucketAccelerateConfigurationResponse (..),+    newGetBucketAccelerateConfigurationResponse,++    -- * Response Lenses+    getBucketAccelerateConfigurationResponse_status,+    getBucketAccelerateConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketAccelerateConfiguration' smart constructor.+data GetBucketAccelerateConfiguration = GetBucketAccelerateConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which the accelerate configuration is+    -- retrieved.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketAccelerateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketAccelerateConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketAccelerateConfiguration_bucket' - The name of the bucket for which the accelerate configuration is+-- retrieved.+newGetBucketAccelerateConfiguration ::+  -- | 'bucket'+  BucketName ->+  GetBucketAccelerateConfiguration+newGetBucketAccelerateConfiguration pBucket_ =+  GetBucketAccelerateConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketAccelerateConfiguration_expectedBucketOwner :: Lens.Lens' GetBucketAccelerateConfiguration (Prelude.Maybe Prelude.Text)+getBucketAccelerateConfiguration_expectedBucketOwner = Lens.lens (\GetBucketAccelerateConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketAccelerateConfiguration' {} a -> s {expectedBucketOwner = a} :: GetBucketAccelerateConfiguration)++-- | The name of the bucket for which the accelerate configuration is+-- retrieved.+getBucketAccelerateConfiguration_bucket :: Lens.Lens' GetBucketAccelerateConfiguration BucketName+getBucketAccelerateConfiguration_bucket = Lens.lens (\GetBucketAccelerateConfiguration' {bucket} -> bucket) (\s@GetBucketAccelerateConfiguration' {} a -> s {bucket = a} :: GetBucketAccelerateConfiguration)++instance+  Core.AWSRequest+    GetBucketAccelerateConfiguration+  where+  type+    AWSResponse GetBucketAccelerateConfiguration =+      GetBucketAccelerateConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketAccelerateConfigurationResponse'+            Prelude.<$> (x Data..@? "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetBucketAccelerateConfiguration+  where+  hashWithSalt+    _salt+    GetBucketAccelerateConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    GetBucketAccelerateConfiguration+  where+  rnf GetBucketAccelerateConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    GetBucketAccelerateConfiguration+  where+  toHeaders GetBucketAccelerateConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketAccelerateConfiguration where+  toPath GetBucketAccelerateConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    GetBucketAccelerateConfiguration+  where+  toQuery =+    Prelude.const (Prelude.mconcat ["accelerate"])++-- | /See:/ 'newGetBucketAccelerateConfigurationResponse' smart constructor.+data GetBucketAccelerateConfigurationResponse = GetBucketAccelerateConfigurationResponse'+  { -- | The accelerate configuration of the bucket.+    status :: Prelude.Maybe BucketAccelerateStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketAccelerateConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'getBucketAccelerateConfigurationResponse_status' - The accelerate configuration of the bucket.+--+-- 'httpStatus', 'getBucketAccelerateConfigurationResponse_httpStatus' - The response's http status code.+newGetBucketAccelerateConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketAccelerateConfigurationResponse+newGetBucketAccelerateConfigurationResponse+  pHttpStatus_ =+    GetBucketAccelerateConfigurationResponse'+      { status =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The accelerate configuration of the bucket.+getBucketAccelerateConfigurationResponse_status :: Lens.Lens' GetBucketAccelerateConfigurationResponse (Prelude.Maybe BucketAccelerateStatus)+getBucketAccelerateConfigurationResponse_status = Lens.lens (\GetBucketAccelerateConfigurationResponse' {status} -> status) (\s@GetBucketAccelerateConfigurationResponse' {} a -> s {status = a} :: GetBucketAccelerateConfigurationResponse)++-- | The response's http status code.+getBucketAccelerateConfigurationResponse_httpStatus :: Lens.Lens' GetBucketAccelerateConfigurationResponse Prelude.Int+getBucketAccelerateConfigurationResponse_httpStatus = Lens.lens (\GetBucketAccelerateConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetBucketAccelerateConfigurationResponse' {} a -> s {httpStatus = a} :: GetBucketAccelerateConfigurationResponse)++instance+  Prelude.NFData+    GetBucketAccelerateConfigurationResponse+  where+  rnf GetBucketAccelerateConfigurationResponse' {..} =+    Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketAcl.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketAcl+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This implementation of the @GET@ action uses the @acl@ subresource to+-- return the access control list (ACL) of a bucket. To use @GET@ to return+-- the ACL of the bucket, you must have @READ_ACP@ access to the bucket. If+-- @READ_ACP@ permission is granted to the anonymous user, you can return+-- the ACL of the bucket without using an authorization header.+--+-- If your bucket uses the bucket owner enforced setting for S3 Object+-- Ownership, requests to read ACLs are still supported and return the+-- @bucket-owner-full-control@ ACL with the owner being the account that+-- created the bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling object ownership and disabling ACLs>+-- in the /Amazon S3 User Guide/.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html ListObjects>+module Amazonka.S3.GetBucketAcl+  ( -- * Creating a Request+    GetBucketAcl (..),+    newGetBucketAcl,++    -- * Request Lenses+    getBucketAcl_expectedBucketOwner,+    getBucketAcl_bucket,++    -- * Destructuring the Response+    GetBucketAclResponse (..),+    newGetBucketAclResponse,++    -- * Response Lenses+    getBucketAclResponse_grants,+    getBucketAclResponse_owner,+    getBucketAclResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketAcl' smart constructor.+data GetBucketAcl = GetBucketAcl'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies the S3 bucket whose ACL is being requested.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketAcl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketAcl_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketAcl_bucket' - Specifies the S3 bucket whose ACL is being requested.+newGetBucketAcl ::+  -- | 'bucket'+  BucketName ->+  GetBucketAcl+newGetBucketAcl pBucket_ =+  GetBucketAcl'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketAcl_expectedBucketOwner :: Lens.Lens' GetBucketAcl (Prelude.Maybe Prelude.Text)+getBucketAcl_expectedBucketOwner = Lens.lens (\GetBucketAcl' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketAcl' {} a -> s {expectedBucketOwner = a} :: GetBucketAcl)++-- | Specifies the S3 bucket whose ACL is being requested.+getBucketAcl_bucket :: Lens.Lens' GetBucketAcl BucketName+getBucketAcl_bucket = Lens.lens (\GetBucketAcl' {bucket} -> bucket) (\s@GetBucketAcl' {} a -> s {bucket = a} :: GetBucketAcl)++instance Core.AWSRequest GetBucketAcl where+  type AWSResponse GetBucketAcl = GetBucketAclResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketAclResponse'+            Prelude.<$> ( x+                            Data..@? "AccessControlList"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Grant")+                        )+            Prelude.<*> (x Data..@? "Owner")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketAcl where+  hashWithSalt _salt GetBucketAcl' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketAcl where+  rnf GetBucketAcl' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketAcl where+  toHeaders GetBucketAcl' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketAcl where+  toPath GetBucketAcl' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketAcl where+  toQuery = Prelude.const (Prelude.mconcat ["acl"])++-- | /See:/ 'newGetBucketAclResponse' smart constructor.+data GetBucketAclResponse = GetBucketAclResponse'+  { -- | A list of grants.+    grants :: Prelude.Maybe [Grant],+    -- | Container for the bucket owner\'s display name and ID.+    owner :: Prelude.Maybe Owner,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketAclResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grants', 'getBucketAclResponse_grants' - A list of grants.+--+-- 'owner', 'getBucketAclResponse_owner' - Container for the bucket owner\'s display name and ID.+--+-- 'httpStatus', 'getBucketAclResponse_httpStatus' - The response's http status code.+newGetBucketAclResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketAclResponse+newGetBucketAclResponse pHttpStatus_ =+  GetBucketAclResponse'+    { grants = Prelude.Nothing,+      owner = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of grants.+getBucketAclResponse_grants :: Lens.Lens' GetBucketAclResponse (Prelude.Maybe [Grant])+getBucketAclResponse_grants = Lens.lens (\GetBucketAclResponse' {grants} -> grants) (\s@GetBucketAclResponse' {} a -> s {grants = a} :: GetBucketAclResponse) Prelude.. Lens.mapping Lens.coerced++-- | Container for the bucket owner\'s display name and ID.+getBucketAclResponse_owner :: Lens.Lens' GetBucketAclResponse (Prelude.Maybe Owner)+getBucketAclResponse_owner = Lens.lens (\GetBucketAclResponse' {owner} -> owner) (\s@GetBucketAclResponse' {} a -> s {owner = a} :: GetBucketAclResponse)++-- | The response's http status code.+getBucketAclResponse_httpStatus :: Lens.Lens' GetBucketAclResponse Prelude.Int+getBucketAclResponse_httpStatus = Lens.lens (\GetBucketAclResponse' {httpStatus} -> httpStatus) (\s@GetBucketAclResponse' {} a -> s {httpStatus = a} :: GetBucketAclResponse)++instance Prelude.NFData GetBucketAclResponse where+  rnf GetBucketAclResponse' {..} =+    Prelude.rnf grants+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketAnalyticsConfiguration.hs view
@@ -0,0 +1,236 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketAnalyticsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This implementation of the GET action returns an analytics configuration+-- (identified by the analytics configuration ID) from the bucket.+--+-- To use this operation, you must have permissions to perform the+-- @s3:GetAnalyticsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>+-- in the /Amazon S3 User Guide/.+--+-- For information about Amazon S3 analytics feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html Amazon S3 Analytics – Storage Class Analysis>+-- in the /Amazon S3 User Guide/.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html DeleteBucketAnalyticsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html ListBucketAnalyticsConfigurations>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html PutBucketAnalyticsConfiguration>+module Amazonka.S3.GetBucketAnalyticsConfiguration+  ( -- * Creating a Request+    GetBucketAnalyticsConfiguration (..),+    newGetBucketAnalyticsConfiguration,++    -- * Request Lenses+    getBucketAnalyticsConfiguration_expectedBucketOwner,+    getBucketAnalyticsConfiguration_bucket,+    getBucketAnalyticsConfiguration_id,++    -- * Destructuring the Response+    GetBucketAnalyticsConfigurationResponse (..),+    newGetBucketAnalyticsConfigurationResponse,++    -- * Response Lenses+    getBucketAnalyticsConfigurationResponse_analyticsConfiguration,+    getBucketAnalyticsConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketAnalyticsConfiguration' smart constructor.+data GetBucketAnalyticsConfiguration = GetBucketAnalyticsConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket from which an analytics configuration is+    -- retrieved.+    bucket :: BucketName,+    -- | The ID that identifies the analytics configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketAnalyticsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketAnalyticsConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketAnalyticsConfiguration_bucket' - The name of the bucket from which an analytics configuration is+-- retrieved.+--+-- 'id', 'getBucketAnalyticsConfiguration_id' - The ID that identifies the analytics configuration.+newGetBucketAnalyticsConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  GetBucketAnalyticsConfiguration+newGetBucketAnalyticsConfiguration pBucket_ pId_ =+  GetBucketAnalyticsConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_,+      id = pId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketAnalyticsConfiguration_expectedBucketOwner :: Lens.Lens' GetBucketAnalyticsConfiguration (Prelude.Maybe Prelude.Text)+getBucketAnalyticsConfiguration_expectedBucketOwner = Lens.lens (\GetBucketAnalyticsConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketAnalyticsConfiguration' {} a -> s {expectedBucketOwner = a} :: GetBucketAnalyticsConfiguration)++-- | The name of the bucket from which an analytics configuration is+-- retrieved.+getBucketAnalyticsConfiguration_bucket :: Lens.Lens' GetBucketAnalyticsConfiguration BucketName+getBucketAnalyticsConfiguration_bucket = Lens.lens (\GetBucketAnalyticsConfiguration' {bucket} -> bucket) (\s@GetBucketAnalyticsConfiguration' {} a -> s {bucket = a} :: GetBucketAnalyticsConfiguration)++-- | The ID that identifies the analytics configuration.+getBucketAnalyticsConfiguration_id :: Lens.Lens' GetBucketAnalyticsConfiguration Prelude.Text+getBucketAnalyticsConfiguration_id = Lens.lens (\GetBucketAnalyticsConfiguration' {id} -> id) (\s@GetBucketAnalyticsConfiguration' {} a -> s {id = a} :: GetBucketAnalyticsConfiguration)++instance+  Core.AWSRequest+    GetBucketAnalyticsConfiguration+  where+  type+    AWSResponse GetBucketAnalyticsConfiguration =+      GetBucketAnalyticsConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketAnalyticsConfigurationResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetBucketAnalyticsConfiguration+  where+  hashWithSalt+    _salt+    GetBucketAnalyticsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    GetBucketAnalyticsConfiguration+  where+  rnf GetBucketAnalyticsConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    GetBucketAnalyticsConfiguration+  where+  toHeaders GetBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketAnalyticsConfiguration where+  toPath GetBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketAnalyticsConfiguration where+  toQuery GetBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "analytics"]++-- | /See:/ 'newGetBucketAnalyticsConfigurationResponse' smart constructor.+data GetBucketAnalyticsConfigurationResponse = GetBucketAnalyticsConfigurationResponse'+  { -- | The configuration and any analyses for the analytics filter.+    analyticsConfiguration :: Prelude.Maybe AnalyticsConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketAnalyticsConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analyticsConfiguration', 'getBucketAnalyticsConfigurationResponse_analyticsConfiguration' - The configuration and any analyses for the analytics filter.+--+-- 'httpStatus', 'getBucketAnalyticsConfigurationResponse_httpStatus' - The response's http status code.+newGetBucketAnalyticsConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketAnalyticsConfigurationResponse+newGetBucketAnalyticsConfigurationResponse+  pHttpStatus_ =+    GetBucketAnalyticsConfigurationResponse'+      { analyticsConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The configuration and any analyses for the analytics filter.+getBucketAnalyticsConfigurationResponse_analyticsConfiguration :: Lens.Lens' GetBucketAnalyticsConfigurationResponse (Prelude.Maybe AnalyticsConfiguration)+getBucketAnalyticsConfigurationResponse_analyticsConfiguration = Lens.lens (\GetBucketAnalyticsConfigurationResponse' {analyticsConfiguration} -> analyticsConfiguration) (\s@GetBucketAnalyticsConfigurationResponse' {} a -> s {analyticsConfiguration = a} :: GetBucketAnalyticsConfigurationResponse)++-- | The response's http status code.+getBucketAnalyticsConfigurationResponse_httpStatus :: Lens.Lens' GetBucketAnalyticsConfigurationResponse Prelude.Int+getBucketAnalyticsConfigurationResponse_httpStatus = Lens.lens (\GetBucketAnalyticsConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetBucketAnalyticsConfigurationResponse' {} a -> s {httpStatus = a} :: GetBucketAnalyticsConfigurationResponse)++instance+  Prelude.NFData+    GetBucketAnalyticsConfigurationResponse+  where+  rnf GetBucketAnalyticsConfigurationResponse' {..} =+    Prelude.rnf analyticsConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketCors.hs view
@@ -0,0 +1,194 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketCors+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the Cross-Origin Resource Sharing (CORS) configuration+-- information set for the bucket.+--+-- To use this operation, you must have permission to perform the+-- @s3:GetBucketCORS@ action. By default, the bucket owner has this+-- permission and can grant it to others.+--+-- For more information about CORS, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>.+--+-- The following operations are related to @GetBucketCors@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html PutBucketCors>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html DeleteBucketCors>+module Amazonka.S3.GetBucketCors+  ( -- * Creating a Request+    GetBucketCors (..),+    newGetBucketCors,++    -- * Request Lenses+    getBucketCors_expectedBucketOwner,+    getBucketCors_bucket,++    -- * Destructuring the Response+    GetBucketCorsResponse (..),+    newGetBucketCorsResponse,++    -- * Response Lenses+    getBucketCorsResponse_cORSRules,+    getBucketCorsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketCors' smart constructor.+data GetBucketCors = GetBucketCors'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name for which to get the cors configuration.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketCors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketCors_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketCors_bucket' - The bucket name for which to get the cors configuration.+newGetBucketCors ::+  -- | 'bucket'+  BucketName ->+  GetBucketCors+newGetBucketCors pBucket_ =+  GetBucketCors'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketCors_expectedBucketOwner :: Lens.Lens' GetBucketCors (Prelude.Maybe Prelude.Text)+getBucketCors_expectedBucketOwner = Lens.lens (\GetBucketCors' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketCors' {} a -> s {expectedBucketOwner = a} :: GetBucketCors)++-- | The bucket name for which to get the cors configuration.+getBucketCors_bucket :: Lens.Lens' GetBucketCors BucketName+getBucketCors_bucket = Lens.lens (\GetBucketCors' {bucket} -> bucket) (\s@GetBucketCors' {} a -> s {bucket = a} :: GetBucketCors)++instance Core.AWSRequest GetBucketCors where+  type+    AWSResponse GetBucketCors =+      GetBucketCorsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketCorsResponse'+            Prelude.<$> (Core.may (Data.parseXMLList "CORSRule") x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketCors where+  hashWithSalt _salt GetBucketCors' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketCors where+  rnf GetBucketCors' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketCors where+  toHeaders GetBucketCors' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketCors where+  toPath GetBucketCors' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketCors where+  toQuery = Prelude.const (Prelude.mconcat ["cors"])++-- | /See:/ 'newGetBucketCorsResponse' smart constructor.+data GetBucketCorsResponse = GetBucketCorsResponse'+  { -- | A set of origins and methods (cross-origin access that you want to+    -- allow). You can add up to 100 rules to the configuration.+    cORSRules :: Prelude.Maybe [CORSRule],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketCorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cORSRules', 'getBucketCorsResponse_cORSRules' - A set of origins and methods (cross-origin access that you want to+-- allow). You can add up to 100 rules to the configuration.+--+-- 'httpStatus', 'getBucketCorsResponse_httpStatus' - The response's http status code.+newGetBucketCorsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketCorsResponse+newGetBucketCorsResponse pHttpStatus_ =+  GetBucketCorsResponse'+    { cORSRules = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A set of origins and methods (cross-origin access that you want to+-- allow). You can add up to 100 rules to the configuration.+getBucketCorsResponse_cORSRules :: Lens.Lens' GetBucketCorsResponse (Prelude.Maybe [CORSRule])+getBucketCorsResponse_cORSRules = Lens.lens (\GetBucketCorsResponse' {cORSRules} -> cORSRules) (\s@GetBucketCorsResponse' {} a -> s {cORSRules = a} :: GetBucketCorsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getBucketCorsResponse_httpStatus :: Lens.Lens' GetBucketCorsResponse Prelude.Int+getBucketCorsResponse_httpStatus = Lens.lens (\GetBucketCorsResponse' {httpStatus} -> httpStatus) (\s@GetBucketCorsResponse' {} a -> s {httpStatus = a} :: GetBucketCorsResponse)++instance Prelude.NFData GetBucketCorsResponse where+  rnf GetBucketCorsResponse' {..} =+    Prelude.rnf cORSRules+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketEncryption.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketEncryption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the default encryption configuration for an Amazon S3 bucket. If+-- the bucket does not have a default encryption configuration,+-- GetBucketEncryption returns+-- @ServerSideEncryptionConfigurationNotFoundError@.+--+-- For information about the Amazon S3 default encryption feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html Amazon S3 Default Bucket Encryption>.+--+-- To use this operation, you must have permission to perform the+-- @s3:GetEncryptionConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- The following operations are related to @GetBucketEncryption@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html PutBucketEncryption>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html DeleteBucketEncryption>+module Amazonka.S3.GetBucketEncryption+  ( -- * Creating a Request+    GetBucketEncryption (..),+    newGetBucketEncryption,++    -- * Request Lenses+    getBucketEncryption_expectedBucketOwner,+    getBucketEncryption_bucket,++    -- * Destructuring the Response+    GetBucketEncryptionResponse (..),+    newGetBucketEncryptionResponse,++    -- * Response Lenses+    getBucketEncryptionResponse_serverSideEncryptionConfiguration,+    getBucketEncryptionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketEncryption' smart constructor.+data GetBucketEncryption = GetBucketEncryption'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket from which the server-side encryption+    -- configuration is retrieved.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketEncryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketEncryption_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketEncryption_bucket' - The name of the bucket from which the server-side encryption+-- configuration is retrieved.+newGetBucketEncryption ::+  -- | 'bucket'+  BucketName ->+  GetBucketEncryption+newGetBucketEncryption pBucket_ =+  GetBucketEncryption'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketEncryption_expectedBucketOwner :: Lens.Lens' GetBucketEncryption (Prelude.Maybe Prelude.Text)+getBucketEncryption_expectedBucketOwner = Lens.lens (\GetBucketEncryption' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketEncryption' {} a -> s {expectedBucketOwner = a} :: GetBucketEncryption)++-- | The name of the bucket from which the server-side encryption+-- configuration is retrieved.+getBucketEncryption_bucket :: Lens.Lens' GetBucketEncryption BucketName+getBucketEncryption_bucket = Lens.lens (\GetBucketEncryption' {bucket} -> bucket) (\s@GetBucketEncryption' {} a -> s {bucket = a} :: GetBucketEncryption)++instance Core.AWSRequest GetBucketEncryption where+  type+    AWSResponse GetBucketEncryption =+      GetBucketEncryptionResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketEncryptionResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketEncryption where+  hashWithSalt _salt GetBucketEncryption' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketEncryption where+  rnf GetBucketEncryption' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketEncryption where+  toHeaders GetBucketEncryption' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketEncryption where+  toPath GetBucketEncryption' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketEncryption where+  toQuery =+    Prelude.const (Prelude.mconcat ["encryption"])++-- | /See:/ 'newGetBucketEncryptionResponse' smart constructor.+data GetBucketEncryptionResponse = GetBucketEncryptionResponse'+  { serverSideEncryptionConfiguration :: Prelude.Maybe ServerSideEncryptionConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketEncryptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'serverSideEncryptionConfiguration', 'getBucketEncryptionResponse_serverSideEncryptionConfiguration' - Undocumented member.+--+-- 'httpStatus', 'getBucketEncryptionResponse_httpStatus' - The response's http status code.+newGetBucketEncryptionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketEncryptionResponse+newGetBucketEncryptionResponse pHttpStatus_ =+  GetBucketEncryptionResponse'+    { serverSideEncryptionConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getBucketEncryptionResponse_serverSideEncryptionConfiguration :: Lens.Lens' GetBucketEncryptionResponse (Prelude.Maybe ServerSideEncryptionConfiguration)+getBucketEncryptionResponse_serverSideEncryptionConfiguration = Lens.lens (\GetBucketEncryptionResponse' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@GetBucketEncryptionResponse' {} a -> s {serverSideEncryptionConfiguration = a} :: GetBucketEncryptionResponse)++-- | The response's http status code.+getBucketEncryptionResponse_httpStatus :: Lens.Lens' GetBucketEncryptionResponse Prelude.Int+getBucketEncryptionResponse_httpStatus = Lens.lens (\GetBucketEncryptionResponse' {httpStatus} -> httpStatus) (\s@GetBucketEncryptionResponse' {} a -> s {httpStatus = a} :: GetBucketEncryptionResponse)++instance Prelude.NFData GetBucketEncryptionResponse where+  rnf GetBucketEncryptionResponse' {..} =+    Prelude.rnf serverSideEncryptionConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketIntelligentTieringConfiguration.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketIntelligentTieringConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the S3 Intelligent-Tiering configuration from the specified bucket.+--+-- The S3 Intelligent-Tiering storage class is designed to optimize storage+-- costs by automatically moving data to the most cost-effective storage+-- access tier, without performance impact or operational overhead. S3+-- Intelligent-Tiering delivers automatic cost savings in three low latency+-- and high throughput access tiers. To get the lowest storage cost on data+-- that can be accessed in minutes to hours, you can choose to activate+-- additional archiving capabilities.+--+-- The S3 Intelligent-Tiering storage class is the ideal storage class for+-- data with unknown, changing, or unpredictable access patterns,+-- independent of object size or retention period. If the size of an object+-- is less than 128 KB, it is not monitored and not eligible for+-- auto-tiering. Smaller objects can be stored, but they are always charged+-- at the Frequent Access tier rates in the S3 Intelligent-Tiering storage+-- class.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>.+--+-- Operations related to @GetBucketIntelligentTieringConfiguration@+-- include:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html DeleteBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html PutBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html ListBucketIntelligentTieringConfigurations>+module Amazonka.S3.GetBucketIntelligentTieringConfiguration+  ( -- * Creating a Request+    GetBucketIntelligentTieringConfiguration (..),+    newGetBucketIntelligentTieringConfiguration,++    -- * Request Lenses+    getBucketIntelligentTieringConfiguration_bucket,+    getBucketIntelligentTieringConfiguration_id,++    -- * Destructuring the Response+    GetBucketIntelligentTieringConfigurationResponse (..),+    newGetBucketIntelligentTieringConfigurationResponse,++    -- * Response Lenses+    getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration,+    getBucketIntelligentTieringConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketIntelligentTieringConfiguration' smart constructor.+data GetBucketIntelligentTieringConfiguration = GetBucketIntelligentTieringConfiguration'+  { -- | The name of the Amazon S3 bucket whose configuration you want to modify+    -- or retrieve.+    bucket :: BucketName,+    -- | The ID used to identify the S3 Intelligent-Tiering configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketIntelligentTieringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'getBucketIntelligentTieringConfiguration_bucket' - The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+--+-- 'id', 'getBucketIntelligentTieringConfiguration_id' - The ID used to identify the S3 Intelligent-Tiering configuration.+newGetBucketIntelligentTieringConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  GetBucketIntelligentTieringConfiguration+newGetBucketIntelligentTieringConfiguration+  pBucket_+  pId_ =+    GetBucketIntelligentTieringConfiguration'+      { bucket =+          pBucket_,+        id = pId_+      }++-- | The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+getBucketIntelligentTieringConfiguration_bucket :: Lens.Lens' GetBucketIntelligentTieringConfiguration BucketName+getBucketIntelligentTieringConfiguration_bucket = Lens.lens (\GetBucketIntelligentTieringConfiguration' {bucket} -> bucket) (\s@GetBucketIntelligentTieringConfiguration' {} a -> s {bucket = a} :: GetBucketIntelligentTieringConfiguration)++-- | The ID used to identify the S3 Intelligent-Tiering configuration.+getBucketIntelligentTieringConfiguration_id :: Lens.Lens' GetBucketIntelligentTieringConfiguration Prelude.Text+getBucketIntelligentTieringConfiguration_id = Lens.lens (\GetBucketIntelligentTieringConfiguration' {id} -> id) (\s@GetBucketIntelligentTieringConfiguration' {} a -> s {id = a} :: GetBucketIntelligentTieringConfiguration)++instance+  Core.AWSRequest+    GetBucketIntelligentTieringConfiguration+  where+  type+    AWSResponse+      GetBucketIntelligentTieringConfiguration =+      GetBucketIntelligentTieringConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketIntelligentTieringConfigurationResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetBucketIntelligentTieringConfiguration+  where+  hashWithSalt+    _salt+    GetBucketIntelligentTieringConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    GetBucketIntelligentTieringConfiguration+  where+  rnf GetBucketIntelligentTieringConfiguration' {..} =+    Prelude.rnf bucket `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    GetBucketIntelligentTieringConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    GetBucketIntelligentTieringConfiguration+  where+  toPath GetBucketIntelligentTieringConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    GetBucketIntelligentTieringConfiguration+  where+  toQuery GetBucketIntelligentTieringConfiguration' {..} =+    Prelude.mconcat+      ["id" Data.=: id, "intelligent-tiering"]++-- | /See:/ 'newGetBucketIntelligentTieringConfigurationResponse' smart constructor.+data GetBucketIntelligentTieringConfigurationResponse = GetBucketIntelligentTieringConfigurationResponse'+  { -- | Container for S3 Intelligent-Tiering configuration.+    intelligentTieringConfiguration :: Prelude.Maybe IntelligentTieringConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketIntelligentTieringConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'intelligentTieringConfiguration', 'getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration' - Container for S3 Intelligent-Tiering configuration.+--+-- 'httpStatus', 'getBucketIntelligentTieringConfigurationResponse_httpStatus' - The response's http status code.+newGetBucketIntelligentTieringConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketIntelligentTieringConfigurationResponse+newGetBucketIntelligentTieringConfigurationResponse+  pHttpStatus_ =+    GetBucketIntelligentTieringConfigurationResponse'+      { intelligentTieringConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Container for S3 Intelligent-Tiering configuration.+getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration :: Lens.Lens' GetBucketIntelligentTieringConfigurationResponse (Prelude.Maybe IntelligentTieringConfiguration)+getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration = Lens.lens (\GetBucketIntelligentTieringConfigurationResponse' {intelligentTieringConfiguration} -> intelligentTieringConfiguration) (\s@GetBucketIntelligentTieringConfigurationResponse' {} a -> s {intelligentTieringConfiguration = a} :: GetBucketIntelligentTieringConfigurationResponse)++-- | The response's http status code.+getBucketIntelligentTieringConfigurationResponse_httpStatus :: Lens.Lens' GetBucketIntelligentTieringConfigurationResponse Prelude.Int+getBucketIntelligentTieringConfigurationResponse_httpStatus = Lens.lens (\GetBucketIntelligentTieringConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetBucketIntelligentTieringConfigurationResponse' {} a -> s {httpStatus = a} :: GetBucketIntelligentTieringConfigurationResponse)++instance+  Prelude.NFData+    GetBucketIntelligentTieringConfigurationResponse+  where+  rnf+    GetBucketIntelligentTieringConfigurationResponse' {..} =+      Prelude.rnf intelligentTieringConfiguration+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketInventoryConfiguration.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketInventoryConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns an inventory configuration (identified by the inventory+-- configuration ID) from the bucket.+--+-- To use this operation, you must have permissions to perform the+-- @s3:GetInventoryConfiguration@ action. The bucket owner has this+-- permission by default and can grant this permission to others. For more+-- information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about the Amazon S3 inventory feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html Amazon S3 Inventory>.+--+-- The following operations are related to+-- @GetBucketInventoryConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html DeleteBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html ListBucketInventoryConfigurations>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html PutBucketInventoryConfiguration>+module Amazonka.S3.GetBucketInventoryConfiguration+  ( -- * Creating a Request+    GetBucketInventoryConfiguration (..),+    newGetBucketInventoryConfiguration,++    -- * Request Lenses+    getBucketInventoryConfiguration_expectedBucketOwner,+    getBucketInventoryConfiguration_bucket,+    getBucketInventoryConfiguration_id,++    -- * Destructuring the Response+    GetBucketInventoryConfigurationResponse (..),+    newGetBucketInventoryConfigurationResponse,++    -- * Response Lenses+    getBucketInventoryConfigurationResponse_inventoryConfiguration,+    getBucketInventoryConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketInventoryConfiguration' smart constructor.+data GetBucketInventoryConfiguration = GetBucketInventoryConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the inventory configuration to+    -- retrieve.+    bucket :: BucketName,+    -- | The ID used to identify the inventory configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketInventoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketInventoryConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketInventoryConfiguration_bucket' - The name of the bucket containing the inventory configuration to+-- retrieve.+--+-- 'id', 'getBucketInventoryConfiguration_id' - The ID used to identify the inventory configuration.+newGetBucketInventoryConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  GetBucketInventoryConfiguration+newGetBucketInventoryConfiguration pBucket_ pId_ =+  GetBucketInventoryConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_,+      id = pId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketInventoryConfiguration_expectedBucketOwner :: Lens.Lens' GetBucketInventoryConfiguration (Prelude.Maybe Prelude.Text)+getBucketInventoryConfiguration_expectedBucketOwner = Lens.lens (\GetBucketInventoryConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketInventoryConfiguration' {} a -> s {expectedBucketOwner = a} :: GetBucketInventoryConfiguration)++-- | The name of the bucket containing the inventory configuration to+-- retrieve.+getBucketInventoryConfiguration_bucket :: Lens.Lens' GetBucketInventoryConfiguration BucketName+getBucketInventoryConfiguration_bucket = Lens.lens (\GetBucketInventoryConfiguration' {bucket} -> bucket) (\s@GetBucketInventoryConfiguration' {} a -> s {bucket = a} :: GetBucketInventoryConfiguration)++-- | The ID used to identify the inventory configuration.+getBucketInventoryConfiguration_id :: Lens.Lens' GetBucketInventoryConfiguration Prelude.Text+getBucketInventoryConfiguration_id = Lens.lens (\GetBucketInventoryConfiguration' {id} -> id) (\s@GetBucketInventoryConfiguration' {} a -> s {id = a} :: GetBucketInventoryConfiguration)++instance+  Core.AWSRequest+    GetBucketInventoryConfiguration+  where+  type+    AWSResponse GetBucketInventoryConfiguration =+      GetBucketInventoryConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketInventoryConfigurationResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetBucketInventoryConfiguration+  where+  hashWithSalt+    _salt+    GetBucketInventoryConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id++instance+  Prelude.NFData+    GetBucketInventoryConfiguration+  where+  rnf GetBucketInventoryConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id++instance+  Data.ToHeaders+    GetBucketInventoryConfiguration+  where+  toHeaders GetBucketInventoryConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketInventoryConfiguration where+  toPath GetBucketInventoryConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketInventoryConfiguration where+  toQuery GetBucketInventoryConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "inventory"]++-- | /See:/ 'newGetBucketInventoryConfigurationResponse' smart constructor.+data GetBucketInventoryConfigurationResponse = GetBucketInventoryConfigurationResponse'+  { -- | Specifies the inventory configuration.+    inventoryConfiguration :: Prelude.Maybe InventoryConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketInventoryConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inventoryConfiguration', 'getBucketInventoryConfigurationResponse_inventoryConfiguration' - Specifies the inventory configuration.+--+-- 'httpStatus', 'getBucketInventoryConfigurationResponse_httpStatus' - The response's http status code.+newGetBucketInventoryConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketInventoryConfigurationResponse+newGetBucketInventoryConfigurationResponse+  pHttpStatus_ =+    GetBucketInventoryConfigurationResponse'+      { inventoryConfiguration =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Specifies the inventory configuration.+getBucketInventoryConfigurationResponse_inventoryConfiguration :: Lens.Lens' GetBucketInventoryConfigurationResponse (Prelude.Maybe InventoryConfiguration)+getBucketInventoryConfigurationResponse_inventoryConfiguration = Lens.lens (\GetBucketInventoryConfigurationResponse' {inventoryConfiguration} -> inventoryConfiguration) (\s@GetBucketInventoryConfigurationResponse' {} a -> s {inventoryConfiguration = a} :: GetBucketInventoryConfigurationResponse)++-- | The response's http status code.+getBucketInventoryConfigurationResponse_httpStatus :: Lens.Lens' GetBucketInventoryConfigurationResponse Prelude.Int+getBucketInventoryConfigurationResponse_httpStatus = Lens.lens (\GetBucketInventoryConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetBucketInventoryConfigurationResponse' {} a -> s {httpStatus = a} :: GetBucketInventoryConfigurationResponse)++instance+  Prelude.NFData+    GetBucketInventoryConfigurationResponse+  where+  rnf GetBucketInventoryConfigurationResponse' {..} =+    Prelude.rnf inventoryConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketLifecycleConfiguration.hs view
@@ -0,0 +1,235 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketLifecycleConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Bucket lifecycle configuration now supports specifying a lifecycle rule+-- using an object key name prefix, one or more object tags, or a+-- combination of both. Accordingly, this section describes the latest API.+-- The response describes the new filter element that you can use to+-- specify a filter to select a subset of objects to which the rule+-- applies. If you are using a previous version of the lifecycle+-- configuration, it still works. For the earlier action, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html GetBucketLifecycle>.+--+-- Returns the lifecycle configuration information set on the bucket. For+-- information about lifecycle configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html Object Lifecycle Management>.+--+-- To use this operation, you must have permission to perform the+-- @s3:GetLifecycleConfiguration@ action. The bucket owner has this+-- permission, by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- @GetBucketLifecycleConfiguration@ has the following special error:+--+-- -   Error code: @NoSuchLifecycleConfiguration@+--+--     -   Description: The lifecycle configuration does not exist.+--+--     -   HTTP Status Code: 404 Not Found+--+--     -   SOAP Fault Code Prefix: Client+--+-- The following operations are related to+-- @GetBucketLifecycleConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html GetBucketLifecycle>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html PutBucketLifecycle>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html DeleteBucketLifecycle>+module Amazonka.S3.GetBucketLifecycleConfiguration+  ( -- * Creating a Request+    GetBucketLifecycleConfiguration (..),+    newGetBucketLifecycleConfiguration,++    -- * Request Lenses+    getBucketLifecycleConfiguration_expectedBucketOwner,+    getBucketLifecycleConfiguration_bucket,++    -- * Destructuring the Response+    GetBucketLifecycleConfigurationResponse (..),+    newGetBucketLifecycleConfigurationResponse,++    -- * Response Lenses+    getBucketLifecycleConfigurationResponse_rules,+    getBucketLifecycleConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketLifecycleConfiguration' smart constructor.+data GetBucketLifecycleConfiguration = GetBucketLifecycleConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to get the lifecycle information.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketLifecycleConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketLifecycleConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketLifecycleConfiguration_bucket' - The name of the bucket for which to get the lifecycle information.+newGetBucketLifecycleConfiguration ::+  -- | 'bucket'+  BucketName ->+  GetBucketLifecycleConfiguration+newGetBucketLifecycleConfiguration pBucket_ =+  GetBucketLifecycleConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketLifecycleConfiguration_expectedBucketOwner :: Lens.Lens' GetBucketLifecycleConfiguration (Prelude.Maybe Prelude.Text)+getBucketLifecycleConfiguration_expectedBucketOwner = Lens.lens (\GetBucketLifecycleConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketLifecycleConfiguration' {} a -> s {expectedBucketOwner = a} :: GetBucketLifecycleConfiguration)++-- | The name of the bucket for which to get the lifecycle information.+getBucketLifecycleConfiguration_bucket :: Lens.Lens' GetBucketLifecycleConfiguration BucketName+getBucketLifecycleConfiguration_bucket = Lens.lens (\GetBucketLifecycleConfiguration' {bucket} -> bucket) (\s@GetBucketLifecycleConfiguration' {} a -> s {bucket = a} :: GetBucketLifecycleConfiguration)++instance+  Core.AWSRequest+    GetBucketLifecycleConfiguration+  where+  type+    AWSResponse GetBucketLifecycleConfiguration =+      GetBucketLifecycleConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketLifecycleConfigurationResponse'+            Prelude.<$> (Core.may (Data.parseXMLList "Rule") x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetBucketLifecycleConfiguration+  where+  hashWithSalt+    _salt+    GetBucketLifecycleConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    GetBucketLifecycleConfiguration+  where+  rnf GetBucketLifecycleConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    GetBucketLifecycleConfiguration+  where+  toHeaders GetBucketLifecycleConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketLifecycleConfiguration where+  toPath GetBucketLifecycleConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketLifecycleConfiguration where+  toQuery =+    Prelude.const (Prelude.mconcat ["lifecycle"])++-- | /See:/ 'newGetBucketLifecycleConfigurationResponse' smart constructor.+data GetBucketLifecycleConfigurationResponse = GetBucketLifecycleConfigurationResponse'+  { -- | Container for a lifecycle rule.+    rules :: Prelude.Maybe [LifecycleRule],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketLifecycleConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rules', 'getBucketLifecycleConfigurationResponse_rules' - Container for a lifecycle rule.+--+-- 'httpStatus', 'getBucketLifecycleConfigurationResponse_httpStatus' - The response's http status code.+newGetBucketLifecycleConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketLifecycleConfigurationResponse+newGetBucketLifecycleConfigurationResponse+  pHttpStatus_ =+    GetBucketLifecycleConfigurationResponse'+      { rules =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | Container for a lifecycle rule.+getBucketLifecycleConfigurationResponse_rules :: Lens.Lens' GetBucketLifecycleConfigurationResponse (Prelude.Maybe [LifecycleRule])+getBucketLifecycleConfigurationResponse_rules = Lens.lens (\GetBucketLifecycleConfigurationResponse' {rules} -> rules) (\s@GetBucketLifecycleConfigurationResponse' {} a -> s {rules = a} :: GetBucketLifecycleConfigurationResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getBucketLifecycleConfigurationResponse_httpStatus :: Lens.Lens' GetBucketLifecycleConfigurationResponse Prelude.Int+getBucketLifecycleConfigurationResponse_httpStatus = Lens.lens (\GetBucketLifecycleConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetBucketLifecycleConfigurationResponse' {} a -> s {httpStatus = a} :: GetBucketLifecycleConfigurationResponse)++instance+  Prelude.NFData+    GetBucketLifecycleConfigurationResponse+  where+  rnf GetBucketLifecycleConfigurationResponse' {..} =+    Prelude.rnf rules+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketLocation.hs view
@@ -0,0 +1,206 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketLocation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the Region the bucket resides in. You set the bucket\'s Region+-- using the @LocationConstraint@ request parameter in a @CreateBucket@+-- request. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>.+--+-- To use this implementation of the operation, you must be the bucket+-- owner.+--+-- To use this API against an access point, provide the alias of the access+-- point in place of the bucket name.+--+-- The following operations are related to @GetBucketLocation@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+module Amazonka.S3.GetBucketLocation+  ( -- * Creating a Request+    GetBucketLocation (..),+    newGetBucketLocation,++    -- * Request Lenses+    getBucketLocation_expectedBucketOwner,+    getBucketLocation_bucket,++    -- * Destructuring the Response+    GetBucketLocationResponse (..),+    newGetBucketLocationResponse,++    -- * Response Lenses+    getBucketLocationResponse_httpStatus,+    getBucketLocationResponse_locationConstraint,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketLocation' smart constructor.+data GetBucketLocation = GetBucketLocation'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to get the location.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketLocation_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketLocation_bucket' - The name of the bucket for which to get the location.+newGetBucketLocation ::+  -- | 'bucket'+  BucketName ->+  GetBucketLocation+newGetBucketLocation pBucket_ =+  GetBucketLocation'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketLocation_expectedBucketOwner :: Lens.Lens' GetBucketLocation (Prelude.Maybe Prelude.Text)+getBucketLocation_expectedBucketOwner = Lens.lens (\GetBucketLocation' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketLocation' {} a -> s {expectedBucketOwner = a} :: GetBucketLocation)++-- | The name of the bucket for which to get the location.+getBucketLocation_bucket :: Lens.Lens' GetBucketLocation BucketName+getBucketLocation_bucket = Lens.lens (\GetBucketLocation' {bucket} -> bucket) (\s@GetBucketLocation' {} a -> s {bucket = a} :: GetBucketLocation)++instance Core.AWSRequest GetBucketLocation where+  type+    AWSResponse GetBucketLocation =+      GetBucketLocationResponse+  request overrides =+    Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketLocationResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Data.parseXML x)+      )++instance Prelude.Hashable GetBucketLocation where+  hashWithSalt _salt GetBucketLocation' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketLocation where+  rnf GetBucketLocation' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketLocation where+  toHeaders GetBucketLocation' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketLocation where+  toPath GetBucketLocation' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketLocation where+  toQuery =+    Prelude.const (Prelude.mconcat ["location"])++-- | /See:/ 'newGetBucketLocationResponse' smart constructor.+data GetBucketLocationResponse = GetBucketLocationResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Specifies the Region where the bucket resides. For a list of all the+    -- Amazon S3 supported location constraints by Region, see+    -- <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>.+    -- Buckets in Region @us-east-1@ have a LocationConstraint of @null@.+    locationConstraint :: LocationConstraint+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketLocationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getBucketLocationResponse_httpStatus' - The response's http status code.+--+-- 'locationConstraint', 'getBucketLocationResponse_locationConstraint' - Specifies the Region where the bucket resides. For a list of all the+-- Amazon S3 supported location constraints by Region, see+-- <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>.+-- Buckets in Region @us-east-1@ have a LocationConstraint of @null@.+newGetBucketLocationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'locationConstraint'+  LocationConstraint ->+  GetBucketLocationResponse+newGetBucketLocationResponse+  pHttpStatus_+  pLocationConstraint_ =+    GetBucketLocationResponse'+      { httpStatus =+          pHttpStatus_,+        locationConstraint = pLocationConstraint_+      }++-- | The response's http status code.+getBucketLocationResponse_httpStatus :: Lens.Lens' GetBucketLocationResponse Prelude.Int+getBucketLocationResponse_httpStatus = Lens.lens (\GetBucketLocationResponse' {httpStatus} -> httpStatus) (\s@GetBucketLocationResponse' {} a -> s {httpStatus = a} :: GetBucketLocationResponse)++-- | Specifies the Region where the bucket resides. For a list of all the+-- Amazon S3 supported location constraints by Region, see+-- <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>.+-- Buckets in Region @us-east-1@ have a LocationConstraint of @null@.+getBucketLocationResponse_locationConstraint :: Lens.Lens' GetBucketLocationResponse LocationConstraint+getBucketLocationResponse_locationConstraint = Lens.lens (\GetBucketLocationResponse' {locationConstraint} -> locationConstraint) (\s@GetBucketLocationResponse' {} a -> s {locationConstraint = a} :: GetBucketLocationResponse)++instance Prelude.NFData GetBucketLocationResponse where+  rnf GetBucketLocationResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf locationConstraint
+ gen/Amazonka/S3/GetBucketLogging.hs view
@@ -0,0 +1,184 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketLogging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the logging status of a bucket and the permissions users have to+-- view and modify that status. To use GET, you must be the bucket owner.+--+-- The following operations are related to @GetBucketLogging@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html PutBucketLogging>+module Amazonka.S3.GetBucketLogging+  ( -- * Creating a Request+    GetBucketLogging (..),+    newGetBucketLogging,++    -- * Request Lenses+    getBucketLogging_expectedBucketOwner,+    getBucketLogging_bucket,++    -- * Destructuring the Response+    GetBucketLoggingResponse (..),+    newGetBucketLoggingResponse,++    -- * Response Lenses+    getBucketLoggingResponse_loggingEnabled,+    getBucketLoggingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketLogging' smart constructor.+data GetBucketLogging = GetBucketLogging'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name for which to get the logging information.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketLogging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketLogging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketLogging_bucket' - The bucket name for which to get the logging information.+newGetBucketLogging ::+  -- | 'bucket'+  BucketName ->+  GetBucketLogging+newGetBucketLogging pBucket_ =+  GetBucketLogging'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketLogging_expectedBucketOwner :: Lens.Lens' GetBucketLogging (Prelude.Maybe Prelude.Text)+getBucketLogging_expectedBucketOwner = Lens.lens (\GetBucketLogging' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketLogging' {} a -> s {expectedBucketOwner = a} :: GetBucketLogging)++-- | The bucket name for which to get the logging information.+getBucketLogging_bucket :: Lens.Lens' GetBucketLogging BucketName+getBucketLogging_bucket = Lens.lens (\GetBucketLogging' {bucket} -> bucket) (\s@GetBucketLogging' {} a -> s {bucket = a} :: GetBucketLogging)++instance Core.AWSRequest GetBucketLogging where+  type+    AWSResponse GetBucketLogging =+      GetBucketLoggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketLoggingResponse'+            Prelude.<$> (x Data..@? "LoggingEnabled")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketLogging where+  hashWithSalt _salt GetBucketLogging' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketLogging where+  rnf GetBucketLogging' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketLogging where+  toHeaders GetBucketLogging' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketLogging where+  toPath GetBucketLogging' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketLogging where+  toQuery = Prelude.const (Prelude.mconcat ["logging"])++-- | /See:/ 'newGetBucketLoggingResponse' smart constructor.+data GetBucketLoggingResponse = GetBucketLoggingResponse'+  { loggingEnabled :: Prelude.Maybe LoggingEnabled,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketLoggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingEnabled', 'getBucketLoggingResponse_loggingEnabled' - Undocumented member.+--+-- 'httpStatus', 'getBucketLoggingResponse_httpStatus' - The response's http status code.+newGetBucketLoggingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketLoggingResponse+newGetBucketLoggingResponse pHttpStatus_ =+  GetBucketLoggingResponse'+    { loggingEnabled =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getBucketLoggingResponse_loggingEnabled :: Lens.Lens' GetBucketLoggingResponse (Prelude.Maybe LoggingEnabled)+getBucketLoggingResponse_loggingEnabled = Lens.lens (\GetBucketLoggingResponse' {loggingEnabled} -> loggingEnabled) (\s@GetBucketLoggingResponse' {} a -> s {loggingEnabled = a} :: GetBucketLoggingResponse)++-- | The response's http status code.+getBucketLoggingResponse_httpStatus :: Lens.Lens' GetBucketLoggingResponse Prelude.Int+getBucketLoggingResponse_httpStatus = Lens.lens (\GetBucketLoggingResponse' {httpStatus} -> httpStatus) (\s@GetBucketLoggingResponse' {} a -> s {httpStatus = a} :: GetBucketLoggingResponse)++instance Prelude.NFData GetBucketLoggingResponse where+  rnf GetBucketLoggingResponse' {..} =+    Prelude.rnf loggingEnabled+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketMetricsConfiguration.hs view
@@ -0,0 +1,225 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketMetricsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets a metrics configuration (specified by the metrics configuration ID)+-- from the bucket. Note that this doesn\'t include the daily storage+-- metrics.+--+-- To use this operation, you must have permissions to perform the+-- @s3:GetMetricsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about CloudWatch request metrics for Amazon S3, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html Monitoring Metrics with Amazon CloudWatch>.+--+-- The following operations are related to @GetBucketMetricsConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html PutBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html DeleteBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html ListBucketMetricsConfigurations>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html Monitoring Metrics with Amazon CloudWatch>+module Amazonka.S3.GetBucketMetricsConfiguration+  ( -- * Creating a Request+    GetBucketMetricsConfiguration (..),+    newGetBucketMetricsConfiguration,++    -- * Request Lenses+    getBucketMetricsConfiguration_expectedBucketOwner,+    getBucketMetricsConfiguration_bucket,+    getBucketMetricsConfiguration_id,++    -- * Destructuring the Response+    GetBucketMetricsConfigurationResponse (..),+    newGetBucketMetricsConfigurationResponse,++    -- * Response Lenses+    getBucketMetricsConfigurationResponse_metricsConfiguration,+    getBucketMetricsConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketMetricsConfiguration' smart constructor.+data GetBucketMetricsConfiguration = GetBucketMetricsConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the metrics configuration to retrieve.+    bucket :: BucketName,+    -- | The ID used to identify the metrics configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketMetricsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketMetricsConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketMetricsConfiguration_bucket' - The name of the bucket containing the metrics configuration to retrieve.+--+-- 'id', 'getBucketMetricsConfiguration_id' - The ID used to identify the metrics configuration.+newGetBucketMetricsConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  GetBucketMetricsConfiguration+newGetBucketMetricsConfiguration pBucket_ pId_ =+  GetBucketMetricsConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_,+      id = pId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketMetricsConfiguration_expectedBucketOwner :: Lens.Lens' GetBucketMetricsConfiguration (Prelude.Maybe Prelude.Text)+getBucketMetricsConfiguration_expectedBucketOwner = Lens.lens (\GetBucketMetricsConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketMetricsConfiguration' {} a -> s {expectedBucketOwner = a} :: GetBucketMetricsConfiguration)++-- | The name of the bucket containing the metrics configuration to retrieve.+getBucketMetricsConfiguration_bucket :: Lens.Lens' GetBucketMetricsConfiguration BucketName+getBucketMetricsConfiguration_bucket = Lens.lens (\GetBucketMetricsConfiguration' {bucket} -> bucket) (\s@GetBucketMetricsConfiguration' {} a -> s {bucket = a} :: GetBucketMetricsConfiguration)++-- | The ID used to identify the metrics configuration.+getBucketMetricsConfiguration_id :: Lens.Lens' GetBucketMetricsConfiguration Prelude.Text+getBucketMetricsConfiguration_id = Lens.lens (\GetBucketMetricsConfiguration' {id} -> id) (\s@GetBucketMetricsConfiguration' {} a -> s {id = a} :: GetBucketMetricsConfiguration)++instance+  Core.AWSRequest+    GetBucketMetricsConfiguration+  where+  type+    AWSResponse GetBucketMetricsConfiguration =+      GetBucketMetricsConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketMetricsConfigurationResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    GetBucketMetricsConfiguration+  where+  hashWithSalt _salt GetBucketMetricsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` id++instance Prelude.NFData GetBucketMetricsConfiguration where+  rnf GetBucketMetricsConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id++instance Data.ToHeaders GetBucketMetricsConfiguration where+  toHeaders GetBucketMetricsConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketMetricsConfiguration where+  toPath GetBucketMetricsConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketMetricsConfiguration where+  toQuery GetBucketMetricsConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "metrics"]++-- | /See:/ 'newGetBucketMetricsConfigurationResponse' smart constructor.+data GetBucketMetricsConfigurationResponse = GetBucketMetricsConfigurationResponse'+  { -- | Specifies the metrics configuration.+    metricsConfiguration :: Prelude.Maybe MetricsConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketMetricsConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'metricsConfiguration', 'getBucketMetricsConfigurationResponse_metricsConfiguration' - Specifies the metrics configuration.+--+-- 'httpStatus', 'getBucketMetricsConfigurationResponse_httpStatus' - The response's http status code.+newGetBucketMetricsConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketMetricsConfigurationResponse+newGetBucketMetricsConfigurationResponse pHttpStatus_ =+  GetBucketMetricsConfigurationResponse'+    { metricsConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Specifies the metrics configuration.+getBucketMetricsConfigurationResponse_metricsConfiguration :: Lens.Lens' GetBucketMetricsConfigurationResponse (Prelude.Maybe MetricsConfiguration)+getBucketMetricsConfigurationResponse_metricsConfiguration = Lens.lens (\GetBucketMetricsConfigurationResponse' {metricsConfiguration} -> metricsConfiguration) (\s@GetBucketMetricsConfigurationResponse' {} a -> s {metricsConfiguration = a} :: GetBucketMetricsConfigurationResponse)++-- | The response's http status code.+getBucketMetricsConfigurationResponse_httpStatus :: Lens.Lens' GetBucketMetricsConfigurationResponse Prelude.Int+getBucketMetricsConfigurationResponse_httpStatus = Lens.lens (\GetBucketMetricsConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetBucketMetricsConfigurationResponse' {} a -> s {httpStatus = a} :: GetBucketMetricsConfigurationResponse)++instance+  Prelude.NFData+    GetBucketMetricsConfigurationResponse+  where+  rnf GetBucketMetricsConfigurationResponse' {..} =+    Prelude.rnf metricsConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketNotificationConfiguration.hs view
@@ -0,0 +1,170 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketNotificationConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the notification configuration of a bucket.+--+-- If notifications are not enabled on the bucket, the action returns an+-- empty @NotificationConfiguration@ element.+--+-- By default, you must be the bucket owner to read the notification+-- configuration of a bucket. However, the bucket owner can use a bucket+-- policy to grant permission to other users to read this configuration+-- with the @s3:GetBucketNotification@ permission.+--+-- For more information about setting and reading the notification+-- configuration on a bucket, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Setting Up Notification of Bucket Events>.+-- For more information about bucket policies, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html Using Bucket Policies>.+--+-- The following action is related to @GetBucketNotification@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html PutBucketNotification>+module Amazonka.S3.GetBucketNotificationConfiguration+  ( -- * Creating a Request+    GetBucketNotificationConfiguration (..),+    newGetBucketNotificationConfiguration,++    -- * Request Lenses+    getBucketNotificationConfiguration_expectedBucketOwner,+    getBucketNotificationConfiguration_bucket,++    -- * Destructuring the Response+    NotificationConfiguration (..),+    newNotificationConfiguration,++    -- * Response Lenses+    notificationConfiguration_eventBridgeConfiguration,+    notificationConfiguration_lambdaFunctionConfigurations,+    notificationConfiguration_queueConfigurations,+    notificationConfiguration_topicConfigurations,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketNotificationConfiguration' smart constructor.+data GetBucketNotificationConfiguration = GetBucketNotificationConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to get the notification configuration.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketNotificationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketNotificationConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketNotificationConfiguration_bucket' - The name of the bucket for which to get the notification configuration.+newGetBucketNotificationConfiguration ::+  -- | 'bucket'+  BucketName ->+  GetBucketNotificationConfiguration+newGetBucketNotificationConfiguration pBucket_ =+  GetBucketNotificationConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketNotificationConfiguration_expectedBucketOwner :: Lens.Lens' GetBucketNotificationConfiguration (Prelude.Maybe Prelude.Text)+getBucketNotificationConfiguration_expectedBucketOwner = Lens.lens (\GetBucketNotificationConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketNotificationConfiguration' {} a -> s {expectedBucketOwner = a} :: GetBucketNotificationConfiguration)++-- | The name of the bucket for which to get the notification configuration.+getBucketNotificationConfiguration_bucket :: Lens.Lens' GetBucketNotificationConfiguration BucketName+getBucketNotificationConfiguration_bucket = Lens.lens (\GetBucketNotificationConfiguration' {bucket} -> bucket) (\s@GetBucketNotificationConfiguration' {} a -> s {bucket = a} :: GetBucketNotificationConfiguration)++instance+  Core.AWSRequest+    GetBucketNotificationConfiguration+  where+  type+    AWSResponse GetBucketNotificationConfiguration =+      NotificationConfiguration+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML (\s h x -> Data.parseXML x)++instance+  Prelude.Hashable+    GetBucketNotificationConfiguration+  where+  hashWithSalt+    _salt+    GetBucketNotificationConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    GetBucketNotificationConfiguration+  where+  rnf GetBucketNotificationConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    GetBucketNotificationConfiguration+  where+  toHeaders GetBucketNotificationConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance+  Data.ToPath+    GetBucketNotificationConfiguration+  where+  toPath GetBucketNotificationConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    GetBucketNotificationConfiguration+  where+  toQuery =+    Prelude.const (Prelude.mconcat ["notification"])
+ gen/Amazonka/S3/GetBucketOwnershipControls.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketOwnershipControls+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves @OwnershipControls@ for an Amazon S3 bucket. To use this+-- operation, you must have the @s3:GetBucketOwnershipControls@ permission.+-- For more information about Amazon S3 permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html Specifying permissions in a policy>.+--+-- For information about Amazon S3 Object Ownership, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Using Object Ownership>.+--+-- The following operations are related to @GetBucketOwnershipControls@:+--+-- -   PutBucketOwnershipControls+--+-- -   DeleteBucketOwnershipControls+module Amazonka.S3.GetBucketOwnershipControls+  ( -- * Creating a Request+    GetBucketOwnershipControls (..),+    newGetBucketOwnershipControls,++    -- * Request Lenses+    getBucketOwnershipControls_expectedBucketOwner,+    getBucketOwnershipControls_bucket,++    -- * Destructuring the Response+    GetBucketOwnershipControlsResponse (..),+    newGetBucketOwnershipControlsResponse,++    -- * Response Lenses+    getBucketOwnershipControlsResponse_ownershipControls,+    getBucketOwnershipControlsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketOwnershipControls' smart constructor.+data GetBucketOwnershipControls = GetBucketOwnershipControls'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the Amazon S3 bucket whose @OwnershipControls@ you want to+    -- retrieve.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketOwnershipControls' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketOwnershipControls_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketOwnershipControls_bucket' - The name of the Amazon S3 bucket whose @OwnershipControls@ you want to+-- retrieve.+newGetBucketOwnershipControls ::+  -- | 'bucket'+  BucketName ->+  GetBucketOwnershipControls+newGetBucketOwnershipControls pBucket_ =+  GetBucketOwnershipControls'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketOwnershipControls_expectedBucketOwner :: Lens.Lens' GetBucketOwnershipControls (Prelude.Maybe Prelude.Text)+getBucketOwnershipControls_expectedBucketOwner = Lens.lens (\GetBucketOwnershipControls' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketOwnershipControls' {} a -> s {expectedBucketOwner = a} :: GetBucketOwnershipControls)++-- | The name of the Amazon S3 bucket whose @OwnershipControls@ you want to+-- retrieve.+getBucketOwnershipControls_bucket :: Lens.Lens' GetBucketOwnershipControls BucketName+getBucketOwnershipControls_bucket = Lens.lens (\GetBucketOwnershipControls' {bucket} -> bucket) (\s@GetBucketOwnershipControls' {} a -> s {bucket = a} :: GetBucketOwnershipControls)++instance Core.AWSRequest GetBucketOwnershipControls where+  type+    AWSResponse GetBucketOwnershipControls =+      GetBucketOwnershipControlsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketOwnershipControlsResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketOwnershipControls where+  hashWithSalt _salt GetBucketOwnershipControls' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketOwnershipControls where+  rnf GetBucketOwnershipControls' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketOwnershipControls where+  toHeaders GetBucketOwnershipControls' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketOwnershipControls where+  toPath GetBucketOwnershipControls' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketOwnershipControls where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["ownershipControls"])++-- | /See:/ 'newGetBucketOwnershipControlsResponse' smart constructor.+data GetBucketOwnershipControlsResponse = GetBucketOwnershipControlsResponse'+  { -- | The @OwnershipControls@ (BucketOwnerEnforced, BucketOwnerPreferred, or+    -- ObjectWriter) currently in effect for this Amazon S3 bucket.+    ownershipControls :: Prelude.Maybe OwnershipControls,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketOwnershipControlsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ownershipControls', 'getBucketOwnershipControlsResponse_ownershipControls' - The @OwnershipControls@ (BucketOwnerEnforced, BucketOwnerPreferred, or+-- ObjectWriter) currently in effect for this Amazon S3 bucket.+--+-- 'httpStatus', 'getBucketOwnershipControlsResponse_httpStatus' - The response's http status code.+newGetBucketOwnershipControlsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketOwnershipControlsResponse+newGetBucketOwnershipControlsResponse pHttpStatus_ =+  GetBucketOwnershipControlsResponse'+    { ownershipControls =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The @OwnershipControls@ (BucketOwnerEnforced, BucketOwnerPreferred, or+-- ObjectWriter) currently in effect for this Amazon S3 bucket.+getBucketOwnershipControlsResponse_ownershipControls :: Lens.Lens' GetBucketOwnershipControlsResponse (Prelude.Maybe OwnershipControls)+getBucketOwnershipControlsResponse_ownershipControls = Lens.lens (\GetBucketOwnershipControlsResponse' {ownershipControls} -> ownershipControls) (\s@GetBucketOwnershipControlsResponse' {} a -> s {ownershipControls = a} :: GetBucketOwnershipControlsResponse)++-- | The response's http status code.+getBucketOwnershipControlsResponse_httpStatus :: Lens.Lens' GetBucketOwnershipControlsResponse Prelude.Int+getBucketOwnershipControlsResponse_httpStatus = Lens.lens (\GetBucketOwnershipControlsResponse' {httpStatus} -> httpStatus) (\s@GetBucketOwnershipControlsResponse' {} a -> s {httpStatus = a} :: GetBucketOwnershipControlsResponse)++instance+  Prelude.NFData+    GetBucketOwnershipControlsResponse+  where+  rnf GetBucketOwnershipControlsResponse' {..} =+    Prelude.rnf ownershipControls+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketPolicy.hs view
@@ -0,0 +1,200 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the policy of a specified bucket. If you are using an identity+-- other than the root user of the Amazon Web Services account that owns+-- the bucket, the calling identity must have the @GetBucketPolicy@+-- permissions on the specified bucket and belong to the bucket owner\'s+-- account in order to use this operation.+--+-- If you don\'t have @GetBucketPolicy@ permissions, Amazon S3 returns a+-- @403 Access Denied@ error. If you have the correct permissions, but+-- you\'re not using an identity that belongs to the bucket owner\'s+-- account, Amazon S3 returns a @405 Method Not Allowed@ error.+--+-- As a security precaution, the root user of the Amazon Web Services+-- account that owns a bucket can always use this operation, even if the+-- policy explicitly denies the root user the ability to perform this+-- action.+--+-- For more information about bucket policies, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html Using Bucket Policies and User Policies>.+--+-- The following action is related to @GetBucketPolicy@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+module Amazonka.S3.GetBucketPolicy+  ( -- * Creating a Request+    GetBucketPolicy (..),+    newGetBucketPolicy,++    -- * Request Lenses+    getBucketPolicy_expectedBucketOwner,+    getBucketPolicy_bucket,++    -- * Destructuring the Response+    GetBucketPolicyResponse (..),+    newGetBucketPolicyResponse,++    -- * Response Lenses+    getBucketPolicyResponse_httpStatus,+    getBucketPolicyResponse_policy,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketPolicy' smart constructor.+data GetBucketPolicy = GetBucketPolicy'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name for which to get the bucket policy.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketPolicy_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketPolicy_bucket' - The bucket name for which to get the bucket policy.+newGetBucketPolicy ::+  -- | 'bucket'+  BucketName ->+  GetBucketPolicy+newGetBucketPolicy pBucket_ =+  GetBucketPolicy'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketPolicy_expectedBucketOwner :: Lens.Lens' GetBucketPolicy (Prelude.Maybe Prelude.Text)+getBucketPolicy_expectedBucketOwner = Lens.lens (\GetBucketPolicy' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketPolicy' {} a -> s {expectedBucketOwner = a} :: GetBucketPolicy)++-- | The bucket name for which to get the bucket policy.+getBucketPolicy_bucket :: Lens.Lens' GetBucketPolicy BucketName+getBucketPolicy_bucket = Lens.lens (\GetBucketPolicy' {bucket} -> bucket) (\s@GetBucketPolicy' {} a -> s {bucket = a} :: GetBucketPolicy)++instance Core.AWSRequest GetBucketPolicy where+  type+    AWSResponse GetBucketPolicy =+      GetBucketPolicyResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveBytes+      ( \s h x ->+          GetBucketPolicyResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Prelude.Hashable GetBucketPolicy where+  hashWithSalt _salt GetBucketPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketPolicy where+  rnf GetBucketPolicy' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketPolicy where+  toHeaders GetBucketPolicy' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketPolicy where+  toPath GetBucketPolicy' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketPolicy where+  toQuery = Prelude.const (Prelude.mconcat ["policy"])++-- | /See:/ 'newGetBucketPolicyResponse' smart constructor.+data GetBucketPolicyResponse = GetBucketPolicyResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | The bucket policy as a JSON document.+    policy :: Prelude.ByteString+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getBucketPolicyResponse_httpStatus' - The response's http status code.+--+-- 'policy', 'getBucketPolicyResponse_policy' - The bucket policy as a JSON document.+newGetBucketPolicyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'policy'+  Prelude.ByteString ->+  GetBucketPolicyResponse+newGetBucketPolicyResponse pHttpStatus_ pPolicy_ =+  GetBucketPolicyResponse'+    { httpStatus = pHttpStatus_,+      policy = pPolicy_+    }++-- | The response's http status code.+getBucketPolicyResponse_httpStatus :: Lens.Lens' GetBucketPolicyResponse Prelude.Int+getBucketPolicyResponse_httpStatus = Lens.lens (\GetBucketPolicyResponse' {httpStatus} -> httpStatus) (\s@GetBucketPolicyResponse' {} a -> s {httpStatus = a} :: GetBucketPolicyResponse)++-- | The bucket policy as a JSON document.+getBucketPolicyResponse_policy :: Lens.Lens' GetBucketPolicyResponse Prelude.ByteString+getBucketPolicyResponse_policy = Lens.lens (\GetBucketPolicyResponse' {policy} -> policy) (\s@GetBucketPolicyResponse' {} a -> s {policy = a} :: GetBucketPolicyResponse)++instance Prelude.NFData GetBucketPolicyResponse where+  rnf GetBucketPolicyResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf policy
+ gen/Amazonka/S3/GetBucketPolicyStatus.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketPolicyStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the policy status for an Amazon S3 bucket, indicating whether+-- the bucket is public. In order to use this operation, you must have the+-- @s3:GetBucketPolicyStatus@ permission. For more information about Amazon+-- S3 permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>.+--+-- For more information about when Amazon S3 considers a bucket public, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">.+--+-- The following operations are related to @GetBucketPolicyStatus@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html Using Amazon S3 Block Public Access>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html GetPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html PutPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html DeletePublicAccessBlock>+module Amazonka.S3.GetBucketPolicyStatus+  ( -- * Creating a Request+    GetBucketPolicyStatus (..),+    newGetBucketPolicyStatus,++    -- * Request Lenses+    getBucketPolicyStatus_expectedBucketOwner,+    getBucketPolicyStatus_bucket,++    -- * Destructuring the Response+    GetBucketPolicyStatusResponse (..),+    newGetBucketPolicyStatusResponse,++    -- * Response Lenses+    getBucketPolicyStatusResponse_policyStatus,+    getBucketPolicyStatusResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketPolicyStatus' smart constructor.+data GetBucketPolicyStatus = GetBucketPolicyStatus'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the Amazon S3 bucket whose policy status you want to+    -- retrieve.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketPolicyStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketPolicyStatus_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketPolicyStatus_bucket' - The name of the Amazon S3 bucket whose policy status you want to+-- retrieve.+newGetBucketPolicyStatus ::+  -- | 'bucket'+  BucketName ->+  GetBucketPolicyStatus+newGetBucketPolicyStatus pBucket_ =+  GetBucketPolicyStatus'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketPolicyStatus_expectedBucketOwner :: Lens.Lens' GetBucketPolicyStatus (Prelude.Maybe Prelude.Text)+getBucketPolicyStatus_expectedBucketOwner = Lens.lens (\GetBucketPolicyStatus' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketPolicyStatus' {} a -> s {expectedBucketOwner = a} :: GetBucketPolicyStatus)++-- | The name of the Amazon S3 bucket whose policy status you want to+-- retrieve.+getBucketPolicyStatus_bucket :: Lens.Lens' GetBucketPolicyStatus BucketName+getBucketPolicyStatus_bucket = Lens.lens (\GetBucketPolicyStatus' {bucket} -> bucket) (\s@GetBucketPolicyStatus' {} a -> s {bucket = a} :: GetBucketPolicyStatus)++instance Core.AWSRequest GetBucketPolicyStatus where+  type+    AWSResponse GetBucketPolicyStatus =+      GetBucketPolicyStatusResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketPolicyStatusResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketPolicyStatus where+  hashWithSalt _salt GetBucketPolicyStatus' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketPolicyStatus where+  rnf GetBucketPolicyStatus' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketPolicyStatus where+  toHeaders GetBucketPolicyStatus' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketPolicyStatus where+  toPath GetBucketPolicyStatus' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketPolicyStatus where+  toQuery =+    Prelude.const (Prelude.mconcat ["policyStatus"])++-- | /See:/ 'newGetBucketPolicyStatusResponse' smart constructor.+data GetBucketPolicyStatusResponse = GetBucketPolicyStatusResponse'+  { -- | The policy status for the specified bucket.+    policyStatus :: Prelude.Maybe PolicyStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketPolicyStatusResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'policyStatus', 'getBucketPolicyStatusResponse_policyStatus' - The policy status for the specified bucket.+--+-- 'httpStatus', 'getBucketPolicyStatusResponse_httpStatus' - The response's http status code.+newGetBucketPolicyStatusResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketPolicyStatusResponse+newGetBucketPolicyStatusResponse pHttpStatus_ =+  GetBucketPolicyStatusResponse'+    { policyStatus =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The policy status for the specified bucket.+getBucketPolicyStatusResponse_policyStatus :: Lens.Lens' GetBucketPolicyStatusResponse (Prelude.Maybe PolicyStatus)+getBucketPolicyStatusResponse_policyStatus = Lens.lens (\GetBucketPolicyStatusResponse' {policyStatus} -> policyStatus) (\s@GetBucketPolicyStatusResponse' {} a -> s {policyStatus = a} :: GetBucketPolicyStatusResponse)++-- | The response's http status code.+getBucketPolicyStatusResponse_httpStatus :: Lens.Lens' GetBucketPolicyStatusResponse Prelude.Int+getBucketPolicyStatusResponse_httpStatus = Lens.lens (\GetBucketPolicyStatusResponse' {httpStatus} -> httpStatus) (\s@GetBucketPolicyStatusResponse' {} a -> s {httpStatus = a} :: GetBucketPolicyStatusResponse)++instance Prelude.NFData GetBucketPolicyStatusResponse where+  rnf GetBucketPolicyStatusResponse' {..} =+    Prelude.rnf policyStatus+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketReplication.hs view
@@ -0,0 +1,204 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketReplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the replication configuration of a bucket.+--+-- It can take a while to propagate the put or delete a replication+-- configuration to all Amazon S3 systems. Therefore, a get request soon+-- after put or delete can return a wrong result.+--+-- For information about replication configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html Replication>+-- in the /Amazon S3 User Guide/.+--+-- This action requires permissions for the+-- @s3:GetReplicationConfiguration@ action. For more information about+-- permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html Using Bucket Policies and User Policies>.+--+-- If you include the @Filter@ element in a replication configuration, you+-- must also include the @DeleteMarkerReplication@ and @Priority@ elements.+-- The response also returns those elements.+--+-- For information about @GetBucketReplication@ errors, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList List of replication-related error codes>+--+-- The following operations are related to @GetBucketReplication@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html PutBucketReplication>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html DeleteBucketReplication>+module Amazonka.S3.GetBucketReplication+  ( -- * Creating a Request+    GetBucketReplication (..),+    newGetBucketReplication,++    -- * Request Lenses+    getBucketReplication_expectedBucketOwner,+    getBucketReplication_bucket,++    -- * Destructuring the Response+    GetBucketReplicationResponse (..),+    newGetBucketReplicationResponse,++    -- * Response Lenses+    getBucketReplicationResponse_replicationConfiguration,+    getBucketReplicationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketReplication' smart constructor.+data GetBucketReplication = GetBucketReplication'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name for which to get the replication information.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketReplication_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketReplication_bucket' - The bucket name for which to get the replication information.+newGetBucketReplication ::+  -- | 'bucket'+  BucketName ->+  GetBucketReplication+newGetBucketReplication pBucket_ =+  GetBucketReplication'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketReplication_expectedBucketOwner :: Lens.Lens' GetBucketReplication (Prelude.Maybe Prelude.Text)+getBucketReplication_expectedBucketOwner = Lens.lens (\GetBucketReplication' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketReplication' {} a -> s {expectedBucketOwner = a} :: GetBucketReplication)++-- | The bucket name for which to get the replication information.+getBucketReplication_bucket :: Lens.Lens' GetBucketReplication BucketName+getBucketReplication_bucket = Lens.lens (\GetBucketReplication' {bucket} -> bucket) (\s@GetBucketReplication' {} a -> s {bucket = a} :: GetBucketReplication)++instance Core.AWSRequest GetBucketReplication where+  type+    AWSResponse GetBucketReplication =+      GetBucketReplicationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketReplicationResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketReplication where+  hashWithSalt _salt GetBucketReplication' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketReplication where+  rnf GetBucketReplication' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketReplication where+  toHeaders GetBucketReplication' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketReplication where+  toPath GetBucketReplication' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketReplication where+  toQuery =+    Prelude.const (Prelude.mconcat ["replication"])++-- | /See:/ 'newGetBucketReplicationResponse' smart constructor.+data GetBucketReplicationResponse = GetBucketReplicationResponse'+  { replicationConfiguration :: Prelude.Maybe ReplicationConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketReplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'replicationConfiguration', 'getBucketReplicationResponse_replicationConfiguration' - Undocumented member.+--+-- 'httpStatus', 'getBucketReplicationResponse_httpStatus' - The response's http status code.+newGetBucketReplicationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketReplicationResponse+newGetBucketReplicationResponse pHttpStatus_ =+  GetBucketReplicationResponse'+    { replicationConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+getBucketReplicationResponse_replicationConfiguration :: Lens.Lens' GetBucketReplicationResponse (Prelude.Maybe ReplicationConfiguration)+getBucketReplicationResponse_replicationConfiguration = Lens.lens (\GetBucketReplicationResponse' {replicationConfiguration} -> replicationConfiguration) (\s@GetBucketReplicationResponse' {} a -> s {replicationConfiguration = a} :: GetBucketReplicationResponse)++-- | The response's http status code.+getBucketReplicationResponse_httpStatus :: Lens.Lens' GetBucketReplicationResponse Prelude.Int+getBucketReplicationResponse_httpStatus = Lens.lens (\GetBucketReplicationResponse' {httpStatus} -> httpStatus) (\s@GetBucketReplicationResponse' {} a -> s {httpStatus = a} :: GetBucketReplicationResponse)++instance Prelude.NFData GetBucketReplicationResponse where+  rnf GetBucketReplicationResponse' {..} =+    Prelude.rnf replicationConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketRequestPayment.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketRequestPayment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the request payment configuration of a bucket. To use this+-- version of the operation, you must be the bucket owner. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html Requester Pays Buckets>.+--+-- The following operations are related to @GetBucketRequestPayment@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html ListObjects>+module Amazonka.S3.GetBucketRequestPayment+  ( -- * Creating a Request+    GetBucketRequestPayment (..),+    newGetBucketRequestPayment,++    -- * Request Lenses+    getBucketRequestPayment_expectedBucketOwner,+    getBucketRequestPayment_bucket,++    -- * Destructuring the Response+    GetBucketRequestPaymentResponse (..),+    newGetBucketRequestPaymentResponse,++    -- * Response Lenses+    getBucketRequestPaymentResponse_payer,+    getBucketRequestPaymentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketRequestPayment' smart constructor.+data GetBucketRequestPayment = GetBucketRequestPayment'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to get the payment request+    -- configuration+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketRequestPayment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketRequestPayment_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketRequestPayment_bucket' - The name of the bucket for which to get the payment request+-- configuration+newGetBucketRequestPayment ::+  -- | 'bucket'+  BucketName ->+  GetBucketRequestPayment+newGetBucketRequestPayment pBucket_ =+  GetBucketRequestPayment'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketRequestPayment_expectedBucketOwner :: Lens.Lens' GetBucketRequestPayment (Prelude.Maybe Prelude.Text)+getBucketRequestPayment_expectedBucketOwner = Lens.lens (\GetBucketRequestPayment' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketRequestPayment' {} a -> s {expectedBucketOwner = a} :: GetBucketRequestPayment)++-- | The name of the bucket for which to get the payment request+-- configuration+getBucketRequestPayment_bucket :: Lens.Lens' GetBucketRequestPayment BucketName+getBucketRequestPayment_bucket = Lens.lens (\GetBucketRequestPayment' {bucket} -> bucket) (\s@GetBucketRequestPayment' {} a -> s {bucket = a} :: GetBucketRequestPayment)++instance Core.AWSRequest GetBucketRequestPayment where+  type+    AWSResponse GetBucketRequestPayment =+      GetBucketRequestPaymentResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketRequestPaymentResponse'+            Prelude.<$> (x Data..@? "Payer")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketRequestPayment where+  hashWithSalt _salt GetBucketRequestPayment' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketRequestPayment where+  rnf GetBucketRequestPayment' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketRequestPayment where+  toHeaders GetBucketRequestPayment' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketRequestPayment where+  toPath GetBucketRequestPayment' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketRequestPayment where+  toQuery =+    Prelude.const (Prelude.mconcat ["requestPayment"])++-- | /See:/ 'newGetBucketRequestPaymentResponse' smart constructor.+data GetBucketRequestPaymentResponse = GetBucketRequestPaymentResponse'+  { -- | Specifies who pays for the download and request fees.+    payer :: Prelude.Maybe Payer,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketRequestPaymentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payer', 'getBucketRequestPaymentResponse_payer' - Specifies who pays for the download and request fees.+--+-- 'httpStatus', 'getBucketRequestPaymentResponse_httpStatus' - The response's http status code.+newGetBucketRequestPaymentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketRequestPaymentResponse+newGetBucketRequestPaymentResponse pHttpStatus_ =+  GetBucketRequestPaymentResponse'+    { payer =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Specifies who pays for the download and request fees.+getBucketRequestPaymentResponse_payer :: Lens.Lens' GetBucketRequestPaymentResponse (Prelude.Maybe Payer)+getBucketRequestPaymentResponse_payer = Lens.lens (\GetBucketRequestPaymentResponse' {payer} -> payer) (\s@GetBucketRequestPaymentResponse' {} a -> s {payer = a} :: GetBucketRequestPaymentResponse)++-- | The response's http status code.+getBucketRequestPaymentResponse_httpStatus :: Lens.Lens' GetBucketRequestPaymentResponse Prelude.Int+getBucketRequestPaymentResponse_httpStatus = Lens.lens (\GetBucketRequestPaymentResponse' {httpStatus} -> httpStatus) (\s@GetBucketRequestPaymentResponse' {} a -> s {httpStatus = a} :: GetBucketRequestPaymentResponse)++instance+  Prelude.NFData+    GetBucketRequestPaymentResponse+  where+  rnf GetBucketRequestPaymentResponse' {..} =+    Prelude.rnf payer+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketTagging.hs view
@@ -0,0 +1,198 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketTagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the tag set associated with the bucket.+--+-- To use this operation, you must have permission to perform the+-- @s3:GetBucketTagging@ action. By default, the bucket owner has this+-- permission and can grant this permission to others.+--+-- @GetBucketTagging@ has the following special error:+--+-- -   Error code: @NoSuchTagSet@+--+--     -   Description: There is no tag set associated with the bucket.+--+-- The following operations are related to @GetBucketTagging@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html PutBucketTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html DeleteBucketTagging>+module Amazonka.S3.GetBucketTagging+  ( -- * Creating a Request+    GetBucketTagging (..),+    newGetBucketTagging,++    -- * Request Lenses+    getBucketTagging_expectedBucketOwner,+    getBucketTagging_bucket,++    -- * Destructuring the Response+    GetBucketTaggingResponse (..),+    newGetBucketTaggingResponse,++    -- * Response Lenses+    getBucketTaggingResponse_httpStatus,+    getBucketTaggingResponse_tagSet,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketTagging' smart constructor.+data GetBucketTagging = GetBucketTagging'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to get the tagging information.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketTagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketTagging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketTagging_bucket' - The name of the bucket for which to get the tagging information.+newGetBucketTagging ::+  -- | 'bucket'+  BucketName ->+  GetBucketTagging+newGetBucketTagging pBucket_ =+  GetBucketTagging'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketTagging_expectedBucketOwner :: Lens.Lens' GetBucketTagging (Prelude.Maybe Prelude.Text)+getBucketTagging_expectedBucketOwner = Lens.lens (\GetBucketTagging' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketTagging' {} a -> s {expectedBucketOwner = a} :: GetBucketTagging)++-- | The name of the bucket for which to get the tagging information.+getBucketTagging_bucket :: Lens.Lens' GetBucketTagging BucketName+getBucketTagging_bucket = Lens.lens (\GetBucketTagging' {bucket} -> bucket) (\s@GetBucketTagging' {} a -> s {bucket = a} :: GetBucketTagging)++instance Core.AWSRequest GetBucketTagging where+  type+    AWSResponse GetBucketTagging =+      GetBucketTaggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketTaggingResponse'+            Prelude.<$> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..@? "TagSet"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Data.parseXMLList "Tag"+                        )+      )++instance Prelude.Hashable GetBucketTagging where+  hashWithSalt _salt GetBucketTagging' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketTagging where+  rnf GetBucketTagging' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketTagging where+  toHeaders GetBucketTagging' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketTagging where+  toPath GetBucketTagging' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketTagging where+  toQuery = Prelude.const (Prelude.mconcat ["tagging"])++-- | /See:/ 'newGetBucketTaggingResponse' smart constructor.+data GetBucketTaggingResponse = GetBucketTaggingResponse'+  { -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Contains the tag set.+    tagSet :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketTaggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpStatus', 'getBucketTaggingResponse_httpStatus' - The response's http status code.+--+-- 'tagSet', 'getBucketTaggingResponse_tagSet' - Contains the tag set.+newGetBucketTaggingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketTaggingResponse+newGetBucketTaggingResponse pHttpStatus_ =+  GetBucketTaggingResponse'+    { httpStatus =+        pHttpStatus_,+      tagSet = Prelude.mempty+    }++-- | The response's http status code.+getBucketTaggingResponse_httpStatus :: Lens.Lens' GetBucketTaggingResponse Prelude.Int+getBucketTaggingResponse_httpStatus = Lens.lens (\GetBucketTaggingResponse' {httpStatus} -> httpStatus) (\s@GetBucketTaggingResponse' {} a -> s {httpStatus = a} :: GetBucketTaggingResponse)++-- | Contains the tag set.+getBucketTaggingResponse_tagSet :: Lens.Lens' GetBucketTaggingResponse [Tag]+getBucketTaggingResponse_tagSet = Lens.lens (\GetBucketTaggingResponse' {tagSet} -> tagSet) (\s@GetBucketTaggingResponse' {} a -> s {tagSet = a} :: GetBucketTaggingResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetBucketTaggingResponse where+  rnf GetBucketTaggingResponse' {..} =+    Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf tagSet
+ gen/Amazonka/S3/GetBucketVersioning.hs view
@@ -0,0 +1,215 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketVersioning+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the versioning state of a bucket.+--+-- To retrieve the versioning state of a bucket, you must be the bucket+-- owner.+--+-- This implementation also returns the MFA Delete status of the versioning+-- state. If the MFA Delete status is @enabled@, the bucket owner must use+-- an authentication device to change the versioning state of the bucket.+--+-- The following operations are related to @GetBucketVersioning@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html DeleteObject>+module Amazonka.S3.GetBucketVersioning+  ( -- * Creating a Request+    GetBucketVersioning (..),+    newGetBucketVersioning,++    -- * Request Lenses+    getBucketVersioning_expectedBucketOwner,+    getBucketVersioning_bucket,++    -- * Destructuring the Response+    GetBucketVersioningResponse (..),+    newGetBucketVersioningResponse,++    -- * Response Lenses+    getBucketVersioningResponse_mfaDelete,+    getBucketVersioningResponse_status,+    getBucketVersioningResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketVersioning' smart constructor.+data GetBucketVersioning = GetBucketVersioning'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to get the versioning information.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketVersioning' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketVersioning_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketVersioning_bucket' - The name of the bucket for which to get the versioning information.+newGetBucketVersioning ::+  -- | 'bucket'+  BucketName ->+  GetBucketVersioning+newGetBucketVersioning pBucket_ =+  GetBucketVersioning'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketVersioning_expectedBucketOwner :: Lens.Lens' GetBucketVersioning (Prelude.Maybe Prelude.Text)+getBucketVersioning_expectedBucketOwner = Lens.lens (\GetBucketVersioning' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketVersioning' {} a -> s {expectedBucketOwner = a} :: GetBucketVersioning)++-- | The name of the bucket for which to get the versioning information.+getBucketVersioning_bucket :: Lens.Lens' GetBucketVersioning BucketName+getBucketVersioning_bucket = Lens.lens (\GetBucketVersioning' {bucket} -> bucket) (\s@GetBucketVersioning' {} a -> s {bucket = a} :: GetBucketVersioning)++instance Core.AWSRequest GetBucketVersioning where+  type+    AWSResponse GetBucketVersioning =+      GetBucketVersioningResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketVersioningResponse'+            Prelude.<$> (x Data..@? "MfaDelete")+            Prelude.<*> (x Data..@? "Status")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketVersioning where+  hashWithSalt _salt GetBucketVersioning' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketVersioning where+  rnf GetBucketVersioning' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketVersioning where+  toHeaders GetBucketVersioning' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketVersioning where+  toPath GetBucketVersioning' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketVersioning where+  toQuery =+    Prelude.const (Prelude.mconcat ["versioning"])++-- | /See:/ 'newGetBucketVersioningResponse' smart constructor.+data GetBucketVersioningResponse = GetBucketVersioningResponse'+  { -- | Specifies whether MFA delete is enabled in the bucket versioning+    -- configuration. This element is only returned if the bucket has been+    -- configured with MFA delete. If the bucket has never been so configured,+    -- this element is not returned.+    mfaDelete :: Prelude.Maybe MFADeleteStatus,+    -- | The versioning state of the bucket.+    status :: Prelude.Maybe BucketVersioningStatus,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketVersioningResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mfaDelete', 'getBucketVersioningResponse_mfaDelete' - Specifies whether MFA delete is enabled in the bucket versioning+-- configuration. This element is only returned if the bucket has been+-- configured with MFA delete. If the bucket has never been so configured,+-- this element is not returned.+--+-- 'status', 'getBucketVersioningResponse_status' - The versioning state of the bucket.+--+-- 'httpStatus', 'getBucketVersioningResponse_httpStatus' - The response's http status code.+newGetBucketVersioningResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketVersioningResponse+newGetBucketVersioningResponse pHttpStatus_ =+  GetBucketVersioningResponse'+    { mfaDelete =+        Prelude.Nothing,+      status = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Specifies whether MFA delete is enabled in the bucket versioning+-- configuration. This element is only returned if the bucket has been+-- configured with MFA delete. If the bucket has never been so configured,+-- this element is not returned.+getBucketVersioningResponse_mfaDelete :: Lens.Lens' GetBucketVersioningResponse (Prelude.Maybe MFADeleteStatus)+getBucketVersioningResponse_mfaDelete = Lens.lens (\GetBucketVersioningResponse' {mfaDelete} -> mfaDelete) (\s@GetBucketVersioningResponse' {} a -> s {mfaDelete = a} :: GetBucketVersioningResponse)++-- | The versioning state of the bucket.+getBucketVersioningResponse_status :: Lens.Lens' GetBucketVersioningResponse (Prelude.Maybe BucketVersioningStatus)+getBucketVersioningResponse_status = Lens.lens (\GetBucketVersioningResponse' {status} -> status) (\s@GetBucketVersioningResponse' {} a -> s {status = a} :: GetBucketVersioningResponse)++-- | The response's http status code.+getBucketVersioningResponse_httpStatus :: Lens.Lens' GetBucketVersioningResponse Prelude.Int+getBucketVersioningResponse_httpStatus = Lens.lens (\GetBucketVersioningResponse' {httpStatus} -> httpStatus) (\s@GetBucketVersioningResponse' {} a -> s {httpStatus = a} :: GetBucketVersioningResponse)++instance Prelude.NFData GetBucketVersioningResponse where+  rnf GetBucketVersioningResponse' {..} =+    Prelude.rnf mfaDelete+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetBucketWebsite.hs view
@@ -0,0 +1,242 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetBucketWebsite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the website configuration for a bucket. To host website on+-- Amazon S3, you can configure a bucket as website by adding a website+-- configuration. For more information about hosting websites, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting Websites on Amazon S3>.+--+-- This GET action requires the @S3:GetBucketWebsite@ permission. By+-- default, only the bucket owner can read the bucket website+-- configuration. However, bucket owners can allow other users to read the+-- website configuration by writing a bucket policy granting them the+-- @S3:GetBucketWebsite@ permission.+--+-- The following operations are related to @DeleteBucketWebsite@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html DeleteBucketWebsite>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html PutBucketWebsite>+module Amazonka.S3.GetBucketWebsite+  ( -- * Creating a Request+    GetBucketWebsite (..),+    newGetBucketWebsite,++    -- * Request Lenses+    getBucketWebsite_expectedBucketOwner,+    getBucketWebsite_bucket,++    -- * Destructuring the Response+    GetBucketWebsiteResponse (..),+    newGetBucketWebsiteResponse,++    -- * Response Lenses+    getBucketWebsiteResponse_errorDocument,+    getBucketWebsiteResponse_indexDocument,+    getBucketWebsiteResponse_redirectAllRequestsTo,+    getBucketWebsiteResponse_routingRules,+    getBucketWebsiteResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetBucketWebsite' smart constructor.+data GetBucketWebsite = GetBucketWebsite'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name for which to get the website configuration.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketWebsite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getBucketWebsite_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getBucketWebsite_bucket' - The bucket name for which to get the website configuration.+newGetBucketWebsite ::+  -- | 'bucket'+  BucketName ->+  GetBucketWebsite+newGetBucketWebsite pBucket_ =+  GetBucketWebsite'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getBucketWebsite_expectedBucketOwner :: Lens.Lens' GetBucketWebsite (Prelude.Maybe Prelude.Text)+getBucketWebsite_expectedBucketOwner = Lens.lens (\GetBucketWebsite' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetBucketWebsite' {} a -> s {expectedBucketOwner = a} :: GetBucketWebsite)++-- | The bucket name for which to get the website configuration.+getBucketWebsite_bucket :: Lens.Lens' GetBucketWebsite BucketName+getBucketWebsite_bucket = Lens.lens (\GetBucketWebsite' {bucket} -> bucket) (\s@GetBucketWebsite' {} a -> s {bucket = a} :: GetBucketWebsite)++instance Core.AWSRequest GetBucketWebsite where+  type+    AWSResponse GetBucketWebsite =+      GetBucketWebsiteResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetBucketWebsiteResponse'+            Prelude.<$> (x Data..@? "ErrorDocument")+            Prelude.<*> (x Data..@? "IndexDocument")+            Prelude.<*> (x Data..@? "RedirectAllRequestsTo")+            Prelude.<*> ( x+                            Data..@? "RoutingRules"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "RoutingRule")+                        )+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetBucketWebsite where+  hashWithSalt _salt GetBucketWebsite' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetBucketWebsite where+  rnf GetBucketWebsite' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetBucketWebsite where+  toHeaders GetBucketWebsite' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetBucketWebsite where+  toPath GetBucketWebsite' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetBucketWebsite where+  toQuery = Prelude.const (Prelude.mconcat ["website"])++-- | /See:/ 'newGetBucketWebsiteResponse' smart constructor.+data GetBucketWebsiteResponse = GetBucketWebsiteResponse'+  { -- | The object key name of the website error document to use for 4XX class+    -- errors.+    errorDocument :: Prelude.Maybe ErrorDocument,+    -- | The name of the index document for the website (for example+    -- @index.html@).+    indexDocument :: Prelude.Maybe IndexDocument,+    -- | Specifies the redirect behavior of all requests to a website endpoint of+    -- an Amazon S3 bucket.+    redirectAllRequestsTo :: Prelude.Maybe RedirectAllRequestsTo,+    -- | Rules that define when a redirect is applied and the redirect behavior.+    routingRules :: Prelude.Maybe [RoutingRule],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetBucketWebsiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorDocument', 'getBucketWebsiteResponse_errorDocument' - The object key name of the website error document to use for 4XX class+-- errors.+--+-- 'indexDocument', 'getBucketWebsiteResponse_indexDocument' - The name of the index document for the website (for example+-- @index.html@).+--+-- 'redirectAllRequestsTo', 'getBucketWebsiteResponse_redirectAllRequestsTo' - Specifies the redirect behavior of all requests to a website endpoint of+-- an Amazon S3 bucket.+--+-- 'routingRules', 'getBucketWebsiteResponse_routingRules' - Rules that define when a redirect is applied and the redirect behavior.+--+-- 'httpStatus', 'getBucketWebsiteResponse_httpStatus' - The response's http status code.+newGetBucketWebsiteResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetBucketWebsiteResponse+newGetBucketWebsiteResponse pHttpStatus_ =+  GetBucketWebsiteResponse'+    { errorDocument =+        Prelude.Nothing,+      indexDocument = Prelude.Nothing,+      redirectAllRequestsTo = Prelude.Nothing,+      routingRules = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The object key name of the website error document to use for 4XX class+-- errors.+getBucketWebsiteResponse_errorDocument :: Lens.Lens' GetBucketWebsiteResponse (Prelude.Maybe ErrorDocument)+getBucketWebsiteResponse_errorDocument = Lens.lens (\GetBucketWebsiteResponse' {errorDocument} -> errorDocument) (\s@GetBucketWebsiteResponse' {} a -> s {errorDocument = a} :: GetBucketWebsiteResponse)++-- | The name of the index document for the website (for example+-- @index.html@).+getBucketWebsiteResponse_indexDocument :: Lens.Lens' GetBucketWebsiteResponse (Prelude.Maybe IndexDocument)+getBucketWebsiteResponse_indexDocument = Lens.lens (\GetBucketWebsiteResponse' {indexDocument} -> indexDocument) (\s@GetBucketWebsiteResponse' {} a -> s {indexDocument = a} :: GetBucketWebsiteResponse)++-- | Specifies the redirect behavior of all requests to a website endpoint of+-- an Amazon S3 bucket.+getBucketWebsiteResponse_redirectAllRequestsTo :: Lens.Lens' GetBucketWebsiteResponse (Prelude.Maybe RedirectAllRequestsTo)+getBucketWebsiteResponse_redirectAllRequestsTo = Lens.lens (\GetBucketWebsiteResponse' {redirectAllRequestsTo} -> redirectAllRequestsTo) (\s@GetBucketWebsiteResponse' {} a -> s {redirectAllRequestsTo = a} :: GetBucketWebsiteResponse)++-- | Rules that define when a redirect is applied and the redirect behavior.+getBucketWebsiteResponse_routingRules :: Lens.Lens' GetBucketWebsiteResponse (Prelude.Maybe [RoutingRule])+getBucketWebsiteResponse_routingRules = Lens.lens (\GetBucketWebsiteResponse' {routingRules} -> routingRules) (\s@GetBucketWebsiteResponse' {} a -> s {routingRules = a} :: GetBucketWebsiteResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+getBucketWebsiteResponse_httpStatus :: Lens.Lens' GetBucketWebsiteResponse Prelude.Int+getBucketWebsiteResponse_httpStatus = Lens.lens (\GetBucketWebsiteResponse' {httpStatus} -> httpStatus) (\s@GetBucketWebsiteResponse' {} a -> s {httpStatus = a} :: GetBucketWebsiteResponse)++instance Prelude.NFData GetBucketWebsiteResponse where+  rnf GetBucketWebsiteResponse' {..} =+    Prelude.rnf errorDocument+      `Prelude.seq` Prelude.rnf indexDocument+      `Prelude.seq` Prelude.rnf redirectAllRequestsTo+      `Prelude.seq` Prelude.rnf routingRules+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetObject.hs view
@@ -0,0 +1,1228 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves objects from Amazon S3. To use @GET@, you must have @READ@+-- access to the object. If you grant @READ@ access to the anonymous user,+-- you can return the object without using an authorization header.+--+-- An Amazon S3 bucket has no directory hierarchy such as you would find in+-- a typical computer file system. You can, however, create a logical+-- hierarchy by using object key names that imply a folder structure. For+-- example, instead of naming an object @sample.jpg@, you can name it+-- @photos\/2006\/February\/sample.jpg@.+--+-- To get an object from such a logical hierarchy, specify the full key+-- name for the object in the @GET@ operation. For a virtual hosted-style+-- request example, if you have the object+-- @photos\/2006\/February\/sample.jpg@, specify the resource as+-- @\/photos\/2006\/February\/sample.jpg@. For a path-style request+-- example, if you have the object @photos\/2006\/February\/sample.jpg@ in+-- the bucket named @examplebucket@, specify the resource as+-- @\/examplebucket\/photos\/2006\/February\/sample.jpg@. For more+-- information about request types, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket HTTP Host Header Bucket Specification>.+--+-- For more information about returning the ACL of an object, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html GetObjectAcl>.+--+-- If the object you are retrieving is stored in the S3 Glacier or S3+-- Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or+-- S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the+-- object you must first restore a copy using+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html RestoreObject>.+-- Otherwise, this action returns an @InvalidObjectStateError@ error. For+-- information about restoring archived objects, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html Restoring Archived Objects>.+--+-- Encryption request headers, like @x-amz-server-side-encryption@, should+-- not be sent for GET requests if your object uses server-side encryption+-- with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed+-- encryption keys (SSE-S3). If your object does use these types of keys,+-- you’ll get an HTTP 400 BadRequest error.+--+-- If you encrypt an object by using server-side encryption with+-- customer-provided encryption keys (SSE-C) when you store the object in+-- Amazon S3, then when you GET the object, you must use the following+-- headers:+--+-- -   x-amz-server-side-encryption-customer-algorithm+--+-- -   x-amz-server-side-encryption-customer-key+--+-- -   x-amz-server-side-encryption-customer-key-MD5+--+-- For more information about SSE-C, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys)>.+--+-- Assuming you have the relevant permission to read object tags, the+-- response also returns the @x-amz-tagging-count@ header that provides the+-- count of number of tags associated with the object. You can use+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html GetObjectTagging>+-- to retrieve the tag set associated with an object.+--+-- __Permissions__+--+-- You need the relevant read object (or version) permission for this+-- operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>.+-- If the object you request does not exist, the error Amazon S3 returns+-- depends on whether you also have the @s3:ListBucket@ permission.+--+-- -   If you have the @s3:ListBucket@ permission on the bucket, Amazon S3+--     will return an HTTP status code 404 (\"no such key\") error.+--+-- -   If you don’t have the @s3:ListBucket@ permission, Amazon S3 will+--     return an HTTP status code 403 (\"access denied\") error.+--+-- __Versioning__+--+-- By default, the GET action returns the current version of an object. To+-- return a different version, use the @versionId@ subresource.+--+-- -   If you supply a @versionId@, you need the @s3:GetObjectVersion@+--     permission to access a specific version of an object. If you request+--     a specific version, you do not need to have the @s3:GetObject@+--     permission.+--+-- -   If the current version of the object is a delete marker, Amazon S3+--     behaves as if the object was deleted and includes+--     @x-amz-delete-marker: true@ in the response.+--+-- For more information about versioning, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html PutBucketVersioning>.+--+-- __Overriding Response Header Values__+--+-- There are times when you want to override certain response header values+-- in a GET response. For example, you might override the+-- @Content-Disposition@ response header value in your GET request.+--+-- You can override values for a set of response headers using the+-- following query parameters. These response header values are sent only+-- on a successful request, that is, when status code 200 OK is returned.+-- The set of headers you can override using these parameters is a subset+-- of the headers that Amazon S3 accepts when you create an object. The+-- response headers that you can override for the GET response are+-- @Content-Type@, @Content-Language@, @Expires@, @Cache-Control@,+-- @Content-Disposition@, and @Content-Encoding@. To override these header+-- values in the GET response, you use the following request parameters.+--+-- You must sign the request, either using an Authorization header or a+-- presigned URL, when using these parameters. They cannot be used with an+-- unsigned (anonymous) request.+--+-- -   @response-content-type@+--+-- -   @response-content-language@+--+-- -   @response-expires@+--+-- -   @response-cache-control@+--+-- -   @response-content-disposition@+--+-- -   @response-content-encoding@+--+-- __Additional Considerations about Request Headers__+--+-- If both of the @If-Match@ and @If-Unmodified-Since@ headers are present+-- in the request as follows: @If-Match@ condition evaluates to @true@,+-- and; @If-Unmodified-Since@ condition evaluates to @false@; then, S3+-- returns 200 OK and the data requested.+--+-- If both of the @If-None-Match@ and @If-Modified-Since@ headers are+-- present in the request as follows:@ If-None-Match@ condition evaluates+-- to @false@, and; @If-Modified-Since@ condition evaluates to @true@;+-- then, S3 returns 304 Not Modified response code.+--+-- For more information about conditional requests, see+-- <https://tools.ietf.org/html/rfc7232 RFC 7232>.+--+-- The following operations are related to @GetObject@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html ListBuckets>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html GetObjectAcl>+module Amazonka.S3.GetObject+  ( -- * Creating a Request+    GetObject (..),+    newGetObject,++    -- * Request Lenses+    getObject_checksumMode,+    getObject_expectedBucketOwner,+    getObject_ifMatch,+    getObject_ifModifiedSince,+    getObject_ifNoneMatch,+    getObject_ifUnmodifiedSince,+    getObject_partNumber,+    getObject_range,+    getObject_requestPayer,+    getObject_responseCacheControl,+    getObject_responseContentDisposition,+    getObject_responseContentEncoding,+    getObject_responseContentLanguage,+    getObject_responseContentType,+    getObject_responseExpires,+    getObject_sSECustomerAlgorithm,+    getObject_sSECustomerKey,+    getObject_sSECustomerKeyMD5,+    getObject_versionId,+    getObject_bucket,+    getObject_key,++    -- * Destructuring the Response+    GetObjectResponse (..),+    newGetObjectResponse,++    -- * Response Lenses+    getObjectResponse_acceptRanges,+    getObjectResponse_bucketKeyEnabled,+    getObjectResponse_cacheControl,+    getObjectResponse_checksumCRC32,+    getObjectResponse_checksumCRC32C,+    getObjectResponse_checksumSHA1,+    getObjectResponse_checksumSHA256,+    getObjectResponse_contentDisposition,+    getObjectResponse_contentEncoding,+    getObjectResponse_contentLanguage,+    getObjectResponse_contentLength,+    getObjectResponse_contentRange,+    getObjectResponse_contentType,+    getObjectResponse_deleteMarker,+    getObjectResponse_eTag,+    getObjectResponse_expiration,+    getObjectResponse_expires,+    getObjectResponse_lastModified,+    getObjectResponse_metadata,+    getObjectResponse_missingMeta,+    getObjectResponse_objectLockLegalHoldStatus,+    getObjectResponse_objectLockMode,+    getObjectResponse_objectLockRetainUntilDate,+    getObjectResponse_partsCount,+    getObjectResponse_replicationStatus,+    getObjectResponse_requestCharged,+    getObjectResponse_restore,+    getObjectResponse_sSECustomerAlgorithm,+    getObjectResponse_sSECustomerKeyMD5,+    getObjectResponse_sSEKMSKeyId,+    getObjectResponse_serverSideEncryption,+    getObjectResponse_storageClass,+    getObjectResponse_tagCount,+    getObjectResponse_versionId,+    getObjectResponse_websiteRedirectLocation,+    getObjectResponse_httpStatus,+    getObjectResponse_body,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObject' smart constructor.+data GetObject = GetObject'+  { -- | To retrieve the checksum, this mode must be enabled.+    checksumMode :: Prelude.Maybe ChecksumMode,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Return the object only if its entity tag (ETag) is the same as the one+    -- specified; otherwise, return a 412 (precondition failed) error.+    ifMatch :: Prelude.Maybe Prelude.Text,+    -- | Return the object only if it has been modified since the specified time;+    -- otherwise, return a 304 (not modified) error.+    ifModifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Return the object only if its entity tag (ETag) is different from the+    -- one specified; otherwise, return a 304 (not modified) error.+    ifNoneMatch :: Prelude.Maybe Prelude.Text,+    -- | Return the object only if it has not been modified since the specified+    -- time; otherwise, return a 412 (precondition failed) error.+    ifUnmodifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Part number of the object being read. This is a positive integer between+    -- 1 and 10,000. Effectively performs a \'ranged\' GET request for the part+    -- specified. Useful for downloading just a part of an object.+    partNumber :: Prelude.Maybe Prelude.Int,+    -- | Downloads the specified range bytes of an object. For more information+    -- about the HTTP Range header, see+    -- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35>.+    --+    -- Amazon S3 doesn\'t support retrieving multiple ranges of data per @GET@+    -- request.+    range :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Sets the @Cache-Control@ header of the response.+    responseCacheControl :: Prelude.Maybe Prelude.Text,+    -- | Sets the @Content-Disposition@ header of the response+    responseContentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Sets the @Content-Encoding@ header of the response.+    responseContentEncoding :: Prelude.Maybe Prelude.Text,+    -- | Sets the @Content-Language@ header of the response.+    responseContentLanguage :: Prelude.Maybe Prelude.Text,+    -- | Sets the @Content-Type@ header of the response.+    responseContentType :: Prelude.Maybe Prelude.Text,+    -- | Sets the @Expires@ header of the response.+    responseExpires :: Prelude.Maybe Data.RFC822,+    -- | Specifies the algorithm to use to when decrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 used to+    -- encrypt the data. This value is used to decrypt the object when+    -- recovering it and must match the one used when storing the data. The key+    -- must be appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | VersionId used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using an Object Lambda access point the hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-object-lambda./Region/.amazonaws.com.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Key of the object to get.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumMode', 'getObject_checksumMode' - To retrieve the checksum, this mode must be enabled.+--+-- 'expectedBucketOwner', 'getObject_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'ifMatch', 'getObject_ifMatch' - Return the object only if its entity tag (ETag) is the same as the one+-- specified; otherwise, return a 412 (precondition failed) error.+--+-- 'ifModifiedSince', 'getObject_ifModifiedSince' - Return the object only if it has been modified since the specified time;+-- otherwise, return a 304 (not modified) error.+--+-- 'ifNoneMatch', 'getObject_ifNoneMatch' - Return the object only if its entity tag (ETag) is different from the+-- one specified; otherwise, return a 304 (not modified) error.+--+-- 'ifUnmodifiedSince', 'getObject_ifUnmodifiedSince' - Return the object only if it has not been modified since the specified+-- time; otherwise, return a 412 (precondition failed) error.+--+-- 'partNumber', 'getObject_partNumber' - Part number of the object being read. This is a positive integer between+-- 1 and 10,000. Effectively performs a \'ranged\' GET request for the part+-- specified. Useful for downloading just a part of an object.+--+-- 'range', 'getObject_range' - Downloads the specified range bytes of an object. For more information+-- about the HTTP Range header, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35>.+--+-- Amazon S3 doesn\'t support retrieving multiple ranges of data per @GET@+-- request.+--+-- 'requestPayer', 'getObject_requestPayer' - Undocumented member.+--+-- 'responseCacheControl', 'getObject_responseCacheControl' - Sets the @Cache-Control@ header of the response.+--+-- 'responseContentDisposition', 'getObject_responseContentDisposition' - Sets the @Content-Disposition@ header of the response+--+-- 'responseContentEncoding', 'getObject_responseContentEncoding' - Sets the @Content-Encoding@ header of the response.+--+-- 'responseContentLanguage', 'getObject_responseContentLanguage' - Sets the @Content-Language@ header of the response.+--+-- 'responseContentType', 'getObject_responseContentType' - Sets the @Content-Type@ header of the response.+--+-- 'responseExpires', 'getObject_responseExpires' - Sets the @Expires@ header of the response.+--+-- 'sSECustomerAlgorithm', 'getObject_sSECustomerAlgorithm' - Specifies the algorithm to use to when decrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'getObject_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 used to+-- encrypt the data. This value is used to decrypt the object when+-- recovering it and must match the one used when storing the data. The key+-- must be appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+--+-- 'sSECustomerKeyMD5', 'getObject_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'versionId', 'getObject_versionId' - VersionId used to reference a specific version of the object.+--+-- 'bucket', 'getObject_bucket' - The bucket name containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using an Object Lambda access point the hostname takes the form+-- /AccessPointName/-/AccountId/.s3-object-lambda./Region/.amazonaws.com.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'getObject_key' - Key of the object to get.+newGetObject ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObject+newGetObject pBucket_ pKey_ =+  GetObject'+    { checksumMode = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      ifMatch = Prelude.Nothing,+      ifModifiedSince = Prelude.Nothing,+      ifNoneMatch = Prelude.Nothing,+      ifUnmodifiedSince = Prelude.Nothing,+      partNumber = Prelude.Nothing,+      range = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      responseCacheControl = Prelude.Nothing,+      responseContentDisposition = Prelude.Nothing,+      responseContentEncoding = Prelude.Nothing,+      responseContentLanguage = Prelude.Nothing,+      responseContentType = Prelude.Nothing,+      responseExpires = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | To retrieve the checksum, this mode must be enabled.+getObject_checksumMode :: Lens.Lens' GetObject (Prelude.Maybe ChecksumMode)+getObject_checksumMode = Lens.lens (\GetObject' {checksumMode} -> checksumMode) (\s@GetObject' {} a -> s {checksumMode = a} :: GetObject)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObject_expectedBucketOwner :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_expectedBucketOwner = Lens.lens (\GetObject' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObject' {} a -> s {expectedBucketOwner = a} :: GetObject)++-- | Return the object only if its entity tag (ETag) is the same as the one+-- specified; otherwise, return a 412 (precondition failed) error.+getObject_ifMatch :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_ifMatch = Lens.lens (\GetObject' {ifMatch} -> ifMatch) (\s@GetObject' {} a -> s {ifMatch = a} :: GetObject)++-- | Return the object only if it has been modified since the specified time;+-- otherwise, return a 304 (not modified) error.+getObject_ifModifiedSince :: Lens.Lens' GetObject (Prelude.Maybe Prelude.UTCTime)+getObject_ifModifiedSince = Lens.lens (\GetObject' {ifModifiedSince} -> ifModifiedSince) (\s@GetObject' {} a -> s {ifModifiedSince = a} :: GetObject) Prelude.. Lens.mapping Data._Time++-- | Return the object only if its entity tag (ETag) is different from the+-- one specified; otherwise, return a 304 (not modified) error.+getObject_ifNoneMatch :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_ifNoneMatch = Lens.lens (\GetObject' {ifNoneMatch} -> ifNoneMatch) (\s@GetObject' {} a -> s {ifNoneMatch = a} :: GetObject)++-- | Return the object only if it has not been modified since the specified+-- time; otherwise, return a 412 (precondition failed) error.+getObject_ifUnmodifiedSince :: Lens.Lens' GetObject (Prelude.Maybe Prelude.UTCTime)+getObject_ifUnmodifiedSince = Lens.lens (\GetObject' {ifUnmodifiedSince} -> ifUnmodifiedSince) (\s@GetObject' {} a -> s {ifUnmodifiedSince = a} :: GetObject) Prelude.. Lens.mapping Data._Time++-- | Part number of the object being read. This is a positive integer between+-- 1 and 10,000. Effectively performs a \'ranged\' GET request for the part+-- specified. Useful for downloading just a part of an object.+getObject_partNumber :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Int)+getObject_partNumber = Lens.lens (\GetObject' {partNumber} -> partNumber) (\s@GetObject' {} a -> s {partNumber = a} :: GetObject)++-- | Downloads the specified range bytes of an object. For more information+-- about the HTTP Range header, see+-- <https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35>.+--+-- Amazon S3 doesn\'t support retrieving multiple ranges of data per @GET@+-- request.+getObject_range :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_range = Lens.lens (\GetObject' {range} -> range) (\s@GetObject' {} a -> s {range = a} :: GetObject)++-- | Undocumented member.+getObject_requestPayer :: Lens.Lens' GetObject (Prelude.Maybe RequestPayer)+getObject_requestPayer = Lens.lens (\GetObject' {requestPayer} -> requestPayer) (\s@GetObject' {} a -> s {requestPayer = a} :: GetObject)++-- | Sets the @Cache-Control@ header of the response.+getObject_responseCacheControl :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_responseCacheControl = Lens.lens (\GetObject' {responseCacheControl} -> responseCacheControl) (\s@GetObject' {} a -> s {responseCacheControl = a} :: GetObject)++-- | Sets the @Content-Disposition@ header of the response+getObject_responseContentDisposition :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_responseContentDisposition = Lens.lens (\GetObject' {responseContentDisposition} -> responseContentDisposition) (\s@GetObject' {} a -> s {responseContentDisposition = a} :: GetObject)++-- | Sets the @Content-Encoding@ header of the response.+getObject_responseContentEncoding :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_responseContentEncoding = Lens.lens (\GetObject' {responseContentEncoding} -> responseContentEncoding) (\s@GetObject' {} a -> s {responseContentEncoding = a} :: GetObject)++-- | Sets the @Content-Language@ header of the response.+getObject_responseContentLanguage :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_responseContentLanguage = Lens.lens (\GetObject' {responseContentLanguage} -> responseContentLanguage) (\s@GetObject' {} a -> s {responseContentLanguage = a} :: GetObject)++-- | Sets the @Content-Type@ header of the response.+getObject_responseContentType :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_responseContentType = Lens.lens (\GetObject' {responseContentType} -> responseContentType) (\s@GetObject' {} a -> s {responseContentType = a} :: GetObject)++-- | Sets the @Expires@ header of the response.+getObject_responseExpires :: Lens.Lens' GetObject (Prelude.Maybe Prelude.UTCTime)+getObject_responseExpires = Lens.lens (\GetObject' {responseExpires} -> responseExpires) (\s@GetObject' {} a -> s {responseExpires = a} :: GetObject) Prelude.. Lens.mapping Data._Time++-- | Specifies the algorithm to use to when decrypting the object (for+-- example, AES256).+getObject_sSECustomerAlgorithm :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_sSECustomerAlgorithm = Lens.lens (\GetObject' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@GetObject' {} a -> s {sSECustomerAlgorithm = a} :: GetObject)++-- | Specifies the customer-provided encryption key for Amazon S3 used to+-- encrypt the data. This value is used to decrypt the object when+-- recovering it and must match the one used when storing the data. The key+-- must be appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+getObject_sSECustomerKey :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_sSECustomerKey = Lens.lens (\GetObject' {sSECustomerKey} -> sSECustomerKey) (\s@GetObject' {} a -> s {sSECustomerKey = a} :: GetObject) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+getObject_sSECustomerKeyMD5 :: Lens.Lens' GetObject (Prelude.Maybe Prelude.Text)+getObject_sSECustomerKeyMD5 = Lens.lens (\GetObject' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@GetObject' {} a -> s {sSECustomerKeyMD5 = a} :: GetObject)++-- | VersionId used to reference a specific version of the object.+getObject_versionId :: Lens.Lens' GetObject (Prelude.Maybe ObjectVersionId)+getObject_versionId = Lens.lens (\GetObject' {versionId} -> versionId) (\s@GetObject' {} a -> s {versionId = a} :: GetObject)++-- | The bucket name containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using an Object Lambda access point the hostname takes the form+-- /AccessPointName/-/AccountId/.s3-object-lambda./Region/.amazonaws.com.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+getObject_bucket :: Lens.Lens' GetObject BucketName+getObject_bucket = Lens.lens (\GetObject' {bucket} -> bucket) (\s@GetObject' {} a -> s {bucket = a} :: GetObject)++-- | Key of the object to get.+getObject_key :: Lens.Lens' GetObject ObjectKey+getObject_key = Lens.lens (\GetObject' {key} -> key) (\s@GetObject' {} a -> s {key = a} :: GetObject)++instance Core.AWSRequest GetObject where+  type AWSResponse GetObject = GetObjectResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveBody+      ( \s h x ->+          GetObjectResponse'+            Prelude.<$> (h Data..#? "accept-ranges")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (h Data..#? "Cache-Control")+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32")+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32c")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha1")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha256")+            Prelude.<*> (h Data..#? "Content-Disposition")+            Prelude.<*> (h Data..#? "Content-Encoding")+            Prelude.<*> (h Data..#? "Content-Language")+            Prelude.<*> (h Data..#? "Content-Length")+            Prelude.<*> (h Data..#? "Content-Range")+            Prelude.<*> (h Data..#? "Content-Type")+            Prelude.<*> (h Data..#? "x-amz-delete-marker")+            Prelude.<*> (h Data..#? "ETag")+            Prelude.<*> (h Data..#? "x-amz-expiration")+            Prelude.<*> (h Data..#? "Expires")+            Prelude.<*> (h Data..#? "Last-Modified")+            Prelude.<*> (Data.parseHeadersMap "x-amz-meta-" h)+            Prelude.<*> (h Data..#? "x-amz-missing-meta")+            Prelude.<*> (h Data..#? "x-amz-object-lock-legal-hold")+            Prelude.<*> (h Data..#? "x-amz-object-lock-mode")+            Prelude.<*> (h Data..#? "x-amz-object-lock-retain-until-date")+            Prelude.<*> (h Data..#? "x-amz-mp-parts-count")+            Prelude.<*> (h Data..#? "x-amz-replication-status")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (h Data..#? "x-amz-restore")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (h Data..#? "x-amz-storage-class")+            Prelude.<*> (h Data..#? "x-amz-tagging-count")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (h Data..#? "x-amz-website-redirect-location")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Prelude.Hashable GetObject where+  hashWithSalt _salt GetObject' {..} =+    _salt+      `Prelude.hashWithSalt` checksumMode+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` ifMatch+      `Prelude.hashWithSalt` ifModifiedSince+      `Prelude.hashWithSalt` ifNoneMatch+      `Prelude.hashWithSalt` ifUnmodifiedSince+      `Prelude.hashWithSalt` partNumber+      `Prelude.hashWithSalt` range+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` responseCacheControl+      `Prelude.hashWithSalt` responseContentDisposition+      `Prelude.hashWithSalt` responseContentEncoding+      `Prelude.hashWithSalt` responseContentLanguage+      `Prelude.hashWithSalt` responseContentType+      `Prelude.hashWithSalt` responseExpires+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData GetObject where+  rnf GetObject' {..} =+    Prelude.rnf checksumMode+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf ifMatch+      `Prelude.seq` Prelude.rnf ifModifiedSince+      `Prelude.seq` Prelude.rnf ifNoneMatch+      `Prelude.seq` Prelude.rnf ifUnmodifiedSince+      `Prelude.seq` Prelude.rnf partNumber+      `Prelude.seq` Prelude.rnf range+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf responseCacheControl+      `Prelude.seq` Prelude.rnf responseContentDisposition+      `Prelude.seq` Prelude.rnf responseContentEncoding+      `Prelude.seq` Prelude.rnf responseContentLanguage+      `Prelude.seq` Prelude.rnf responseContentType+      `Prelude.seq` Prelude.rnf responseExpires+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders GetObject where+  toHeaders GetObject' {..} =+    Prelude.mconcat+      [ "x-amz-checksum-mode" Data.=# checksumMode,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "If-Match" Data.=# ifMatch,+        "If-Modified-Since" Data.=# ifModifiedSince,+        "If-None-Match" Data.=# ifNoneMatch,+        "If-Unmodified-Since" Data.=# ifUnmodifiedSince,+        "Range" Data.=# range,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5+      ]++instance Data.ToPath GetObject where+  toPath GetObject' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObject where+  toQuery GetObject' {..} =+    Prelude.mconcat+      [ "partNumber" Data.=: partNumber,+        "response-cache-control"+          Data.=: responseCacheControl,+        "response-content-disposition"+          Data.=: responseContentDisposition,+        "response-content-encoding"+          Data.=: responseContentEncoding,+        "response-content-language"+          Data.=: responseContentLanguage,+        "response-content-type" Data.=: responseContentType,+        "response-expires" Data.=: responseExpires,+        "versionId" Data.=: versionId+      ]++-- | /See:/ 'newGetObjectResponse' smart constructor.+data GetObjectResponse = GetObjectResponse'+  { -- | Indicates that a range of bytes was specified.+    acceptRanges :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the object uses an S3 Bucket Key for server-side+    -- encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Specifies caching behavior along the request\/reply chain.+    cacheControl :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Specifies presentational information for the object.+    contentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Specifies what content encodings have been applied to the object and+    -- thus what decoding mechanisms must be applied to obtain the media-type+    -- referenced by the Content-Type header field.+    contentEncoding :: Prelude.Maybe Prelude.Text,+    -- | The language the content is in.+    contentLanguage :: Prelude.Maybe Prelude.Text,+    -- | Size of the body in bytes.+    contentLength :: Prelude.Maybe Prelude.Integer,+    -- | The portion of the object returned in the response.+    contentRange :: Prelude.Maybe Prelude.Text,+    -- | A standard MIME type describing the format of the object data.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the object retrieved was (true) or was not (false) a+    -- Delete Marker. If false, this response header does not appear in the+    -- response.+    deleteMarker :: Prelude.Maybe Prelude.Bool,+    -- | An entity tag (ETag) is an opaque identifier assigned by a web server to+    -- a specific version of a resource found at a URL.+    eTag :: Prelude.Maybe ETag,+    -- | If the object expiration is configured (see PUT Bucket lifecycle), the+    -- response includes this header. It includes the @expiry-date@ and+    -- @rule-id@ key-value pairs providing object expiration information. The+    -- value of the @rule-id@ is URL-encoded.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | The date and time at which the object is no longer cacheable.+    expires :: Prelude.Maybe Data.RFC822,+    -- | Creation date of the object.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | A map of metadata to store with the object in S3.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | This is set to the number of metadata entries not returned in+    -- @x-amz-meta@ headers. This can happen if you create metadata using an+    -- API like SOAP that supports more flexible metadata than the REST API.+    -- For example, using SOAP, you can create metadata whose values are not+    -- legal HTTP headers.+    missingMeta :: Prelude.Maybe Prelude.Int,+    -- | Indicates whether this object has an active legal hold. This field is+    -- only returned if you have permission to view an object\'s legal hold+    -- status.+    objectLockLegalHoldStatus :: Prelude.Maybe ObjectLockLegalHoldStatus,+    -- | The Object Lock mode currently in place for this object.+    objectLockMode :: Prelude.Maybe ObjectLockMode,+    -- | The date and time when this object\'s Object Lock will expire.+    objectLockRetainUntilDate :: Prelude.Maybe Data.ISO8601,+    -- | The count of parts this object has. This value is only returned if you+    -- specify @partNumber@ in your request and the object was uploaded as a+    -- multipart upload.+    partsCount :: Prelude.Maybe Prelude.Int,+    -- | Amazon S3 can return this if your request involves a bucket that is+    -- either a source or destination in a replication rule.+    replicationStatus :: Prelude.Maybe ReplicationStatus,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | Provides information about object restoration action and expiration time+    -- of the restored object copy.+    restore :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | Provides storage class information of the object. Amazon S3 returns this+    -- header for all objects except for S3 Standard storage class objects.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The number of tags, if any, on the object.+    tagCount :: Prelude.Maybe Prelude.Int,+    -- | Version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | If the bucket is configured as a website, redirects requests for this+    -- object to another object in the same bucket or to an external URL.+    -- Amazon S3 stores the value of this header in the object metadata.+    websiteRedirectLocation :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Object data.+    body :: Data.ResponseBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acceptRanges', 'getObjectResponse_acceptRanges' - Indicates that a range of bytes was specified.+--+-- 'bucketKeyEnabled', 'getObjectResponse_bucketKeyEnabled' - Indicates whether the object uses an S3 Bucket Key for server-side+-- encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'cacheControl', 'getObjectResponse_cacheControl' - Specifies caching behavior along the request\/reply chain.+--+-- 'checksumCRC32', 'getObjectResponse_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'getObjectResponse_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'getObjectResponse_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'getObjectResponse_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'contentDisposition', 'getObjectResponse_contentDisposition' - Specifies presentational information for the object.+--+-- 'contentEncoding', 'getObjectResponse_contentEncoding' - Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+--+-- 'contentLanguage', 'getObjectResponse_contentLanguage' - The language the content is in.+--+-- 'contentLength', 'getObjectResponse_contentLength' - Size of the body in bytes.+--+-- 'contentRange', 'getObjectResponse_contentRange' - The portion of the object returned in the response.+--+-- 'contentType', 'getObjectResponse_contentType' - A standard MIME type describing the format of the object data.+--+-- 'deleteMarker', 'getObjectResponse_deleteMarker' - Specifies whether the object retrieved was (true) or was not (false) a+-- Delete Marker. If false, this response header does not appear in the+-- response.+--+-- 'eTag', 'getObjectResponse_eTag' - An entity tag (ETag) is an opaque identifier assigned by a web server to+-- a specific version of a resource found at a URL.+--+-- 'expiration', 'getObjectResponse_expiration' - If the object expiration is configured (see PUT Bucket lifecycle), the+-- response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs providing object expiration information. The+-- value of the @rule-id@ is URL-encoded.+--+-- 'expires', 'getObjectResponse_expires' - The date and time at which the object is no longer cacheable.+--+-- 'lastModified', 'getObjectResponse_lastModified' - Creation date of the object.+--+-- 'metadata', 'getObjectResponse_metadata' - A map of metadata to store with the object in S3.+--+-- 'missingMeta', 'getObjectResponse_missingMeta' - This is set to the number of metadata entries not returned in+-- @x-amz-meta@ headers. This can happen if you create metadata using an+-- API like SOAP that supports more flexible metadata than the REST API.+-- For example, using SOAP, you can create metadata whose values are not+-- legal HTTP headers.+--+-- 'objectLockLegalHoldStatus', 'getObjectResponse_objectLockLegalHoldStatus' - Indicates whether this object has an active legal hold. This field is+-- only returned if you have permission to view an object\'s legal hold+-- status.+--+-- 'objectLockMode', 'getObjectResponse_objectLockMode' - The Object Lock mode currently in place for this object.+--+-- 'objectLockRetainUntilDate', 'getObjectResponse_objectLockRetainUntilDate' - The date and time when this object\'s Object Lock will expire.+--+-- 'partsCount', 'getObjectResponse_partsCount' - The count of parts this object has. This value is only returned if you+-- specify @partNumber@ in your request and the object was uploaded as a+-- multipart upload.+--+-- 'replicationStatus', 'getObjectResponse_replicationStatus' - Amazon S3 can return this if your request involves a bucket that is+-- either a source or destination in a replication rule.+--+-- 'requestCharged', 'getObjectResponse_requestCharged' - Undocumented member.+--+-- 'restore', 'getObjectResponse_restore' - Provides information about object restoration action and expiration time+-- of the restored object copy.+--+-- 'sSECustomerAlgorithm', 'getObjectResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'getObjectResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSKeyId', 'getObjectResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+--+-- 'serverSideEncryption', 'getObjectResponse_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'storageClass', 'getObjectResponse_storageClass' - Provides storage class information of the object. Amazon S3 returns this+-- header for all objects except for S3 Standard storage class objects.+--+-- 'tagCount', 'getObjectResponse_tagCount' - The number of tags, if any, on the object.+--+-- 'versionId', 'getObjectResponse_versionId' - Version of the object.+--+-- 'websiteRedirectLocation', 'getObjectResponse_websiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+--+-- 'httpStatus', 'getObjectResponse_httpStatus' - The response's http status code.+--+-- 'body', 'getObjectResponse_body' - Object data.+newGetObjectResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'body'+  Data.ResponseBody ->+  GetObjectResponse+newGetObjectResponse pHttpStatus_ pBody_ =+  GetObjectResponse'+    { acceptRanges = Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing,+      cacheControl = Prelude.Nothing,+      checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      contentDisposition = Prelude.Nothing,+      contentEncoding = Prelude.Nothing,+      contentLanguage = Prelude.Nothing,+      contentLength = Prelude.Nothing,+      contentRange = Prelude.Nothing,+      contentType = Prelude.Nothing,+      deleteMarker = Prelude.Nothing,+      eTag = Prelude.Nothing,+      expiration = Prelude.Nothing,+      expires = Prelude.Nothing,+      lastModified = Prelude.Nothing,+      metadata = Prelude.mempty,+      missingMeta = Prelude.Nothing,+      objectLockLegalHoldStatus = Prelude.Nothing,+      objectLockMode = Prelude.Nothing,+      objectLockRetainUntilDate = Prelude.Nothing,+      partsCount = Prelude.Nothing,+      replicationStatus = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      restore = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      tagCount = Prelude.Nothing,+      versionId = Prelude.Nothing,+      websiteRedirectLocation = Prelude.Nothing,+      httpStatus = pHttpStatus_,+      body = pBody_+    }++-- | Indicates that a range of bytes was specified.+getObjectResponse_acceptRanges :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_acceptRanges = Lens.lens (\GetObjectResponse' {acceptRanges} -> acceptRanges) (\s@GetObjectResponse' {} a -> s {acceptRanges = a} :: GetObjectResponse)++-- | Indicates whether the object uses an S3 Bucket Key for server-side+-- encryption with Amazon Web Services KMS (SSE-KMS).+getObjectResponse_bucketKeyEnabled :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Bool)+getObjectResponse_bucketKeyEnabled = Lens.lens (\GetObjectResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@GetObjectResponse' {} a -> s {bucketKeyEnabled = a} :: GetObjectResponse)++-- | Specifies caching behavior along the request\/reply chain.+getObjectResponse_cacheControl :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_cacheControl = Lens.lens (\GetObjectResponse' {cacheControl} -> cacheControl) (\s@GetObjectResponse' {} a -> s {cacheControl = a} :: GetObjectResponse)++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+getObjectResponse_checksumCRC32 :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_checksumCRC32 = Lens.lens (\GetObjectResponse' {checksumCRC32} -> checksumCRC32) (\s@GetObjectResponse' {} a -> s {checksumCRC32 = a} :: GetObjectResponse)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+getObjectResponse_checksumCRC32C :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_checksumCRC32C = Lens.lens (\GetObjectResponse' {checksumCRC32C} -> checksumCRC32C) (\s@GetObjectResponse' {} a -> s {checksumCRC32C = a} :: GetObjectResponse)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+getObjectResponse_checksumSHA1 :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_checksumSHA1 = Lens.lens (\GetObjectResponse' {checksumSHA1} -> checksumSHA1) (\s@GetObjectResponse' {} a -> s {checksumSHA1 = a} :: GetObjectResponse)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+getObjectResponse_checksumSHA256 :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_checksumSHA256 = Lens.lens (\GetObjectResponse' {checksumSHA256} -> checksumSHA256) (\s@GetObjectResponse' {} a -> s {checksumSHA256 = a} :: GetObjectResponse)++-- | Specifies presentational information for the object.+getObjectResponse_contentDisposition :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_contentDisposition = Lens.lens (\GetObjectResponse' {contentDisposition} -> contentDisposition) (\s@GetObjectResponse' {} a -> s {contentDisposition = a} :: GetObjectResponse)++-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+getObjectResponse_contentEncoding :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_contentEncoding = Lens.lens (\GetObjectResponse' {contentEncoding} -> contentEncoding) (\s@GetObjectResponse' {} a -> s {contentEncoding = a} :: GetObjectResponse)++-- | The language the content is in.+getObjectResponse_contentLanguage :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_contentLanguage = Lens.lens (\GetObjectResponse' {contentLanguage} -> contentLanguage) (\s@GetObjectResponse' {} a -> s {contentLanguage = a} :: GetObjectResponse)++-- | Size of the body in bytes.+getObjectResponse_contentLength :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Integer)+getObjectResponse_contentLength = Lens.lens (\GetObjectResponse' {contentLength} -> contentLength) (\s@GetObjectResponse' {} a -> s {contentLength = a} :: GetObjectResponse)++-- | The portion of the object returned in the response.+getObjectResponse_contentRange :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_contentRange = Lens.lens (\GetObjectResponse' {contentRange} -> contentRange) (\s@GetObjectResponse' {} a -> s {contentRange = a} :: GetObjectResponse)++-- | A standard MIME type describing the format of the object data.+getObjectResponse_contentType :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_contentType = Lens.lens (\GetObjectResponse' {contentType} -> contentType) (\s@GetObjectResponse' {} a -> s {contentType = a} :: GetObjectResponse)++-- | Specifies whether the object retrieved was (true) or was not (false) a+-- Delete Marker. If false, this response header does not appear in the+-- response.+getObjectResponse_deleteMarker :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Bool)+getObjectResponse_deleteMarker = Lens.lens (\GetObjectResponse' {deleteMarker} -> deleteMarker) (\s@GetObjectResponse' {} a -> s {deleteMarker = a} :: GetObjectResponse)++-- | An entity tag (ETag) is an opaque identifier assigned by a web server to+-- a specific version of a resource found at a URL.+getObjectResponse_eTag :: Lens.Lens' GetObjectResponse (Prelude.Maybe ETag)+getObjectResponse_eTag = Lens.lens (\GetObjectResponse' {eTag} -> eTag) (\s@GetObjectResponse' {} a -> s {eTag = a} :: GetObjectResponse)++-- | If the object expiration is configured (see PUT Bucket lifecycle), the+-- response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs providing object expiration information. The+-- value of the @rule-id@ is URL-encoded.+getObjectResponse_expiration :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_expiration = Lens.lens (\GetObjectResponse' {expiration} -> expiration) (\s@GetObjectResponse' {} a -> s {expiration = a} :: GetObjectResponse)++-- | The date and time at which the object is no longer cacheable.+getObjectResponse_expires :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.UTCTime)+getObjectResponse_expires = Lens.lens (\GetObjectResponse' {expires} -> expires) (\s@GetObjectResponse' {} a -> s {expires = a} :: GetObjectResponse) Prelude.. Lens.mapping Data._Time++-- | Creation date of the object.+getObjectResponse_lastModified :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.UTCTime)+getObjectResponse_lastModified = Lens.lens (\GetObjectResponse' {lastModified} -> lastModified) (\s@GetObjectResponse' {} a -> s {lastModified = a} :: GetObjectResponse) Prelude.. Lens.mapping Data._Time++-- | A map of metadata to store with the object in S3.+getObjectResponse_metadata :: Lens.Lens' GetObjectResponse (Prelude.HashMap Prelude.Text Prelude.Text)+getObjectResponse_metadata = Lens.lens (\GetObjectResponse' {metadata} -> metadata) (\s@GetObjectResponse' {} a -> s {metadata = a} :: GetObjectResponse) Prelude.. Lens.coerced++-- | This is set to the number of metadata entries not returned in+-- @x-amz-meta@ headers. This can happen if you create metadata using an+-- API like SOAP that supports more flexible metadata than the REST API.+-- For example, using SOAP, you can create metadata whose values are not+-- legal HTTP headers.+getObjectResponse_missingMeta :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Int)+getObjectResponse_missingMeta = Lens.lens (\GetObjectResponse' {missingMeta} -> missingMeta) (\s@GetObjectResponse' {} a -> s {missingMeta = a} :: GetObjectResponse)++-- | Indicates whether this object has an active legal hold. This field is+-- only returned if you have permission to view an object\'s legal hold+-- status.+getObjectResponse_objectLockLegalHoldStatus :: Lens.Lens' GetObjectResponse (Prelude.Maybe ObjectLockLegalHoldStatus)+getObjectResponse_objectLockLegalHoldStatus = Lens.lens (\GetObjectResponse' {objectLockLegalHoldStatus} -> objectLockLegalHoldStatus) (\s@GetObjectResponse' {} a -> s {objectLockLegalHoldStatus = a} :: GetObjectResponse)++-- | The Object Lock mode currently in place for this object.+getObjectResponse_objectLockMode :: Lens.Lens' GetObjectResponse (Prelude.Maybe ObjectLockMode)+getObjectResponse_objectLockMode = Lens.lens (\GetObjectResponse' {objectLockMode} -> objectLockMode) (\s@GetObjectResponse' {} a -> s {objectLockMode = a} :: GetObjectResponse)++-- | The date and time when this object\'s Object Lock will expire.+getObjectResponse_objectLockRetainUntilDate :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.UTCTime)+getObjectResponse_objectLockRetainUntilDate = Lens.lens (\GetObjectResponse' {objectLockRetainUntilDate} -> objectLockRetainUntilDate) (\s@GetObjectResponse' {} a -> s {objectLockRetainUntilDate = a} :: GetObjectResponse) Prelude.. Lens.mapping Data._Time++-- | The count of parts this object has. This value is only returned if you+-- specify @partNumber@ in your request and the object was uploaded as a+-- multipart upload.+getObjectResponse_partsCount :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Int)+getObjectResponse_partsCount = Lens.lens (\GetObjectResponse' {partsCount} -> partsCount) (\s@GetObjectResponse' {} a -> s {partsCount = a} :: GetObjectResponse)++-- | Amazon S3 can return this if your request involves a bucket that is+-- either a source or destination in a replication rule.+getObjectResponse_replicationStatus :: Lens.Lens' GetObjectResponse (Prelude.Maybe ReplicationStatus)+getObjectResponse_replicationStatus = Lens.lens (\GetObjectResponse' {replicationStatus} -> replicationStatus) (\s@GetObjectResponse' {} a -> s {replicationStatus = a} :: GetObjectResponse)++-- | Undocumented member.+getObjectResponse_requestCharged :: Lens.Lens' GetObjectResponse (Prelude.Maybe RequestCharged)+getObjectResponse_requestCharged = Lens.lens (\GetObjectResponse' {requestCharged} -> requestCharged) (\s@GetObjectResponse' {} a -> s {requestCharged = a} :: GetObjectResponse)++-- | Provides information about object restoration action and expiration time+-- of the restored object copy.+getObjectResponse_restore :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_restore = Lens.lens (\GetObjectResponse' {restore} -> restore) (\s@GetObjectResponse' {} a -> s {restore = a} :: GetObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+getObjectResponse_sSECustomerAlgorithm :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_sSECustomerAlgorithm = Lens.lens (\GetObjectResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@GetObjectResponse' {} a -> s {sSECustomerAlgorithm = a} :: GetObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+getObjectResponse_sSECustomerKeyMD5 :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_sSECustomerKeyMD5 = Lens.lens (\GetObjectResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@GetObjectResponse' {} a -> s {sSECustomerKeyMD5 = a} :: GetObjectResponse)++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+getObjectResponse_sSEKMSKeyId :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_sSEKMSKeyId = Lens.lens (\GetObjectResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@GetObjectResponse' {} a -> s {sSEKMSKeyId = a} :: GetObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+getObjectResponse_serverSideEncryption :: Lens.Lens' GetObjectResponse (Prelude.Maybe ServerSideEncryption)+getObjectResponse_serverSideEncryption = Lens.lens (\GetObjectResponse' {serverSideEncryption} -> serverSideEncryption) (\s@GetObjectResponse' {} a -> s {serverSideEncryption = a} :: GetObjectResponse)++-- | Provides storage class information of the object. Amazon S3 returns this+-- header for all objects except for S3 Standard storage class objects.+getObjectResponse_storageClass :: Lens.Lens' GetObjectResponse (Prelude.Maybe StorageClass)+getObjectResponse_storageClass = Lens.lens (\GetObjectResponse' {storageClass} -> storageClass) (\s@GetObjectResponse' {} a -> s {storageClass = a} :: GetObjectResponse)++-- | The number of tags, if any, on the object.+getObjectResponse_tagCount :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Int)+getObjectResponse_tagCount = Lens.lens (\GetObjectResponse' {tagCount} -> tagCount) (\s@GetObjectResponse' {} a -> s {tagCount = a} :: GetObjectResponse)++-- | Version of the object.+getObjectResponse_versionId :: Lens.Lens' GetObjectResponse (Prelude.Maybe ObjectVersionId)+getObjectResponse_versionId = Lens.lens (\GetObjectResponse' {versionId} -> versionId) (\s@GetObjectResponse' {} a -> s {versionId = a} :: GetObjectResponse)++-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+getObjectResponse_websiteRedirectLocation :: Lens.Lens' GetObjectResponse (Prelude.Maybe Prelude.Text)+getObjectResponse_websiteRedirectLocation = Lens.lens (\GetObjectResponse' {websiteRedirectLocation} -> websiteRedirectLocation) (\s@GetObjectResponse' {} a -> s {websiteRedirectLocation = a} :: GetObjectResponse)++-- | The response's http status code.+getObjectResponse_httpStatus :: Lens.Lens' GetObjectResponse Prelude.Int+getObjectResponse_httpStatus = Lens.lens (\GetObjectResponse' {httpStatus} -> httpStatus) (\s@GetObjectResponse' {} a -> s {httpStatus = a} :: GetObjectResponse)++-- | Object data.+getObjectResponse_body :: Lens.Lens' GetObjectResponse Data.ResponseBody+getObjectResponse_body = Lens.lens (\GetObjectResponse' {body} -> body) (\s@GetObjectResponse' {} a -> s {body = a} :: GetObjectResponse)
+ gen/Amazonka/S3/GetObjectAcl.hs view
@@ -0,0 +1,302 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectAcl+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the access control list (ACL) of an object. To use this+-- operation, you must have @s3:GetObjectAcl@ permissions or @READ_ACP@+-- access to the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping Mapping of ACL permissions and access policy permissions>+-- in the /Amazon S3 User Guide/+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- __Versioning__+--+-- By default, GET returns ACL information about the current version of an+-- object. To return ACL information about a different version, use the+-- versionId subresource.+--+-- If your bucket uses the bucket owner enforced setting for S3 Object+-- Ownership, requests to read ACLs are still supported and return the+-- @bucket-owner-full-control@ ACL with the owner being the account that+-- created the bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling object ownership and disabling ACLs>+-- in the /Amazon S3 User Guide/.+--+-- The following operations are related to @GetObjectAcl@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html DeleteObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+module Amazonka.S3.GetObjectAcl+  ( -- * Creating a Request+    GetObjectAcl (..),+    newGetObjectAcl,++    -- * Request Lenses+    getObjectAcl_expectedBucketOwner,+    getObjectAcl_requestPayer,+    getObjectAcl_versionId,+    getObjectAcl_bucket,+    getObjectAcl_key,++    -- * Destructuring the Response+    GetObjectAclResponse (..),+    newGetObjectAclResponse,++    -- * Response Lenses+    getObjectAclResponse_grants,+    getObjectAclResponse_owner,+    getObjectAclResponse_requestCharged,+    getObjectAclResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectAcl' smart constructor.+data GetObjectAcl = GetObjectAcl'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | VersionId used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name that contains the object for which to get the ACL+    -- information.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The key of the object for which to get the ACL information.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectAcl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectAcl_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'getObjectAcl_requestPayer' - Undocumented member.+--+-- 'versionId', 'getObjectAcl_versionId' - VersionId used to reference a specific version of the object.+--+-- 'bucket', 'getObjectAcl_bucket' - The bucket name that contains the object for which to get the ACL+-- information.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'getObjectAcl_key' - The key of the object for which to get the ACL information.+newGetObjectAcl ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObjectAcl+newGetObjectAcl pBucket_ pKey_ =+  GetObjectAcl'+    { expectedBucketOwner =+        Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectAcl_expectedBucketOwner :: Lens.Lens' GetObjectAcl (Prelude.Maybe Prelude.Text)+getObjectAcl_expectedBucketOwner = Lens.lens (\GetObjectAcl' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectAcl' {} a -> s {expectedBucketOwner = a} :: GetObjectAcl)++-- | Undocumented member.+getObjectAcl_requestPayer :: Lens.Lens' GetObjectAcl (Prelude.Maybe RequestPayer)+getObjectAcl_requestPayer = Lens.lens (\GetObjectAcl' {requestPayer} -> requestPayer) (\s@GetObjectAcl' {} a -> s {requestPayer = a} :: GetObjectAcl)++-- | VersionId used to reference a specific version of the object.+getObjectAcl_versionId :: Lens.Lens' GetObjectAcl (Prelude.Maybe ObjectVersionId)+getObjectAcl_versionId = Lens.lens (\GetObjectAcl' {versionId} -> versionId) (\s@GetObjectAcl' {} a -> s {versionId = a} :: GetObjectAcl)++-- | The bucket name that contains the object for which to get the ACL+-- information.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+getObjectAcl_bucket :: Lens.Lens' GetObjectAcl BucketName+getObjectAcl_bucket = Lens.lens (\GetObjectAcl' {bucket} -> bucket) (\s@GetObjectAcl' {} a -> s {bucket = a} :: GetObjectAcl)++-- | The key of the object for which to get the ACL information.+getObjectAcl_key :: Lens.Lens' GetObjectAcl ObjectKey+getObjectAcl_key = Lens.lens (\GetObjectAcl' {key} -> key) (\s@GetObjectAcl' {} a -> s {key = a} :: GetObjectAcl)++instance Core.AWSRequest GetObjectAcl where+  type AWSResponse GetObjectAcl = GetObjectAclResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetObjectAclResponse'+            Prelude.<$> ( x+                            Data..@? "AccessControlList"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Grant")+                        )+            Prelude.<*> (x Data..@? "Owner")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetObjectAcl where+  hashWithSalt _salt GetObjectAcl' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData GetObjectAcl where+  rnf GetObjectAcl' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders GetObjectAcl where+  toHeaders GetObjectAcl' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath GetObjectAcl where+  toPath GetObjectAcl' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObjectAcl where+  toQuery GetObjectAcl' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "acl"]++-- | /See:/ 'newGetObjectAclResponse' smart constructor.+data GetObjectAclResponse = GetObjectAclResponse'+  { -- | A list of grants.+    grants :: Prelude.Maybe [Grant],+    -- | Container for the bucket owner\'s display name and ID.+    owner :: Prelude.Maybe Owner,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectAclResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grants', 'getObjectAclResponse_grants' - A list of grants.+--+-- 'owner', 'getObjectAclResponse_owner' - Container for the bucket owner\'s display name and ID.+--+-- 'requestCharged', 'getObjectAclResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'getObjectAclResponse_httpStatus' - The response's http status code.+newGetObjectAclResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetObjectAclResponse+newGetObjectAclResponse pHttpStatus_ =+  GetObjectAclResponse'+    { grants = Prelude.Nothing,+      owner = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | A list of grants.+getObjectAclResponse_grants :: Lens.Lens' GetObjectAclResponse (Prelude.Maybe [Grant])+getObjectAclResponse_grants = Lens.lens (\GetObjectAclResponse' {grants} -> grants) (\s@GetObjectAclResponse' {} a -> s {grants = a} :: GetObjectAclResponse) Prelude.. Lens.mapping Lens.coerced++-- | Container for the bucket owner\'s display name and ID.+getObjectAclResponse_owner :: Lens.Lens' GetObjectAclResponse (Prelude.Maybe Owner)+getObjectAclResponse_owner = Lens.lens (\GetObjectAclResponse' {owner} -> owner) (\s@GetObjectAclResponse' {} a -> s {owner = a} :: GetObjectAclResponse)++-- | Undocumented member.+getObjectAclResponse_requestCharged :: Lens.Lens' GetObjectAclResponse (Prelude.Maybe RequestCharged)+getObjectAclResponse_requestCharged = Lens.lens (\GetObjectAclResponse' {requestCharged} -> requestCharged) (\s@GetObjectAclResponse' {} a -> s {requestCharged = a} :: GetObjectAclResponse)++-- | The response's http status code.+getObjectAclResponse_httpStatus :: Lens.Lens' GetObjectAclResponse Prelude.Int+getObjectAclResponse_httpStatus = Lens.lens (\GetObjectAclResponse' {httpStatus} -> httpStatus) (\s@GetObjectAclResponse' {} a -> s {httpStatus = a} :: GetObjectAclResponse)++instance Prelude.NFData GetObjectAclResponse where+  rnf GetObjectAclResponse' {..} =+    Prelude.rnf grants+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetObjectAttributes.hs view
@@ -0,0 +1,599 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectAttributes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves all the metadata from an object without returning the object+-- itself. This action is useful if you\'re interested only in an object\'s+-- metadata. To use @GetObjectAttributes@, you must have READ access to the+-- object.+--+-- @GetObjectAttributes@ combines the functionality of @GetObjectAcl@,+-- @GetObjectLegalHold@, @GetObjectLockConfiguration@,+-- @GetObjectRetention@, @GetObjectTagging@, @HeadObject@, and @ListParts@.+-- All of the data returned with each of those individual calls can be+-- returned with a single call to @GetObjectAttributes@.+--+-- If you encrypt an object by using server-side encryption with+-- customer-provided encryption keys (SSE-C) when you store the object in+-- Amazon S3, then when you retrieve the metadata from the object, you must+-- use the following headers:+--+-- -   @x-amz-server-side-encryption-customer-algorithm@+--+-- -   @x-amz-server-side-encryption-customer-key@+--+-- -   @x-amz-server-side-encryption-customer-key-MD5@+--+-- For more information about SSE-C, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys)>+-- in the /Amazon S3 User Guide/.+--+-- -   Encryption request headers, such as @x-amz-server-side-encryption@,+--     should not be sent for GET requests if your object uses server-side+--     encryption with Amazon Web Services KMS keys stored in Amazon Web+--     Services Key Management Service (SSE-KMS) or server-side encryption+--     with Amazon S3 managed encryption keys (SSE-S3). If your object does+--     use these types of keys, you\'ll get an HTTP @400 Bad Request@+--     error.+--+-- -   The last modified property in this case is the creation date of the+--     object.+--+-- Consider the following when using request headers:+--+-- -   If both of the @If-Match@ and @If-Unmodified-Since@ headers are+--     present in the request as follows, then Amazon S3 returns the HTTP+--     status code @200 OK@ and the data requested:+--+--     -   @If-Match@ condition evaluates to @true@.+--+--     -   @If-Unmodified-Since@ condition evaluates to @false@.+--+-- -   If both of the @If-None-Match@ and @If-Modified-Since@ headers are+--     present in the request as follows, then Amazon S3 returns the HTTP+--     status code @304 Not Modified@:+--+--     -   @If-None-Match@ condition evaluates to @false@.+--+--     -   @If-Modified-Since@ condition evaluates to @true@.+--+-- For more information about conditional requests, see+-- <https://tools.ietf.org/html/rfc7232 RFC 7232>.+--+-- __Permissions__+--+-- The permissions that you need to use this operation depend on whether+-- the bucket is versioned. If the bucket is versioned, you need both the+-- @s3:GetObjectVersion@ and @s3:GetObjectVersionAttributes@ permissions+-- for this operation. If the bucket is not versioned, you need the+-- @s3:GetObject@ and @s3:GetObjectAttributes@ permissions. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>+-- in the /Amazon S3 User Guide/. If the object that you request does not+-- exist, the error Amazon S3 returns depends on whether you also have the+-- @s3:ListBucket@ permission.+--+-- -   If you have the @s3:ListBucket@ permission on the bucket, Amazon S3+--     returns an HTTP status code @404 Not Found@ (\"no such key\") error.+--+-- -   If you don\'t have the @s3:ListBucket@ permission, Amazon S3 returns+--     an HTTP status code @403 Forbidden@ (\"access denied\") error.+--+-- The following actions are related to @GetObjectAttributes@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html GetObjectAcl>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html GetObjectLegalHold>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html GetObjectLockConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html GetObjectRetention>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html GetObjectTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html HeadObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+module Amazonka.S3.GetObjectAttributes+  ( -- * Creating a Request+    GetObjectAttributes (..),+    newGetObjectAttributes,++    -- * Request Lenses+    getObjectAttributes_expectedBucketOwner,+    getObjectAttributes_maxParts,+    getObjectAttributes_partNumberMarker,+    getObjectAttributes_requestPayer,+    getObjectAttributes_sSECustomerAlgorithm,+    getObjectAttributes_sSECustomerKey,+    getObjectAttributes_sSECustomerKeyMD5,+    getObjectAttributes_versionId,+    getObjectAttributes_bucket,+    getObjectAttributes_key,+    getObjectAttributes_objectAttributes,++    -- * Destructuring the Response+    GetObjectAttributesResponse (..),+    newGetObjectAttributesResponse,++    -- * Response Lenses+    getObjectAttributesResponse_checksum,+    getObjectAttributesResponse_deleteMarker,+    getObjectAttributesResponse_eTag,+    getObjectAttributesResponse_lastModified,+    getObjectAttributesResponse_objectParts,+    getObjectAttributesResponse_objectSize,+    getObjectAttributesResponse_requestCharged,+    getObjectAttributesResponse_storageClass,+    getObjectAttributesResponse_versionId,+    getObjectAttributesResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectAttributes' smart constructor.+data GetObjectAttributes = GetObjectAttributes'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Sets the maximum number of parts to return.+    maxParts :: Prelude.Maybe Prelude.Int,+    -- | Specifies the part after which listing should begin. Only parts with+    -- higher part numbers will be listed.+    partNumberMarker :: Prelude.Maybe Prelude.Int,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use when encrypting the object (for example,+    -- AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | The version ID used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The name of the bucket that contains the object.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The object key.+    key :: ObjectKey,+    -- | An XML header that specifies the fields at the root level that you want+    -- returned in the response. Fields that you do not specify are not+    -- returned.+    objectAttributes :: [ObjectAttributes]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectAttributes' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectAttributes_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'maxParts', 'getObjectAttributes_maxParts' - Sets the maximum number of parts to return.+--+-- 'partNumberMarker', 'getObjectAttributes_partNumberMarker' - Specifies the part after which listing should begin. Only parts with+-- higher part numbers will be listed.+--+-- 'requestPayer', 'getObjectAttributes_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'getObjectAttributes_sSECustomerAlgorithm' - Specifies the algorithm to use when encrypting the object (for example,+-- AES256).+--+-- 'sSECustomerKey', 'getObjectAttributes_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+--+-- 'sSECustomerKeyMD5', 'getObjectAttributes_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'versionId', 'getObjectAttributes_versionId' - The version ID used to reference a specific version of the object.+--+-- 'bucket', 'getObjectAttributes_bucket' - The name of the bucket that contains the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'getObjectAttributes_key' - The object key.+--+-- 'objectAttributes', 'getObjectAttributes_objectAttributes' - An XML header that specifies the fields at the root level that you want+-- returned in the response. Fields that you do not specify are not+-- returned.+newGetObjectAttributes ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObjectAttributes+newGetObjectAttributes pBucket_ pKey_ =+  GetObjectAttributes'+    { expectedBucketOwner =+        Prelude.Nothing,+      maxParts = Prelude.Nothing,+      partNumberMarker = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_,+      objectAttributes = Prelude.mempty+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectAttributes_expectedBucketOwner :: Lens.Lens' GetObjectAttributes (Prelude.Maybe Prelude.Text)+getObjectAttributes_expectedBucketOwner = Lens.lens (\GetObjectAttributes' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectAttributes' {} a -> s {expectedBucketOwner = a} :: GetObjectAttributes)++-- | Sets the maximum number of parts to return.+getObjectAttributes_maxParts :: Lens.Lens' GetObjectAttributes (Prelude.Maybe Prelude.Int)+getObjectAttributes_maxParts = Lens.lens (\GetObjectAttributes' {maxParts} -> maxParts) (\s@GetObjectAttributes' {} a -> s {maxParts = a} :: GetObjectAttributes)++-- | Specifies the part after which listing should begin. Only parts with+-- higher part numbers will be listed.+getObjectAttributes_partNumberMarker :: Lens.Lens' GetObjectAttributes (Prelude.Maybe Prelude.Int)+getObjectAttributes_partNumberMarker = Lens.lens (\GetObjectAttributes' {partNumberMarker} -> partNumberMarker) (\s@GetObjectAttributes' {} a -> s {partNumberMarker = a} :: GetObjectAttributes)++-- | Undocumented member.+getObjectAttributes_requestPayer :: Lens.Lens' GetObjectAttributes (Prelude.Maybe RequestPayer)+getObjectAttributes_requestPayer = Lens.lens (\GetObjectAttributes' {requestPayer} -> requestPayer) (\s@GetObjectAttributes' {} a -> s {requestPayer = a} :: GetObjectAttributes)++-- | Specifies the algorithm to use when encrypting the object (for example,+-- AES256).+getObjectAttributes_sSECustomerAlgorithm :: Lens.Lens' GetObjectAttributes (Prelude.Maybe Prelude.Text)+getObjectAttributes_sSECustomerAlgorithm = Lens.lens (\GetObjectAttributes' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@GetObjectAttributes' {} a -> s {sSECustomerAlgorithm = a} :: GetObjectAttributes)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+getObjectAttributes_sSECustomerKey :: Lens.Lens' GetObjectAttributes (Prelude.Maybe Prelude.Text)+getObjectAttributes_sSECustomerKey = Lens.lens (\GetObjectAttributes' {sSECustomerKey} -> sSECustomerKey) (\s@GetObjectAttributes' {} a -> s {sSECustomerKey = a} :: GetObjectAttributes) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+getObjectAttributes_sSECustomerKeyMD5 :: Lens.Lens' GetObjectAttributes (Prelude.Maybe Prelude.Text)+getObjectAttributes_sSECustomerKeyMD5 = Lens.lens (\GetObjectAttributes' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@GetObjectAttributes' {} a -> s {sSECustomerKeyMD5 = a} :: GetObjectAttributes)++-- | The version ID used to reference a specific version of the object.+getObjectAttributes_versionId :: Lens.Lens' GetObjectAttributes (Prelude.Maybe ObjectVersionId)+getObjectAttributes_versionId = Lens.lens (\GetObjectAttributes' {versionId} -> versionId) (\s@GetObjectAttributes' {} a -> s {versionId = a} :: GetObjectAttributes)++-- | The name of the bucket that contains the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+getObjectAttributes_bucket :: Lens.Lens' GetObjectAttributes BucketName+getObjectAttributes_bucket = Lens.lens (\GetObjectAttributes' {bucket} -> bucket) (\s@GetObjectAttributes' {} a -> s {bucket = a} :: GetObjectAttributes)++-- | The object key.+getObjectAttributes_key :: Lens.Lens' GetObjectAttributes ObjectKey+getObjectAttributes_key = Lens.lens (\GetObjectAttributes' {key} -> key) (\s@GetObjectAttributes' {} a -> s {key = a} :: GetObjectAttributes)++-- | An XML header that specifies the fields at the root level that you want+-- returned in the response. Fields that you do not specify are not+-- returned.+getObjectAttributes_objectAttributes :: Lens.Lens' GetObjectAttributes [ObjectAttributes]+getObjectAttributes_objectAttributes = Lens.lens (\GetObjectAttributes' {objectAttributes} -> objectAttributes) (\s@GetObjectAttributes' {} a -> s {objectAttributes = a} :: GetObjectAttributes) Prelude.. Lens.coerced++instance Core.AWSRequest GetObjectAttributes where+  type+    AWSResponse GetObjectAttributes =+      GetObjectAttributesResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetObjectAttributesResponse'+            Prelude.<$> (x Data..@? "Checksum")+            Prelude.<*> (h Data..#? "x-amz-delete-marker")+            Prelude.<*> (x Data..@? "ETag")+            Prelude.<*> (h Data..#? "Last-Modified")+            Prelude.<*> (x Data..@? "ObjectParts")+            Prelude.<*> (x Data..@? "ObjectSize")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (x Data..@? "StorageClass")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetObjectAttributes where+  hashWithSalt _salt GetObjectAttributes' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` maxParts+      `Prelude.hashWithSalt` partNumberMarker+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` objectAttributes++instance Prelude.NFData GetObjectAttributes where+  rnf GetObjectAttributes' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf maxParts+      `Prelude.seq` Prelude.rnf partNumberMarker+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf objectAttributes++instance Data.ToHeaders GetObjectAttributes where+  toHeaders GetObjectAttributes' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-max-parts" Data.=# maxParts,+        "x-amz-part-number-marker" Data.=# partNumberMarker,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5,+        "x-amz-object-attributes" Data.=# objectAttributes+      ]++instance Data.ToPath GetObjectAttributes where+  toPath GetObjectAttributes' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObjectAttributes where+  toQuery GetObjectAttributes' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "attributes"]++-- | /See:/ 'newGetObjectAttributesResponse' smart constructor.+data GetObjectAttributesResponse = GetObjectAttributesResponse'+  { -- | The checksum or digest of the object.+    checksum :: Prelude.Maybe Checksum,+    -- | Specifies whether the object retrieved was (@true@) or was not (@false@)+    -- a delete marker. If @false@, this response header does not appear in the+    -- response.+    deleteMarker :: Prelude.Maybe Prelude.Bool,+    -- | An ETag is an opaque identifier assigned by a web server to a specific+    -- version of a resource found at a URL.+    eTag :: Prelude.Maybe ETag,+    -- | The creation date of the object.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | A collection of parts associated with a multipart upload.+    objectParts :: Prelude.Maybe GetObjectAttributesParts,+    -- | The size of the object in bytes.+    objectSize :: Prelude.Maybe Prelude.Integer,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | Provides the storage class information of the object. Amazon S3 returns+    -- this header for all objects except for S3 Standard storage class+    -- objects.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The version ID of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectAttributesResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksum', 'getObjectAttributesResponse_checksum' - The checksum or digest of the object.+--+-- 'deleteMarker', 'getObjectAttributesResponse_deleteMarker' - Specifies whether the object retrieved was (@true@) or was not (@false@)+-- a delete marker. If @false@, this response header does not appear in the+-- response.+--+-- 'eTag', 'getObjectAttributesResponse_eTag' - An ETag is an opaque identifier assigned by a web server to a specific+-- version of a resource found at a URL.+--+-- 'lastModified', 'getObjectAttributesResponse_lastModified' - The creation date of the object.+--+-- 'objectParts', 'getObjectAttributesResponse_objectParts' - A collection of parts associated with a multipart upload.+--+-- 'objectSize', 'getObjectAttributesResponse_objectSize' - The size of the object in bytes.+--+-- 'requestCharged', 'getObjectAttributesResponse_requestCharged' - Undocumented member.+--+-- 'storageClass', 'getObjectAttributesResponse_storageClass' - Provides the storage class information of the object. Amazon S3 returns+-- this header for all objects except for S3 Standard storage class+-- objects.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+--+-- 'versionId', 'getObjectAttributesResponse_versionId' - The version ID of the object.+--+-- 'httpStatus', 'getObjectAttributesResponse_httpStatus' - The response's http status code.+newGetObjectAttributesResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetObjectAttributesResponse+newGetObjectAttributesResponse pHttpStatus_ =+  GetObjectAttributesResponse'+    { checksum =+        Prelude.Nothing,+      deleteMarker = Prelude.Nothing,+      eTag = Prelude.Nothing,+      lastModified = Prelude.Nothing,+      objectParts = Prelude.Nothing,+      objectSize = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      versionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The checksum or digest of the object.+getObjectAttributesResponse_checksum :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe Checksum)+getObjectAttributesResponse_checksum = Lens.lens (\GetObjectAttributesResponse' {checksum} -> checksum) (\s@GetObjectAttributesResponse' {} a -> s {checksum = a} :: GetObjectAttributesResponse)++-- | Specifies whether the object retrieved was (@true@) or was not (@false@)+-- a delete marker. If @false@, this response header does not appear in the+-- response.+getObjectAttributesResponse_deleteMarker :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe Prelude.Bool)+getObjectAttributesResponse_deleteMarker = Lens.lens (\GetObjectAttributesResponse' {deleteMarker} -> deleteMarker) (\s@GetObjectAttributesResponse' {} a -> s {deleteMarker = a} :: GetObjectAttributesResponse)++-- | An ETag is an opaque identifier assigned by a web server to a specific+-- version of a resource found at a URL.+getObjectAttributesResponse_eTag :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe ETag)+getObjectAttributesResponse_eTag = Lens.lens (\GetObjectAttributesResponse' {eTag} -> eTag) (\s@GetObjectAttributesResponse' {} a -> s {eTag = a} :: GetObjectAttributesResponse)++-- | The creation date of the object.+getObjectAttributesResponse_lastModified :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe Prelude.UTCTime)+getObjectAttributesResponse_lastModified = Lens.lens (\GetObjectAttributesResponse' {lastModified} -> lastModified) (\s@GetObjectAttributesResponse' {} a -> s {lastModified = a} :: GetObjectAttributesResponse) Prelude.. Lens.mapping Data._Time++-- | A collection of parts associated with a multipart upload.+getObjectAttributesResponse_objectParts :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe GetObjectAttributesParts)+getObjectAttributesResponse_objectParts = Lens.lens (\GetObjectAttributesResponse' {objectParts} -> objectParts) (\s@GetObjectAttributesResponse' {} a -> s {objectParts = a} :: GetObjectAttributesResponse)++-- | The size of the object in bytes.+getObjectAttributesResponse_objectSize :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe Prelude.Integer)+getObjectAttributesResponse_objectSize = Lens.lens (\GetObjectAttributesResponse' {objectSize} -> objectSize) (\s@GetObjectAttributesResponse' {} a -> s {objectSize = a} :: GetObjectAttributesResponse)++-- | Undocumented member.+getObjectAttributesResponse_requestCharged :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe RequestCharged)+getObjectAttributesResponse_requestCharged = Lens.lens (\GetObjectAttributesResponse' {requestCharged} -> requestCharged) (\s@GetObjectAttributesResponse' {} a -> s {requestCharged = a} :: GetObjectAttributesResponse)++-- | Provides the storage class information of the object. Amazon S3 returns+-- this header for all objects except for S3 Standard storage class+-- objects.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+getObjectAttributesResponse_storageClass :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe StorageClass)+getObjectAttributesResponse_storageClass = Lens.lens (\GetObjectAttributesResponse' {storageClass} -> storageClass) (\s@GetObjectAttributesResponse' {} a -> s {storageClass = a} :: GetObjectAttributesResponse)++-- | The version ID of the object.+getObjectAttributesResponse_versionId :: Lens.Lens' GetObjectAttributesResponse (Prelude.Maybe ObjectVersionId)+getObjectAttributesResponse_versionId = Lens.lens (\GetObjectAttributesResponse' {versionId} -> versionId) (\s@GetObjectAttributesResponse' {} a -> s {versionId = a} :: GetObjectAttributesResponse)++-- | The response's http status code.+getObjectAttributesResponse_httpStatus :: Lens.Lens' GetObjectAttributesResponse Prelude.Int+getObjectAttributesResponse_httpStatus = Lens.lens (\GetObjectAttributesResponse' {httpStatus} -> httpStatus) (\s@GetObjectAttributesResponse' {} a -> s {httpStatus = a} :: GetObjectAttributesResponse)++instance Prelude.NFData GetObjectAttributesResponse where+  rnf GetObjectAttributesResponse' {..} =+    Prelude.rnf checksum+      `Prelude.seq` Prelude.rnf deleteMarker+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf lastModified+      `Prelude.seq` Prelude.rnf objectParts+      `Prelude.seq` Prelude.rnf objectSize+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetObjectLegalHold.hs view
@@ -0,0 +1,262 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectLegalHold+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets an object\'s current legal hold status. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Locking Objects>.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- The following action is related to @GetObjectLegalHold@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+module Amazonka.S3.GetObjectLegalHold+  ( -- * Creating a Request+    GetObjectLegalHold (..),+    newGetObjectLegalHold,++    -- * Request Lenses+    getObjectLegalHold_expectedBucketOwner,+    getObjectLegalHold_requestPayer,+    getObjectLegalHold_versionId,+    getObjectLegalHold_bucket,+    getObjectLegalHold_key,++    -- * Destructuring the Response+    GetObjectLegalHoldResponse (..),+    newGetObjectLegalHoldResponse,++    -- * Response Lenses+    getObjectLegalHoldResponse_legalHold,+    getObjectLegalHoldResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectLegalHold' smart constructor.+data GetObjectLegalHold = GetObjectLegalHold'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The version ID of the object whose legal hold status you want to+    -- retrieve.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object whose legal hold status you want+    -- to retrieve.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The key name for the object whose legal hold status you want to+    -- retrieve.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectLegalHold' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectLegalHold_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'getObjectLegalHold_requestPayer' - Undocumented member.+--+-- 'versionId', 'getObjectLegalHold_versionId' - The version ID of the object whose legal hold status you want to+-- retrieve.+--+-- 'bucket', 'getObjectLegalHold_bucket' - The bucket name containing the object whose legal hold status you want+-- to retrieve.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'getObjectLegalHold_key' - The key name for the object whose legal hold status you want to+-- retrieve.+newGetObjectLegalHold ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObjectLegalHold+newGetObjectLegalHold pBucket_ pKey_ =+  GetObjectLegalHold'+    { expectedBucketOwner =+        Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectLegalHold_expectedBucketOwner :: Lens.Lens' GetObjectLegalHold (Prelude.Maybe Prelude.Text)+getObjectLegalHold_expectedBucketOwner = Lens.lens (\GetObjectLegalHold' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectLegalHold' {} a -> s {expectedBucketOwner = a} :: GetObjectLegalHold)++-- | Undocumented member.+getObjectLegalHold_requestPayer :: Lens.Lens' GetObjectLegalHold (Prelude.Maybe RequestPayer)+getObjectLegalHold_requestPayer = Lens.lens (\GetObjectLegalHold' {requestPayer} -> requestPayer) (\s@GetObjectLegalHold' {} a -> s {requestPayer = a} :: GetObjectLegalHold)++-- | The version ID of the object whose legal hold status you want to+-- retrieve.+getObjectLegalHold_versionId :: Lens.Lens' GetObjectLegalHold (Prelude.Maybe ObjectVersionId)+getObjectLegalHold_versionId = Lens.lens (\GetObjectLegalHold' {versionId} -> versionId) (\s@GetObjectLegalHold' {} a -> s {versionId = a} :: GetObjectLegalHold)++-- | The bucket name containing the object whose legal hold status you want+-- to retrieve.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+getObjectLegalHold_bucket :: Lens.Lens' GetObjectLegalHold BucketName+getObjectLegalHold_bucket = Lens.lens (\GetObjectLegalHold' {bucket} -> bucket) (\s@GetObjectLegalHold' {} a -> s {bucket = a} :: GetObjectLegalHold)++-- | The key name for the object whose legal hold status you want to+-- retrieve.+getObjectLegalHold_key :: Lens.Lens' GetObjectLegalHold ObjectKey+getObjectLegalHold_key = Lens.lens (\GetObjectLegalHold' {key} -> key) (\s@GetObjectLegalHold' {} a -> s {key = a} :: GetObjectLegalHold)++instance Core.AWSRequest GetObjectLegalHold where+  type+    AWSResponse GetObjectLegalHold =+      GetObjectLegalHoldResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetObjectLegalHoldResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetObjectLegalHold where+  hashWithSalt _salt GetObjectLegalHold' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData GetObjectLegalHold where+  rnf GetObjectLegalHold' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders GetObjectLegalHold where+  toHeaders GetObjectLegalHold' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath GetObjectLegalHold where+  toPath GetObjectLegalHold' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObjectLegalHold where+  toQuery GetObjectLegalHold' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "legal-hold"]++-- | /See:/ 'newGetObjectLegalHoldResponse' smart constructor.+data GetObjectLegalHoldResponse = GetObjectLegalHoldResponse'+  { -- | The current legal hold status for the specified object.+    legalHold :: Prelude.Maybe ObjectLockLegalHold,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectLegalHoldResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'legalHold', 'getObjectLegalHoldResponse_legalHold' - The current legal hold status for the specified object.+--+-- 'httpStatus', 'getObjectLegalHoldResponse_httpStatus' - The response's http status code.+newGetObjectLegalHoldResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetObjectLegalHoldResponse+newGetObjectLegalHoldResponse pHttpStatus_ =+  GetObjectLegalHoldResponse'+    { legalHold =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The current legal hold status for the specified object.+getObjectLegalHoldResponse_legalHold :: Lens.Lens' GetObjectLegalHoldResponse (Prelude.Maybe ObjectLockLegalHold)+getObjectLegalHoldResponse_legalHold = Lens.lens (\GetObjectLegalHoldResponse' {legalHold} -> legalHold) (\s@GetObjectLegalHoldResponse' {} a -> s {legalHold = a} :: GetObjectLegalHoldResponse)++-- | The response's http status code.+getObjectLegalHoldResponse_httpStatus :: Lens.Lens' GetObjectLegalHoldResponse Prelude.Int+getObjectLegalHoldResponse_httpStatus = Lens.lens (\GetObjectLegalHoldResponse' {httpStatus} -> httpStatus) (\s@GetObjectLegalHoldResponse' {} a -> s {httpStatus = a} :: GetObjectLegalHoldResponse)++instance Prelude.NFData GetObjectLegalHoldResponse where+  rnf GetObjectLegalHoldResponse' {..} =+    Prelude.rnf legalHold+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetObjectLockConfiguration.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectLockConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Gets the Object Lock configuration for a bucket. The rule specified in+-- the Object Lock configuration will be applied by default to every new+-- object placed in the specified bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Locking Objects>.+--+-- The following action is related to @GetObjectLockConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+module Amazonka.S3.GetObjectLockConfiguration+  ( -- * Creating a Request+    GetObjectLockConfiguration (..),+    newGetObjectLockConfiguration,++    -- * Request Lenses+    getObjectLockConfiguration_expectedBucketOwner,+    getObjectLockConfiguration_bucket,++    -- * Destructuring the Response+    GetObjectLockConfigurationResponse (..),+    newGetObjectLockConfigurationResponse,++    -- * Response Lenses+    getObjectLockConfigurationResponse_objectLockConfiguration,+    getObjectLockConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectLockConfiguration' smart constructor.+data GetObjectLockConfiguration = GetObjectLockConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket whose Object Lock configuration you want to retrieve.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectLockConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectLockConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getObjectLockConfiguration_bucket' - The bucket whose Object Lock configuration you want to retrieve.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+newGetObjectLockConfiguration ::+  -- | 'bucket'+  BucketName ->+  GetObjectLockConfiguration+newGetObjectLockConfiguration pBucket_ =+  GetObjectLockConfiguration'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectLockConfiguration_expectedBucketOwner :: Lens.Lens' GetObjectLockConfiguration (Prelude.Maybe Prelude.Text)+getObjectLockConfiguration_expectedBucketOwner = Lens.lens (\GetObjectLockConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectLockConfiguration' {} a -> s {expectedBucketOwner = a} :: GetObjectLockConfiguration)++-- | The bucket whose Object Lock configuration you want to retrieve.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+getObjectLockConfiguration_bucket :: Lens.Lens' GetObjectLockConfiguration BucketName+getObjectLockConfiguration_bucket = Lens.lens (\GetObjectLockConfiguration' {bucket} -> bucket) (\s@GetObjectLockConfiguration' {} a -> s {bucket = a} :: GetObjectLockConfiguration)++instance Core.AWSRequest GetObjectLockConfiguration where+  type+    AWSResponse GetObjectLockConfiguration =+      GetObjectLockConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetObjectLockConfigurationResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetObjectLockConfiguration where+  hashWithSalt _salt GetObjectLockConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetObjectLockConfiguration where+  rnf GetObjectLockConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetObjectLockConfiguration where+  toHeaders GetObjectLockConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetObjectLockConfiguration where+  toPath GetObjectLockConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetObjectLockConfiguration where+  toQuery =+    Prelude.const (Prelude.mconcat ["object-lock"])++-- | /See:/ 'newGetObjectLockConfigurationResponse' smart constructor.+data GetObjectLockConfigurationResponse = GetObjectLockConfigurationResponse'+  { -- | The specified bucket\'s Object Lock configuration.+    objectLockConfiguration :: Prelude.Maybe ObjectLockConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectLockConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectLockConfiguration', 'getObjectLockConfigurationResponse_objectLockConfiguration' - The specified bucket\'s Object Lock configuration.+--+-- 'httpStatus', 'getObjectLockConfigurationResponse_httpStatus' - The response's http status code.+newGetObjectLockConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetObjectLockConfigurationResponse+newGetObjectLockConfigurationResponse pHttpStatus_ =+  GetObjectLockConfigurationResponse'+    { objectLockConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The specified bucket\'s Object Lock configuration.+getObjectLockConfigurationResponse_objectLockConfiguration :: Lens.Lens' GetObjectLockConfigurationResponse (Prelude.Maybe ObjectLockConfiguration)+getObjectLockConfigurationResponse_objectLockConfiguration = Lens.lens (\GetObjectLockConfigurationResponse' {objectLockConfiguration} -> objectLockConfiguration) (\s@GetObjectLockConfigurationResponse' {} a -> s {objectLockConfiguration = a} :: GetObjectLockConfigurationResponse)++-- | The response's http status code.+getObjectLockConfigurationResponse_httpStatus :: Lens.Lens' GetObjectLockConfigurationResponse Prelude.Int+getObjectLockConfigurationResponse_httpStatus = Lens.lens (\GetObjectLockConfigurationResponse' {httpStatus} -> httpStatus) (\s@GetObjectLockConfigurationResponse' {} a -> s {httpStatus = a} :: GetObjectLockConfigurationResponse)++instance+  Prelude.NFData+    GetObjectLockConfigurationResponse+  where+  rnf GetObjectLockConfigurationResponse' {..} =+    Prelude.rnf objectLockConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetObjectRetention.hs view
@@ -0,0 +1,262 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectRetention+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves an object\'s retention settings. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Locking Objects>.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- The following action is related to @GetObjectRetention@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+module Amazonka.S3.GetObjectRetention+  ( -- * Creating a Request+    GetObjectRetention (..),+    newGetObjectRetention,++    -- * Request Lenses+    getObjectRetention_expectedBucketOwner,+    getObjectRetention_requestPayer,+    getObjectRetention_versionId,+    getObjectRetention_bucket,+    getObjectRetention_key,++    -- * Destructuring the Response+    GetObjectRetentionResponse (..),+    newGetObjectRetentionResponse,++    -- * Response Lenses+    getObjectRetentionResponse_retention,+    getObjectRetentionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectRetention' smart constructor.+data GetObjectRetention = GetObjectRetention'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The version ID for the object whose retention settings you want to+    -- retrieve.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object whose retention settings you want+    -- to retrieve.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The key name for the object whose retention settings you want to+    -- retrieve.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectRetention' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectRetention_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'getObjectRetention_requestPayer' - Undocumented member.+--+-- 'versionId', 'getObjectRetention_versionId' - The version ID for the object whose retention settings you want to+-- retrieve.+--+-- 'bucket', 'getObjectRetention_bucket' - The bucket name containing the object whose retention settings you want+-- to retrieve.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'getObjectRetention_key' - The key name for the object whose retention settings you want to+-- retrieve.+newGetObjectRetention ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObjectRetention+newGetObjectRetention pBucket_ pKey_ =+  GetObjectRetention'+    { expectedBucketOwner =+        Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectRetention_expectedBucketOwner :: Lens.Lens' GetObjectRetention (Prelude.Maybe Prelude.Text)+getObjectRetention_expectedBucketOwner = Lens.lens (\GetObjectRetention' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectRetention' {} a -> s {expectedBucketOwner = a} :: GetObjectRetention)++-- | Undocumented member.+getObjectRetention_requestPayer :: Lens.Lens' GetObjectRetention (Prelude.Maybe RequestPayer)+getObjectRetention_requestPayer = Lens.lens (\GetObjectRetention' {requestPayer} -> requestPayer) (\s@GetObjectRetention' {} a -> s {requestPayer = a} :: GetObjectRetention)++-- | The version ID for the object whose retention settings you want to+-- retrieve.+getObjectRetention_versionId :: Lens.Lens' GetObjectRetention (Prelude.Maybe ObjectVersionId)+getObjectRetention_versionId = Lens.lens (\GetObjectRetention' {versionId} -> versionId) (\s@GetObjectRetention' {} a -> s {versionId = a} :: GetObjectRetention)++-- | The bucket name containing the object whose retention settings you want+-- to retrieve.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+getObjectRetention_bucket :: Lens.Lens' GetObjectRetention BucketName+getObjectRetention_bucket = Lens.lens (\GetObjectRetention' {bucket} -> bucket) (\s@GetObjectRetention' {} a -> s {bucket = a} :: GetObjectRetention)++-- | The key name for the object whose retention settings you want to+-- retrieve.+getObjectRetention_key :: Lens.Lens' GetObjectRetention ObjectKey+getObjectRetention_key = Lens.lens (\GetObjectRetention' {key} -> key) (\s@GetObjectRetention' {} a -> s {key = a} :: GetObjectRetention)++instance Core.AWSRequest GetObjectRetention where+  type+    AWSResponse GetObjectRetention =+      GetObjectRetentionResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetObjectRetentionResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetObjectRetention where+  hashWithSalt _salt GetObjectRetention' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData GetObjectRetention where+  rnf GetObjectRetention' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders GetObjectRetention where+  toHeaders GetObjectRetention' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath GetObjectRetention where+  toPath GetObjectRetention' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObjectRetention where+  toQuery GetObjectRetention' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "retention"]++-- | /See:/ 'newGetObjectRetentionResponse' smart constructor.+data GetObjectRetentionResponse = GetObjectRetentionResponse'+  { -- | The container element for an object\'s retention settings.+    retention :: Prelude.Maybe ObjectLockRetention,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectRetentionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'retention', 'getObjectRetentionResponse_retention' - The container element for an object\'s retention settings.+--+-- 'httpStatus', 'getObjectRetentionResponse_httpStatus' - The response's http status code.+newGetObjectRetentionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetObjectRetentionResponse+newGetObjectRetentionResponse pHttpStatus_ =+  GetObjectRetentionResponse'+    { retention =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The container element for an object\'s retention settings.+getObjectRetentionResponse_retention :: Lens.Lens' GetObjectRetentionResponse (Prelude.Maybe ObjectLockRetention)+getObjectRetentionResponse_retention = Lens.lens (\GetObjectRetentionResponse' {retention} -> retention) (\s@GetObjectRetentionResponse' {} a -> s {retention = a} :: GetObjectRetentionResponse)++-- | The response's http status code.+getObjectRetentionResponse_httpStatus :: Lens.Lens' GetObjectRetentionResponse Prelude.Int+getObjectRetentionResponse_httpStatus = Lens.lens (\GetObjectRetentionResponse' {httpStatus} -> httpStatus) (\s@GetObjectRetentionResponse' {} a -> s {httpStatus = a} :: GetObjectRetentionResponse)++instance Prelude.NFData GetObjectRetentionResponse where+  rnf GetObjectRetentionResponse' {..} =+    Prelude.rnf retention+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/GetObjectTagging.hs view
@@ -0,0 +1,317 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectTagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns the tag-set of an object. You send the GET request against the+-- tagging subresource associated with the object.+--+-- To use this operation, you must have permission to perform the+-- @s3:GetObjectTagging@ action. By default, the GET action returns+-- information about current version of an object. For a versioned bucket,+-- you can have multiple versions of an object in your bucket. To retrieve+-- tags of any other version, use the versionId query parameter. You also+-- need permission for the @s3:GetObjectVersionTagging@ action.+--+-- By default, the bucket owner has this permission and can grant this+-- permission to others.+--+-- For information about the Amazon S3 object tagging feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html Object Tagging>.+--+-- The following actions are related to @GetObjectTagging@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html DeleteObjectTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html PutObjectTagging>+module Amazonka.S3.GetObjectTagging+  ( -- * Creating a Request+    GetObjectTagging (..),+    newGetObjectTagging,++    -- * Request Lenses+    getObjectTagging_expectedBucketOwner,+    getObjectTagging_requestPayer,+    getObjectTagging_versionId,+    getObjectTagging_bucket,+    getObjectTagging_key,++    -- * Destructuring the Response+    GetObjectTaggingResponse (..),+    newGetObjectTaggingResponse,++    -- * Response Lenses+    getObjectTaggingResponse_versionId,+    getObjectTaggingResponse_httpStatus,+    getObjectTaggingResponse_tagSet,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectTagging' smart constructor.+data GetObjectTagging = GetObjectTagging'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The versionId of the object for which to get the tagging information.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object for which to get the tagging+    -- information.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which to get the tagging information.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectTagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectTagging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'getObjectTagging_requestPayer' - Undocumented member.+--+-- 'versionId', 'getObjectTagging_versionId' - The versionId of the object for which to get the tagging information.+--+-- 'bucket', 'getObjectTagging_bucket' - The bucket name containing the object for which to get the tagging+-- information.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'getObjectTagging_key' - Object key for which to get the tagging information.+newGetObjectTagging ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObjectTagging+newGetObjectTagging pBucket_ pKey_ =+  GetObjectTagging'+    { expectedBucketOwner =+        Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectTagging_expectedBucketOwner :: Lens.Lens' GetObjectTagging (Prelude.Maybe Prelude.Text)+getObjectTagging_expectedBucketOwner = Lens.lens (\GetObjectTagging' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectTagging' {} a -> s {expectedBucketOwner = a} :: GetObjectTagging)++-- | Undocumented member.+getObjectTagging_requestPayer :: Lens.Lens' GetObjectTagging (Prelude.Maybe RequestPayer)+getObjectTagging_requestPayer = Lens.lens (\GetObjectTagging' {requestPayer} -> requestPayer) (\s@GetObjectTagging' {} a -> s {requestPayer = a} :: GetObjectTagging)++-- | The versionId of the object for which to get the tagging information.+getObjectTagging_versionId :: Lens.Lens' GetObjectTagging (Prelude.Maybe ObjectVersionId)+getObjectTagging_versionId = Lens.lens (\GetObjectTagging' {versionId} -> versionId) (\s@GetObjectTagging' {} a -> s {versionId = a} :: GetObjectTagging)++-- | The bucket name containing the object for which to get the tagging+-- information.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+getObjectTagging_bucket :: Lens.Lens' GetObjectTagging BucketName+getObjectTagging_bucket = Lens.lens (\GetObjectTagging' {bucket} -> bucket) (\s@GetObjectTagging' {} a -> s {bucket = a} :: GetObjectTagging)++-- | Object key for which to get the tagging information.+getObjectTagging_key :: Lens.Lens' GetObjectTagging ObjectKey+getObjectTagging_key = Lens.lens (\GetObjectTagging' {key} -> key) (\s@GetObjectTagging' {} a -> s {key = a} :: GetObjectTagging)++instance Core.AWSRequest GetObjectTagging where+  type+    AWSResponse GetObjectTagging =+      GetObjectTaggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetObjectTaggingResponse'+            Prelude.<$> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> ( x+                            Data..@? "TagSet"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Data.parseXMLList "Tag"+                        )+      )++instance Prelude.Hashable GetObjectTagging where+  hashWithSalt _salt GetObjectTagging' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData GetObjectTagging where+  rnf GetObjectTagging' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders GetObjectTagging where+  toHeaders GetObjectTagging' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath GetObjectTagging where+  toPath GetObjectTagging' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObjectTagging where+  toQuery GetObjectTagging' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "tagging"]++-- | /See:/ 'newGetObjectTaggingResponse' smart constructor.+data GetObjectTaggingResponse = GetObjectTaggingResponse'+  { -- | The versionId of the object for which you got the tagging information.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | Contains the tag set.+    tagSet :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectTaggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionId', 'getObjectTaggingResponse_versionId' - The versionId of the object for which you got the tagging information.+--+-- 'httpStatus', 'getObjectTaggingResponse_httpStatus' - The response's http status code.+--+-- 'tagSet', 'getObjectTaggingResponse_tagSet' - Contains the tag set.+newGetObjectTaggingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetObjectTaggingResponse+newGetObjectTaggingResponse pHttpStatus_ =+  GetObjectTaggingResponse'+    { versionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      tagSet = Prelude.mempty+    }++-- | The versionId of the object for which you got the tagging information.+getObjectTaggingResponse_versionId :: Lens.Lens' GetObjectTaggingResponse (Prelude.Maybe ObjectVersionId)+getObjectTaggingResponse_versionId = Lens.lens (\GetObjectTaggingResponse' {versionId} -> versionId) (\s@GetObjectTaggingResponse' {} a -> s {versionId = a} :: GetObjectTaggingResponse)++-- | The response's http status code.+getObjectTaggingResponse_httpStatus :: Lens.Lens' GetObjectTaggingResponse Prelude.Int+getObjectTaggingResponse_httpStatus = Lens.lens (\GetObjectTaggingResponse' {httpStatus} -> httpStatus) (\s@GetObjectTaggingResponse' {} a -> s {httpStatus = a} :: GetObjectTaggingResponse)++-- | Contains the tag set.+getObjectTaggingResponse_tagSet :: Lens.Lens' GetObjectTaggingResponse [Tag]+getObjectTaggingResponse_tagSet = Lens.lens (\GetObjectTaggingResponse' {tagSet} -> tagSet) (\s@GetObjectTaggingResponse' {} a -> s {tagSet = a} :: GetObjectTaggingResponse) Prelude.. Lens.coerced++instance Prelude.NFData GetObjectTaggingResponse where+  rnf GetObjectTaggingResponse' {..} =+    Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus+      `Prelude.seq` Prelude.rnf tagSet
+ gen/Amazonka/S3/GetObjectTorrent.hs view
@@ -0,0 +1,230 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetObjectTorrent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns torrent files from a bucket. BitTorrent can save you bandwidth+-- when you\'re distributing large files. For more information about+-- BitTorrent, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html Using BitTorrent with Amazon S3>.+--+-- You can get torrent only for objects that are less than 5 GB in size,+-- and that are not encrypted using server-side encryption with a+-- customer-provided encryption key.+--+-- To use GET, you must have READ access to the object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- The following action is related to @GetObjectTorrent@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+module Amazonka.S3.GetObjectTorrent+  ( -- * Creating a Request+    GetObjectTorrent (..),+    newGetObjectTorrent,++    -- * Request Lenses+    getObjectTorrent_expectedBucketOwner,+    getObjectTorrent_requestPayer,+    getObjectTorrent_bucket,+    getObjectTorrent_key,++    -- * Destructuring the Response+    GetObjectTorrentResponse (..),+    newGetObjectTorrentResponse,++    -- * Response Lenses+    getObjectTorrentResponse_requestCharged,+    getObjectTorrentResponse_httpStatus,+    getObjectTorrentResponse_body,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetObjectTorrent' smart constructor.+data GetObjectTorrent = GetObjectTorrent'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The name of the bucket containing the object for which to get the+    -- torrent files.+    bucket :: BucketName,+    -- | The object key for which to get the information.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectTorrent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getObjectTorrent_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'getObjectTorrent_requestPayer' - Undocumented member.+--+-- 'bucket', 'getObjectTorrent_bucket' - The name of the bucket containing the object for which to get the+-- torrent files.+--+-- 'key', 'getObjectTorrent_key' - The object key for which to get the information.+newGetObjectTorrent ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  GetObjectTorrent+newGetObjectTorrent pBucket_ pKey_ =+  GetObjectTorrent'+    { expectedBucketOwner =+        Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getObjectTorrent_expectedBucketOwner :: Lens.Lens' GetObjectTorrent (Prelude.Maybe Prelude.Text)+getObjectTorrent_expectedBucketOwner = Lens.lens (\GetObjectTorrent' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetObjectTorrent' {} a -> s {expectedBucketOwner = a} :: GetObjectTorrent)++-- | Undocumented member.+getObjectTorrent_requestPayer :: Lens.Lens' GetObjectTorrent (Prelude.Maybe RequestPayer)+getObjectTorrent_requestPayer = Lens.lens (\GetObjectTorrent' {requestPayer} -> requestPayer) (\s@GetObjectTorrent' {} a -> s {requestPayer = a} :: GetObjectTorrent)++-- | The name of the bucket containing the object for which to get the+-- torrent files.+getObjectTorrent_bucket :: Lens.Lens' GetObjectTorrent BucketName+getObjectTorrent_bucket = Lens.lens (\GetObjectTorrent' {bucket} -> bucket) (\s@GetObjectTorrent' {} a -> s {bucket = a} :: GetObjectTorrent)++-- | The object key for which to get the information.+getObjectTorrent_key :: Lens.Lens' GetObjectTorrent ObjectKey+getObjectTorrent_key = Lens.lens (\GetObjectTorrent' {key} -> key) (\s@GetObjectTorrent' {} a -> s {key = a} :: GetObjectTorrent)++instance Core.AWSRequest GetObjectTorrent where+  type+    AWSResponse GetObjectTorrent =+      GetObjectTorrentResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveBody+      ( \s h x ->+          GetObjectTorrentResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+            Prelude.<*> (Prelude.pure x)+      )++instance Prelude.Hashable GetObjectTorrent where+  hashWithSalt _salt GetObjectTorrent' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData GetObjectTorrent where+  rnf GetObjectTorrent' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders GetObjectTorrent where+  toHeaders GetObjectTorrent' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath GetObjectTorrent where+  toPath GetObjectTorrent' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery GetObjectTorrent where+  toQuery = Prelude.const (Prelude.mconcat ["torrent"])++-- | /See:/ 'newGetObjectTorrentResponse' smart constructor.+data GetObjectTorrentResponse = GetObjectTorrentResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int,+    -- | A Bencoded dictionary as defined by the BitTorrent specification+    body :: Data.ResponseBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectTorrentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'getObjectTorrentResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'getObjectTorrentResponse_httpStatus' - The response's http status code.+--+-- 'body', 'getObjectTorrentResponse_body' - A Bencoded dictionary as defined by the BitTorrent specification+newGetObjectTorrentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  -- | 'body'+  Data.ResponseBody ->+  GetObjectTorrentResponse+newGetObjectTorrentResponse pHttpStatus_ pBody_ =+  GetObjectTorrentResponse'+    { requestCharged =+        Prelude.Nothing,+      httpStatus = pHttpStatus_,+      body = pBody_+    }++-- | Undocumented member.+getObjectTorrentResponse_requestCharged :: Lens.Lens' GetObjectTorrentResponse (Prelude.Maybe RequestCharged)+getObjectTorrentResponse_requestCharged = Lens.lens (\GetObjectTorrentResponse' {requestCharged} -> requestCharged) (\s@GetObjectTorrentResponse' {} a -> s {requestCharged = a} :: GetObjectTorrentResponse)++-- | The response's http status code.+getObjectTorrentResponse_httpStatus :: Lens.Lens' GetObjectTorrentResponse Prelude.Int+getObjectTorrentResponse_httpStatus = Lens.lens (\GetObjectTorrentResponse' {httpStatus} -> httpStatus) (\s@GetObjectTorrentResponse' {} a -> s {httpStatus = a} :: GetObjectTorrentResponse)++-- | A Bencoded dictionary as defined by the BitTorrent specification+getObjectTorrentResponse_body :: Lens.Lens' GetObjectTorrentResponse Data.ResponseBody+getObjectTorrentResponse_body = Lens.lens (\GetObjectTorrentResponse' {body} -> body) (\s@GetObjectTorrentResponse' {} a -> s {body = a} :: GetObjectTorrentResponse)
+ gen/Amazonka/S3/GetPublicAccessBlock.hs view
@@ -0,0 +1,210 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.GetPublicAccessBlock+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Retrieves the @PublicAccessBlock@ configuration for an Amazon S3 bucket.+-- To use this operation, you must have the @s3:GetBucketPublicAccessBlock@+-- permission. For more information about Amazon S3 permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>.+--+-- When Amazon S3 evaluates the @PublicAccessBlock@ configuration for a+-- bucket or an object, it checks the @PublicAccessBlock@ configuration for+-- both the bucket (or the bucket that contains the object) and the bucket+-- owner\'s account. If the @PublicAccessBlock@ settings are different+-- between the bucket and the account, Amazon S3 uses the most restrictive+-- combination of the bucket-level and account-level settings.+--+-- For more information about when Amazon S3 considers a bucket or an+-- object public, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">.+--+-- The following operations are related to @GetPublicAccessBlock@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html Using Amazon S3 Block Public Access>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html PutPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html GetPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html DeletePublicAccessBlock>+module Amazonka.S3.GetPublicAccessBlock+  ( -- * Creating a Request+    GetPublicAccessBlock (..),+    newGetPublicAccessBlock,++    -- * Request Lenses+    getPublicAccessBlock_expectedBucketOwner,+    getPublicAccessBlock_bucket,++    -- * Destructuring the Response+    GetPublicAccessBlockResponse (..),+    newGetPublicAccessBlockResponse,++    -- * Response Lenses+    getPublicAccessBlockResponse_publicAccessBlockConfiguration,+    getPublicAccessBlockResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newGetPublicAccessBlock' smart constructor.+data GetPublicAccessBlock = GetPublicAccessBlock'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the Amazon S3 bucket whose @PublicAccessBlock@ configuration+    -- you want to retrieve.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPublicAccessBlock' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'getPublicAccessBlock_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'getPublicAccessBlock_bucket' - The name of the Amazon S3 bucket whose @PublicAccessBlock@ configuration+-- you want to retrieve.+newGetPublicAccessBlock ::+  -- | 'bucket'+  BucketName ->+  GetPublicAccessBlock+newGetPublicAccessBlock pBucket_ =+  GetPublicAccessBlock'+    { expectedBucketOwner =+        Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+getPublicAccessBlock_expectedBucketOwner :: Lens.Lens' GetPublicAccessBlock (Prelude.Maybe Prelude.Text)+getPublicAccessBlock_expectedBucketOwner = Lens.lens (\GetPublicAccessBlock' {expectedBucketOwner} -> expectedBucketOwner) (\s@GetPublicAccessBlock' {} a -> s {expectedBucketOwner = a} :: GetPublicAccessBlock)++-- | The name of the Amazon S3 bucket whose @PublicAccessBlock@ configuration+-- you want to retrieve.+getPublicAccessBlock_bucket :: Lens.Lens' GetPublicAccessBlock BucketName+getPublicAccessBlock_bucket = Lens.lens (\GetPublicAccessBlock' {bucket} -> bucket) (\s@GetPublicAccessBlock' {} a -> s {bucket = a} :: GetPublicAccessBlock)++instance Core.AWSRequest GetPublicAccessBlock where+  type+    AWSResponse GetPublicAccessBlock =+      GetPublicAccessBlockResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          GetPublicAccessBlockResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable GetPublicAccessBlock where+  hashWithSalt _salt GetPublicAccessBlock' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData GetPublicAccessBlock where+  rnf GetPublicAccessBlock' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders GetPublicAccessBlock where+  toHeaders GetPublicAccessBlock' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath GetPublicAccessBlock where+  toPath GetPublicAccessBlock' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery GetPublicAccessBlock where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["publicAccessBlock"])++-- | /See:/ 'newGetPublicAccessBlockResponse' smart constructor.+data GetPublicAccessBlockResponse = GetPublicAccessBlockResponse'+  { -- | The @PublicAccessBlock@ configuration currently in effect for this+    -- Amazon S3 bucket.+    publicAccessBlockConfiguration :: Prelude.Maybe PublicAccessBlockConfiguration,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetPublicAccessBlockResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'publicAccessBlockConfiguration', 'getPublicAccessBlockResponse_publicAccessBlockConfiguration' - The @PublicAccessBlock@ configuration currently in effect for this+-- Amazon S3 bucket.+--+-- 'httpStatus', 'getPublicAccessBlockResponse_httpStatus' - The response's http status code.+newGetPublicAccessBlockResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  GetPublicAccessBlockResponse+newGetPublicAccessBlockResponse pHttpStatus_ =+  GetPublicAccessBlockResponse'+    { publicAccessBlockConfiguration =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The @PublicAccessBlock@ configuration currently in effect for this+-- Amazon S3 bucket.+getPublicAccessBlockResponse_publicAccessBlockConfiguration :: Lens.Lens' GetPublicAccessBlockResponse (Prelude.Maybe PublicAccessBlockConfiguration)+getPublicAccessBlockResponse_publicAccessBlockConfiguration = Lens.lens (\GetPublicAccessBlockResponse' {publicAccessBlockConfiguration} -> publicAccessBlockConfiguration) (\s@GetPublicAccessBlockResponse' {} a -> s {publicAccessBlockConfiguration = a} :: GetPublicAccessBlockResponse)++-- | The response's http status code.+getPublicAccessBlockResponse_httpStatus :: Lens.Lens' GetPublicAccessBlockResponse Prelude.Int+getPublicAccessBlockResponse_httpStatus = Lens.lens (\GetPublicAccessBlockResponse' {httpStatus} -> httpStatus) (\s@GetPublicAccessBlockResponse' {} a -> s {httpStatus = a} :: GetPublicAccessBlockResponse)++instance Prelude.NFData GetPublicAccessBlockResponse where+  rnf GetPublicAccessBlockResponse' {..} =+    Prelude.rnf publicAccessBlockConfiguration+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/HeadBucket.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.HeadBucket+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action is useful to determine if a bucket exists and you have+-- permission to access it. The action returns a @200 OK@ if the bucket+-- exists and you have permission to access it.+--+-- If the bucket does not exist or you do not have permission to access it,+-- the @HEAD@ request returns a generic @404 Not Found@ or @403 Forbidden@+-- code. A message body is not included, so you cannot determine the+-- exception beyond these error codes.+--+-- To use this operation, you must have permissions to perform the+-- @s3:ListBucket@ action. The bucket owner has this permission by default+-- and can grant this permission to others. For more information about+-- permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- To use this API against an access point, you must provide the alias of+-- the access point in place of the bucket name or specify the access point+-- ARN. When using the access point ARN, you must direct requests to the+-- access point hostname. The access point hostname takes the form+-- AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When+-- using the Amazon Web Services SDKs, you provide the ARN in place of the+-- bucket name. For more information see,+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>.+module Amazonka.S3.HeadBucket+  ( -- * Creating a Request+    HeadBucket (..),+    newHeadBucket,++    -- * Request Lenses+    headBucket_expectedBucketOwner,+    headBucket_bucket,++    -- * Destructuring the Response+    HeadBucketResponse (..),+    newHeadBucketResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newHeadBucket' smart constructor.+data HeadBucket = HeadBucket'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeadBucket' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'headBucket_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'headBucket_bucket' - The bucket name.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+newHeadBucket ::+  -- | 'bucket'+  BucketName ->+  HeadBucket+newHeadBucket pBucket_ =+  HeadBucket'+    { expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+headBucket_expectedBucketOwner :: Lens.Lens' HeadBucket (Prelude.Maybe Prelude.Text)+headBucket_expectedBucketOwner = Lens.lens (\HeadBucket' {expectedBucketOwner} -> expectedBucketOwner) (\s@HeadBucket' {} a -> s {expectedBucketOwner = a} :: HeadBucket)++-- | The bucket name.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+headBucket_bucket :: Lens.Lens' HeadBucket BucketName+headBucket_bucket = Lens.lens (\HeadBucket' {bucket} -> bucket) (\s@HeadBucket' {} a -> s {bucket = a} :: HeadBucket)++instance Core.AWSRequest HeadBucket where+  type AWSResponse HeadBucket = HeadBucketResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.head' (overrides defaultService)+  response = Response.receiveNull HeadBucketResponse'++instance Prelude.Hashable HeadBucket where+  hashWithSalt _salt HeadBucket' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData HeadBucket where+  rnf HeadBucket' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders HeadBucket where+  toHeaders HeadBucket' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath HeadBucket where+  toPath HeadBucket' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery HeadBucket where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newHeadBucketResponse' smart constructor.+data HeadBucketResponse = HeadBucketResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeadBucketResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newHeadBucketResponse ::+  HeadBucketResponse+newHeadBucketResponse = HeadBucketResponse'++instance Prelude.NFData HeadBucketResponse where+  rnf _ = ()
+ gen/Amazonka/S3/HeadObject.hs view
@@ -0,0 +1,1297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.HeadObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- The HEAD action retrieves metadata from an object without returning the+-- object itself. This action is useful if you\'re only interested in an+-- object\'s metadata. To use HEAD, you must have READ access to the+-- object.+--+-- A @HEAD@ request has the same options as a @GET@ action on an object.+-- The response is identical to the @GET@ response except that there is no+-- response body. Because of this, if the @HEAD@ request generates an+-- error, it returns a generic @404 Not Found@ or @403 Forbidden@ code. It+-- is not possible to retrieve the exact exception beyond these error+-- codes.+--+-- If you encrypt an object by using server-side encryption with+-- customer-provided encryption keys (SSE-C) when you store the object in+-- Amazon S3, then when you retrieve the metadata from the object, you must+-- use the following headers:+--+-- -   x-amz-server-side-encryption-customer-algorithm+--+-- -   x-amz-server-side-encryption-customer-key+--+-- -   x-amz-server-side-encryption-customer-key-MD5+--+-- For more information about SSE-C, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys)>.+--+-- -   Encryption request headers, like @x-amz-server-side-encryption@,+--     should not be sent for GET requests if your object uses server-side+--     encryption with KMS keys (SSE-KMS) or server-side encryption with+--     Amazon S3–managed encryption keys (SSE-S3). If your object does use+--     these types of keys, you’ll get an HTTP 400 BadRequest error.+--+-- -   The last modified property in this case is the creation date of the+--     object.+--+-- Request headers are limited to 8 KB in size. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html Common Request Headers>.+--+-- Consider the following when using request headers:+--+-- -   Consideration 1 – If both of the @If-Match@ and+--     @If-Unmodified-Since@ headers are present in the request as follows:+--+--     -   @If-Match@ condition evaluates to @true@, and;+--+--     -   @If-Unmodified-Since@ condition evaluates to @false@;+--+--     Then Amazon S3 returns @200 OK@ and the data requested.+--+-- -   Consideration 2 – If both of the @If-None-Match@ and+--     @If-Modified-Since@ headers are present in the request as follows:+--+--     -   @If-None-Match@ condition evaluates to @false@, and;+--+--     -   @If-Modified-Since@ condition evaluates to @true@;+--+--     Then Amazon S3 returns the @304 Not Modified@ response code.+--+-- For more information about conditional requests, see+-- <https://tools.ietf.org/html/rfc7232 RFC 7232>.+--+-- __Permissions__+--+-- You need the relevant read object (or version) permission for this+-- operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>.+-- If the object you request does not exist, the error Amazon S3 returns+-- depends on whether you also have the s3:ListBucket permission.+--+-- -   If you have the @s3:ListBucket@ permission on the bucket, Amazon S3+--     returns an HTTP status code 404 (\"no such key\") error.+--+-- -   If you don’t have the @s3:ListBucket@ permission, Amazon S3 returns+--     an HTTP status code 403 (\"access denied\") error.+--+-- The following actions are related to @HeadObject@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+module Amazonka.S3.HeadObject+  ( -- * Creating a Request+    HeadObject (..),+    newHeadObject,++    -- * Request Lenses+    headObject_checksumMode,+    headObject_expectedBucketOwner,+    headObject_ifMatch,+    headObject_ifModifiedSince,+    headObject_ifNoneMatch,+    headObject_ifUnmodifiedSince,+    headObject_partNumber,+    headObject_range,+    headObject_requestPayer,+    headObject_sSECustomerAlgorithm,+    headObject_sSECustomerKey,+    headObject_sSECustomerKeyMD5,+    headObject_versionId,+    headObject_bucket,+    headObject_key,++    -- * Destructuring the Response+    HeadObjectResponse (..),+    newHeadObjectResponse,++    -- * Response Lenses+    headObjectResponse_acceptRanges,+    headObjectResponse_archiveStatus,+    headObjectResponse_bucketKeyEnabled,+    headObjectResponse_cacheControl,+    headObjectResponse_checksumCRC32,+    headObjectResponse_checksumCRC32C,+    headObjectResponse_checksumSHA1,+    headObjectResponse_checksumSHA256,+    headObjectResponse_contentDisposition,+    headObjectResponse_contentEncoding,+    headObjectResponse_contentLanguage,+    headObjectResponse_contentLength,+    headObjectResponse_contentType,+    headObjectResponse_deleteMarker,+    headObjectResponse_eTag,+    headObjectResponse_expiration,+    headObjectResponse_expires,+    headObjectResponse_lastModified,+    headObjectResponse_metadata,+    headObjectResponse_missingMeta,+    headObjectResponse_objectLockLegalHoldStatus,+    headObjectResponse_objectLockMode,+    headObjectResponse_objectLockRetainUntilDate,+    headObjectResponse_partsCount,+    headObjectResponse_replicationStatus,+    headObjectResponse_requestCharged,+    headObjectResponse_restore,+    headObjectResponse_sSECustomerAlgorithm,+    headObjectResponse_sSECustomerKeyMD5,+    headObjectResponse_sSEKMSKeyId,+    headObjectResponse_serverSideEncryption,+    headObjectResponse_storageClass,+    headObjectResponse_versionId,+    headObjectResponse_websiteRedirectLocation,+    headObjectResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newHeadObject' smart constructor.+data HeadObject = HeadObject'+  { -- | To retrieve the checksum, this parameter must be enabled.+    --+    -- In addition, if you enable @ChecksumMode@ and the object is encrypted+    -- with Amazon Web Services Key Management Service (Amazon Web Services+    -- KMS), you must have permission to use the @kms:Decrypt@ action for the+    -- request to succeed.+    checksumMode :: Prelude.Maybe ChecksumMode,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Return the object only if its entity tag (ETag) is the same as the one+    -- specified; otherwise, return a 412 (precondition failed) error.+    ifMatch :: Prelude.Maybe Prelude.Text,+    -- | Return the object only if it has been modified since the specified time;+    -- otherwise, return a 304 (not modified) error.+    ifModifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Return the object only if its entity tag (ETag) is different from the+    -- one specified; otherwise, return a 304 (not modified) error.+    ifNoneMatch :: Prelude.Maybe Prelude.Text,+    -- | Return the object only if it has not been modified since the specified+    -- time; otherwise, return a 412 (precondition failed) error.+    ifUnmodifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Part number of the object being read. This is a positive integer between+    -- 1 and 10,000. Effectively performs a \'ranged\' HEAD request for the+    -- part specified. Useful querying about the size of the part and the+    -- number of parts in this object.+    partNumber :: Prelude.Maybe Prelude.Int,+    -- | Because @HeadObject@ returns only the metadata for an object, this+    -- parameter has no effect.+    range :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use to when encrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | VersionId used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The name of the bucket containing the object.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The object key.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeadObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumMode', 'headObject_checksumMode' - To retrieve the checksum, this parameter must be enabled.+--+-- In addition, if you enable @ChecksumMode@ and the object is encrypted+-- with Amazon Web Services Key Management Service (Amazon Web Services+-- KMS), you must have permission to use the @kms:Decrypt@ action for the+-- request to succeed.+--+-- 'expectedBucketOwner', 'headObject_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'ifMatch', 'headObject_ifMatch' - Return the object only if its entity tag (ETag) is the same as the one+-- specified; otherwise, return a 412 (precondition failed) error.+--+-- 'ifModifiedSince', 'headObject_ifModifiedSince' - Return the object only if it has been modified since the specified time;+-- otherwise, return a 304 (not modified) error.+--+-- 'ifNoneMatch', 'headObject_ifNoneMatch' - Return the object only if its entity tag (ETag) is different from the+-- one specified; otherwise, return a 304 (not modified) error.+--+-- 'ifUnmodifiedSince', 'headObject_ifUnmodifiedSince' - Return the object only if it has not been modified since the specified+-- time; otherwise, return a 412 (precondition failed) error.+--+-- 'partNumber', 'headObject_partNumber' - Part number of the object being read. This is a positive integer between+-- 1 and 10,000. Effectively performs a \'ranged\' HEAD request for the+-- part specified. Useful querying about the size of the part and the+-- number of parts in this object.+--+-- 'range', 'headObject_range' - Because @HeadObject@ returns only the metadata for an object, this+-- parameter has no effect.+--+-- 'requestPayer', 'headObject_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'headObject_sSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'headObject_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+--+-- 'sSECustomerKeyMD5', 'headObject_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'versionId', 'headObject_versionId' - VersionId used to reference a specific version of the object.+--+-- 'bucket', 'headObject_bucket' - The name of the bucket containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'headObject_key' - The object key.+newHeadObject ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  HeadObject+newHeadObject pBucket_ pKey_ =+  HeadObject'+    { checksumMode = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      ifMatch = Prelude.Nothing,+      ifModifiedSince = Prelude.Nothing,+      ifNoneMatch = Prelude.Nothing,+      ifUnmodifiedSince = Prelude.Nothing,+      partNumber = Prelude.Nothing,+      range = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | To retrieve the checksum, this parameter must be enabled.+--+-- In addition, if you enable @ChecksumMode@ and the object is encrypted+-- with Amazon Web Services Key Management Service (Amazon Web Services+-- KMS), you must have permission to use the @kms:Decrypt@ action for the+-- request to succeed.+headObject_checksumMode :: Lens.Lens' HeadObject (Prelude.Maybe ChecksumMode)+headObject_checksumMode = Lens.lens (\HeadObject' {checksumMode} -> checksumMode) (\s@HeadObject' {} a -> s {checksumMode = a} :: HeadObject)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+headObject_expectedBucketOwner :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_expectedBucketOwner = Lens.lens (\HeadObject' {expectedBucketOwner} -> expectedBucketOwner) (\s@HeadObject' {} a -> s {expectedBucketOwner = a} :: HeadObject)++-- | Return the object only if its entity tag (ETag) is the same as the one+-- specified; otherwise, return a 412 (precondition failed) error.+headObject_ifMatch :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_ifMatch = Lens.lens (\HeadObject' {ifMatch} -> ifMatch) (\s@HeadObject' {} a -> s {ifMatch = a} :: HeadObject)++-- | Return the object only if it has been modified since the specified time;+-- otherwise, return a 304 (not modified) error.+headObject_ifModifiedSince :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.UTCTime)+headObject_ifModifiedSince = Lens.lens (\HeadObject' {ifModifiedSince} -> ifModifiedSince) (\s@HeadObject' {} a -> s {ifModifiedSince = a} :: HeadObject) Prelude.. Lens.mapping Data._Time++-- | Return the object only if its entity tag (ETag) is different from the+-- one specified; otherwise, return a 304 (not modified) error.+headObject_ifNoneMatch :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_ifNoneMatch = Lens.lens (\HeadObject' {ifNoneMatch} -> ifNoneMatch) (\s@HeadObject' {} a -> s {ifNoneMatch = a} :: HeadObject)++-- | Return the object only if it has not been modified since the specified+-- time; otherwise, return a 412 (precondition failed) error.+headObject_ifUnmodifiedSince :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.UTCTime)+headObject_ifUnmodifiedSince = Lens.lens (\HeadObject' {ifUnmodifiedSince} -> ifUnmodifiedSince) (\s@HeadObject' {} a -> s {ifUnmodifiedSince = a} :: HeadObject) Prelude.. Lens.mapping Data._Time++-- | Part number of the object being read. This is a positive integer between+-- 1 and 10,000. Effectively performs a \'ranged\' HEAD request for the+-- part specified. Useful querying about the size of the part and the+-- number of parts in this object.+headObject_partNumber :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Int)+headObject_partNumber = Lens.lens (\HeadObject' {partNumber} -> partNumber) (\s@HeadObject' {} a -> s {partNumber = a} :: HeadObject)++-- | Because @HeadObject@ returns only the metadata for an object, this+-- parameter has no effect.+headObject_range :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_range = Lens.lens (\HeadObject' {range} -> range) (\s@HeadObject' {} a -> s {range = a} :: HeadObject)++-- | Undocumented member.+headObject_requestPayer :: Lens.Lens' HeadObject (Prelude.Maybe RequestPayer)+headObject_requestPayer = Lens.lens (\HeadObject' {requestPayer} -> requestPayer) (\s@HeadObject' {} a -> s {requestPayer = a} :: HeadObject)++-- | Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+headObject_sSECustomerAlgorithm :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_sSECustomerAlgorithm = Lens.lens (\HeadObject' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@HeadObject' {} a -> s {sSECustomerAlgorithm = a} :: HeadObject)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+headObject_sSECustomerKey :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_sSECustomerKey = Lens.lens (\HeadObject' {sSECustomerKey} -> sSECustomerKey) (\s@HeadObject' {} a -> s {sSECustomerKey = a} :: HeadObject) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+headObject_sSECustomerKeyMD5 :: Lens.Lens' HeadObject (Prelude.Maybe Prelude.Text)+headObject_sSECustomerKeyMD5 = Lens.lens (\HeadObject' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@HeadObject' {} a -> s {sSECustomerKeyMD5 = a} :: HeadObject)++-- | VersionId used to reference a specific version of the object.+headObject_versionId :: Lens.Lens' HeadObject (Prelude.Maybe ObjectVersionId)+headObject_versionId = Lens.lens (\HeadObject' {versionId} -> versionId) (\s@HeadObject' {} a -> s {versionId = a} :: HeadObject)++-- | The name of the bucket containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+headObject_bucket :: Lens.Lens' HeadObject BucketName+headObject_bucket = Lens.lens (\HeadObject' {bucket} -> bucket) (\s@HeadObject' {} a -> s {bucket = a} :: HeadObject)++-- | The object key.+headObject_key :: Lens.Lens' HeadObject ObjectKey+headObject_key = Lens.lens (\HeadObject' {key} -> key) (\s@HeadObject' {} a -> s {key = a} :: HeadObject)++instance Core.AWSRequest HeadObject where+  type AWSResponse HeadObject = HeadObjectResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.head' (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          HeadObjectResponse'+            Prelude.<$> (h Data..#? "accept-ranges")+            Prelude.<*> (h Data..#? "x-amz-archive-status")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (h Data..#? "Cache-Control")+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32")+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32c")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha1")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha256")+            Prelude.<*> (h Data..#? "Content-Disposition")+            Prelude.<*> (h Data..#? "Content-Encoding")+            Prelude.<*> (h Data..#? "Content-Language")+            Prelude.<*> (h Data..#? "Content-Length")+            Prelude.<*> (h Data..#? "Content-Type")+            Prelude.<*> (h Data..#? "x-amz-delete-marker")+            Prelude.<*> (h Data..#? "ETag")+            Prelude.<*> (h Data..#? "x-amz-expiration")+            Prelude.<*> (h Data..#? "Expires")+            Prelude.<*> (h Data..#? "Last-Modified")+            Prelude.<*> (Data.parseHeadersMap "x-amz-meta-" h)+            Prelude.<*> (h Data..#? "x-amz-missing-meta")+            Prelude.<*> (h Data..#? "x-amz-object-lock-legal-hold")+            Prelude.<*> (h Data..#? "x-amz-object-lock-mode")+            Prelude.<*> (h Data..#? "x-amz-object-lock-retain-until-date")+            Prelude.<*> (h Data..#? "x-amz-mp-parts-count")+            Prelude.<*> (h Data..#? "x-amz-replication-status")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (h Data..#? "x-amz-restore")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (h Data..#? "x-amz-storage-class")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (h Data..#? "x-amz-website-redirect-location")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable HeadObject where+  hashWithSalt _salt HeadObject' {..} =+    _salt+      `Prelude.hashWithSalt` checksumMode+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` ifMatch+      `Prelude.hashWithSalt` ifModifiedSince+      `Prelude.hashWithSalt` ifNoneMatch+      `Prelude.hashWithSalt` ifUnmodifiedSince+      `Prelude.hashWithSalt` partNumber+      `Prelude.hashWithSalt` range+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData HeadObject where+  rnf HeadObject' {..} =+    Prelude.rnf checksumMode+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf ifMatch+      `Prelude.seq` Prelude.rnf ifModifiedSince+      `Prelude.seq` Prelude.rnf ifNoneMatch+      `Prelude.seq` Prelude.rnf ifUnmodifiedSince+      `Prelude.seq` Prelude.rnf partNumber+      `Prelude.seq` Prelude.rnf range+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToHeaders HeadObject where+  toHeaders HeadObject' {..} =+    Prelude.mconcat+      [ "x-amz-checksum-mode" Data.=# checksumMode,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "If-Match" Data.=# ifMatch,+        "If-Modified-Since" Data.=# ifModifiedSince,+        "If-None-Match" Data.=# ifNoneMatch,+        "If-Unmodified-Since" Data.=# ifUnmodifiedSince,+        "Range" Data.=# range,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5+      ]++instance Data.ToPath HeadObject where+  toPath HeadObject' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery HeadObject where+  toQuery HeadObject' {..} =+    Prelude.mconcat+      [ "partNumber" Data.=: partNumber,+        "versionId" Data.=: versionId+      ]++-- | /See:/ 'newHeadObjectResponse' smart constructor.+data HeadObjectResponse = HeadObjectResponse'+  { -- | Indicates that a range of bytes was specified.+    acceptRanges :: Prelude.Maybe Prelude.Text,+    -- | The archive state of the head object.+    archiveStatus :: Prelude.Maybe ArchiveStatus,+    -- | Indicates whether the object uses an S3 Bucket Key for server-side+    -- encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Specifies caching behavior along the request\/reply chain.+    cacheControl :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Specifies presentational information for the object.+    contentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Specifies what content encodings have been applied to the object and+    -- thus what decoding mechanisms must be applied to obtain the media-type+    -- referenced by the Content-Type header field.+    contentEncoding :: Prelude.Maybe Prelude.Text,+    -- | The language the content is in.+    contentLanguage :: Prelude.Maybe Prelude.Text,+    -- | Size of the body in bytes.+    contentLength :: Prelude.Maybe Prelude.Integer,+    -- | A standard MIME type describing the format of the object data.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether the object retrieved was (true) or was not (false) a+    -- Delete Marker. If false, this response header does not appear in the+    -- response.+    deleteMarker :: Prelude.Maybe Prelude.Bool,+    -- | An entity tag (ETag) is an opaque identifier assigned by a web server to+    -- a specific version of a resource found at a URL.+    eTag :: Prelude.Maybe ETag,+    -- | If the object expiration is configured (see PUT Bucket lifecycle), the+    -- response includes this header. It includes the @expiry-date@ and+    -- @rule-id@ key-value pairs providing object expiration information. The+    -- value of the @rule-id@ is URL-encoded.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | The date and time at which the object is no longer cacheable.+    expires :: Prelude.Maybe Data.RFC822,+    -- | Creation date of the object.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | A map of metadata to store with the object in S3.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | This is set to the number of metadata entries not returned in+    -- @x-amz-meta@ headers. This can happen if you create metadata using an+    -- API like SOAP that supports more flexible metadata than the REST API.+    -- For example, using SOAP, you can create metadata whose values are not+    -- legal HTTP headers.+    missingMeta :: Prelude.Maybe Prelude.Int,+    -- | Specifies whether a legal hold is in effect for this object. This header+    -- is only returned if the requester has the @s3:GetObjectLegalHold@+    -- permission. This header is not returned if the specified version of this+    -- object has never had a legal hold applied. For more information about S3+    -- Object Lock, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+    objectLockLegalHoldStatus :: Prelude.Maybe ObjectLockLegalHoldStatus,+    -- | The Object Lock mode, if any, that\'s in effect for this object. This+    -- header is only returned if the requester has the @s3:GetObjectRetention@+    -- permission. For more information about S3 Object Lock, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+    objectLockMode :: Prelude.Maybe ObjectLockMode,+    -- | The date and time when the Object Lock retention period expires. This+    -- header is only returned if the requester has the @s3:GetObjectRetention@+    -- permission.+    objectLockRetainUntilDate :: Prelude.Maybe Data.ISO8601,+    -- | The count of parts this object has. This value is only returned if you+    -- specify @partNumber@ in your request and the object was uploaded as a+    -- multipart upload.+    partsCount :: Prelude.Maybe Prelude.Int,+    -- | Amazon S3 can return this header if your request involves a bucket that+    -- is either a source or a destination in a replication rule.+    --+    -- In replication, you have a source bucket on which you configure+    -- replication and destination bucket or buckets where Amazon S3 stores+    -- object replicas. When you request an object (@GetObject@) or object+    -- metadata (@HeadObject@) from these buckets, Amazon S3 will return the+    -- @x-amz-replication-status@ header in the response as follows:+    --+    -- -   __If requesting an object from the source bucket__, Amazon S3 will+    --     return the @x-amz-replication-status@ header if the object in your+    --     request is eligible for replication.+    --+    --     For example, suppose that in your replication configuration, you+    --     specify object prefix @TaxDocs@ requesting Amazon S3 to replicate+    --     objects with key prefix @TaxDocs@. Any objects you upload with this+    --     key name prefix, for example @TaxDocs\/document1.pdf@, are eligible+    --     for replication. For any object request with this key name prefix,+    --     Amazon S3 will return the @x-amz-replication-status@ header with+    --     value PENDING, COMPLETED or FAILED indicating object replication+    --     status.+    --+    -- -   __If requesting an object from a destination bucket__, Amazon S3+    --     will return the @x-amz-replication-status@ header with value REPLICA+    --     if the object in your request is a replica that Amazon S3 created+    --     and there is no replica modification replication in progress.+    --+    -- -   __When replicating objects to multiple destination buckets__, the+    --     @x-amz-replication-status@ header acts differently. The header of+    --     the source object will only return a value of COMPLETED when+    --     replication is successful to all destinations. The header will+    --     remain at value PENDING until replication has completed for all+    --     destinations. If one or more destinations fails replication the+    --     header will return FAILED.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Replication>.+    replicationStatus :: Prelude.Maybe ReplicationStatus,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If the object is an archived object (an object whose storage class is+    -- GLACIER), the response includes this header if either the archive+    -- restoration is in progress (see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html RestoreObject>+    -- or an archive copy is already restored.+    --+    -- If an archive copy is already restored, the header value indicates when+    -- Amazon S3 is scheduled to delete the object copy. For example:+    --+    -- @x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\"@+    --+    -- If the object restoration is in progress, the header returns the value+    -- @ongoing-request=\"true\"@.+    --+    -- For more information about archiving objects, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations Transitioning Objects: General Considerations>.+    restore :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If the object is stored using server-side encryption either with an+    -- Amazon Web Services KMS key or an Amazon S3-managed encryption key, the+    -- response includes this header with the value of the server-side+    -- encryption algorithm used when storing this object in Amazon S3 (for+    -- example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | Provides storage class information of the object. Amazon S3 returns this+    -- header for all objects except for S3 Standard storage class objects.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+    storageClass :: Prelude.Maybe StorageClass,+    -- | Version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | If the bucket is configured as a website, redirects requests for this+    -- object to another object in the same bucket or to an external URL.+    -- Amazon S3 stores the value of this header in the object metadata.+    websiteRedirectLocation :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'HeadObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acceptRanges', 'headObjectResponse_acceptRanges' - Indicates that a range of bytes was specified.+--+-- 'archiveStatus', 'headObjectResponse_archiveStatus' - The archive state of the head object.+--+-- 'bucketKeyEnabled', 'headObjectResponse_bucketKeyEnabled' - Indicates whether the object uses an S3 Bucket Key for server-side+-- encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'cacheControl', 'headObjectResponse_cacheControl' - Specifies caching behavior along the request\/reply chain.+--+-- 'checksumCRC32', 'headObjectResponse_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'headObjectResponse_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'headObjectResponse_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'headObjectResponse_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'contentDisposition', 'headObjectResponse_contentDisposition' - Specifies presentational information for the object.+--+-- 'contentEncoding', 'headObjectResponse_contentEncoding' - Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+--+-- 'contentLanguage', 'headObjectResponse_contentLanguage' - The language the content is in.+--+-- 'contentLength', 'headObjectResponse_contentLength' - Size of the body in bytes.+--+-- 'contentType', 'headObjectResponse_contentType' - A standard MIME type describing the format of the object data.+--+-- 'deleteMarker', 'headObjectResponse_deleteMarker' - Specifies whether the object retrieved was (true) or was not (false) a+-- Delete Marker. If false, this response header does not appear in the+-- response.+--+-- 'eTag', 'headObjectResponse_eTag' - An entity tag (ETag) is an opaque identifier assigned by a web server to+-- a specific version of a resource found at a URL.+--+-- 'expiration', 'headObjectResponse_expiration' - If the object expiration is configured (see PUT Bucket lifecycle), the+-- response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs providing object expiration information. The+-- value of the @rule-id@ is URL-encoded.+--+-- 'expires', 'headObjectResponse_expires' - The date and time at which the object is no longer cacheable.+--+-- 'lastModified', 'headObjectResponse_lastModified' - Creation date of the object.+--+-- 'metadata', 'headObjectResponse_metadata' - A map of metadata to store with the object in S3.+--+-- 'missingMeta', 'headObjectResponse_missingMeta' - This is set to the number of metadata entries not returned in+-- @x-amz-meta@ headers. This can happen if you create metadata using an+-- API like SOAP that supports more flexible metadata than the REST API.+-- For example, using SOAP, you can create metadata whose values are not+-- legal HTTP headers.+--+-- 'objectLockLegalHoldStatus', 'headObjectResponse_objectLockLegalHoldStatus' - Specifies whether a legal hold is in effect for this object. This header+-- is only returned if the requester has the @s3:GetObjectLegalHold@+-- permission. This header is not returned if the specified version of this+-- object has never had a legal hold applied. For more information about S3+-- Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+--+-- 'objectLockMode', 'headObjectResponse_objectLockMode' - The Object Lock mode, if any, that\'s in effect for this object. This+-- header is only returned if the requester has the @s3:GetObjectRetention@+-- permission. For more information about S3 Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+--+-- 'objectLockRetainUntilDate', 'headObjectResponse_objectLockRetainUntilDate' - The date and time when the Object Lock retention period expires. This+-- header is only returned if the requester has the @s3:GetObjectRetention@+-- permission.+--+-- 'partsCount', 'headObjectResponse_partsCount' - The count of parts this object has. This value is only returned if you+-- specify @partNumber@ in your request and the object was uploaded as a+-- multipart upload.+--+-- 'replicationStatus', 'headObjectResponse_replicationStatus' - Amazon S3 can return this header if your request involves a bucket that+-- is either a source or a destination in a replication rule.+--+-- In replication, you have a source bucket on which you configure+-- replication and destination bucket or buckets where Amazon S3 stores+-- object replicas. When you request an object (@GetObject@) or object+-- metadata (@HeadObject@) from these buckets, Amazon S3 will return the+-- @x-amz-replication-status@ header in the response as follows:+--+-- -   __If requesting an object from the source bucket__, Amazon S3 will+--     return the @x-amz-replication-status@ header if the object in your+--     request is eligible for replication.+--+--     For example, suppose that in your replication configuration, you+--     specify object prefix @TaxDocs@ requesting Amazon S3 to replicate+--     objects with key prefix @TaxDocs@. Any objects you upload with this+--     key name prefix, for example @TaxDocs\/document1.pdf@, are eligible+--     for replication. For any object request with this key name prefix,+--     Amazon S3 will return the @x-amz-replication-status@ header with+--     value PENDING, COMPLETED or FAILED indicating object replication+--     status.+--+-- -   __If requesting an object from a destination bucket__, Amazon S3+--     will return the @x-amz-replication-status@ header with value REPLICA+--     if the object in your request is a replica that Amazon S3 created+--     and there is no replica modification replication in progress.+--+-- -   __When replicating objects to multiple destination buckets__, the+--     @x-amz-replication-status@ header acts differently. The header of+--     the source object will only return a value of COMPLETED when+--     replication is successful to all destinations. The header will+--     remain at value PENDING until replication has completed for all+--     destinations. If one or more destinations fails replication the+--     header will return FAILED.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Replication>.+--+-- 'requestCharged', 'headObjectResponse_requestCharged' - Undocumented member.+--+-- 'restore', 'headObjectResponse_restore' - If the object is an archived object (an object whose storage class is+-- GLACIER), the response includes this header if either the archive+-- restoration is in progress (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html RestoreObject>+-- or an archive copy is already restored.+--+-- If an archive copy is already restored, the header value indicates when+-- Amazon S3 is scheduled to delete the object copy. For example:+--+-- @x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\"@+--+-- If the object restoration is in progress, the header returns the value+-- @ongoing-request=\"true\"@.+--+-- For more information about archiving objects, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations Transitioning Objects: General Considerations>.+--+-- 'sSECustomerAlgorithm', 'headObjectResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'headObjectResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSKeyId', 'headObjectResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+--+-- 'serverSideEncryption', 'headObjectResponse_serverSideEncryption' - If the object is stored using server-side encryption either with an+-- Amazon Web Services KMS key or an Amazon S3-managed encryption key, the+-- response includes this header with the value of the server-side+-- encryption algorithm used when storing this object in Amazon S3 (for+-- example, AES256, aws:kms).+--+-- 'storageClass', 'headObjectResponse_storageClass' - Provides storage class information of the object. Amazon S3 returns this+-- header for all objects except for S3 Standard storage class objects.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+--+-- 'versionId', 'headObjectResponse_versionId' - Version of the object.+--+-- 'websiteRedirectLocation', 'headObjectResponse_websiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+--+-- 'httpStatus', 'headObjectResponse_httpStatus' - The response's http status code.+newHeadObjectResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  HeadObjectResponse+newHeadObjectResponse pHttpStatus_ =+  HeadObjectResponse'+    { acceptRanges = Prelude.Nothing,+      archiveStatus = Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing,+      cacheControl = Prelude.Nothing,+      checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      contentDisposition = Prelude.Nothing,+      contentEncoding = Prelude.Nothing,+      contentLanguage = Prelude.Nothing,+      contentLength = Prelude.Nothing,+      contentType = Prelude.Nothing,+      deleteMarker = Prelude.Nothing,+      eTag = Prelude.Nothing,+      expiration = Prelude.Nothing,+      expires = Prelude.Nothing,+      lastModified = Prelude.Nothing,+      metadata = Prelude.mempty,+      missingMeta = Prelude.Nothing,+      objectLockLegalHoldStatus = Prelude.Nothing,+      objectLockMode = Prelude.Nothing,+      objectLockRetainUntilDate = Prelude.Nothing,+      partsCount = Prelude.Nothing,+      replicationStatus = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      restore = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      versionId = Prelude.Nothing,+      websiteRedirectLocation = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates that a range of bytes was specified.+headObjectResponse_acceptRanges :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_acceptRanges = Lens.lens (\HeadObjectResponse' {acceptRanges} -> acceptRanges) (\s@HeadObjectResponse' {} a -> s {acceptRanges = a} :: HeadObjectResponse)++-- | The archive state of the head object.+headObjectResponse_archiveStatus :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ArchiveStatus)+headObjectResponse_archiveStatus = Lens.lens (\HeadObjectResponse' {archiveStatus} -> archiveStatus) (\s@HeadObjectResponse' {} a -> s {archiveStatus = a} :: HeadObjectResponse)++-- | Indicates whether the object uses an S3 Bucket Key for server-side+-- encryption with Amazon Web Services KMS (SSE-KMS).+headObjectResponse_bucketKeyEnabled :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Bool)+headObjectResponse_bucketKeyEnabled = Lens.lens (\HeadObjectResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@HeadObjectResponse' {} a -> s {bucketKeyEnabled = a} :: HeadObjectResponse)++-- | Specifies caching behavior along the request\/reply chain.+headObjectResponse_cacheControl :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_cacheControl = Lens.lens (\HeadObjectResponse' {cacheControl} -> cacheControl) (\s@HeadObjectResponse' {} a -> s {cacheControl = a} :: HeadObjectResponse)++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+headObjectResponse_checksumCRC32 :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_checksumCRC32 = Lens.lens (\HeadObjectResponse' {checksumCRC32} -> checksumCRC32) (\s@HeadObjectResponse' {} a -> s {checksumCRC32 = a} :: HeadObjectResponse)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+headObjectResponse_checksumCRC32C :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_checksumCRC32C = Lens.lens (\HeadObjectResponse' {checksumCRC32C} -> checksumCRC32C) (\s@HeadObjectResponse' {} a -> s {checksumCRC32C = a} :: HeadObjectResponse)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+headObjectResponse_checksumSHA1 :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_checksumSHA1 = Lens.lens (\HeadObjectResponse' {checksumSHA1} -> checksumSHA1) (\s@HeadObjectResponse' {} a -> s {checksumSHA1 = a} :: HeadObjectResponse)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+headObjectResponse_checksumSHA256 :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_checksumSHA256 = Lens.lens (\HeadObjectResponse' {checksumSHA256} -> checksumSHA256) (\s@HeadObjectResponse' {} a -> s {checksumSHA256 = a} :: HeadObjectResponse)++-- | Specifies presentational information for the object.+headObjectResponse_contentDisposition :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_contentDisposition = Lens.lens (\HeadObjectResponse' {contentDisposition} -> contentDisposition) (\s@HeadObjectResponse' {} a -> s {contentDisposition = a} :: HeadObjectResponse)++-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+headObjectResponse_contentEncoding :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_contentEncoding = Lens.lens (\HeadObjectResponse' {contentEncoding} -> contentEncoding) (\s@HeadObjectResponse' {} a -> s {contentEncoding = a} :: HeadObjectResponse)++-- | The language the content is in.+headObjectResponse_contentLanguage :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_contentLanguage = Lens.lens (\HeadObjectResponse' {contentLanguage} -> contentLanguage) (\s@HeadObjectResponse' {} a -> s {contentLanguage = a} :: HeadObjectResponse)++-- | Size of the body in bytes.+headObjectResponse_contentLength :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Integer)+headObjectResponse_contentLength = Lens.lens (\HeadObjectResponse' {contentLength} -> contentLength) (\s@HeadObjectResponse' {} a -> s {contentLength = a} :: HeadObjectResponse)++-- | A standard MIME type describing the format of the object data.+headObjectResponse_contentType :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_contentType = Lens.lens (\HeadObjectResponse' {contentType} -> contentType) (\s@HeadObjectResponse' {} a -> s {contentType = a} :: HeadObjectResponse)++-- | Specifies whether the object retrieved was (true) or was not (false) a+-- Delete Marker. If false, this response header does not appear in the+-- response.+headObjectResponse_deleteMarker :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Bool)+headObjectResponse_deleteMarker = Lens.lens (\HeadObjectResponse' {deleteMarker} -> deleteMarker) (\s@HeadObjectResponse' {} a -> s {deleteMarker = a} :: HeadObjectResponse)++-- | An entity tag (ETag) is an opaque identifier assigned by a web server to+-- a specific version of a resource found at a URL.+headObjectResponse_eTag :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ETag)+headObjectResponse_eTag = Lens.lens (\HeadObjectResponse' {eTag} -> eTag) (\s@HeadObjectResponse' {} a -> s {eTag = a} :: HeadObjectResponse)++-- | If the object expiration is configured (see PUT Bucket lifecycle), the+-- response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs providing object expiration information. The+-- value of the @rule-id@ is URL-encoded.+headObjectResponse_expiration :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_expiration = Lens.lens (\HeadObjectResponse' {expiration} -> expiration) (\s@HeadObjectResponse' {} a -> s {expiration = a} :: HeadObjectResponse)++-- | The date and time at which the object is no longer cacheable.+headObjectResponse_expires :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.UTCTime)+headObjectResponse_expires = Lens.lens (\HeadObjectResponse' {expires} -> expires) (\s@HeadObjectResponse' {} a -> s {expires = a} :: HeadObjectResponse) Prelude.. Lens.mapping Data._Time++-- | Creation date of the object.+headObjectResponse_lastModified :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.UTCTime)+headObjectResponse_lastModified = Lens.lens (\HeadObjectResponse' {lastModified} -> lastModified) (\s@HeadObjectResponse' {} a -> s {lastModified = a} :: HeadObjectResponse) Prelude.. Lens.mapping Data._Time++-- | A map of metadata to store with the object in S3.+headObjectResponse_metadata :: Lens.Lens' HeadObjectResponse (Prelude.HashMap Prelude.Text Prelude.Text)+headObjectResponse_metadata = Lens.lens (\HeadObjectResponse' {metadata} -> metadata) (\s@HeadObjectResponse' {} a -> s {metadata = a} :: HeadObjectResponse) Prelude.. Lens.coerced++-- | This is set to the number of metadata entries not returned in+-- @x-amz-meta@ headers. This can happen if you create metadata using an+-- API like SOAP that supports more flexible metadata than the REST API.+-- For example, using SOAP, you can create metadata whose values are not+-- legal HTTP headers.+headObjectResponse_missingMeta :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Int)+headObjectResponse_missingMeta = Lens.lens (\HeadObjectResponse' {missingMeta} -> missingMeta) (\s@HeadObjectResponse' {} a -> s {missingMeta = a} :: HeadObjectResponse)++-- | Specifies whether a legal hold is in effect for this object. This header+-- is only returned if the requester has the @s3:GetObjectLegalHold@+-- permission. This header is not returned if the specified version of this+-- object has never had a legal hold applied. For more information about S3+-- Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+headObjectResponse_objectLockLegalHoldStatus :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ObjectLockLegalHoldStatus)+headObjectResponse_objectLockLegalHoldStatus = Lens.lens (\HeadObjectResponse' {objectLockLegalHoldStatus} -> objectLockLegalHoldStatus) (\s@HeadObjectResponse' {} a -> s {objectLockLegalHoldStatus = a} :: HeadObjectResponse)++-- | The Object Lock mode, if any, that\'s in effect for this object. This+-- header is only returned if the requester has the @s3:GetObjectRetention@+-- permission. For more information about S3 Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+headObjectResponse_objectLockMode :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ObjectLockMode)+headObjectResponse_objectLockMode = Lens.lens (\HeadObjectResponse' {objectLockMode} -> objectLockMode) (\s@HeadObjectResponse' {} a -> s {objectLockMode = a} :: HeadObjectResponse)++-- | The date and time when the Object Lock retention period expires. This+-- header is only returned if the requester has the @s3:GetObjectRetention@+-- permission.+headObjectResponse_objectLockRetainUntilDate :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.UTCTime)+headObjectResponse_objectLockRetainUntilDate = Lens.lens (\HeadObjectResponse' {objectLockRetainUntilDate} -> objectLockRetainUntilDate) (\s@HeadObjectResponse' {} a -> s {objectLockRetainUntilDate = a} :: HeadObjectResponse) Prelude.. Lens.mapping Data._Time++-- | The count of parts this object has. This value is only returned if you+-- specify @partNumber@ in your request and the object was uploaded as a+-- multipart upload.+headObjectResponse_partsCount :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Int)+headObjectResponse_partsCount = Lens.lens (\HeadObjectResponse' {partsCount} -> partsCount) (\s@HeadObjectResponse' {} a -> s {partsCount = a} :: HeadObjectResponse)++-- | Amazon S3 can return this header if your request involves a bucket that+-- is either a source or a destination in a replication rule.+--+-- In replication, you have a source bucket on which you configure+-- replication and destination bucket or buckets where Amazon S3 stores+-- object replicas. When you request an object (@GetObject@) or object+-- metadata (@HeadObject@) from these buckets, Amazon S3 will return the+-- @x-amz-replication-status@ header in the response as follows:+--+-- -   __If requesting an object from the source bucket__, Amazon S3 will+--     return the @x-amz-replication-status@ header if the object in your+--     request is eligible for replication.+--+--     For example, suppose that in your replication configuration, you+--     specify object prefix @TaxDocs@ requesting Amazon S3 to replicate+--     objects with key prefix @TaxDocs@. Any objects you upload with this+--     key name prefix, for example @TaxDocs\/document1.pdf@, are eligible+--     for replication. For any object request with this key name prefix,+--     Amazon S3 will return the @x-amz-replication-status@ header with+--     value PENDING, COMPLETED or FAILED indicating object replication+--     status.+--+-- -   __If requesting an object from a destination bucket__, Amazon S3+--     will return the @x-amz-replication-status@ header with value REPLICA+--     if the object in your request is a replica that Amazon S3 created+--     and there is no replica modification replication in progress.+--+-- -   __When replicating objects to multiple destination buckets__, the+--     @x-amz-replication-status@ header acts differently. The header of+--     the source object will only return a value of COMPLETED when+--     replication is successful to all destinations. The header will+--     remain at value PENDING until replication has completed for all+--     destinations. If one or more destinations fails replication the+--     header will return FAILED.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Replication>.+headObjectResponse_replicationStatus :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ReplicationStatus)+headObjectResponse_replicationStatus = Lens.lens (\HeadObjectResponse' {replicationStatus} -> replicationStatus) (\s@HeadObjectResponse' {} a -> s {replicationStatus = a} :: HeadObjectResponse)++-- | Undocumented member.+headObjectResponse_requestCharged :: Lens.Lens' HeadObjectResponse (Prelude.Maybe RequestCharged)+headObjectResponse_requestCharged = Lens.lens (\HeadObjectResponse' {requestCharged} -> requestCharged) (\s@HeadObjectResponse' {} a -> s {requestCharged = a} :: HeadObjectResponse)++-- | If the object is an archived object (an object whose storage class is+-- GLACIER), the response includes this header if either the archive+-- restoration is in progress (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html RestoreObject>+-- or an archive copy is already restored.+--+-- If an archive copy is already restored, the header value indicates when+-- Amazon S3 is scheduled to delete the object copy. For example:+--+-- @x-amz-restore: ongoing-request=\"false\", expiry-date=\"Fri, 21 Dec 2012 00:00:00 GMT\"@+--+-- If the object restoration is in progress, the header returns the value+-- @ongoing-request=\"true\"@.+--+-- For more information about archiving objects, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations Transitioning Objects: General Considerations>.+headObjectResponse_restore :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_restore = Lens.lens (\HeadObjectResponse' {restore} -> restore) (\s@HeadObjectResponse' {} a -> s {restore = a} :: HeadObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+headObjectResponse_sSECustomerAlgorithm :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_sSECustomerAlgorithm = Lens.lens (\HeadObjectResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@HeadObjectResponse' {} a -> s {sSECustomerAlgorithm = a} :: HeadObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+headObjectResponse_sSECustomerKeyMD5 :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_sSECustomerKeyMD5 = Lens.lens (\HeadObjectResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@HeadObjectResponse' {} a -> s {sSECustomerKeyMD5 = a} :: HeadObjectResponse)++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+headObjectResponse_sSEKMSKeyId :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_sSEKMSKeyId = Lens.lens (\HeadObjectResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@HeadObjectResponse' {} a -> s {sSEKMSKeyId = a} :: HeadObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | If the object is stored using server-side encryption either with an+-- Amazon Web Services KMS key or an Amazon S3-managed encryption key, the+-- response includes this header with the value of the server-side+-- encryption algorithm used when storing this object in Amazon S3 (for+-- example, AES256, aws:kms).+headObjectResponse_serverSideEncryption :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ServerSideEncryption)+headObjectResponse_serverSideEncryption = Lens.lens (\HeadObjectResponse' {serverSideEncryption} -> serverSideEncryption) (\s@HeadObjectResponse' {} a -> s {serverSideEncryption = a} :: HeadObjectResponse)++-- | Provides storage class information of the object. Amazon S3 returns this+-- header for all objects except for S3 Standard storage class objects.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+headObjectResponse_storageClass :: Lens.Lens' HeadObjectResponse (Prelude.Maybe StorageClass)+headObjectResponse_storageClass = Lens.lens (\HeadObjectResponse' {storageClass} -> storageClass) (\s@HeadObjectResponse' {} a -> s {storageClass = a} :: HeadObjectResponse)++-- | Version of the object.+headObjectResponse_versionId :: Lens.Lens' HeadObjectResponse (Prelude.Maybe ObjectVersionId)+headObjectResponse_versionId = Lens.lens (\HeadObjectResponse' {versionId} -> versionId) (\s@HeadObjectResponse' {} a -> s {versionId = a} :: HeadObjectResponse)++-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata.+headObjectResponse_websiteRedirectLocation :: Lens.Lens' HeadObjectResponse (Prelude.Maybe Prelude.Text)+headObjectResponse_websiteRedirectLocation = Lens.lens (\HeadObjectResponse' {websiteRedirectLocation} -> websiteRedirectLocation) (\s@HeadObjectResponse' {} a -> s {websiteRedirectLocation = a} :: HeadObjectResponse)++-- | The response's http status code.+headObjectResponse_httpStatus :: Lens.Lens' HeadObjectResponse Prelude.Int+headObjectResponse_httpStatus = Lens.lens (\HeadObjectResponse' {httpStatus} -> httpStatus) (\s@HeadObjectResponse' {} a -> s {httpStatus = a} :: HeadObjectResponse)++instance Prelude.NFData HeadObjectResponse where+  rnf HeadObjectResponse' {..} =+    Prelude.rnf acceptRanges+      `Prelude.seq` Prelude.rnf archiveStatus+      `Prelude.seq` Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf cacheControl+      `Prelude.seq` Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf contentDisposition+      `Prelude.seq` Prelude.rnf contentEncoding+      `Prelude.seq` Prelude.rnf contentLanguage+      `Prelude.seq` Prelude.rnf contentLength+      `Prelude.seq` Prelude.rnf contentType+      `Prelude.seq` Prelude.rnf deleteMarker+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf expires+      `Prelude.seq` Prelude.rnf lastModified+      `Prelude.seq` Prelude.rnf metadata+      `Prelude.seq` Prelude.rnf missingMeta+      `Prelude.seq` Prelude.rnf+        objectLockLegalHoldStatus+      `Prelude.seq` Prelude.rnf objectLockMode+      `Prelude.seq` Prelude.rnf+        objectLockRetainUntilDate+      `Prelude.seq` Prelude.rnf partsCount+      `Prelude.seq` Prelude.rnf+        replicationStatus+      `Prelude.seq` Prelude.rnf+        requestCharged+      `Prelude.seq` Prelude.rnf+        restore+      `Prelude.seq` Prelude.rnf+        sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf+        sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf+        sSEKMSKeyId+      `Prelude.seq` Prelude.rnf+        serverSideEncryption+      `Prelude.seq` Prelude.rnf+        storageClass+      `Prelude.seq` Prelude.rnf+        versionId+      `Prelude.seq` Prelude.rnf+        websiteRedirectLocation+      `Prelude.seq` Prelude.rnf+        httpStatus
+ gen/Amazonka/S3/Lens.hs view
@@ -0,0 +1,1993 @@+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Lens+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Lens+  ( -- * Operations++    -- ** AbortMultipartUpload+    abortMultipartUpload_expectedBucketOwner,+    abortMultipartUpload_requestPayer,+    abortMultipartUpload_bucket,+    abortMultipartUpload_key,+    abortMultipartUpload_uploadId,+    abortMultipartUploadResponse_requestCharged,+    abortMultipartUploadResponse_httpStatus,++    -- ** CompleteMultipartUpload+    completeMultipartUpload_checksumCRC32,+    completeMultipartUpload_checksumCRC32C,+    completeMultipartUpload_checksumSHA1,+    completeMultipartUpload_checksumSHA256,+    completeMultipartUpload_expectedBucketOwner,+    completeMultipartUpload_multipartUpload,+    completeMultipartUpload_requestPayer,+    completeMultipartUpload_sSECustomerAlgorithm,+    completeMultipartUpload_sSECustomerKey,+    completeMultipartUpload_sSECustomerKeyMD5,+    completeMultipartUpload_bucket,+    completeMultipartUpload_key,+    completeMultipartUpload_uploadId,+    completeMultipartUploadResponse_bucket,+    completeMultipartUploadResponse_bucketKeyEnabled,+    completeMultipartUploadResponse_checksumCRC32,+    completeMultipartUploadResponse_checksumCRC32C,+    completeMultipartUploadResponse_checksumSHA1,+    completeMultipartUploadResponse_checksumSHA256,+    completeMultipartUploadResponse_eTag,+    completeMultipartUploadResponse_expiration,+    completeMultipartUploadResponse_key,+    completeMultipartUploadResponse_location,+    completeMultipartUploadResponse_requestCharged,+    completeMultipartUploadResponse_sSEKMSKeyId,+    completeMultipartUploadResponse_serverSideEncryption,+    completeMultipartUploadResponse_versionId,+    completeMultipartUploadResponse_httpStatus,++    -- ** CopyObject+    copyObject_acl,+    copyObject_bucketKeyEnabled,+    copyObject_cacheControl,+    copyObject_checksumAlgorithm,+    copyObject_contentDisposition,+    copyObject_contentEncoding,+    copyObject_contentLanguage,+    copyObject_contentType,+    copyObject_copySourceIfMatch,+    copyObject_copySourceIfModifiedSince,+    copyObject_copySourceIfNoneMatch,+    copyObject_copySourceIfUnmodifiedSince,+    copyObject_copySourceSSECustomerAlgorithm,+    copyObject_copySourceSSECustomerKey,+    copyObject_copySourceSSECustomerKeyMD5,+    copyObject_expectedBucketOwner,+    copyObject_expectedSourceBucketOwner,+    copyObject_expires,+    copyObject_grantFullControl,+    copyObject_grantRead,+    copyObject_grantReadACP,+    copyObject_grantWriteACP,+    copyObject_metadata,+    copyObject_metadataDirective,+    copyObject_objectLockLegalHoldStatus,+    copyObject_objectLockMode,+    copyObject_objectLockRetainUntilDate,+    copyObject_requestPayer,+    copyObject_sSECustomerAlgorithm,+    copyObject_sSECustomerKey,+    copyObject_sSECustomerKeyMD5,+    copyObject_sSEKMSEncryptionContext,+    copyObject_sSEKMSKeyId,+    copyObject_serverSideEncryption,+    copyObject_storageClass,+    copyObject_tagging,+    copyObject_taggingDirective,+    copyObject_websiteRedirectLocation,+    copyObject_bucket,+    copyObject_copySource,+    copyObject_key,+    copyObjectResponse_bucketKeyEnabled,+    copyObjectResponse_copyObjectResult,+    copyObjectResponse_copySourceVersionId,+    copyObjectResponse_expiration,+    copyObjectResponse_requestCharged,+    copyObjectResponse_sSECustomerAlgorithm,+    copyObjectResponse_sSECustomerKeyMD5,+    copyObjectResponse_sSEKMSEncryptionContext,+    copyObjectResponse_sSEKMSKeyId,+    copyObjectResponse_serverSideEncryption,+    copyObjectResponse_versionId,+    copyObjectResponse_httpStatus,++    -- ** CreateBucket+    createBucket_acl,+    createBucket_createBucketConfiguration,+    createBucket_grantFullControl,+    createBucket_grantRead,+    createBucket_grantReadACP,+    createBucket_grantWrite,+    createBucket_grantWriteACP,+    createBucket_objectLockEnabledForBucket,+    createBucket_objectOwnership,+    createBucket_bucket,+    createBucketResponse_location,+    createBucketResponse_httpStatus,++    -- ** CreateMultipartUpload+    createMultipartUpload_acl,+    createMultipartUpload_bucketKeyEnabled,+    createMultipartUpload_cacheControl,+    createMultipartUpload_checksumAlgorithm,+    createMultipartUpload_contentDisposition,+    createMultipartUpload_contentEncoding,+    createMultipartUpload_contentLanguage,+    createMultipartUpload_contentType,+    createMultipartUpload_expectedBucketOwner,+    createMultipartUpload_expires,+    createMultipartUpload_grantFullControl,+    createMultipartUpload_grantRead,+    createMultipartUpload_grantReadACP,+    createMultipartUpload_grantWriteACP,+    createMultipartUpload_metadata,+    createMultipartUpload_objectLockLegalHoldStatus,+    createMultipartUpload_objectLockMode,+    createMultipartUpload_objectLockRetainUntilDate,+    createMultipartUpload_requestPayer,+    createMultipartUpload_sSECustomerAlgorithm,+    createMultipartUpload_sSECustomerKey,+    createMultipartUpload_sSECustomerKeyMD5,+    createMultipartUpload_sSEKMSEncryptionContext,+    createMultipartUpload_sSEKMSKeyId,+    createMultipartUpload_serverSideEncryption,+    createMultipartUpload_storageClass,+    createMultipartUpload_tagging,+    createMultipartUpload_websiteRedirectLocation,+    createMultipartUpload_bucket,+    createMultipartUpload_key,+    createMultipartUploadResponse_abortDate,+    createMultipartUploadResponse_abortRuleId,+    createMultipartUploadResponse_bucket,+    createMultipartUploadResponse_bucketKeyEnabled,+    createMultipartUploadResponse_checksumAlgorithm,+    createMultipartUploadResponse_key,+    createMultipartUploadResponse_requestCharged,+    createMultipartUploadResponse_sSECustomerAlgorithm,+    createMultipartUploadResponse_sSECustomerKeyMD5,+    createMultipartUploadResponse_sSEKMSEncryptionContext,+    createMultipartUploadResponse_sSEKMSKeyId,+    createMultipartUploadResponse_serverSideEncryption,+    createMultipartUploadResponse_httpStatus,+    createMultipartUploadResponse_uploadId,++    -- ** DeleteBucket+    deleteBucket_expectedBucketOwner,+    deleteBucket_bucket,++    -- ** DeleteBucketAnalyticsConfiguration+    deleteBucketAnalyticsConfiguration_expectedBucketOwner,+    deleteBucketAnalyticsConfiguration_bucket,+    deleteBucketAnalyticsConfiguration_id,++    -- ** DeleteBucketCors+    deleteBucketCors_expectedBucketOwner,+    deleteBucketCors_bucket,++    -- ** DeleteBucketEncryption+    deleteBucketEncryption_expectedBucketOwner,+    deleteBucketEncryption_bucket,++    -- ** DeleteBucketIntelligentTieringConfiguration+    deleteBucketIntelligentTieringConfiguration_bucket,+    deleteBucketIntelligentTieringConfiguration_id,++    -- ** DeleteBucketInventoryConfiguration+    deleteBucketInventoryConfiguration_expectedBucketOwner,+    deleteBucketInventoryConfiguration_bucket,+    deleteBucketInventoryConfiguration_id,++    -- ** DeleteBucketLifecycle+    deleteBucketLifecycle_expectedBucketOwner,+    deleteBucketLifecycle_bucket,++    -- ** DeleteBucketMetricsConfiguration+    deleteBucketMetricsConfiguration_expectedBucketOwner,+    deleteBucketMetricsConfiguration_bucket,+    deleteBucketMetricsConfiguration_id,++    -- ** DeleteBucketOwnershipControls+    deleteBucketOwnershipControls_expectedBucketOwner,+    deleteBucketOwnershipControls_bucket,++    -- ** DeleteBucketPolicy+    deleteBucketPolicy_expectedBucketOwner,+    deleteBucketPolicy_bucket,++    -- ** DeleteBucketReplication+    deleteBucketReplication_expectedBucketOwner,+    deleteBucketReplication_bucket,++    -- ** DeleteBucketTagging+    deleteBucketTagging_expectedBucketOwner,+    deleteBucketTagging_bucket,++    -- ** DeleteBucketWebsite+    deleteBucketWebsite_expectedBucketOwner,+    deleteBucketWebsite_bucket,++    -- ** DeleteObject+    deleteObject_bypassGovernanceRetention,+    deleteObject_expectedBucketOwner,+    deleteObject_mfa,+    deleteObject_requestPayer,+    deleteObject_versionId,+    deleteObject_bucket,+    deleteObject_key,+    deleteObjectResponse_deleteMarker,+    deleteObjectResponse_requestCharged,+    deleteObjectResponse_versionId,+    deleteObjectResponse_httpStatus,++    -- ** DeleteObjectTagging+    deleteObjectTagging_expectedBucketOwner,+    deleteObjectTagging_versionId,+    deleteObjectTagging_bucket,+    deleteObjectTagging_key,+    deleteObjectTaggingResponse_versionId,+    deleteObjectTaggingResponse_httpStatus,++    -- ** DeleteObjects+    deleteObjects_bypassGovernanceRetention,+    deleteObjects_checksumAlgorithm,+    deleteObjects_expectedBucketOwner,+    deleteObjects_mfa,+    deleteObjects_requestPayer,+    deleteObjects_bucket,+    deleteObjects_delete,+    deleteObjectsResponse_deleted,+    deleteObjectsResponse_errors,+    deleteObjectsResponse_requestCharged,+    deleteObjectsResponse_httpStatus,++    -- ** DeletePublicAccessBlock+    deletePublicAccessBlock_expectedBucketOwner,+    deletePublicAccessBlock_bucket,++    -- ** GetBucketAccelerateConfiguration+    getBucketAccelerateConfiguration_expectedBucketOwner,+    getBucketAccelerateConfiguration_bucket,+    getBucketAccelerateConfigurationResponse_status,+    getBucketAccelerateConfigurationResponse_httpStatus,++    -- ** GetBucketAcl+    getBucketAcl_expectedBucketOwner,+    getBucketAcl_bucket,+    getBucketAclResponse_grants,+    getBucketAclResponse_owner,+    getBucketAclResponse_httpStatus,++    -- ** GetBucketAnalyticsConfiguration+    getBucketAnalyticsConfiguration_expectedBucketOwner,+    getBucketAnalyticsConfiguration_bucket,+    getBucketAnalyticsConfiguration_id,+    getBucketAnalyticsConfigurationResponse_analyticsConfiguration,+    getBucketAnalyticsConfigurationResponse_httpStatus,++    -- ** GetBucketCors+    getBucketCors_expectedBucketOwner,+    getBucketCors_bucket,+    getBucketCorsResponse_cORSRules,+    getBucketCorsResponse_httpStatus,++    -- ** GetBucketEncryption+    getBucketEncryption_expectedBucketOwner,+    getBucketEncryption_bucket,+    getBucketEncryptionResponse_serverSideEncryptionConfiguration,+    getBucketEncryptionResponse_httpStatus,++    -- ** GetBucketIntelligentTieringConfiguration+    getBucketIntelligentTieringConfiguration_bucket,+    getBucketIntelligentTieringConfiguration_id,+    getBucketIntelligentTieringConfigurationResponse_intelligentTieringConfiguration,+    getBucketIntelligentTieringConfigurationResponse_httpStatus,++    -- ** GetBucketInventoryConfiguration+    getBucketInventoryConfiguration_expectedBucketOwner,+    getBucketInventoryConfiguration_bucket,+    getBucketInventoryConfiguration_id,+    getBucketInventoryConfigurationResponse_inventoryConfiguration,+    getBucketInventoryConfigurationResponse_httpStatus,++    -- ** GetBucketLifecycleConfiguration+    getBucketLifecycleConfiguration_expectedBucketOwner,+    getBucketLifecycleConfiguration_bucket,+    getBucketLifecycleConfigurationResponse_rules,+    getBucketLifecycleConfigurationResponse_httpStatus,++    -- ** GetBucketLocation+    getBucketLocation_expectedBucketOwner,+    getBucketLocation_bucket,+    getBucketLocationResponse_httpStatus,+    getBucketLocationResponse_locationConstraint,++    -- ** GetBucketLogging+    getBucketLogging_expectedBucketOwner,+    getBucketLogging_bucket,+    getBucketLoggingResponse_loggingEnabled,+    getBucketLoggingResponse_httpStatus,++    -- ** GetBucketMetricsConfiguration+    getBucketMetricsConfiguration_expectedBucketOwner,+    getBucketMetricsConfiguration_bucket,+    getBucketMetricsConfiguration_id,+    getBucketMetricsConfigurationResponse_metricsConfiguration,+    getBucketMetricsConfigurationResponse_httpStatus,++    -- ** GetBucketNotificationConfiguration+    getBucketNotificationConfiguration_expectedBucketOwner,+    getBucketNotificationConfiguration_bucket,+    notificationConfiguration_eventBridgeConfiguration,+    notificationConfiguration_lambdaFunctionConfigurations,+    notificationConfiguration_queueConfigurations,+    notificationConfiguration_topicConfigurations,++    -- ** GetBucketOwnershipControls+    getBucketOwnershipControls_expectedBucketOwner,+    getBucketOwnershipControls_bucket,+    getBucketOwnershipControlsResponse_ownershipControls,+    getBucketOwnershipControlsResponse_httpStatus,++    -- ** GetBucketPolicy+    getBucketPolicy_expectedBucketOwner,+    getBucketPolicy_bucket,+    getBucketPolicyResponse_httpStatus,+    getBucketPolicyResponse_policy,++    -- ** GetBucketPolicyStatus+    getBucketPolicyStatus_expectedBucketOwner,+    getBucketPolicyStatus_bucket,+    getBucketPolicyStatusResponse_policyStatus,+    getBucketPolicyStatusResponse_httpStatus,++    -- ** GetBucketReplication+    getBucketReplication_expectedBucketOwner,+    getBucketReplication_bucket,+    getBucketReplicationResponse_replicationConfiguration,+    getBucketReplicationResponse_httpStatus,++    -- ** GetBucketRequestPayment+    getBucketRequestPayment_expectedBucketOwner,+    getBucketRequestPayment_bucket,+    getBucketRequestPaymentResponse_payer,+    getBucketRequestPaymentResponse_httpStatus,++    -- ** GetBucketTagging+    getBucketTagging_expectedBucketOwner,+    getBucketTagging_bucket,+    getBucketTaggingResponse_httpStatus,+    getBucketTaggingResponse_tagSet,++    -- ** GetBucketVersioning+    getBucketVersioning_expectedBucketOwner,+    getBucketVersioning_bucket,+    getBucketVersioningResponse_mfaDelete,+    getBucketVersioningResponse_status,+    getBucketVersioningResponse_httpStatus,++    -- ** GetBucketWebsite+    getBucketWebsite_expectedBucketOwner,+    getBucketWebsite_bucket,+    getBucketWebsiteResponse_errorDocument,+    getBucketWebsiteResponse_indexDocument,+    getBucketWebsiteResponse_redirectAllRequestsTo,+    getBucketWebsiteResponse_routingRules,+    getBucketWebsiteResponse_httpStatus,++    -- ** GetObject+    getObject_checksumMode,+    getObject_expectedBucketOwner,+    getObject_ifMatch,+    getObject_ifModifiedSince,+    getObject_ifNoneMatch,+    getObject_ifUnmodifiedSince,+    getObject_partNumber,+    getObject_range,+    getObject_requestPayer,+    getObject_responseCacheControl,+    getObject_responseContentDisposition,+    getObject_responseContentEncoding,+    getObject_responseContentLanguage,+    getObject_responseContentType,+    getObject_responseExpires,+    getObject_sSECustomerAlgorithm,+    getObject_sSECustomerKey,+    getObject_sSECustomerKeyMD5,+    getObject_versionId,+    getObject_bucket,+    getObject_key,+    getObjectResponse_acceptRanges,+    getObjectResponse_bucketKeyEnabled,+    getObjectResponse_cacheControl,+    getObjectResponse_checksumCRC32,+    getObjectResponse_checksumCRC32C,+    getObjectResponse_checksumSHA1,+    getObjectResponse_checksumSHA256,+    getObjectResponse_contentDisposition,+    getObjectResponse_contentEncoding,+    getObjectResponse_contentLanguage,+    getObjectResponse_contentLength,+    getObjectResponse_contentRange,+    getObjectResponse_contentType,+    getObjectResponse_deleteMarker,+    getObjectResponse_eTag,+    getObjectResponse_expiration,+    getObjectResponse_expires,+    getObjectResponse_lastModified,+    getObjectResponse_metadata,+    getObjectResponse_missingMeta,+    getObjectResponse_objectLockLegalHoldStatus,+    getObjectResponse_objectLockMode,+    getObjectResponse_objectLockRetainUntilDate,+    getObjectResponse_partsCount,+    getObjectResponse_replicationStatus,+    getObjectResponse_requestCharged,+    getObjectResponse_restore,+    getObjectResponse_sSECustomerAlgorithm,+    getObjectResponse_sSECustomerKeyMD5,+    getObjectResponse_sSEKMSKeyId,+    getObjectResponse_serverSideEncryption,+    getObjectResponse_storageClass,+    getObjectResponse_tagCount,+    getObjectResponse_versionId,+    getObjectResponse_websiteRedirectLocation,+    getObjectResponse_httpStatus,+    getObjectResponse_body,++    -- ** GetObjectAcl+    getObjectAcl_expectedBucketOwner,+    getObjectAcl_requestPayer,+    getObjectAcl_versionId,+    getObjectAcl_bucket,+    getObjectAcl_key,+    getObjectAclResponse_grants,+    getObjectAclResponse_owner,+    getObjectAclResponse_requestCharged,+    getObjectAclResponse_httpStatus,++    -- ** GetObjectAttributes+    getObjectAttributes_expectedBucketOwner,+    getObjectAttributes_maxParts,+    getObjectAttributes_partNumberMarker,+    getObjectAttributes_requestPayer,+    getObjectAttributes_sSECustomerAlgorithm,+    getObjectAttributes_sSECustomerKey,+    getObjectAttributes_sSECustomerKeyMD5,+    getObjectAttributes_versionId,+    getObjectAttributes_bucket,+    getObjectAttributes_key,+    getObjectAttributes_objectAttributes,+    getObjectAttributesResponse_checksum,+    getObjectAttributesResponse_deleteMarker,+    getObjectAttributesResponse_eTag,+    getObjectAttributesResponse_lastModified,+    getObjectAttributesResponse_objectParts,+    getObjectAttributesResponse_objectSize,+    getObjectAttributesResponse_requestCharged,+    getObjectAttributesResponse_storageClass,+    getObjectAttributesResponse_versionId,+    getObjectAttributesResponse_httpStatus,++    -- ** GetObjectLegalHold+    getObjectLegalHold_expectedBucketOwner,+    getObjectLegalHold_requestPayer,+    getObjectLegalHold_versionId,+    getObjectLegalHold_bucket,+    getObjectLegalHold_key,+    getObjectLegalHoldResponse_legalHold,+    getObjectLegalHoldResponse_httpStatus,++    -- ** GetObjectLockConfiguration+    getObjectLockConfiguration_expectedBucketOwner,+    getObjectLockConfiguration_bucket,+    getObjectLockConfigurationResponse_objectLockConfiguration,+    getObjectLockConfigurationResponse_httpStatus,++    -- ** GetObjectRetention+    getObjectRetention_expectedBucketOwner,+    getObjectRetention_requestPayer,+    getObjectRetention_versionId,+    getObjectRetention_bucket,+    getObjectRetention_key,+    getObjectRetentionResponse_retention,+    getObjectRetentionResponse_httpStatus,++    -- ** GetObjectTagging+    getObjectTagging_expectedBucketOwner,+    getObjectTagging_requestPayer,+    getObjectTagging_versionId,+    getObjectTagging_bucket,+    getObjectTagging_key,+    getObjectTaggingResponse_versionId,+    getObjectTaggingResponse_httpStatus,+    getObjectTaggingResponse_tagSet,++    -- ** GetObjectTorrent+    getObjectTorrent_expectedBucketOwner,+    getObjectTorrent_requestPayer,+    getObjectTorrent_bucket,+    getObjectTorrent_key,+    getObjectTorrentResponse_requestCharged,+    getObjectTorrentResponse_httpStatus,+    getObjectTorrentResponse_body,++    -- ** GetPublicAccessBlock+    getPublicAccessBlock_expectedBucketOwner,+    getPublicAccessBlock_bucket,+    getPublicAccessBlockResponse_publicAccessBlockConfiguration,+    getPublicAccessBlockResponse_httpStatus,++    -- ** HeadBucket+    headBucket_expectedBucketOwner,+    headBucket_bucket,++    -- ** HeadObject+    headObject_checksumMode,+    headObject_expectedBucketOwner,+    headObject_ifMatch,+    headObject_ifModifiedSince,+    headObject_ifNoneMatch,+    headObject_ifUnmodifiedSince,+    headObject_partNumber,+    headObject_range,+    headObject_requestPayer,+    headObject_sSECustomerAlgorithm,+    headObject_sSECustomerKey,+    headObject_sSECustomerKeyMD5,+    headObject_versionId,+    headObject_bucket,+    headObject_key,+    headObjectResponse_acceptRanges,+    headObjectResponse_archiveStatus,+    headObjectResponse_bucketKeyEnabled,+    headObjectResponse_cacheControl,+    headObjectResponse_checksumCRC32,+    headObjectResponse_checksumCRC32C,+    headObjectResponse_checksumSHA1,+    headObjectResponse_checksumSHA256,+    headObjectResponse_contentDisposition,+    headObjectResponse_contentEncoding,+    headObjectResponse_contentLanguage,+    headObjectResponse_contentLength,+    headObjectResponse_contentType,+    headObjectResponse_deleteMarker,+    headObjectResponse_eTag,+    headObjectResponse_expiration,+    headObjectResponse_expires,+    headObjectResponse_lastModified,+    headObjectResponse_metadata,+    headObjectResponse_missingMeta,+    headObjectResponse_objectLockLegalHoldStatus,+    headObjectResponse_objectLockMode,+    headObjectResponse_objectLockRetainUntilDate,+    headObjectResponse_partsCount,+    headObjectResponse_replicationStatus,+    headObjectResponse_requestCharged,+    headObjectResponse_restore,+    headObjectResponse_sSECustomerAlgorithm,+    headObjectResponse_sSECustomerKeyMD5,+    headObjectResponse_sSEKMSKeyId,+    headObjectResponse_serverSideEncryption,+    headObjectResponse_storageClass,+    headObjectResponse_versionId,+    headObjectResponse_websiteRedirectLocation,+    headObjectResponse_httpStatus,++    -- ** ListBucketAnalyticsConfigurations+    listBucketAnalyticsConfigurations_continuationToken,+    listBucketAnalyticsConfigurations_expectedBucketOwner,+    listBucketAnalyticsConfigurations_bucket,+    listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList,+    listBucketAnalyticsConfigurationsResponse_continuationToken,+    listBucketAnalyticsConfigurationsResponse_isTruncated,+    listBucketAnalyticsConfigurationsResponse_nextContinuationToken,+    listBucketAnalyticsConfigurationsResponse_httpStatus,++    -- ** ListBucketIntelligentTieringConfigurations+    listBucketIntelligentTieringConfigurations_continuationToken,+    listBucketIntelligentTieringConfigurations_bucket,+    listBucketIntelligentTieringConfigurationsResponse_continuationToken,+    listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList,+    listBucketIntelligentTieringConfigurationsResponse_isTruncated,+    listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken,+    listBucketIntelligentTieringConfigurationsResponse_httpStatus,++    -- ** ListBucketInventoryConfigurations+    listBucketInventoryConfigurations_continuationToken,+    listBucketInventoryConfigurations_expectedBucketOwner,+    listBucketInventoryConfigurations_bucket,+    listBucketInventoryConfigurationsResponse_continuationToken,+    listBucketInventoryConfigurationsResponse_inventoryConfigurationList,+    listBucketInventoryConfigurationsResponse_isTruncated,+    listBucketInventoryConfigurationsResponse_nextContinuationToken,+    listBucketInventoryConfigurationsResponse_httpStatus,++    -- ** ListBucketMetricsConfigurations+    listBucketMetricsConfigurations_continuationToken,+    listBucketMetricsConfigurations_expectedBucketOwner,+    listBucketMetricsConfigurations_bucket,+    listBucketMetricsConfigurationsResponse_continuationToken,+    listBucketMetricsConfigurationsResponse_isTruncated,+    listBucketMetricsConfigurationsResponse_metricsConfigurationList,+    listBucketMetricsConfigurationsResponse_nextContinuationToken,+    listBucketMetricsConfigurationsResponse_httpStatus,++    -- ** ListBuckets+    listBucketsResponse_buckets,+    listBucketsResponse_owner,+    listBucketsResponse_httpStatus,++    -- ** ListMultipartUploads+    listMultipartUploads_delimiter,+    listMultipartUploads_encodingType,+    listMultipartUploads_expectedBucketOwner,+    listMultipartUploads_keyMarker,+    listMultipartUploads_maxUploads,+    listMultipartUploads_prefix,+    listMultipartUploads_uploadIdMarker,+    listMultipartUploads_bucket,+    listMultipartUploadsResponse_bucket,+    listMultipartUploadsResponse_commonPrefixes,+    listMultipartUploadsResponse_delimiter,+    listMultipartUploadsResponse_encodingType,+    listMultipartUploadsResponse_isTruncated,+    listMultipartUploadsResponse_keyMarker,+    listMultipartUploadsResponse_maxUploads,+    listMultipartUploadsResponse_nextKeyMarker,+    listMultipartUploadsResponse_nextUploadIdMarker,+    listMultipartUploadsResponse_prefix,+    listMultipartUploadsResponse_uploadIdMarker,+    listMultipartUploadsResponse_uploads,+    listMultipartUploadsResponse_httpStatus,++    -- ** ListObjectVersions+    listObjectVersions_delimiter,+    listObjectVersions_encodingType,+    listObjectVersions_expectedBucketOwner,+    listObjectVersions_keyMarker,+    listObjectVersions_maxKeys,+    listObjectVersions_prefix,+    listObjectVersions_versionIdMarker,+    listObjectVersions_bucket,+    listObjectVersionsResponse_commonPrefixes,+    listObjectVersionsResponse_deleteMarkers,+    listObjectVersionsResponse_delimiter,+    listObjectVersionsResponse_encodingType,+    listObjectVersionsResponse_isTruncated,+    listObjectVersionsResponse_keyMarker,+    listObjectVersionsResponse_maxKeys,+    listObjectVersionsResponse_name,+    listObjectVersionsResponse_nextKeyMarker,+    listObjectVersionsResponse_nextVersionIdMarker,+    listObjectVersionsResponse_prefix,+    listObjectVersionsResponse_versionIdMarker,+    listObjectVersionsResponse_versions,+    listObjectVersionsResponse_httpStatus,++    -- ** ListObjects+    listObjects_delimiter,+    listObjects_encodingType,+    listObjects_expectedBucketOwner,+    listObjects_marker,+    listObjects_maxKeys,+    listObjects_prefix,+    listObjects_requestPayer,+    listObjects_bucket,+    listObjectsResponse_commonPrefixes,+    listObjectsResponse_contents,+    listObjectsResponse_delimiter,+    listObjectsResponse_encodingType,+    listObjectsResponse_isTruncated,+    listObjectsResponse_marker,+    listObjectsResponse_maxKeys,+    listObjectsResponse_name,+    listObjectsResponse_nextMarker,+    listObjectsResponse_prefix,+    listObjectsResponse_httpStatus,++    -- ** ListObjectsV2+    listObjectsV2_continuationToken,+    listObjectsV2_delimiter,+    listObjectsV2_encodingType,+    listObjectsV2_expectedBucketOwner,+    listObjectsV2_fetchOwner,+    listObjectsV2_maxKeys,+    listObjectsV2_prefix,+    listObjectsV2_requestPayer,+    listObjectsV2_startAfter,+    listObjectsV2_bucket,+    listObjectsV2Response_commonPrefixes,+    listObjectsV2Response_contents,+    listObjectsV2Response_continuationToken,+    listObjectsV2Response_delimiter,+    listObjectsV2Response_encodingType,+    listObjectsV2Response_isTruncated,+    listObjectsV2Response_keyCount,+    listObjectsV2Response_maxKeys,+    listObjectsV2Response_name,+    listObjectsV2Response_nextContinuationToken,+    listObjectsV2Response_prefix,+    listObjectsV2Response_startAfter,+    listObjectsV2Response_httpStatus,++    -- ** ListParts+    listParts_expectedBucketOwner,+    listParts_maxParts,+    listParts_partNumberMarker,+    listParts_requestPayer,+    listParts_sSECustomerAlgorithm,+    listParts_sSECustomerKey,+    listParts_sSECustomerKeyMD5,+    listParts_bucket,+    listParts_key,+    listParts_uploadId,+    listPartsResponse_abortDate,+    listPartsResponse_abortRuleId,+    listPartsResponse_bucket,+    listPartsResponse_checksumAlgorithm,+    listPartsResponse_initiator,+    listPartsResponse_isTruncated,+    listPartsResponse_key,+    listPartsResponse_maxParts,+    listPartsResponse_nextPartNumberMarker,+    listPartsResponse_owner,+    listPartsResponse_partNumberMarker,+    listPartsResponse_parts,+    listPartsResponse_requestCharged,+    listPartsResponse_storageClass,+    listPartsResponse_uploadId,+    listPartsResponse_httpStatus,++    -- ** PutBucketAccelerateConfiguration+    putBucketAccelerateConfiguration_checksumAlgorithm,+    putBucketAccelerateConfiguration_expectedBucketOwner,+    putBucketAccelerateConfiguration_bucket,+    putBucketAccelerateConfiguration_accelerateConfiguration,++    -- ** PutBucketAcl+    putBucketAcl_acl,+    putBucketAcl_accessControlPolicy,+    putBucketAcl_checksumAlgorithm,+    putBucketAcl_contentMD5,+    putBucketAcl_expectedBucketOwner,+    putBucketAcl_grantFullControl,+    putBucketAcl_grantRead,+    putBucketAcl_grantReadACP,+    putBucketAcl_grantWrite,+    putBucketAcl_grantWriteACP,+    putBucketAcl_bucket,++    -- ** PutBucketAnalyticsConfiguration+    putBucketAnalyticsConfiguration_expectedBucketOwner,+    putBucketAnalyticsConfiguration_bucket,+    putBucketAnalyticsConfiguration_id,+    putBucketAnalyticsConfiguration_analyticsConfiguration,++    -- ** PutBucketCors+    putBucketCors_checksumAlgorithm,+    putBucketCors_contentMD5,+    putBucketCors_expectedBucketOwner,+    putBucketCors_bucket,+    putBucketCors_cORSConfiguration,++    -- ** PutBucketEncryption+    putBucketEncryption_checksumAlgorithm,+    putBucketEncryption_contentMD5,+    putBucketEncryption_expectedBucketOwner,+    putBucketEncryption_bucket,+    putBucketEncryption_serverSideEncryptionConfiguration,++    -- ** PutBucketIntelligentTieringConfiguration+    putBucketIntelligentTieringConfiguration_bucket,+    putBucketIntelligentTieringConfiguration_id,+    putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration,++    -- ** PutBucketInventoryConfiguration+    putBucketInventoryConfiguration_expectedBucketOwner,+    putBucketInventoryConfiguration_bucket,+    putBucketInventoryConfiguration_id,+    putBucketInventoryConfiguration_inventoryConfiguration,++    -- ** PutBucketLifecycleConfiguration+    putBucketLifecycleConfiguration_checksumAlgorithm,+    putBucketLifecycleConfiguration_expectedBucketOwner,+    putBucketLifecycleConfiguration_lifecycleConfiguration,+    putBucketLifecycleConfiguration_bucket,++    -- ** PutBucketLogging+    putBucketLogging_checksumAlgorithm,+    putBucketLogging_contentMD5,+    putBucketLogging_expectedBucketOwner,+    putBucketLogging_bucket,+    putBucketLogging_bucketLoggingStatus,++    -- ** PutBucketMetricsConfiguration+    putBucketMetricsConfiguration_expectedBucketOwner,+    putBucketMetricsConfiguration_bucket,+    putBucketMetricsConfiguration_id,+    putBucketMetricsConfiguration_metricsConfiguration,++    -- ** PutBucketNotificationConfiguration+    putBucketNotificationConfiguration_expectedBucketOwner,+    putBucketNotificationConfiguration_skipDestinationValidation,+    putBucketNotificationConfiguration_bucket,+    putBucketNotificationConfiguration_notificationConfiguration,++    -- ** PutBucketOwnershipControls+    putBucketOwnershipControls_contentMD5,+    putBucketOwnershipControls_expectedBucketOwner,+    putBucketOwnershipControls_bucket,+    putBucketOwnershipControls_ownershipControls,++    -- ** PutBucketPolicy+    putBucketPolicy_checksumAlgorithm,+    putBucketPolicy_confirmRemoveSelfBucketAccess,+    putBucketPolicy_contentMD5,+    putBucketPolicy_expectedBucketOwner,+    putBucketPolicy_bucket,+    putBucketPolicy_policy,++    -- ** PutBucketReplication+    putBucketReplication_checksumAlgorithm,+    putBucketReplication_contentMD5,+    putBucketReplication_expectedBucketOwner,+    putBucketReplication_token,+    putBucketReplication_bucket,+    putBucketReplication_replicationConfiguration,++    -- ** PutBucketRequestPayment+    putBucketRequestPayment_checksumAlgorithm,+    putBucketRequestPayment_contentMD5,+    putBucketRequestPayment_expectedBucketOwner,+    putBucketRequestPayment_bucket,+    putBucketRequestPayment_requestPaymentConfiguration,++    -- ** PutBucketTagging+    putBucketTagging_checksumAlgorithm,+    putBucketTagging_contentMD5,+    putBucketTagging_expectedBucketOwner,+    putBucketTagging_bucket,+    putBucketTagging_tagging,++    -- ** PutBucketVersioning+    putBucketVersioning_checksumAlgorithm,+    putBucketVersioning_contentMD5,+    putBucketVersioning_expectedBucketOwner,+    putBucketVersioning_mfa,+    putBucketVersioning_bucket,+    putBucketVersioning_versioningConfiguration,++    -- ** PutBucketWebsite+    putBucketWebsite_checksumAlgorithm,+    putBucketWebsite_contentMD5,+    putBucketWebsite_expectedBucketOwner,+    putBucketWebsite_bucket,+    putBucketWebsite_websiteConfiguration,++    -- ** PutObject+    putObject_acl,+    putObject_bucketKeyEnabled,+    putObject_cacheControl,+    putObject_checksumAlgorithm,+    putObject_checksumCRC32,+    putObject_checksumCRC32C,+    putObject_checksumSHA1,+    putObject_checksumSHA256,+    putObject_contentDisposition,+    putObject_contentEncoding,+    putObject_contentLanguage,+    putObject_contentLength,+    putObject_contentMD5,+    putObject_contentType,+    putObject_expectedBucketOwner,+    putObject_expires,+    putObject_grantFullControl,+    putObject_grantRead,+    putObject_grantReadACP,+    putObject_grantWriteACP,+    putObject_metadata,+    putObject_objectLockLegalHoldStatus,+    putObject_objectLockMode,+    putObject_objectLockRetainUntilDate,+    putObject_requestPayer,+    putObject_sSECustomerAlgorithm,+    putObject_sSECustomerKey,+    putObject_sSECustomerKeyMD5,+    putObject_sSEKMSEncryptionContext,+    putObject_sSEKMSKeyId,+    putObject_serverSideEncryption,+    putObject_storageClass,+    putObject_tagging,+    putObject_websiteRedirectLocation,+    putObject_bucket,+    putObject_key,+    putObject_body,+    putObjectResponse_bucketKeyEnabled,+    putObjectResponse_checksumCRC32,+    putObjectResponse_checksumCRC32C,+    putObjectResponse_checksumSHA1,+    putObjectResponse_checksumSHA256,+    putObjectResponse_eTag,+    putObjectResponse_expiration,+    putObjectResponse_requestCharged,+    putObjectResponse_sSECustomerAlgorithm,+    putObjectResponse_sSECustomerKeyMD5,+    putObjectResponse_sSEKMSEncryptionContext,+    putObjectResponse_sSEKMSKeyId,+    putObjectResponse_serverSideEncryption,+    putObjectResponse_versionId,+    putObjectResponse_httpStatus,++    -- ** PutObjectAcl+    putObjectAcl_acl,+    putObjectAcl_accessControlPolicy,+    putObjectAcl_checksumAlgorithm,+    putObjectAcl_contentMD5,+    putObjectAcl_expectedBucketOwner,+    putObjectAcl_grantFullControl,+    putObjectAcl_grantRead,+    putObjectAcl_grantReadACP,+    putObjectAcl_grantWrite,+    putObjectAcl_grantWriteACP,+    putObjectAcl_requestPayer,+    putObjectAcl_versionId,+    putObjectAcl_bucket,+    putObjectAcl_key,+    putObjectAclResponse_requestCharged,+    putObjectAclResponse_httpStatus,++    -- ** PutObjectLegalHold+    putObjectLegalHold_checksumAlgorithm,+    putObjectLegalHold_contentMD5,+    putObjectLegalHold_expectedBucketOwner,+    putObjectLegalHold_legalHold,+    putObjectLegalHold_requestPayer,+    putObjectLegalHold_versionId,+    putObjectLegalHold_bucket,+    putObjectLegalHold_key,+    putObjectLegalHoldResponse_requestCharged,+    putObjectLegalHoldResponse_httpStatus,++    -- ** PutObjectLockConfiguration+    putObjectLockConfiguration_checksumAlgorithm,+    putObjectLockConfiguration_contentMD5,+    putObjectLockConfiguration_expectedBucketOwner,+    putObjectLockConfiguration_objectLockConfiguration,+    putObjectLockConfiguration_requestPayer,+    putObjectLockConfiguration_token,+    putObjectLockConfiguration_bucket,+    putObjectLockConfigurationResponse_requestCharged,+    putObjectLockConfigurationResponse_httpStatus,++    -- ** PutObjectRetention+    putObjectRetention_bypassGovernanceRetention,+    putObjectRetention_checksumAlgorithm,+    putObjectRetention_contentMD5,+    putObjectRetention_expectedBucketOwner,+    putObjectRetention_requestPayer,+    putObjectRetention_retention,+    putObjectRetention_versionId,+    putObjectRetention_bucket,+    putObjectRetention_key,+    putObjectRetentionResponse_requestCharged,+    putObjectRetentionResponse_httpStatus,++    -- ** PutObjectTagging+    putObjectTagging_checksumAlgorithm,+    putObjectTagging_contentMD5,+    putObjectTagging_expectedBucketOwner,+    putObjectTagging_requestPayer,+    putObjectTagging_versionId,+    putObjectTagging_bucket,+    putObjectTagging_key,+    putObjectTagging_tagging,+    putObjectTaggingResponse_versionId,+    putObjectTaggingResponse_httpStatus,++    -- ** PutPublicAccessBlock+    putPublicAccessBlock_checksumAlgorithm,+    putPublicAccessBlock_contentMD5,+    putPublicAccessBlock_expectedBucketOwner,+    putPublicAccessBlock_bucket,+    putPublicAccessBlock_publicAccessBlockConfiguration,++    -- ** RestoreObject+    restoreObject_checksumAlgorithm,+    restoreObject_expectedBucketOwner,+    restoreObject_requestPayer,+    restoreObject_restoreRequest,+    restoreObject_versionId,+    restoreObject_bucket,+    restoreObject_key,+    restoreObjectResponse_requestCharged,+    restoreObjectResponse_restoreOutputPath,+    restoreObjectResponse_httpStatus,++    -- ** SelectObjectContent+    selectObjectContent_expectedBucketOwner,+    selectObjectContent_requestProgress,+    selectObjectContent_sSECustomerAlgorithm,+    selectObjectContent_sSECustomerKey,+    selectObjectContent_sSECustomerKeyMD5,+    selectObjectContent_scanRange,+    selectObjectContent_bucket,+    selectObjectContent_key,+    selectObjectContent_expression,+    selectObjectContent_expressionType,+    selectObjectContent_inputSerialization,+    selectObjectContent_outputSerialization,+    selectObjectContentResponse_payload,+    selectObjectContentResponse_httpStatus,++    -- ** UploadPart+    uploadPart_checksumAlgorithm,+    uploadPart_checksumCRC32,+    uploadPart_checksumCRC32C,+    uploadPart_checksumSHA1,+    uploadPart_checksumSHA256,+    uploadPart_contentLength,+    uploadPart_contentMD5,+    uploadPart_expectedBucketOwner,+    uploadPart_requestPayer,+    uploadPart_sSECustomerAlgorithm,+    uploadPart_sSECustomerKey,+    uploadPart_sSECustomerKeyMD5,+    uploadPart_bucket,+    uploadPart_key,+    uploadPart_partNumber,+    uploadPart_uploadId,+    uploadPart_body,+    uploadPartResponse_bucketKeyEnabled,+    uploadPartResponse_checksumCRC32,+    uploadPartResponse_checksumCRC32C,+    uploadPartResponse_checksumSHA1,+    uploadPartResponse_checksumSHA256,+    uploadPartResponse_eTag,+    uploadPartResponse_requestCharged,+    uploadPartResponse_sSECustomerAlgorithm,+    uploadPartResponse_sSECustomerKeyMD5,+    uploadPartResponse_sSEKMSKeyId,+    uploadPartResponse_serverSideEncryption,+    uploadPartResponse_httpStatus,++    -- ** UploadPartCopy+    uploadPartCopy_copySourceIfMatch,+    uploadPartCopy_copySourceIfModifiedSince,+    uploadPartCopy_copySourceIfNoneMatch,+    uploadPartCopy_copySourceIfUnmodifiedSince,+    uploadPartCopy_copySourceRange,+    uploadPartCopy_copySourceSSECustomerAlgorithm,+    uploadPartCopy_copySourceSSECustomerKey,+    uploadPartCopy_copySourceSSECustomerKeyMD5,+    uploadPartCopy_expectedBucketOwner,+    uploadPartCopy_expectedSourceBucketOwner,+    uploadPartCopy_requestPayer,+    uploadPartCopy_sSECustomerAlgorithm,+    uploadPartCopy_sSECustomerKey,+    uploadPartCopy_sSECustomerKeyMD5,+    uploadPartCopy_bucket,+    uploadPartCopy_copySource,+    uploadPartCopy_key,+    uploadPartCopy_partNumber,+    uploadPartCopy_uploadId,+    uploadPartCopyResponse_bucketKeyEnabled,+    uploadPartCopyResponse_copyPartResult,+    uploadPartCopyResponse_copySourceVersionId,+    uploadPartCopyResponse_requestCharged,+    uploadPartCopyResponse_sSECustomerAlgorithm,+    uploadPartCopyResponse_sSECustomerKeyMD5,+    uploadPartCopyResponse_sSEKMSKeyId,+    uploadPartCopyResponse_serverSideEncryption,+    uploadPartCopyResponse_httpStatus,++    -- ** WriteGetObjectResponse+    writeGetObjectResponse_acceptRanges,+    writeGetObjectResponse_bucketKeyEnabled,+    writeGetObjectResponse_cacheControl,+    writeGetObjectResponse_checksumCRC32,+    writeGetObjectResponse_checksumCRC32C,+    writeGetObjectResponse_checksumSHA1,+    writeGetObjectResponse_checksumSHA256,+    writeGetObjectResponse_contentDisposition,+    writeGetObjectResponse_contentEncoding,+    writeGetObjectResponse_contentLanguage,+    writeGetObjectResponse_contentLength,+    writeGetObjectResponse_contentRange,+    writeGetObjectResponse_contentType,+    writeGetObjectResponse_deleteMarker,+    writeGetObjectResponse_eTag,+    writeGetObjectResponse_errorCode,+    writeGetObjectResponse_errorMessage,+    writeGetObjectResponse_expiration,+    writeGetObjectResponse_expires,+    writeGetObjectResponse_lastModified,+    writeGetObjectResponse_metadata,+    writeGetObjectResponse_missingMeta,+    writeGetObjectResponse_objectLockLegalHoldStatus,+    writeGetObjectResponse_objectLockMode,+    writeGetObjectResponse_objectLockRetainUntilDate,+    writeGetObjectResponse_partsCount,+    writeGetObjectResponse_replicationStatus,+    writeGetObjectResponse_requestCharged,+    writeGetObjectResponse_restore,+    writeGetObjectResponse_sSECustomerAlgorithm,+    writeGetObjectResponse_sSECustomerKeyMD5,+    writeGetObjectResponse_sSEKMSKeyId,+    writeGetObjectResponse_serverSideEncryption,+    writeGetObjectResponse_statusCode,+    writeGetObjectResponse_storageClass,+    writeGetObjectResponse_tagCount,+    writeGetObjectResponse_versionId,+    writeGetObjectResponse_requestRoute,+    writeGetObjectResponse_requestToken,+    writeGetObjectResponse_body,++    -- * Types++    -- ** AbortIncompleteMultipartUpload+    abortIncompleteMultipartUpload_daysAfterInitiation,++    -- ** AccelerateConfiguration+    accelerateConfiguration_status,++    -- ** AccessControlPolicy+    accessControlPolicy_grants,+    accessControlPolicy_owner,++    -- ** AccessControlTranslation+    accessControlTranslation_owner,++    -- ** AnalyticsAndOperator+    analyticsAndOperator_prefix,+    analyticsAndOperator_tags,++    -- ** AnalyticsConfiguration+    analyticsConfiguration_filter,+    analyticsConfiguration_id,+    analyticsConfiguration_storageClassAnalysis,++    -- ** AnalyticsExportDestination+    analyticsExportDestination_s3BucketDestination,++    -- ** AnalyticsFilter+    analyticsFilter_and,+    analyticsFilter_prefix,+    analyticsFilter_tag,++    -- ** AnalyticsS3BucketDestination+    analyticsS3BucketDestination_bucketAccountId,+    analyticsS3BucketDestination_prefix,+    analyticsS3BucketDestination_format,+    analyticsS3BucketDestination_bucket,++    -- ** Bucket+    bucket_creationDate,+    bucket_name,++    -- ** BucketLifecycleConfiguration+    bucketLifecycleConfiguration_rules,++    -- ** BucketLoggingStatus+    bucketLoggingStatus_loggingEnabled,++    -- ** CORSConfiguration+    cORSConfiguration_cORSRules,++    -- ** CORSRule+    cORSRule_allowedHeaders,+    cORSRule_exposeHeaders,+    cORSRule_id,+    cORSRule_maxAgeSeconds,+    cORSRule_allowedMethods,+    cORSRule_allowedOrigins,++    -- ** CSVInput+    cSVInput_allowQuotedRecordDelimiter,+    cSVInput_comments,+    cSVInput_fieldDelimiter,+    cSVInput_fileHeaderInfo,+    cSVInput_quoteCharacter,+    cSVInput_quoteEscapeCharacter,+    cSVInput_recordDelimiter,++    -- ** CSVOutput+    cSVOutput_fieldDelimiter,+    cSVOutput_quoteCharacter,+    cSVOutput_quoteEscapeCharacter,+    cSVOutput_quoteFields,+    cSVOutput_recordDelimiter,++    -- ** Checksum+    checksum_checksumCRC32,+    checksum_checksumCRC32C,+    checksum_checksumSHA1,+    checksum_checksumSHA256,++    -- ** CommonPrefix+    commonPrefix_prefix,++    -- ** CompletedMultipartUpload+    completedMultipartUpload_parts,++    -- ** CompletedPart+    completedPart_checksumCRC32,+    completedPart_checksumCRC32C,+    completedPart_checksumSHA1,+    completedPart_checksumSHA256,+    completedPart_partNumber,+    completedPart_eTag,++    -- ** Condition+    condition_httpErrorCodeReturnedEquals,+    condition_keyPrefixEquals,++    -- ** ContinuationEvent++    -- ** CopyObjectResult+    copyObjectResult_checksumCRC32,+    copyObjectResult_checksumCRC32C,+    copyObjectResult_checksumSHA1,+    copyObjectResult_checksumSHA256,+    copyObjectResult_eTag,+    copyObjectResult_lastModified,++    -- ** CopyPartResult+    copyPartResult_checksumCRC32,+    copyPartResult_checksumCRC32C,+    copyPartResult_checksumSHA1,+    copyPartResult_checksumSHA256,+    copyPartResult_eTag,+    copyPartResult_lastModified,++    -- ** CreateBucketConfiguration+    createBucketConfiguration_locationConstraint,++    -- ** DefaultRetention+    defaultRetention_days,+    defaultRetention_mode,+    defaultRetention_years,++    -- ** Delete+    delete_quiet,+    delete_objects,++    -- ** DeleteMarkerEntry+    deleteMarkerEntry_isLatest,+    deleteMarkerEntry_key,+    deleteMarkerEntry_lastModified,+    deleteMarkerEntry_owner,+    deleteMarkerEntry_versionId,++    -- ** DeleteMarkerReplication+    deleteMarkerReplication_status,++    -- ** DeletedObject+    deletedObject_deleteMarker,+    deletedObject_deleteMarkerVersionId,+    deletedObject_key,+    deletedObject_versionId,++    -- ** Destination+    destination_accessControlTranslation,+    destination_account,+    destination_encryptionConfiguration,+    destination_metrics,+    destination_replicationTime,+    destination_storageClass,+    destination_bucket,++    -- ** Encryption+    encryption_kmsContext,+    encryption_kmsKeyId,+    encryption_encryptionType,++    -- ** EncryptionConfiguration+    encryptionConfiguration_replicaKmsKeyID,++    -- ** EndEvent++    -- ** ErrorDocument+    errorDocument_key,++    -- ** EventBridgeConfiguration++    -- ** ExistingObjectReplication+    existingObjectReplication_status,++    -- ** FilterRule+    filterRule_name,+    filterRule_value,++    -- ** GetObjectAttributesParts+    getObjectAttributesParts_isTruncated,+    getObjectAttributesParts_maxParts,+    getObjectAttributesParts_nextPartNumberMarker,+    getObjectAttributesParts_partNumberMarker,+    getObjectAttributesParts_parts,+    getObjectAttributesParts_totalPartsCount,++    -- ** GlacierJobParameters+    glacierJobParameters_tier,++    -- ** Grant+    grant_grantee,+    grant_permission,++    -- ** Grantee+    grantee_displayName,+    grantee_emailAddress,+    grantee_id,+    grantee_uri,+    grantee_type,++    -- ** IndexDocument+    indexDocument_suffix,++    -- ** Initiator+    initiator_displayName,+    initiator_id,++    -- ** InputSerialization+    inputSerialization_csv,+    inputSerialization_compressionType,+    inputSerialization_json,+    inputSerialization_parquet,++    -- ** IntelligentTieringAndOperator+    intelligentTieringAndOperator_prefix,+    intelligentTieringAndOperator_tags,++    -- ** IntelligentTieringConfiguration+    intelligentTieringConfiguration_filter,+    intelligentTieringConfiguration_id,+    intelligentTieringConfiguration_status,+    intelligentTieringConfiguration_tierings,++    -- ** IntelligentTieringFilter+    intelligentTieringFilter_and,+    intelligentTieringFilter_prefix,+    intelligentTieringFilter_tag,++    -- ** InventoryConfiguration+    inventoryConfiguration_filter,+    inventoryConfiguration_optionalFields,+    inventoryConfiguration_destination,+    inventoryConfiguration_isEnabled,+    inventoryConfiguration_id,+    inventoryConfiguration_includedObjectVersions,+    inventoryConfiguration_schedule,++    -- ** InventoryDestination+    inventoryDestination_s3BucketDestination,++    -- ** InventoryEncryption+    inventoryEncryption_ssekms,+    inventoryEncryption_sses3,++    -- ** InventoryFilter+    inventoryFilter_prefix,++    -- ** InventoryS3BucketDestination+    inventoryS3BucketDestination_accountId,+    inventoryS3BucketDestination_encryption,+    inventoryS3BucketDestination_prefix,+    inventoryS3BucketDestination_bucket,+    inventoryS3BucketDestination_format,++    -- ** InventorySchedule+    inventorySchedule_frequency,++    -- ** JSONInput+    jSONInput_type,++    -- ** JSONOutput+    jSONOutput_recordDelimiter,++    -- ** LambdaFunctionConfiguration+    lambdaFunctionConfiguration_filter,+    lambdaFunctionConfiguration_id,+    lambdaFunctionConfiguration_lambdaFunctionArn,+    lambdaFunctionConfiguration_events,++    -- ** LifecycleExpiration+    lifecycleExpiration_date,+    lifecycleExpiration_days,+    lifecycleExpiration_expiredObjectDeleteMarker,++    -- ** LifecycleRule+    lifecycleRule_abortIncompleteMultipartUpload,+    lifecycleRule_expiration,+    lifecycleRule_filter,+    lifecycleRule_id,+    lifecycleRule_noncurrentVersionExpiration,+    lifecycleRule_noncurrentVersionTransitions,+    lifecycleRule_prefix,+    lifecycleRule_transitions,+    lifecycleRule_status,++    -- ** LifecycleRuleAndOperator+    lifecycleRuleAndOperator_objectSizeGreaterThan,+    lifecycleRuleAndOperator_objectSizeLessThan,+    lifecycleRuleAndOperator_prefix,+    lifecycleRuleAndOperator_tags,++    -- ** LifecycleRuleFilter+    lifecycleRuleFilter_and,+    lifecycleRuleFilter_objectSizeGreaterThan,+    lifecycleRuleFilter_objectSizeLessThan,+    lifecycleRuleFilter_prefix,+    lifecycleRuleFilter_tag,++    -- ** LoggingEnabled+    loggingEnabled_targetGrants,+    loggingEnabled_targetBucket,+    loggingEnabled_targetPrefix,++    -- ** MetadataEntry+    metadataEntry_name,+    metadataEntry_value,++    -- ** Metrics+    metrics_eventThreshold,+    metrics_status,++    -- ** MetricsAndOperator+    metricsAndOperator_accessPointArn,+    metricsAndOperator_prefix,+    metricsAndOperator_tags,++    -- ** MetricsConfiguration+    metricsConfiguration_filter,+    metricsConfiguration_id,++    -- ** MetricsFilter+    metricsFilter_accessPointArn,+    metricsFilter_and,+    metricsFilter_prefix,+    metricsFilter_tag,++    -- ** MultipartUpload+    multipartUpload_checksumAlgorithm,+    multipartUpload_initiated,+    multipartUpload_initiator,+    multipartUpload_key,+    multipartUpload_owner,+    multipartUpload_storageClass,+    multipartUpload_uploadId,++    -- ** NoncurrentVersionExpiration+    noncurrentVersionExpiration_newerNoncurrentVersions,+    noncurrentVersionExpiration_noncurrentDays,++    -- ** NoncurrentVersionTransition+    noncurrentVersionTransition_newerNoncurrentVersions,+    noncurrentVersionTransition_noncurrentDays,+    noncurrentVersionTransition_storageClass,++    -- ** NotificationConfiguration+    notificationConfiguration_eventBridgeConfiguration,+    notificationConfiguration_lambdaFunctionConfigurations,+    notificationConfiguration_queueConfigurations,+    notificationConfiguration_topicConfigurations,++    -- ** NotificationConfigurationFilter+    notificationConfigurationFilter_key,++    -- ** Object+    object_checksumAlgorithm,+    object_owner,+    object_eTag,+    object_size,+    object_key,+    object_storageClass,+    object_lastModified,++    -- ** ObjectIdentifier+    objectIdentifier_versionId,+    objectIdentifier_key,++    -- ** ObjectLockConfiguration+    objectLockConfiguration_objectLockEnabled,+    objectLockConfiguration_rule,++    -- ** ObjectLockLegalHold+    objectLockLegalHold_status,++    -- ** ObjectLockRetention+    objectLockRetention_mode,+    objectLockRetention_retainUntilDate,++    -- ** ObjectLockRule+    objectLockRule_defaultRetention,++    -- ** ObjectPart+    objectPart_checksumCRC32,+    objectPart_checksumCRC32C,+    objectPart_checksumSHA1,+    objectPart_checksumSHA256,+    objectPart_partNumber,+    objectPart_size,++    -- ** ObjectVersion+    objectVersion_checksumAlgorithm,+    objectVersion_eTag,+    objectVersion_isLatest,+    objectVersion_key,+    objectVersion_lastModified,+    objectVersion_owner,+    objectVersion_size,+    objectVersion_storageClass,+    objectVersion_versionId,++    -- ** OutputLocation+    outputLocation_s3,++    -- ** OutputSerialization+    outputSerialization_csv,+    outputSerialization_json,++    -- ** Owner+    owner_displayName,+    owner_id,++    -- ** OwnershipControls+    ownershipControls_rules,++    -- ** OwnershipControlsRule+    ownershipControlsRule_objectOwnership,++    -- ** ParquetInput++    -- ** Part+    part_checksumCRC32,+    part_checksumCRC32C,+    part_checksumSHA1,+    part_checksumSHA256,+    part_eTag,+    part_lastModified,+    part_partNumber,+    part_size,++    -- ** PolicyStatus+    policyStatus_isPublic,++    -- ** Progress+    progress_bytesProcessed,+    progress_bytesReturned,+    progress_bytesScanned,++    -- ** ProgressEvent+    progressEvent_details,++    -- ** PublicAccessBlockConfiguration+    publicAccessBlockConfiguration_blockPublicAcls,+    publicAccessBlockConfiguration_blockPublicPolicy,+    publicAccessBlockConfiguration_ignorePublicAcls,+    publicAccessBlockConfiguration_restrictPublicBuckets,++    -- ** QueueConfiguration+    queueConfiguration_filter,+    queueConfiguration_id,+    queueConfiguration_queueArn,+    queueConfiguration_events,++    -- ** RecordsEvent+    recordsEvent_payload,++    -- ** Redirect+    redirect_hostName,+    redirect_httpRedirectCode,+    redirect_protocol,+    redirect_replaceKeyPrefixWith,+    redirect_replaceKeyWith,++    -- ** RedirectAllRequestsTo+    redirectAllRequestsTo_protocol,+    redirectAllRequestsTo_hostName,++    -- ** ReplicaModifications+    replicaModifications_status,++    -- ** ReplicationConfiguration+    replicationConfiguration_role,+    replicationConfiguration_rules,++    -- ** ReplicationRule+    replicationRule_deleteMarkerReplication,+    replicationRule_existingObjectReplication,+    replicationRule_filter,+    replicationRule_id,+    replicationRule_prefix,+    replicationRule_priority,+    replicationRule_sourceSelectionCriteria,+    replicationRule_status,+    replicationRule_destination,++    -- ** ReplicationRuleAndOperator+    replicationRuleAndOperator_prefix,+    replicationRuleAndOperator_tags,++    -- ** ReplicationRuleFilter+    replicationRuleFilter_and,+    replicationRuleFilter_prefix,+    replicationRuleFilter_tag,++    -- ** ReplicationTime+    replicationTime_status,+    replicationTime_time,++    -- ** ReplicationTimeValue+    replicationTimeValue_minutes,++    -- ** RequestPaymentConfiguration+    requestPaymentConfiguration_payer,++    -- ** RequestProgress+    requestProgress_enabled,++    -- ** RestoreRequest+    restoreRequest_days,+    restoreRequest_description,+    restoreRequest_glacierJobParameters,+    restoreRequest_outputLocation,+    restoreRequest_selectParameters,+    restoreRequest_tier,+    restoreRequest_type,++    -- ** RoutingRule+    routingRule_condition,+    routingRule_redirect,++    -- ** S3KeyFilter+    s3KeyFilter_filterRules,++    -- ** S3Location+    s3Location_accessControlList,+    s3Location_cannedACL,+    s3Location_encryption,+    s3Location_storageClass,+    s3Location_tagging,+    s3Location_userMetadata,+    s3Location_bucketName,+    s3Location_prefix,++    -- ** S3ServiceError+    s3ServiceError_code,+    s3ServiceError_key,+    s3ServiceError_message,+    s3ServiceError_versionId,++    -- ** SSEKMS+    ssekms_keyId,++    -- ** SSES3++    -- ** ScanRange+    scanRange_end,+    scanRange_start,++    -- ** SelectObjectContentEventStream+    selectObjectContentEventStream_cont,+    selectObjectContentEventStream_end,+    selectObjectContentEventStream_progress,+    selectObjectContentEventStream_records,+    selectObjectContentEventStream_stats,++    -- ** SelectParameters+    selectParameters_inputSerialization,+    selectParameters_expressionType,+    selectParameters_expression,+    selectParameters_outputSerialization,++    -- ** ServerSideEncryptionByDefault+    serverSideEncryptionByDefault_kmsMasterKeyID,+    serverSideEncryptionByDefault_sSEAlgorithm,++    -- ** ServerSideEncryptionConfiguration+    serverSideEncryptionConfiguration_rules,++    -- ** ServerSideEncryptionRule+    serverSideEncryptionRule_applyServerSideEncryptionByDefault,+    serverSideEncryptionRule_bucketKeyEnabled,++    -- ** SourceSelectionCriteria+    sourceSelectionCriteria_replicaModifications,+    sourceSelectionCriteria_sseKmsEncryptedObjects,++    -- ** SseKmsEncryptedObjects+    sseKmsEncryptedObjects_status,++    -- ** Stats+    stats_bytesProcessed,+    stats_bytesReturned,+    stats_bytesScanned,++    -- ** StatsEvent+    statsEvent_details,++    -- ** StorageClassAnalysis+    storageClassAnalysis_dataExport,++    -- ** StorageClassAnalysisDataExport+    storageClassAnalysisDataExport_outputSchemaVersion,+    storageClassAnalysisDataExport_destination,++    -- ** Tag+    tag_key,+    tag_value,++    -- ** Tagging+    tagging_tagSet,++    -- ** TargetGrant+    targetGrant_grantee,+    targetGrant_permission,++    -- ** Tiering+    tiering_days,+    tiering_accessTier,++    -- ** TopicConfiguration+    topicConfiguration_filter,+    topicConfiguration_id,+    topicConfiguration_topicArn,+    topicConfiguration_events,++    -- ** Transition+    transition_date,+    transition_days,+    transition_storageClass,++    -- ** VersioningConfiguration+    versioningConfiguration_mfaDelete,+    versioningConfiguration_status,++    -- ** WebsiteConfiguration+    websiteConfiguration_errorDocument,+    websiteConfiguration_indexDocument,+    websiteConfiguration_redirectAllRequestsTo,+    websiteConfiguration_routingRules,+  )+where++import Amazonka.S3.AbortMultipartUpload+import Amazonka.S3.CompleteMultipartUpload+import Amazonka.S3.CopyObject+import Amazonka.S3.CreateBucket+import Amazonka.S3.CreateMultipartUpload+import Amazonka.S3.DeleteBucket+import Amazonka.S3.DeleteBucketAnalyticsConfiguration+import Amazonka.S3.DeleteBucketCors+import Amazonka.S3.DeleteBucketEncryption+import Amazonka.S3.DeleteBucketIntelligentTieringConfiguration+import Amazonka.S3.DeleteBucketInventoryConfiguration+import Amazonka.S3.DeleteBucketLifecycle+import Amazonka.S3.DeleteBucketMetricsConfiguration+import Amazonka.S3.DeleteBucketOwnershipControls+import Amazonka.S3.DeleteBucketPolicy+import Amazonka.S3.DeleteBucketReplication+import Amazonka.S3.DeleteBucketTagging+import Amazonka.S3.DeleteBucketWebsite+import Amazonka.S3.DeleteObject+import Amazonka.S3.DeleteObjectTagging+import Amazonka.S3.DeleteObjects+import Amazonka.S3.DeletePublicAccessBlock+import Amazonka.S3.GetBucketAccelerateConfiguration+import Amazonka.S3.GetBucketAcl+import Amazonka.S3.GetBucketAnalyticsConfiguration+import Amazonka.S3.GetBucketCors+import Amazonka.S3.GetBucketEncryption+import Amazonka.S3.GetBucketIntelligentTieringConfiguration+import Amazonka.S3.GetBucketInventoryConfiguration+import Amazonka.S3.GetBucketLifecycleConfiguration+import Amazonka.S3.GetBucketLocation+import Amazonka.S3.GetBucketLogging+import Amazonka.S3.GetBucketMetricsConfiguration+import Amazonka.S3.GetBucketNotificationConfiguration+import Amazonka.S3.GetBucketOwnershipControls+import Amazonka.S3.GetBucketPolicy+import Amazonka.S3.GetBucketPolicyStatus+import Amazonka.S3.GetBucketReplication+import Amazonka.S3.GetBucketRequestPayment+import Amazonka.S3.GetBucketTagging+import Amazonka.S3.GetBucketVersioning+import Amazonka.S3.GetBucketWebsite+import Amazonka.S3.GetObject+import Amazonka.S3.GetObjectAcl+import Amazonka.S3.GetObjectAttributes+import Amazonka.S3.GetObjectLegalHold+import Amazonka.S3.GetObjectLockConfiguration+import Amazonka.S3.GetObjectRetention+import Amazonka.S3.GetObjectTagging+import Amazonka.S3.GetObjectTorrent+import Amazonka.S3.GetPublicAccessBlock+import Amazonka.S3.HeadBucket+import Amazonka.S3.HeadObject+import Amazonka.S3.ListBucketAnalyticsConfigurations+import Amazonka.S3.ListBucketIntelligentTieringConfigurations+import Amazonka.S3.ListBucketInventoryConfigurations+import Amazonka.S3.ListBucketMetricsConfigurations+import Amazonka.S3.ListBuckets+import Amazonka.S3.ListMultipartUploads+import Amazonka.S3.ListObjectVersions+import Amazonka.S3.ListObjects+import Amazonka.S3.ListObjectsV2+import Amazonka.S3.ListParts+import Amazonka.S3.PutBucketAccelerateConfiguration+import Amazonka.S3.PutBucketAcl+import Amazonka.S3.PutBucketAnalyticsConfiguration+import Amazonka.S3.PutBucketCors+import Amazonka.S3.PutBucketEncryption+import Amazonka.S3.PutBucketIntelligentTieringConfiguration+import Amazonka.S3.PutBucketInventoryConfiguration+import Amazonka.S3.PutBucketLifecycleConfiguration+import Amazonka.S3.PutBucketLogging+import Amazonka.S3.PutBucketMetricsConfiguration+import Amazonka.S3.PutBucketNotificationConfiguration+import Amazonka.S3.PutBucketOwnershipControls+import Amazonka.S3.PutBucketPolicy+import Amazonka.S3.PutBucketReplication+import Amazonka.S3.PutBucketRequestPayment+import Amazonka.S3.PutBucketTagging+import Amazonka.S3.PutBucketVersioning+import Amazonka.S3.PutBucketWebsite+import Amazonka.S3.PutObject+import Amazonka.S3.PutObjectAcl+import Amazonka.S3.PutObjectLegalHold+import Amazonka.S3.PutObjectLockConfiguration+import Amazonka.S3.PutObjectRetention+import Amazonka.S3.PutObjectTagging+import Amazonka.S3.PutPublicAccessBlock+import Amazonka.S3.RestoreObject+import Amazonka.S3.SelectObjectContent+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.Bucket+import Amazonka.S3.Types.BucketLifecycleConfiguration+import Amazonka.S3.Types.BucketLoggingStatus+import Amazonka.S3.Types.CORSConfiguration+import Amazonka.S3.Types.CORSRule+import Amazonka.S3.Types.CSVInput+import Amazonka.S3.Types.CSVOutput+import Amazonka.S3.Types.Checksum+import Amazonka.S3.Types.CommonPrefix+import Amazonka.S3.Types.CompletedMultipartUpload+import Amazonka.S3.Types.CompletedPart+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.DeletedObject+import Amazonka.S3.Types.Destination+import Amazonka.S3.Types.Encryption+import Amazonka.S3.Types.EncryptionConfiguration+import Amazonka.S3.Types.EndEvent+import Amazonka.S3.Types.ErrorDocument+import Amazonka.S3.Types.EventBridgeConfiguration+import Amazonka.S3.Types.ExistingObjectReplication+import Amazonka.S3.Types.FilterRule+import Amazonka.S3.Types.GetObjectAttributesParts+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.IntelligentTieringAndOperator+import Amazonka.S3.Types.IntelligentTieringConfiguration+import Amazonka.S3.Types.IntelligentTieringFilter+import Amazonka.S3.Types.InventoryConfiguration+import Amazonka.S3.Types.InventoryDestination+import Amazonka.S3.Types.InventoryEncryption+import Amazonka.S3.Types.InventoryFilter+import Amazonka.S3.Types.InventoryS3BucketDestination+import Amazonka.S3.Types.InventorySchedule+import Amazonka.S3.Types.JSONInput+import Amazonka.S3.Types.JSONOutput+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.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.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.ObjectIdentifier+import Amazonka.S3.Types.ObjectLockConfiguration+import Amazonka.S3.Types.ObjectLockLegalHold+import Amazonka.S3.Types.ObjectLockRetention+import Amazonka.S3.Types.ObjectLockRule+import Amazonka.S3.Types.ObjectPart+import Amazonka.S3.Types.ObjectVersion+import Amazonka.S3.Types.OutputLocation+import Amazonka.S3.Types.OutputSerialization+import Amazonka.S3.Types.Owner+import Amazonka.S3.Types.OwnershipControls+import Amazonka.S3.Types.OwnershipControlsRule+import Amazonka.S3.Types.ParquetInput+import Amazonka.S3.Types.Part+import Amazonka.S3.Types.PolicyStatus+import Amazonka.S3.Types.Progress+import Amazonka.S3.Types.ProgressEvent+import Amazonka.S3.Types.PublicAccessBlockConfiguration+import Amazonka.S3.Types.QueueConfiguration+import Amazonka.S3.Types.RecordsEvent+import Amazonka.S3.Types.Redirect+import Amazonka.S3.Types.RedirectAllRequestsTo+import Amazonka.S3.Types.ReplicaModifications+import Amazonka.S3.Types.ReplicationConfiguration+import Amazonka.S3.Types.ReplicationRule+import Amazonka.S3.Types.ReplicationRuleAndOperator+import Amazonka.S3.Types.ReplicationRuleFilter+import Amazonka.S3.Types.ReplicationTime+import Amazonka.S3.Types.ReplicationTimeValue+import Amazonka.S3.Types.RequestPaymentConfiguration+import Amazonka.S3.Types.RequestProgress+import Amazonka.S3.Types.RestoreRequest+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.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.Stats+import Amazonka.S3.Types.StatsEvent+import Amazonka.S3.Types.StorageClassAnalysis+import Amazonka.S3.Types.StorageClassAnalysisDataExport+import Amazonka.S3.Types.Tag+import Amazonka.S3.Types.Tagging+import Amazonka.S3.Types.TargetGrant+import Amazonka.S3.Types.Tiering+import Amazonka.S3.Types.TopicConfiguration+import Amazonka.S3.Types.Transition+import Amazonka.S3.Types.VersioningConfiguration+import Amazonka.S3.Types.WebsiteConfiguration+import Amazonka.S3.UploadPart+import Amazonka.S3.UploadPartCopy+import Amazonka.S3.WriteGetObjectResponse
+ gen/Amazonka/S3/ListBucketAnalyticsConfigurations.hs view
@@ -0,0 +1,316 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListBucketAnalyticsConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the analytics configurations for the bucket. You can have up to+-- 1,000 analytics configurations per bucket.+--+-- This action supports list pagination and does not return more than 100+-- configurations at a time. You should always check the @IsTruncated@+-- element in the response. If there are no more configurations to list,+-- @IsTruncated@ is set to false. If there are more configurations to list,+-- @IsTruncated@ is set to true, and there will be a value in+-- @NextContinuationToken@. You use the @NextContinuationToken@ value to+-- continue the pagination of the list by passing the value in+-- continuation-token in the request to @GET@ the next page.+--+-- To use this operation, you must have permissions to perform the+-- @s3:GetAnalyticsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about Amazon S3 analytics feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html Amazon S3 Analytics – Storage Class Analysis>.+--+-- The following operations are related to+-- @ListBucketAnalyticsConfigurations@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html GetBucketAnalyticsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html DeleteBucketAnalyticsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html PutBucketAnalyticsConfiguration>+module Amazonka.S3.ListBucketAnalyticsConfigurations+  ( -- * Creating a Request+    ListBucketAnalyticsConfigurations (..),+    newListBucketAnalyticsConfigurations,++    -- * Request Lenses+    listBucketAnalyticsConfigurations_continuationToken,+    listBucketAnalyticsConfigurations_expectedBucketOwner,+    listBucketAnalyticsConfigurations_bucket,++    -- * Destructuring the Response+    ListBucketAnalyticsConfigurationsResponse (..),+    newListBucketAnalyticsConfigurationsResponse,++    -- * Response Lenses+    listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList,+    listBucketAnalyticsConfigurationsResponse_continuationToken,+    listBucketAnalyticsConfigurationsResponse_isTruncated,+    listBucketAnalyticsConfigurationsResponse_nextContinuationToken,+    listBucketAnalyticsConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListBucketAnalyticsConfigurations' smart constructor.+data ListBucketAnalyticsConfigurations = ListBucketAnalyticsConfigurations'+  { -- | The ContinuationToken that represents a placeholder from where this+    -- request should begin.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket from which analytics configurations are+    -- retrieved.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketAnalyticsConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketAnalyticsConfigurations_continuationToken' - The ContinuationToken that represents a placeholder from where this+-- request should begin.+--+-- 'expectedBucketOwner', 'listBucketAnalyticsConfigurations_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'listBucketAnalyticsConfigurations_bucket' - The name of the bucket from which analytics configurations are+-- retrieved.+newListBucketAnalyticsConfigurations ::+  -- | 'bucket'+  BucketName ->+  ListBucketAnalyticsConfigurations+newListBucketAnalyticsConfigurations pBucket_ =+  ListBucketAnalyticsConfigurations'+    { continuationToken =+        Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_+    }++-- | The ContinuationToken that represents a placeholder from where this+-- request should begin.+listBucketAnalyticsConfigurations_continuationToken :: Lens.Lens' ListBucketAnalyticsConfigurations (Prelude.Maybe Prelude.Text)+listBucketAnalyticsConfigurations_continuationToken = Lens.lens (\ListBucketAnalyticsConfigurations' {continuationToken} -> continuationToken) (\s@ListBucketAnalyticsConfigurations' {} a -> s {continuationToken = a} :: ListBucketAnalyticsConfigurations)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listBucketAnalyticsConfigurations_expectedBucketOwner :: Lens.Lens' ListBucketAnalyticsConfigurations (Prelude.Maybe Prelude.Text)+listBucketAnalyticsConfigurations_expectedBucketOwner = Lens.lens (\ListBucketAnalyticsConfigurations' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListBucketAnalyticsConfigurations' {} a -> s {expectedBucketOwner = a} :: ListBucketAnalyticsConfigurations)++-- | The name of the bucket from which analytics configurations are+-- retrieved.+listBucketAnalyticsConfigurations_bucket :: Lens.Lens' ListBucketAnalyticsConfigurations BucketName+listBucketAnalyticsConfigurations_bucket = Lens.lens (\ListBucketAnalyticsConfigurations' {bucket} -> bucket) (\s@ListBucketAnalyticsConfigurations' {} a -> s {bucket = a} :: ListBucketAnalyticsConfigurations)++instance+  Core.AWSRequest+    ListBucketAnalyticsConfigurations+  where+  type+    AWSResponse ListBucketAnalyticsConfigurations =+      ListBucketAnalyticsConfigurationsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListBucketAnalyticsConfigurationsResponse'+            Prelude.<$> ( Core.may+                            (Data.parseXMLList "AnalyticsConfiguration")+                            x+                        )+            Prelude.<*> (x Data..@? "ContinuationToken")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "NextContinuationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListBucketAnalyticsConfigurations+  where+  hashWithSalt+    _salt+    ListBucketAnalyticsConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` continuationToken+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    ListBucketAnalyticsConfigurations+  where+  rnf ListBucketAnalyticsConfigurations' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    ListBucketAnalyticsConfigurations+  where+  toHeaders ListBucketAnalyticsConfigurations' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance+  Data.ToPath+    ListBucketAnalyticsConfigurations+  where+  toPath ListBucketAnalyticsConfigurations' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    ListBucketAnalyticsConfigurations+  where+  toQuery ListBucketAnalyticsConfigurations' {..} =+    Prelude.mconcat+      [ "continuation-token" Data.=: continuationToken,+        "analytics"+      ]++-- | /See:/ 'newListBucketAnalyticsConfigurationsResponse' smart constructor.+data ListBucketAnalyticsConfigurationsResponse = ListBucketAnalyticsConfigurationsResponse'+  { -- | The list of analytics configurations for a bucket.+    analyticsConfigurationList :: Prelude.Maybe [AnalyticsConfiguration],+    -- | The marker that is used as a starting point for this analytics+    -- configuration list response. This value is present if it was sent in the+    -- request.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the returned list of analytics configurations is+    -- complete. A value of true indicates that the list is not complete and+    -- the NextContinuationToken will be provided for a subsequent request.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | @NextContinuationToken@ is sent when @isTruncated@ is true, which+    -- indicates that there are more analytics configurations to list. The next+    -- request must include this @NextContinuationToken@. The token is+    -- obfuscated and is not a usable value.+    nextContinuationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketAnalyticsConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'analyticsConfigurationList', 'listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList' - The list of analytics configurations for a bucket.+--+-- 'continuationToken', 'listBucketAnalyticsConfigurationsResponse_continuationToken' - The marker that is used as a starting point for this analytics+-- configuration list response. This value is present if it was sent in the+-- request.+--+-- 'isTruncated', 'listBucketAnalyticsConfigurationsResponse_isTruncated' - Indicates whether the returned list of analytics configurations is+-- complete. A value of true indicates that the list is not complete and+-- the NextContinuationToken will be provided for a subsequent request.+--+-- 'nextContinuationToken', 'listBucketAnalyticsConfigurationsResponse_nextContinuationToken' - @NextContinuationToken@ is sent when @isTruncated@ is true, which+-- indicates that there are more analytics configurations to list. The next+-- request must include this @NextContinuationToken@. The token is+-- obfuscated and is not a usable value.+--+-- 'httpStatus', 'listBucketAnalyticsConfigurationsResponse_httpStatus' - The response's http status code.+newListBucketAnalyticsConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBucketAnalyticsConfigurationsResponse+newListBucketAnalyticsConfigurationsResponse+  pHttpStatus_ =+    ListBucketAnalyticsConfigurationsResponse'+      { analyticsConfigurationList =+          Prelude.Nothing,+        continuationToken =+          Prelude.Nothing,+        isTruncated = Prelude.Nothing,+        nextContinuationToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The list of analytics configurations for a bucket.+listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList :: Lens.Lens' ListBucketAnalyticsConfigurationsResponse (Prelude.Maybe [AnalyticsConfiguration])+listBucketAnalyticsConfigurationsResponse_analyticsConfigurationList = Lens.lens (\ListBucketAnalyticsConfigurationsResponse' {analyticsConfigurationList} -> analyticsConfigurationList) (\s@ListBucketAnalyticsConfigurationsResponse' {} a -> s {analyticsConfigurationList = a} :: ListBucketAnalyticsConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The marker that is used as a starting point for this analytics+-- configuration list response. This value is present if it was sent in the+-- request.+listBucketAnalyticsConfigurationsResponse_continuationToken :: Lens.Lens' ListBucketAnalyticsConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketAnalyticsConfigurationsResponse_continuationToken = Lens.lens (\ListBucketAnalyticsConfigurationsResponse' {continuationToken} -> continuationToken) (\s@ListBucketAnalyticsConfigurationsResponse' {} a -> s {continuationToken = a} :: ListBucketAnalyticsConfigurationsResponse)++-- | Indicates whether the returned list of analytics configurations is+-- complete. A value of true indicates that the list is not complete and+-- the NextContinuationToken will be provided for a subsequent request.+listBucketAnalyticsConfigurationsResponse_isTruncated :: Lens.Lens' ListBucketAnalyticsConfigurationsResponse (Prelude.Maybe Prelude.Bool)+listBucketAnalyticsConfigurationsResponse_isTruncated = Lens.lens (\ListBucketAnalyticsConfigurationsResponse' {isTruncated} -> isTruncated) (\s@ListBucketAnalyticsConfigurationsResponse' {} a -> s {isTruncated = a} :: ListBucketAnalyticsConfigurationsResponse)++-- | @NextContinuationToken@ is sent when @isTruncated@ is true, which+-- indicates that there are more analytics configurations to list. The next+-- request must include this @NextContinuationToken@. The token is+-- obfuscated and is not a usable value.+listBucketAnalyticsConfigurationsResponse_nextContinuationToken :: Lens.Lens' ListBucketAnalyticsConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketAnalyticsConfigurationsResponse_nextContinuationToken = Lens.lens (\ListBucketAnalyticsConfigurationsResponse' {nextContinuationToken} -> nextContinuationToken) (\s@ListBucketAnalyticsConfigurationsResponse' {} a -> s {nextContinuationToken = a} :: ListBucketAnalyticsConfigurationsResponse)++-- | The response's http status code.+listBucketAnalyticsConfigurationsResponse_httpStatus :: Lens.Lens' ListBucketAnalyticsConfigurationsResponse Prelude.Int+listBucketAnalyticsConfigurationsResponse_httpStatus = Lens.lens (\ListBucketAnalyticsConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListBucketAnalyticsConfigurationsResponse' {} a -> s {httpStatus = a} :: ListBucketAnalyticsConfigurationsResponse)++instance+  Prelude.NFData+    ListBucketAnalyticsConfigurationsResponse+  where+  rnf ListBucketAnalyticsConfigurationsResponse' {..} =+    Prelude.rnf analyticsConfigurationList+      `Prelude.seq` Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf nextContinuationToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListBucketIntelligentTieringConfigurations.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListBucketIntelligentTieringConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the S3 Intelligent-Tiering configuration from the specified+-- bucket.+--+-- The S3 Intelligent-Tiering storage class is designed to optimize storage+-- costs by automatically moving data to the most cost-effective storage+-- access tier, without performance impact or operational overhead. S3+-- Intelligent-Tiering delivers automatic cost savings in three low latency+-- and high throughput access tiers. To get the lowest storage cost on data+-- that can be accessed in minutes to hours, you can choose to activate+-- additional archiving capabilities.+--+-- The S3 Intelligent-Tiering storage class is the ideal storage class for+-- data with unknown, changing, or unpredictable access patterns,+-- independent of object size or retention period. If the size of an object+-- is less than 128 KB, it is not monitored and not eligible for+-- auto-tiering. Smaller objects can be stored, but they are always charged+-- at the Frequent Access tier rates in the S3 Intelligent-Tiering storage+-- class.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>.+--+-- Operations related to @ListBucketIntelligentTieringConfigurations@+-- include:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html DeleteBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html PutBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html GetBucketIntelligentTieringConfiguration>+module Amazonka.S3.ListBucketIntelligentTieringConfigurations+  ( -- * Creating a Request+    ListBucketIntelligentTieringConfigurations (..),+    newListBucketIntelligentTieringConfigurations,++    -- * Request Lenses+    listBucketIntelligentTieringConfigurations_continuationToken,+    listBucketIntelligentTieringConfigurations_bucket,++    -- * Destructuring the Response+    ListBucketIntelligentTieringConfigurationsResponse (..),+    newListBucketIntelligentTieringConfigurationsResponse,++    -- * Response Lenses+    listBucketIntelligentTieringConfigurationsResponse_continuationToken,+    listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList,+    listBucketIntelligentTieringConfigurationsResponse_isTruncated,+    listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken,+    listBucketIntelligentTieringConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListBucketIntelligentTieringConfigurations' smart constructor.+data ListBucketIntelligentTieringConfigurations = ListBucketIntelligentTieringConfigurations'+  { -- | The @ContinuationToken@ that represents a placeholder from where this+    -- request should begin.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | The name of the Amazon S3 bucket whose configuration you want to modify+    -- or retrieve.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketIntelligentTieringConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketIntelligentTieringConfigurations_continuationToken' - The @ContinuationToken@ that represents a placeholder from where this+-- request should begin.+--+-- 'bucket', 'listBucketIntelligentTieringConfigurations_bucket' - The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+newListBucketIntelligentTieringConfigurations ::+  -- | 'bucket'+  BucketName ->+  ListBucketIntelligentTieringConfigurations+newListBucketIntelligentTieringConfigurations+  pBucket_ =+    ListBucketIntelligentTieringConfigurations'+      { continuationToken =+          Prelude.Nothing,+        bucket = pBucket_+      }++-- | The @ContinuationToken@ that represents a placeholder from where this+-- request should begin.+listBucketIntelligentTieringConfigurations_continuationToken :: Lens.Lens' ListBucketIntelligentTieringConfigurations (Prelude.Maybe Prelude.Text)+listBucketIntelligentTieringConfigurations_continuationToken = Lens.lens (\ListBucketIntelligentTieringConfigurations' {continuationToken} -> continuationToken) (\s@ListBucketIntelligentTieringConfigurations' {} a -> s {continuationToken = a} :: ListBucketIntelligentTieringConfigurations)++-- | The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+listBucketIntelligentTieringConfigurations_bucket :: Lens.Lens' ListBucketIntelligentTieringConfigurations BucketName+listBucketIntelligentTieringConfigurations_bucket = Lens.lens (\ListBucketIntelligentTieringConfigurations' {bucket} -> bucket) (\s@ListBucketIntelligentTieringConfigurations' {} a -> s {bucket = a} :: ListBucketIntelligentTieringConfigurations)++instance+  Core.AWSRequest+    ListBucketIntelligentTieringConfigurations+  where+  type+    AWSResponse+      ListBucketIntelligentTieringConfigurations =+      ListBucketIntelligentTieringConfigurationsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListBucketIntelligentTieringConfigurationsResponse'+            Prelude.<$> (x Data..@? "ContinuationToken")+            Prelude.<*> ( Core.may+                            (Data.parseXMLList "IntelligentTieringConfiguration")+                            x+                        )+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "NextContinuationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListBucketIntelligentTieringConfigurations+  where+  hashWithSalt+    _salt+    ListBucketIntelligentTieringConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` continuationToken+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    ListBucketIntelligentTieringConfigurations+  where+  rnf ListBucketIntelligentTieringConfigurations' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    ListBucketIntelligentTieringConfigurations+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    ListBucketIntelligentTieringConfigurations+  where+  toPath+    ListBucketIntelligentTieringConfigurations' {..} =+      Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    ListBucketIntelligentTieringConfigurations+  where+  toQuery+    ListBucketIntelligentTieringConfigurations' {..} =+      Prelude.mconcat+        [ "continuation-token" Data.=: continuationToken,+          "intelligent-tiering"+        ]++-- | /See:/ 'newListBucketIntelligentTieringConfigurationsResponse' smart constructor.+data ListBucketIntelligentTieringConfigurationsResponse = ListBucketIntelligentTieringConfigurationsResponse'+  { -- | The @ContinuationToken@ that represents a placeholder from where this+    -- request should begin.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | The list of S3 Intelligent-Tiering configurations for a bucket.+    intelligentTieringConfigurationList :: Prelude.Maybe [IntelligentTieringConfiguration],+    -- | Indicates whether the returned list of analytics configurations is+    -- complete. A value of @true@ indicates that the list is not complete and+    -- the @NextContinuationToken@ will be provided for a subsequent request.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | The marker used to continue this inventory configuration listing. Use+    -- the @NextContinuationToken@ from this response to continue the listing+    -- in a subsequent request. The continuation token is an opaque value that+    -- Amazon S3 understands.+    nextContinuationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketIntelligentTieringConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketIntelligentTieringConfigurationsResponse_continuationToken' - The @ContinuationToken@ that represents a placeholder from where this+-- request should begin.+--+-- 'intelligentTieringConfigurationList', 'listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList' - The list of S3 Intelligent-Tiering configurations for a bucket.+--+-- 'isTruncated', 'listBucketIntelligentTieringConfigurationsResponse_isTruncated' - Indicates whether the returned list of analytics configurations is+-- complete. A value of @true@ indicates that the list is not complete and+-- the @NextContinuationToken@ will be provided for a subsequent request.+--+-- 'nextContinuationToken', 'listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken' - The marker used to continue this inventory configuration listing. Use+-- the @NextContinuationToken@ from this response to continue the listing+-- in a subsequent request. The continuation token is an opaque value that+-- Amazon S3 understands.+--+-- 'httpStatus', 'listBucketIntelligentTieringConfigurationsResponse_httpStatus' - The response's http status code.+newListBucketIntelligentTieringConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBucketIntelligentTieringConfigurationsResponse+newListBucketIntelligentTieringConfigurationsResponse+  pHttpStatus_ =+    ListBucketIntelligentTieringConfigurationsResponse'+      { continuationToken =+          Prelude.Nothing,+        intelligentTieringConfigurationList =+          Prelude.Nothing,+        isTruncated =+          Prelude.Nothing,+        nextContinuationToken =+          Prelude.Nothing,+        httpStatus =+          pHttpStatus_+      }++-- | The @ContinuationToken@ that represents a placeholder from where this+-- request should begin.+listBucketIntelligentTieringConfigurationsResponse_continuationToken :: Lens.Lens' ListBucketIntelligentTieringConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketIntelligentTieringConfigurationsResponse_continuationToken = Lens.lens (\ListBucketIntelligentTieringConfigurationsResponse' {continuationToken} -> continuationToken) (\s@ListBucketIntelligentTieringConfigurationsResponse' {} a -> s {continuationToken = a} :: ListBucketIntelligentTieringConfigurationsResponse)++-- | The list of S3 Intelligent-Tiering configurations for a bucket.+listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList :: Lens.Lens' ListBucketIntelligentTieringConfigurationsResponse (Prelude.Maybe [IntelligentTieringConfiguration])+listBucketIntelligentTieringConfigurationsResponse_intelligentTieringConfigurationList = Lens.lens (\ListBucketIntelligentTieringConfigurationsResponse' {intelligentTieringConfigurationList} -> intelligentTieringConfigurationList) (\s@ListBucketIntelligentTieringConfigurationsResponse' {} a -> s {intelligentTieringConfigurationList = a} :: ListBucketIntelligentTieringConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Indicates whether the returned list of analytics configurations is+-- complete. A value of @true@ indicates that the list is not complete and+-- the @NextContinuationToken@ will be provided for a subsequent request.+listBucketIntelligentTieringConfigurationsResponse_isTruncated :: Lens.Lens' ListBucketIntelligentTieringConfigurationsResponse (Prelude.Maybe Prelude.Bool)+listBucketIntelligentTieringConfigurationsResponse_isTruncated = Lens.lens (\ListBucketIntelligentTieringConfigurationsResponse' {isTruncated} -> isTruncated) (\s@ListBucketIntelligentTieringConfigurationsResponse' {} a -> s {isTruncated = a} :: ListBucketIntelligentTieringConfigurationsResponse)++-- | The marker used to continue this inventory configuration listing. Use+-- the @NextContinuationToken@ from this response to continue the listing+-- in a subsequent request. The continuation token is an opaque value that+-- Amazon S3 understands.+listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken :: Lens.Lens' ListBucketIntelligentTieringConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketIntelligentTieringConfigurationsResponse_nextContinuationToken = Lens.lens (\ListBucketIntelligentTieringConfigurationsResponse' {nextContinuationToken} -> nextContinuationToken) (\s@ListBucketIntelligentTieringConfigurationsResponse' {} a -> s {nextContinuationToken = a} :: ListBucketIntelligentTieringConfigurationsResponse)++-- | The response's http status code.+listBucketIntelligentTieringConfigurationsResponse_httpStatus :: Lens.Lens' ListBucketIntelligentTieringConfigurationsResponse Prelude.Int+listBucketIntelligentTieringConfigurationsResponse_httpStatus = Lens.lens (\ListBucketIntelligentTieringConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListBucketIntelligentTieringConfigurationsResponse' {} a -> s {httpStatus = a} :: ListBucketIntelligentTieringConfigurationsResponse)++instance+  Prelude.NFData+    ListBucketIntelligentTieringConfigurationsResponse+  where+  rnf+    ListBucketIntelligentTieringConfigurationsResponse' {..} =+      Prelude.rnf continuationToken+        `Prelude.seq` Prelude.rnf intelligentTieringConfigurationList+        `Prelude.seq` Prelude.rnf isTruncated+        `Prelude.seq` Prelude.rnf nextContinuationToken+        `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListBucketInventoryConfigurations.hs view
@@ -0,0 +1,319 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListBucketInventoryConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of inventory configurations for the bucket. You can have+-- up to 1,000 analytics configurations per bucket.+--+-- This action supports list pagination and does not return more than 100+-- configurations at a time. Always check the @IsTruncated@ element in the+-- response. If there are no more configurations to list, @IsTruncated@ is+-- set to false. If there are more configurations to list, @IsTruncated@ is+-- set to true, and there is a value in @NextContinuationToken@. You use+-- the @NextContinuationToken@ value to continue the pagination of the list+-- by passing the value in continuation-token in the request to @GET@ the+-- next page.+--+-- To use this operation, you must have permissions to perform the+-- @s3:GetInventoryConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about the Amazon S3 inventory feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html Amazon S3 Inventory>+--+-- The following operations are related to+-- @ListBucketInventoryConfigurations@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html GetBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html DeleteBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html PutBucketInventoryConfiguration>+module Amazonka.S3.ListBucketInventoryConfigurations+  ( -- * Creating a Request+    ListBucketInventoryConfigurations (..),+    newListBucketInventoryConfigurations,++    -- * Request Lenses+    listBucketInventoryConfigurations_continuationToken,+    listBucketInventoryConfigurations_expectedBucketOwner,+    listBucketInventoryConfigurations_bucket,++    -- * Destructuring the Response+    ListBucketInventoryConfigurationsResponse (..),+    newListBucketInventoryConfigurationsResponse,++    -- * Response Lenses+    listBucketInventoryConfigurationsResponse_continuationToken,+    listBucketInventoryConfigurationsResponse_inventoryConfigurationList,+    listBucketInventoryConfigurationsResponse_isTruncated,+    listBucketInventoryConfigurationsResponse_nextContinuationToken,+    listBucketInventoryConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListBucketInventoryConfigurations' smart constructor.+data ListBucketInventoryConfigurations = ListBucketInventoryConfigurations'+  { -- | The marker used to continue an inventory configuration listing that has+    -- been truncated. Use the NextContinuationToken from a previously+    -- truncated list response to continue the listing. The continuation token+    -- is an opaque value that Amazon S3 understands.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the inventory configurations to+    -- retrieve.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketInventoryConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketInventoryConfigurations_continuationToken' - The marker used to continue an inventory configuration listing that has+-- been truncated. Use the NextContinuationToken from a previously+-- truncated list response to continue the listing. The continuation token+-- is an opaque value that Amazon S3 understands.+--+-- 'expectedBucketOwner', 'listBucketInventoryConfigurations_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'listBucketInventoryConfigurations_bucket' - The name of the bucket containing the inventory configurations to+-- retrieve.+newListBucketInventoryConfigurations ::+  -- | 'bucket'+  BucketName ->+  ListBucketInventoryConfigurations+newListBucketInventoryConfigurations pBucket_ =+  ListBucketInventoryConfigurations'+    { continuationToken =+        Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_+    }++-- | The marker used to continue an inventory configuration listing that has+-- been truncated. Use the NextContinuationToken from a previously+-- truncated list response to continue the listing. The continuation token+-- is an opaque value that Amazon S3 understands.+listBucketInventoryConfigurations_continuationToken :: Lens.Lens' ListBucketInventoryConfigurations (Prelude.Maybe Prelude.Text)+listBucketInventoryConfigurations_continuationToken = Lens.lens (\ListBucketInventoryConfigurations' {continuationToken} -> continuationToken) (\s@ListBucketInventoryConfigurations' {} a -> s {continuationToken = a} :: ListBucketInventoryConfigurations)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listBucketInventoryConfigurations_expectedBucketOwner :: Lens.Lens' ListBucketInventoryConfigurations (Prelude.Maybe Prelude.Text)+listBucketInventoryConfigurations_expectedBucketOwner = Lens.lens (\ListBucketInventoryConfigurations' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListBucketInventoryConfigurations' {} a -> s {expectedBucketOwner = a} :: ListBucketInventoryConfigurations)++-- | The name of the bucket containing the inventory configurations to+-- retrieve.+listBucketInventoryConfigurations_bucket :: Lens.Lens' ListBucketInventoryConfigurations BucketName+listBucketInventoryConfigurations_bucket = Lens.lens (\ListBucketInventoryConfigurations' {bucket} -> bucket) (\s@ListBucketInventoryConfigurations' {} a -> s {bucket = a} :: ListBucketInventoryConfigurations)++instance+  Core.AWSRequest+    ListBucketInventoryConfigurations+  where+  type+    AWSResponse ListBucketInventoryConfigurations =+      ListBucketInventoryConfigurationsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListBucketInventoryConfigurationsResponse'+            Prelude.<$> (x Data..@? "ContinuationToken")+            Prelude.<*> ( Core.may+                            (Data.parseXMLList "InventoryConfiguration")+                            x+                        )+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "NextContinuationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListBucketInventoryConfigurations+  where+  hashWithSalt+    _salt+    ListBucketInventoryConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` continuationToken+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    ListBucketInventoryConfigurations+  where+  rnf ListBucketInventoryConfigurations' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    ListBucketInventoryConfigurations+  where+  toHeaders ListBucketInventoryConfigurations' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance+  Data.ToPath+    ListBucketInventoryConfigurations+  where+  toPath ListBucketInventoryConfigurations' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    ListBucketInventoryConfigurations+  where+  toQuery ListBucketInventoryConfigurations' {..} =+    Prelude.mconcat+      [ "continuation-token" Data.=: continuationToken,+        "inventory"+      ]++-- | /See:/ 'newListBucketInventoryConfigurationsResponse' smart constructor.+data ListBucketInventoryConfigurationsResponse = ListBucketInventoryConfigurationsResponse'+  { -- | If sent in the request, the marker that is used as a starting point for+    -- this inventory configuration list response.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | The list of inventory configurations for a bucket.+    inventoryConfigurationList :: Prelude.Maybe [InventoryConfiguration],+    -- | Tells whether the returned list of inventory configurations is complete.+    -- A value of true indicates that the list is not complete and the+    -- NextContinuationToken is provided for a subsequent request.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | The marker used to continue this inventory configuration listing. Use+    -- the @NextContinuationToken@ from this response to continue the listing+    -- in a subsequent request. The continuation token is an opaque value that+    -- Amazon S3 understands.+    nextContinuationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketInventoryConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketInventoryConfigurationsResponse_continuationToken' - If sent in the request, the marker that is used as a starting point for+-- this inventory configuration list response.+--+-- 'inventoryConfigurationList', 'listBucketInventoryConfigurationsResponse_inventoryConfigurationList' - The list of inventory configurations for a bucket.+--+-- 'isTruncated', 'listBucketInventoryConfigurationsResponse_isTruncated' - Tells whether the returned list of inventory configurations is complete.+-- A value of true indicates that the list is not complete and the+-- NextContinuationToken is provided for a subsequent request.+--+-- 'nextContinuationToken', 'listBucketInventoryConfigurationsResponse_nextContinuationToken' - The marker used to continue this inventory configuration listing. Use+-- the @NextContinuationToken@ from this response to continue the listing+-- in a subsequent request. The continuation token is an opaque value that+-- Amazon S3 understands.+--+-- 'httpStatus', 'listBucketInventoryConfigurationsResponse_httpStatus' - The response's http status code.+newListBucketInventoryConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBucketInventoryConfigurationsResponse+newListBucketInventoryConfigurationsResponse+  pHttpStatus_ =+    ListBucketInventoryConfigurationsResponse'+      { continuationToken =+          Prelude.Nothing,+        inventoryConfigurationList =+          Prelude.Nothing,+        isTruncated = Prelude.Nothing,+        nextContinuationToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | If sent in the request, the marker that is used as a starting point for+-- this inventory configuration list response.+listBucketInventoryConfigurationsResponse_continuationToken :: Lens.Lens' ListBucketInventoryConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketInventoryConfigurationsResponse_continuationToken = Lens.lens (\ListBucketInventoryConfigurationsResponse' {continuationToken} -> continuationToken) (\s@ListBucketInventoryConfigurationsResponse' {} a -> s {continuationToken = a} :: ListBucketInventoryConfigurationsResponse)++-- | The list of inventory configurations for a bucket.+listBucketInventoryConfigurationsResponse_inventoryConfigurationList :: Lens.Lens' ListBucketInventoryConfigurationsResponse (Prelude.Maybe [InventoryConfiguration])+listBucketInventoryConfigurationsResponse_inventoryConfigurationList = Lens.lens (\ListBucketInventoryConfigurationsResponse' {inventoryConfigurationList} -> inventoryConfigurationList) (\s@ListBucketInventoryConfigurationsResponse' {} a -> s {inventoryConfigurationList = a} :: ListBucketInventoryConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Tells whether the returned list of inventory configurations is complete.+-- A value of true indicates that the list is not complete and the+-- NextContinuationToken is provided for a subsequent request.+listBucketInventoryConfigurationsResponse_isTruncated :: Lens.Lens' ListBucketInventoryConfigurationsResponse (Prelude.Maybe Prelude.Bool)+listBucketInventoryConfigurationsResponse_isTruncated = Lens.lens (\ListBucketInventoryConfigurationsResponse' {isTruncated} -> isTruncated) (\s@ListBucketInventoryConfigurationsResponse' {} a -> s {isTruncated = a} :: ListBucketInventoryConfigurationsResponse)++-- | The marker used to continue this inventory configuration listing. Use+-- the @NextContinuationToken@ from this response to continue the listing+-- in a subsequent request. The continuation token is an opaque value that+-- Amazon S3 understands.+listBucketInventoryConfigurationsResponse_nextContinuationToken :: Lens.Lens' ListBucketInventoryConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketInventoryConfigurationsResponse_nextContinuationToken = Lens.lens (\ListBucketInventoryConfigurationsResponse' {nextContinuationToken} -> nextContinuationToken) (\s@ListBucketInventoryConfigurationsResponse' {} a -> s {nextContinuationToken = a} :: ListBucketInventoryConfigurationsResponse)++-- | The response's http status code.+listBucketInventoryConfigurationsResponse_httpStatus :: Lens.Lens' ListBucketInventoryConfigurationsResponse Prelude.Int+listBucketInventoryConfigurationsResponse_httpStatus = Lens.lens (\ListBucketInventoryConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListBucketInventoryConfigurationsResponse' {} a -> s {httpStatus = a} :: ListBucketInventoryConfigurationsResponse)++instance+  Prelude.NFData+    ListBucketInventoryConfigurationsResponse+  where+  rnf ListBucketInventoryConfigurationsResponse' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf inventoryConfigurationList+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf nextContinuationToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListBucketMetricsConfigurations.hs view
@@ -0,0 +1,319 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListBucketMetricsConfigurations+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the metrics configurations for the bucket. The metrics+-- configurations are only for the request metrics of the bucket and do not+-- provide information on daily storage metrics. You can have up to 1,000+-- configurations per bucket.+--+-- This action supports list pagination and does not return more than 100+-- configurations at a time. Always check the @IsTruncated@ element in the+-- response. If there are no more configurations to list, @IsTruncated@ is+-- set to false. If there are more configurations to list, @IsTruncated@ is+-- set to true, and there is a value in @NextContinuationToken@. You use+-- the @NextContinuationToken@ value to continue the pagination of the list+-- by passing the value in @continuation-token@ in the request to @GET@ the+-- next page.+--+-- To use this operation, you must have permissions to perform the+-- @s3:GetMetricsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For more information about metrics configurations and CloudWatch request+-- metrics, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html Monitoring Metrics with Amazon CloudWatch>.+--+-- The following operations are related to+-- @ListBucketMetricsConfigurations@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html PutBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html GetBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html DeleteBucketMetricsConfiguration>+module Amazonka.S3.ListBucketMetricsConfigurations+  ( -- * Creating a Request+    ListBucketMetricsConfigurations (..),+    newListBucketMetricsConfigurations,++    -- * Request Lenses+    listBucketMetricsConfigurations_continuationToken,+    listBucketMetricsConfigurations_expectedBucketOwner,+    listBucketMetricsConfigurations_bucket,++    -- * Destructuring the Response+    ListBucketMetricsConfigurationsResponse (..),+    newListBucketMetricsConfigurationsResponse,++    -- * Response Lenses+    listBucketMetricsConfigurationsResponse_continuationToken,+    listBucketMetricsConfigurationsResponse_isTruncated,+    listBucketMetricsConfigurationsResponse_metricsConfigurationList,+    listBucketMetricsConfigurationsResponse_nextContinuationToken,+    listBucketMetricsConfigurationsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListBucketMetricsConfigurations' smart constructor.+data ListBucketMetricsConfigurations = ListBucketMetricsConfigurations'+  { -- | The marker that is used to continue a metrics configuration listing that+    -- has been truncated. Use the NextContinuationToken from a previously+    -- truncated list response to continue the listing. The continuation token+    -- is an opaque value that Amazon S3 understands.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket containing the metrics configurations to+    -- retrieve.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketMetricsConfigurations' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketMetricsConfigurations_continuationToken' - The marker that is used to continue a metrics configuration listing that+-- has been truncated. Use the NextContinuationToken from a previously+-- truncated list response to continue the listing. The continuation token+-- is an opaque value that Amazon S3 understands.+--+-- 'expectedBucketOwner', 'listBucketMetricsConfigurations_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'listBucketMetricsConfigurations_bucket' - The name of the bucket containing the metrics configurations to+-- retrieve.+newListBucketMetricsConfigurations ::+  -- | 'bucket'+  BucketName ->+  ListBucketMetricsConfigurations+newListBucketMetricsConfigurations pBucket_ =+  ListBucketMetricsConfigurations'+    { continuationToken =+        Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_+    }++-- | The marker that is used to continue a metrics configuration listing that+-- has been truncated. Use the NextContinuationToken from a previously+-- truncated list response to continue the listing. The continuation token+-- is an opaque value that Amazon S3 understands.+listBucketMetricsConfigurations_continuationToken :: Lens.Lens' ListBucketMetricsConfigurations (Prelude.Maybe Prelude.Text)+listBucketMetricsConfigurations_continuationToken = Lens.lens (\ListBucketMetricsConfigurations' {continuationToken} -> continuationToken) (\s@ListBucketMetricsConfigurations' {} a -> s {continuationToken = a} :: ListBucketMetricsConfigurations)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listBucketMetricsConfigurations_expectedBucketOwner :: Lens.Lens' ListBucketMetricsConfigurations (Prelude.Maybe Prelude.Text)+listBucketMetricsConfigurations_expectedBucketOwner = Lens.lens (\ListBucketMetricsConfigurations' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListBucketMetricsConfigurations' {} a -> s {expectedBucketOwner = a} :: ListBucketMetricsConfigurations)++-- | The name of the bucket containing the metrics configurations to+-- retrieve.+listBucketMetricsConfigurations_bucket :: Lens.Lens' ListBucketMetricsConfigurations BucketName+listBucketMetricsConfigurations_bucket = Lens.lens (\ListBucketMetricsConfigurations' {bucket} -> bucket) (\s@ListBucketMetricsConfigurations' {} a -> s {bucket = a} :: ListBucketMetricsConfigurations)++instance+  Core.AWSRequest+    ListBucketMetricsConfigurations+  where+  type+    AWSResponse ListBucketMetricsConfigurations =+      ListBucketMetricsConfigurationsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListBucketMetricsConfigurationsResponse'+            Prelude.<$> (x Data..@? "ContinuationToken")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> ( Core.may+                            (Data.parseXMLList "MetricsConfiguration")+                            x+                        )+            Prelude.<*> (x Data..@? "NextContinuationToken")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance+  Prelude.Hashable+    ListBucketMetricsConfigurations+  where+  hashWithSalt+    _salt+    ListBucketMetricsConfigurations' {..} =+      _salt+        `Prelude.hashWithSalt` continuationToken+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    ListBucketMetricsConfigurations+  where+  rnf ListBucketMetricsConfigurations' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToHeaders+    ListBucketMetricsConfigurations+  where+  toHeaders ListBucketMetricsConfigurations' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath ListBucketMetricsConfigurations where+  toPath ListBucketMetricsConfigurations' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery ListBucketMetricsConfigurations where+  toQuery ListBucketMetricsConfigurations' {..} =+    Prelude.mconcat+      [ "continuation-token" Data.=: continuationToken,+        "metrics"+      ]++-- | /See:/ 'newListBucketMetricsConfigurationsResponse' smart constructor.+data ListBucketMetricsConfigurationsResponse = ListBucketMetricsConfigurationsResponse'+  { -- | The marker that is used as a starting point for this metrics+    -- configuration list response. This value is present if it was sent in the+    -- request.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the returned list of metrics configurations is+    -- complete. A value of true indicates that the list is not complete and+    -- the NextContinuationToken will be provided for a subsequent request.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | The list of metrics configurations for a bucket.+    metricsConfigurationList :: Prelude.Maybe [MetricsConfiguration],+    -- | The marker used to continue a metrics configuration listing that has+    -- been truncated. Use the @NextContinuationToken@ from a previously+    -- truncated list response to continue the listing. The continuation token+    -- is an opaque value that Amazon S3 understands.+    nextContinuationToken :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketMetricsConfigurationsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listBucketMetricsConfigurationsResponse_continuationToken' - The marker that is used as a starting point for this metrics+-- configuration list response. This value is present if it was sent in the+-- request.+--+-- 'isTruncated', 'listBucketMetricsConfigurationsResponse_isTruncated' - Indicates whether the returned list of metrics configurations is+-- complete. A value of true indicates that the list is not complete and+-- the NextContinuationToken will be provided for a subsequent request.+--+-- 'metricsConfigurationList', 'listBucketMetricsConfigurationsResponse_metricsConfigurationList' - The list of metrics configurations for a bucket.+--+-- 'nextContinuationToken', 'listBucketMetricsConfigurationsResponse_nextContinuationToken' - The marker used to continue a metrics configuration listing that has+-- been truncated. Use the @NextContinuationToken@ from a previously+-- truncated list response to continue the listing. The continuation token+-- is an opaque value that Amazon S3 understands.+--+-- 'httpStatus', 'listBucketMetricsConfigurationsResponse_httpStatus' - The response's http status code.+newListBucketMetricsConfigurationsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBucketMetricsConfigurationsResponse+newListBucketMetricsConfigurationsResponse+  pHttpStatus_ =+    ListBucketMetricsConfigurationsResponse'+      { continuationToken =+          Prelude.Nothing,+        isTruncated = Prelude.Nothing,+        metricsConfigurationList =+          Prelude.Nothing,+        nextContinuationToken =+          Prelude.Nothing,+        httpStatus = pHttpStatus_+      }++-- | The marker that is used as a starting point for this metrics+-- configuration list response. This value is present if it was sent in the+-- request.+listBucketMetricsConfigurationsResponse_continuationToken :: Lens.Lens' ListBucketMetricsConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketMetricsConfigurationsResponse_continuationToken = Lens.lens (\ListBucketMetricsConfigurationsResponse' {continuationToken} -> continuationToken) (\s@ListBucketMetricsConfigurationsResponse' {} a -> s {continuationToken = a} :: ListBucketMetricsConfigurationsResponse)++-- | Indicates whether the returned list of metrics configurations is+-- complete. A value of true indicates that the list is not complete and+-- the NextContinuationToken will be provided for a subsequent request.+listBucketMetricsConfigurationsResponse_isTruncated :: Lens.Lens' ListBucketMetricsConfigurationsResponse (Prelude.Maybe Prelude.Bool)+listBucketMetricsConfigurationsResponse_isTruncated = Lens.lens (\ListBucketMetricsConfigurationsResponse' {isTruncated} -> isTruncated) (\s@ListBucketMetricsConfigurationsResponse' {} a -> s {isTruncated = a} :: ListBucketMetricsConfigurationsResponse)++-- | The list of metrics configurations for a bucket.+listBucketMetricsConfigurationsResponse_metricsConfigurationList :: Lens.Lens' ListBucketMetricsConfigurationsResponse (Prelude.Maybe [MetricsConfiguration])+listBucketMetricsConfigurationsResponse_metricsConfigurationList = Lens.lens (\ListBucketMetricsConfigurationsResponse' {metricsConfigurationList} -> metricsConfigurationList) (\s@ListBucketMetricsConfigurationsResponse' {} a -> s {metricsConfigurationList = a} :: ListBucketMetricsConfigurationsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The marker used to continue a metrics configuration listing that has+-- been truncated. Use the @NextContinuationToken@ from a previously+-- truncated list response to continue the listing. The continuation token+-- is an opaque value that Amazon S3 understands.+listBucketMetricsConfigurationsResponse_nextContinuationToken :: Lens.Lens' ListBucketMetricsConfigurationsResponse (Prelude.Maybe Prelude.Text)+listBucketMetricsConfigurationsResponse_nextContinuationToken = Lens.lens (\ListBucketMetricsConfigurationsResponse' {nextContinuationToken} -> nextContinuationToken) (\s@ListBucketMetricsConfigurationsResponse' {} a -> s {nextContinuationToken = a} :: ListBucketMetricsConfigurationsResponse)++-- | The response's http status code.+listBucketMetricsConfigurationsResponse_httpStatus :: Lens.Lens' ListBucketMetricsConfigurationsResponse Prelude.Int+listBucketMetricsConfigurationsResponse_httpStatus = Lens.lens (\ListBucketMetricsConfigurationsResponse' {httpStatus} -> httpStatus) (\s@ListBucketMetricsConfigurationsResponse' {} a -> s {httpStatus = a} :: ListBucketMetricsConfigurationsResponse)++instance+  Prelude.NFData+    ListBucketMetricsConfigurationsResponse+  where+  rnf ListBucketMetricsConfigurationsResponse' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf metricsConfigurationList+      `Prelude.seq` Prelude.rnf nextContinuationToken+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListBuckets.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListBuckets+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns a list of all buckets owned by the authenticated sender of the+-- request. To use this operation, you must have the @s3:ListAllMyBuckets@+-- permission.+module Amazonka.S3.ListBuckets+  ( -- * Creating a Request+    ListBuckets (..),+    newListBuckets,++    -- * Destructuring the Response+    ListBucketsResponse (..),+    newListBucketsResponse,++    -- * Response Lenses+    listBucketsResponse_buckets,+    listBucketsResponse_owner,+    listBucketsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListBuckets' smart constructor.+data ListBuckets = ListBuckets'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBuckets' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newListBuckets ::+  ListBuckets+newListBuckets = ListBuckets'++instance Core.AWSRequest ListBuckets where+  type AWSResponse ListBuckets = ListBucketsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListBucketsResponse'+            Prelude.<$> ( x+                            Data..@? "Buckets"+                            Core..!@ Prelude.mempty+                            Prelude.>>= Core.may (Data.parseXMLList "Bucket")+                        )+            Prelude.<*> (x Data..@? "Owner")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListBuckets where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData ListBuckets where+  rnf _ = ()++instance Data.ToHeaders ListBuckets where+  toHeaders = Prelude.const Prelude.mempty++instance Data.ToPath ListBuckets where+  toPath = Prelude.const "/"++instance Data.ToQuery ListBuckets where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newListBucketsResponse' smart constructor.+data ListBucketsResponse = ListBucketsResponse'+  { -- | The list of buckets owned by the requester.+    buckets :: Prelude.Maybe [Bucket],+    -- | The owner of the buckets listed.+    owner :: Prelude.Maybe Owner,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListBucketsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'buckets', 'listBucketsResponse_buckets' - The list of buckets owned by the requester.+--+-- 'owner', 'listBucketsResponse_owner' - The owner of the buckets listed.+--+-- 'httpStatus', 'listBucketsResponse_httpStatus' - The response's http status code.+newListBucketsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListBucketsResponse+newListBucketsResponse pHttpStatus_ =+  ListBucketsResponse'+    { buckets = Prelude.Nothing,+      owner = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The list of buckets owned by the requester.+listBucketsResponse_buckets :: Lens.Lens' ListBucketsResponse (Prelude.Maybe [Bucket])+listBucketsResponse_buckets = Lens.lens (\ListBucketsResponse' {buckets} -> buckets) (\s@ListBucketsResponse' {} a -> s {buckets = a} :: ListBucketsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The owner of the buckets listed.+listBucketsResponse_owner :: Lens.Lens' ListBucketsResponse (Prelude.Maybe Owner)+listBucketsResponse_owner = Lens.lens (\ListBucketsResponse' {owner} -> owner) (\s@ListBucketsResponse' {} a -> s {owner = a} :: ListBucketsResponse)++-- | The response's http status code.+listBucketsResponse_httpStatus :: Lens.Lens' ListBucketsResponse Prelude.Int+listBucketsResponse_httpStatus = Lens.lens (\ListBucketsResponse' {httpStatus} -> httpStatus) (\s@ListBucketsResponse' {} a -> s {httpStatus = a} :: ListBucketsResponse)++instance Prelude.NFData ListBucketsResponse where+  rnf ListBucketsResponse' {..} =+    Prelude.rnf buckets+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListMultipartUploads.hs view
@@ -0,0 +1,660 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListMultipartUploads+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action lists in-progress multipart uploads. An in-progress+-- multipart upload is a multipart upload that has been initiated using the+-- Initiate Multipart Upload request, but has not yet been completed or+-- aborted.+--+-- This action returns at most 1,000 multipart uploads in the response.+-- 1,000 multipart uploads is the maximum number of uploads a response can+-- include, which is also the default value. You can further limit the+-- number of uploads in a response by specifying the @max-uploads@+-- parameter in the response. If additional multipart uploads satisfy the+-- list criteria, the response will contain an @IsTruncated@ element with+-- the value true. To list the additional multipart uploads, use the+-- @key-marker@ and @upload-id-marker@ request parameters.+--+-- In the response, the uploads are sorted by key. If your application has+-- initiated more than one multipart upload using the same object key, then+-- uploads in the response are first sorted by key. Additionally, uploads+-- are sorted in ascending order within each key by the upload initiation+-- time.+--+-- For more information on multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html Uploading Objects Using Multipart Upload>.+--+-- For information on permissions required to use the multipart upload API,+-- see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>.+--+-- The following operations are related to @ListMultipartUploads@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+--+-- This operation returns paginated results.+module Amazonka.S3.ListMultipartUploads+  ( -- * Creating a Request+    ListMultipartUploads (..),+    newListMultipartUploads,++    -- * Request Lenses+    listMultipartUploads_delimiter,+    listMultipartUploads_encodingType,+    listMultipartUploads_expectedBucketOwner,+    listMultipartUploads_keyMarker,+    listMultipartUploads_maxUploads,+    listMultipartUploads_prefix,+    listMultipartUploads_uploadIdMarker,+    listMultipartUploads_bucket,++    -- * Destructuring the Response+    ListMultipartUploadsResponse (..),+    newListMultipartUploadsResponse,++    -- * Response Lenses+    listMultipartUploadsResponse_bucket,+    listMultipartUploadsResponse_commonPrefixes,+    listMultipartUploadsResponse_delimiter,+    listMultipartUploadsResponse_encodingType,+    listMultipartUploadsResponse_isTruncated,+    listMultipartUploadsResponse_keyMarker,+    listMultipartUploadsResponse_maxUploads,+    listMultipartUploadsResponse_nextKeyMarker,+    listMultipartUploadsResponse_nextUploadIdMarker,+    listMultipartUploadsResponse_prefix,+    listMultipartUploadsResponse_uploadIdMarker,+    listMultipartUploadsResponse_uploads,+    listMultipartUploadsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListMultipartUploads' smart constructor.+data ListMultipartUploads = ListMultipartUploads'+  { -- | Character you use to group keys.+    --+    -- All keys that contain the same string between the prefix, if specified,+    -- and the first occurrence of the delimiter after the prefix are grouped+    -- under a single result element, @CommonPrefixes@. If you don\'t specify+    -- the prefix parameter, then the substring starts at the beginning of the+    -- key. The keys that are grouped under @CommonPrefixes@ result element are+    -- not returned elsewhere in the response.+    delimiter :: Prelude.Maybe Delimiter,+    encodingType :: Prelude.Maybe EncodingType,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Together with upload-id-marker, this parameter specifies the multipart+    -- upload after which listing should begin.+    --+    -- If @upload-id-marker@ is not specified, only the keys lexicographically+    -- greater than the specified @key-marker@ will be included in the list.+    --+    -- If @upload-id-marker@ is specified, any multipart uploads for a key+    -- equal to the @key-marker@ might also be included, provided those+    -- multipart uploads have upload IDs lexicographically greater than the+    -- specified @upload-id-marker@.+    keyMarker :: Prelude.Maybe Prelude.Text,+    -- | Sets the maximum number of multipart uploads, from 1 to 1,000, to return+    -- in the response body. 1,000 is the maximum number of uploads that can be+    -- returned in a response.+    maxUploads :: Prelude.Maybe Prelude.Int,+    -- | Lists in-progress uploads only for those keys that begin with the+    -- specified prefix. You can use prefixes to separate a bucket into+    -- different grouping of keys. (You can think of using prefix to make+    -- groups in the same way you\'d use a folder in a file system.)+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Together with key-marker, specifies the multipart upload after which+    -- listing should begin. If key-marker is not specified, the+    -- upload-id-marker parameter is ignored. Otherwise, any multipart uploads+    -- for a key equal to the key-marker might be included in the list only if+    -- they have an upload ID lexicographically greater than the specified+    -- @upload-id-marker@.+    uploadIdMarker :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which the multipart upload was initiated.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMultipartUploads' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'delimiter', 'listMultipartUploads_delimiter' - Character you use to group keys.+--+-- All keys that contain the same string between the prefix, if specified,+-- and the first occurrence of the delimiter after the prefix are grouped+-- under a single result element, @CommonPrefixes@. If you don\'t specify+-- the prefix parameter, then the substring starts at the beginning of the+-- key. The keys that are grouped under @CommonPrefixes@ result element are+-- not returned elsewhere in the response.+--+-- 'encodingType', 'listMultipartUploads_encodingType' - Undocumented member.+--+-- 'expectedBucketOwner', 'listMultipartUploads_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'keyMarker', 'listMultipartUploads_keyMarker' - Together with upload-id-marker, this parameter specifies the multipart+-- upload after which listing should begin.+--+-- If @upload-id-marker@ is not specified, only the keys lexicographically+-- greater than the specified @key-marker@ will be included in the list.+--+-- If @upload-id-marker@ is specified, any multipart uploads for a key+-- equal to the @key-marker@ might also be included, provided those+-- multipart uploads have upload IDs lexicographically greater than the+-- specified @upload-id-marker@.+--+-- 'maxUploads', 'listMultipartUploads_maxUploads' - Sets the maximum number of multipart uploads, from 1 to 1,000, to return+-- in the response body. 1,000 is the maximum number of uploads that can be+-- returned in a response.+--+-- 'prefix', 'listMultipartUploads_prefix' - Lists in-progress uploads only for those keys that begin with the+-- specified prefix. You can use prefixes to separate a bucket into+-- different grouping of keys. (You can think of using prefix to make+-- groups in the same way you\'d use a folder in a file system.)+--+-- 'uploadIdMarker', 'listMultipartUploads_uploadIdMarker' - Together with key-marker, specifies the multipart upload after which+-- listing should begin. If key-marker is not specified, the+-- upload-id-marker parameter is ignored. Otherwise, any multipart uploads+-- for a key equal to the key-marker might be included in the list only if+-- they have an upload ID lexicographically greater than the specified+-- @upload-id-marker@.+--+-- 'bucket', 'listMultipartUploads_bucket' - The name of the bucket to which the multipart upload was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+newListMultipartUploads ::+  -- | 'bucket'+  BucketName ->+  ListMultipartUploads+newListMultipartUploads pBucket_ =+  ListMultipartUploads'+    { delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      keyMarker = Prelude.Nothing,+      maxUploads = Prelude.Nothing,+      prefix = Prelude.Nothing,+      uploadIdMarker = Prelude.Nothing,+      bucket = pBucket_+    }++-- | Character you use to group keys.+--+-- All keys that contain the same string between the prefix, if specified,+-- and the first occurrence of the delimiter after the prefix are grouped+-- under a single result element, @CommonPrefixes@. If you don\'t specify+-- the prefix parameter, then the substring starts at the beginning of the+-- key. The keys that are grouped under @CommonPrefixes@ result element are+-- not returned elsewhere in the response.+listMultipartUploads_delimiter :: Lens.Lens' ListMultipartUploads (Prelude.Maybe Delimiter)+listMultipartUploads_delimiter = Lens.lens (\ListMultipartUploads' {delimiter} -> delimiter) (\s@ListMultipartUploads' {} a -> s {delimiter = a} :: ListMultipartUploads)++-- | Undocumented member.+listMultipartUploads_encodingType :: Lens.Lens' ListMultipartUploads (Prelude.Maybe EncodingType)+listMultipartUploads_encodingType = Lens.lens (\ListMultipartUploads' {encodingType} -> encodingType) (\s@ListMultipartUploads' {} a -> s {encodingType = a} :: ListMultipartUploads)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listMultipartUploads_expectedBucketOwner :: Lens.Lens' ListMultipartUploads (Prelude.Maybe Prelude.Text)+listMultipartUploads_expectedBucketOwner = Lens.lens (\ListMultipartUploads' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListMultipartUploads' {} a -> s {expectedBucketOwner = a} :: ListMultipartUploads)++-- | Together with upload-id-marker, this parameter specifies the multipart+-- upload after which listing should begin.+--+-- If @upload-id-marker@ is not specified, only the keys lexicographically+-- greater than the specified @key-marker@ will be included in the list.+--+-- If @upload-id-marker@ is specified, any multipart uploads for a key+-- equal to the @key-marker@ might also be included, provided those+-- multipart uploads have upload IDs lexicographically greater than the+-- specified @upload-id-marker@.+listMultipartUploads_keyMarker :: Lens.Lens' ListMultipartUploads (Prelude.Maybe Prelude.Text)+listMultipartUploads_keyMarker = Lens.lens (\ListMultipartUploads' {keyMarker} -> keyMarker) (\s@ListMultipartUploads' {} a -> s {keyMarker = a} :: ListMultipartUploads)++-- | Sets the maximum number of multipart uploads, from 1 to 1,000, to return+-- in the response body. 1,000 is the maximum number of uploads that can be+-- returned in a response.+listMultipartUploads_maxUploads :: Lens.Lens' ListMultipartUploads (Prelude.Maybe Prelude.Int)+listMultipartUploads_maxUploads = Lens.lens (\ListMultipartUploads' {maxUploads} -> maxUploads) (\s@ListMultipartUploads' {} a -> s {maxUploads = a} :: ListMultipartUploads)++-- | Lists in-progress uploads only for those keys that begin with the+-- specified prefix. You can use prefixes to separate a bucket into+-- different grouping of keys. (You can think of using prefix to make+-- groups in the same way you\'d use a folder in a file system.)+listMultipartUploads_prefix :: Lens.Lens' ListMultipartUploads (Prelude.Maybe Prelude.Text)+listMultipartUploads_prefix = Lens.lens (\ListMultipartUploads' {prefix} -> prefix) (\s@ListMultipartUploads' {} a -> s {prefix = a} :: ListMultipartUploads)++-- | Together with key-marker, specifies the multipart upload after which+-- listing should begin. If key-marker is not specified, the+-- upload-id-marker parameter is ignored. Otherwise, any multipart uploads+-- for a key equal to the key-marker might be included in the list only if+-- they have an upload ID lexicographically greater than the specified+-- @upload-id-marker@.+listMultipartUploads_uploadIdMarker :: Lens.Lens' ListMultipartUploads (Prelude.Maybe Prelude.Text)+listMultipartUploads_uploadIdMarker = Lens.lens (\ListMultipartUploads' {uploadIdMarker} -> uploadIdMarker) (\s@ListMultipartUploads' {} a -> s {uploadIdMarker = a} :: ListMultipartUploads)++-- | The name of the bucket to which the multipart upload was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+listMultipartUploads_bucket :: Lens.Lens' ListMultipartUploads BucketName+listMultipartUploads_bucket = Lens.lens (\ListMultipartUploads' {bucket} -> bucket) (\s@ListMultipartUploads' {} a -> s {bucket = a} :: ListMultipartUploads)++instance Core.AWSPager ListMultipartUploads where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listMultipartUploadsResponse_isTruncated+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.isNothing+        ( rs+            Lens.^? listMultipartUploadsResponse_nextKeyMarker+            Prelude.. Lens._Just+        )+        Prelude.&& Prelude.isNothing+          ( rs+              Lens.^? listMultipartUploadsResponse_nextUploadIdMarker+              Prelude.. Lens._Just+          ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listMultipartUploads_keyMarker+          Lens..~ rs+          Lens.^? listMultipartUploadsResponse_nextKeyMarker+          Prelude.. Lens._Just+          Prelude.& listMultipartUploads_uploadIdMarker+          Lens..~ rs+          Lens.^? listMultipartUploadsResponse_nextUploadIdMarker+          Prelude.. Lens._Just++instance Core.AWSRequest ListMultipartUploads where+  type+    AWSResponse ListMultipartUploads =+      ListMultipartUploadsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListMultipartUploadsResponse'+            Prelude.<$> (x Data..@? "Bucket")+            Prelude.<*> (Core.may (Data.parseXMLList "CommonPrefixes") x)+            Prelude.<*> (x Data..@? "Delimiter")+            Prelude.<*> (x Data..@? "EncodingType")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "KeyMarker")+            Prelude.<*> (x Data..@? "MaxUploads")+            Prelude.<*> (x Data..@? "NextKeyMarker")+            Prelude.<*> (x Data..@? "NextUploadIdMarker")+            Prelude.<*> (x Data..@? "Prefix")+            Prelude.<*> (x Data..@? "UploadIdMarker")+            Prelude.<*> (Core.may (Data.parseXMLList "Upload") x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListMultipartUploads where+  hashWithSalt _salt ListMultipartUploads' {..} =+    _salt+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` encodingType+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` keyMarker+      `Prelude.hashWithSalt` maxUploads+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` uploadIdMarker+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData ListMultipartUploads where+  rnf ListMultipartUploads' {..} =+    Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf keyMarker+      `Prelude.seq` Prelude.rnf maxUploads+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf uploadIdMarker+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders ListMultipartUploads where+  toHeaders ListMultipartUploads' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath ListMultipartUploads where+  toPath ListMultipartUploads' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery ListMultipartUploads where+  toQuery ListMultipartUploads' {..} =+    Prelude.mconcat+      [ "delimiter" Data.=: delimiter,+        "encoding-type" Data.=: encodingType,+        "key-marker" Data.=: keyMarker,+        "max-uploads" Data.=: maxUploads,+        "prefix" Data.=: prefix,+        "upload-id-marker" Data.=: uploadIdMarker,+        "uploads"+      ]++-- | /See:/ 'newListMultipartUploadsResponse' smart constructor.+data ListMultipartUploadsResponse = ListMultipartUploadsResponse'+  { -- | The name of the bucket to which the multipart upload was initiated. Does+    -- not return the access point ARN or access point alias if used.+    bucket :: Prelude.Maybe BucketName,+    -- | If you specify a delimiter in the request, then the result returns each+    -- distinct key prefix containing the delimiter in a @CommonPrefixes@+    -- element. The distinct key prefixes are returned in the @Prefix@ child+    -- element.+    commonPrefixes :: Prelude.Maybe [CommonPrefix],+    -- | Contains the delimiter you specified in the request. If you don\'t+    -- specify a delimiter in your request, this element is absent from the+    -- response.+    delimiter :: Prelude.Maybe Delimiter,+    -- | Encoding type used by Amazon S3 to encode object keys in the response.+    --+    -- If you specify @encoding-type@ request parameter, Amazon S3 includes+    -- this element in the response, and returns encoded key name values in the+    -- following response elements:+    --+    -- @Delimiter@, @KeyMarker@, @Prefix@, @NextKeyMarker@, @Key@.+    encodingType :: Prelude.Maybe EncodingType,+    -- | Indicates whether the returned list of multipart uploads is truncated. A+    -- value of true indicates that the list was truncated. The list can be+    -- truncated if the number of multipart uploads exceeds the limit allowed+    -- or specified by max uploads.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | The key at or after which the listing began.+    keyMarker :: Prelude.Maybe Prelude.Text,+    -- | Maximum number of multipart uploads that could have been included in the+    -- response.+    maxUploads :: Prelude.Maybe Prelude.Int,+    -- | When a list is truncated, this element specifies the value that should+    -- be used for the key-marker request parameter in a subsequent request.+    nextKeyMarker :: Prelude.Maybe Prelude.Text,+    -- | When a list is truncated, this element specifies the value that should+    -- be used for the @upload-id-marker@ request parameter in a subsequent+    -- request.+    nextUploadIdMarker :: Prelude.Maybe Prelude.Text,+    -- | When a prefix is provided in the request, this field contains the+    -- specified prefix. The result contains only keys starting with the+    -- specified prefix.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Upload ID after which listing began.+    uploadIdMarker :: Prelude.Maybe Prelude.Text,+    -- | Container for elements related to a particular multipart upload. A+    -- response can contain zero or more @Upload@ elements.+    uploads :: Prelude.Maybe [MultipartUpload],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListMultipartUploadsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'listMultipartUploadsResponse_bucket' - The name of the bucket to which the multipart upload was initiated. Does+-- not return the access point ARN or access point alias if used.+--+-- 'commonPrefixes', 'listMultipartUploadsResponse_commonPrefixes' - If you specify a delimiter in the request, then the result returns each+-- distinct key prefix containing the delimiter in a @CommonPrefixes@+-- element. The distinct key prefixes are returned in the @Prefix@ child+-- element.+--+-- 'delimiter', 'listMultipartUploadsResponse_delimiter' - Contains the delimiter you specified in the request. If you don\'t+-- specify a delimiter in your request, this element is absent from the+-- response.+--+-- 'encodingType', 'listMultipartUploadsResponse_encodingType' - Encoding type used by Amazon S3 to encode object keys in the response.+--+-- If you specify @encoding-type@ request parameter, Amazon S3 includes+-- this element in the response, and returns encoded key name values in the+-- following response elements:+--+-- @Delimiter@, @KeyMarker@, @Prefix@, @NextKeyMarker@, @Key@.+--+-- 'isTruncated', 'listMultipartUploadsResponse_isTruncated' - Indicates whether the returned list of multipart uploads is truncated. A+-- value of true indicates that the list was truncated. The list can be+-- truncated if the number of multipart uploads exceeds the limit allowed+-- or specified by max uploads.+--+-- 'keyMarker', 'listMultipartUploadsResponse_keyMarker' - The key at or after which the listing began.+--+-- 'maxUploads', 'listMultipartUploadsResponse_maxUploads' - Maximum number of multipart uploads that could have been included in the+-- response.+--+-- 'nextKeyMarker', 'listMultipartUploadsResponse_nextKeyMarker' - When a list is truncated, this element specifies the value that should+-- be used for the key-marker request parameter in a subsequent request.+--+-- 'nextUploadIdMarker', 'listMultipartUploadsResponse_nextUploadIdMarker' - When a list is truncated, this element specifies the value that should+-- be used for the @upload-id-marker@ request parameter in a subsequent+-- request.+--+-- 'prefix', 'listMultipartUploadsResponse_prefix' - When a prefix is provided in the request, this field contains the+-- specified prefix. The result contains only keys starting with the+-- specified prefix.+--+-- 'uploadIdMarker', 'listMultipartUploadsResponse_uploadIdMarker' - Upload ID after which listing began.+--+-- 'uploads', 'listMultipartUploadsResponse_uploads' - Container for elements related to a particular multipart upload. A+-- response can contain zero or more @Upload@ elements.+--+-- 'httpStatus', 'listMultipartUploadsResponse_httpStatus' - The response's http status code.+newListMultipartUploadsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListMultipartUploadsResponse+newListMultipartUploadsResponse pHttpStatus_ =+  ListMultipartUploadsResponse'+    { bucket =+        Prelude.Nothing,+      commonPrefixes = Prelude.Nothing,+      delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      isTruncated = Prelude.Nothing,+      keyMarker = Prelude.Nothing,+      maxUploads = Prelude.Nothing,+      nextKeyMarker = Prelude.Nothing,+      nextUploadIdMarker = Prelude.Nothing,+      prefix = Prelude.Nothing,+      uploadIdMarker = Prelude.Nothing,+      uploads = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The name of the bucket to which the multipart upload was initiated. Does+-- not return the access point ARN or access point alias if used.+listMultipartUploadsResponse_bucket :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe BucketName)+listMultipartUploadsResponse_bucket = Lens.lens (\ListMultipartUploadsResponse' {bucket} -> bucket) (\s@ListMultipartUploadsResponse' {} a -> s {bucket = a} :: ListMultipartUploadsResponse)++-- | If you specify a delimiter in the request, then the result returns each+-- distinct key prefix containing the delimiter in a @CommonPrefixes@+-- element. The distinct key prefixes are returned in the @Prefix@ child+-- element.+listMultipartUploadsResponse_commonPrefixes :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe [CommonPrefix])+listMultipartUploadsResponse_commonPrefixes = Lens.lens (\ListMultipartUploadsResponse' {commonPrefixes} -> commonPrefixes) (\s@ListMultipartUploadsResponse' {} a -> s {commonPrefixes = a} :: ListMultipartUploadsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Contains the delimiter you specified in the request. If you don\'t+-- specify a delimiter in your request, this element is absent from the+-- response.+listMultipartUploadsResponse_delimiter :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Delimiter)+listMultipartUploadsResponse_delimiter = Lens.lens (\ListMultipartUploadsResponse' {delimiter} -> delimiter) (\s@ListMultipartUploadsResponse' {} a -> s {delimiter = a} :: ListMultipartUploadsResponse)++-- | Encoding type used by Amazon S3 to encode object keys in the response.+--+-- If you specify @encoding-type@ request parameter, Amazon S3 includes+-- this element in the response, and returns encoded key name values in the+-- following response elements:+--+-- @Delimiter@, @KeyMarker@, @Prefix@, @NextKeyMarker@, @Key@.+listMultipartUploadsResponse_encodingType :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe EncodingType)+listMultipartUploadsResponse_encodingType = Lens.lens (\ListMultipartUploadsResponse' {encodingType} -> encodingType) (\s@ListMultipartUploadsResponse' {} a -> s {encodingType = a} :: ListMultipartUploadsResponse)++-- | Indicates whether the returned list of multipart uploads is truncated. A+-- value of true indicates that the list was truncated. The list can be+-- truncated if the number of multipart uploads exceeds the limit allowed+-- or specified by max uploads.+listMultipartUploadsResponse_isTruncated :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Bool)+listMultipartUploadsResponse_isTruncated = Lens.lens (\ListMultipartUploadsResponse' {isTruncated} -> isTruncated) (\s@ListMultipartUploadsResponse' {} a -> s {isTruncated = a} :: ListMultipartUploadsResponse)++-- | The key at or after which the listing began.+listMultipartUploadsResponse_keyMarker :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Text)+listMultipartUploadsResponse_keyMarker = Lens.lens (\ListMultipartUploadsResponse' {keyMarker} -> keyMarker) (\s@ListMultipartUploadsResponse' {} a -> s {keyMarker = a} :: ListMultipartUploadsResponse)++-- | Maximum number of multipart uploads that could have been included in the+-- response.+listMultipartUploadsResponse_maxUploads :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Int)+listMultipartUploadsResponse_maxUploads = Lens.lens (\ListMultipartUploadsResponse' {maxUploads} -> maxUploads) (\s@ListMultipartUploadsResponse' {} a -> s {maxUploads = a} :: ListMultipartUploadsResponse)++-- | When a list is truncated, this element specifies the value that should+-- be used for the key-marker request parameter in a subsequent request.+listMultipartUploadsResponse_nextKeyMarker :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Text)+listMultipartUploadsResponse_nextKeyMarker = Lens.lens (\ListMultipartUploadsResponse' {nextKeyMarker} -> nextKeyMarker) (\s@ListMultipartUploadsResponse' {} a -> s {nextKeyMarker = a} :: ListMultipartUploadsResponse)++-- | When a list is truncated, this element specifies the value that should+-- be used for the @upload-id-marker@ request parameter in a subsequent+-- request.+listMultipartUploadsResponse_nextUploadIdMarker :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Text)+listMultipartUploadsResponse_nextUploadIdMarker = Lens.lens (\ListMultipartUploadsResponse' {nextUploadIdMarker} -> nextUploadIdMarker) (\s@ListMultipartUploadsResponse' {} a -> s {nextUploadIdMarker = a} :: ListMultipartUploadsResponse)++-- | When a prefix is provided in the request, this field contains the+-- specified prefix. The result contains only keys starting with the+-- specified prefix.+listMultipartUploadsResponse_prefix :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Text)+listMultipartUploadsResponse_prefix = Lens.lens (\ListMultipartUploadsResponse' {prefix} -> prefix) (\s@ListMultipartUploadsResponse' {} a -> s {prefix = a} :: ListMultipartUploadsResponse)++-- | Upload ID after which listing began.+listMultipartUploadsResponse_uploadIdMarker :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe Prelude.Text)+listMultipartUploadsResponse_uploadIdMarker = Lens.lens (\ListMultipartUploadsResponse' {uploadIdMarker} -> uploadIdMarker) (\s@ListMultipartUploadsResponse' {} a -> s {uploadIdMarker = a} :: ListMultipartUploadsResponse)++-- | Container for elements related to a particular multipart upload. A+-- response can contain zero or more @Upload@ elements.+listMultipartUploadsResponse_uploads :: Lens.Lens' ListMultipartUploadsResponse (Prelude.Maybe [MultipartUpload])+listMultipartUploadsResponse_uploads = Lens.lens (\ListMultipartUploadsResponse' {uploads} -> uploads) (\s@ListMultipartUploadsResponse' {} a -> s {uploads = a} :: ListMultipartUploadsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listMultipartUploadsResponse_httpStatus :: Lens.Lens' ListMultipartUploadsResponse Prelude.Int+listMultipartUploadsResponse_httpStatus = Lens.lens (\ListMultipartUploadsResponse' {httpStatus} -> httpStatus) (\s@ListMultipartUploadsResponse' {} a -> s {httpStatus = a} :: ListMultipartUploadsResponse)++instance Prelude.NFData ListMultipartUploadsResponse where+  rnf ListMultipartUploadsResponse' {..} =+    Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf commonPrefixes+      `Prelude.seq` Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf keyMarker+      `Prelude.seq` Prelude.rnf maxUploads+      `Prelude.seq` Prelude.rnf nextKeyMarker+      `Prelude.seq` Prelude.rnf nextUploadIdMarker+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf uploadIdMarker+      `Prelude.seq` Prelude.rnf uploads+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListObjectVersions.hs view
@@ -0,0 +1,571 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListObjectVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns metadata about all versions of the objects in a bucket. You can+-- also use request parameters as selection criteria to return metadata+-- about a subset of all the object versions.+--+-- To use this operation, you must have permissions to perform the+-- @s3:ListBucketVersions@ action. Be aware of the name difference.+--+-- A 200 OK response can contain valid or invalid XML. Make sure to design+-- your application to parse the contents of the response and handle it+-- appropriately.+--+-- To use this operation, you must have READ access to the bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- The following operations are related to @ListObjectVersions@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html ListObjectsV2>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html DeleteObject>+--+-- This operation returns paginated results.+module Amazonka.S3.ListObjectVersions+  ( -- * Creating a Request+    ListObjectVersions (..),+    newListObjectVersions,++    -- * Request Lenses+    listObjectVersions_delimiter,+    listObjectVersions_encodingType,+    listObjectVersions_expectedBucketOwner,+    listObjectVersions_keyMarker,+    listObjectVersions_maxKeys,+    listObjectVersions_prefix,+    listObjectVersions_versionIdMarker,+    listObjectVersions_bucket,++    -- * Destructuring the Response+    ListObjectVersionsResponse (..),+    newListObjectVersionsResponse,++    -- * Response Lenses+    listObjectVersionsResponse_commonPrefixes,+    listObjectVersionsResponse_deleteMarkers,+    listObjectVersionsResponse_delimiter,+    listObjectVersionsResponse_encodingType,+    listObjectVersionsResponse_isTruncated,+    listObjectVersionsResponse_keyMarker,+    listObjectVersionsResponse_maxKeys,+    listObjectVersionsResponse_name,+    listObjectVersionsResponse_nextKeyMarker,+    listObjectVersionsResponse_nextVersionIdMarker,+    listObjectVersionsResponse_prefix,+    listObjectVersionsResponse_versionIdMarker,+    listObjectVersionsResponse_versions,+    listObjectVersionsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListObjectVersions' smart constructor.+data ListObjectVersions = ListObjectVersions'+  { -- | A delimiter is a character that you specify to group keys. All keys that+    -- contain the same string between the @prefix@ and the first occurrence of+    -- the delimiter are grouped under a single result element in+    -- CommonPrefixes. These groups are counted as one result against the+    -- max-keys limitation. These keys are not returned elsewhere in the+    -- response.+    delimiter :: Prelude.Maybe Delimiter,+    encodingType :: Prelude.Maybe EncodingType,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies the key to start with when listing objects in a bucket.+    keyMarker :: Prelude.Maybe Prelude.Text,+    -- | Sets the maximum number of keys returned in the response. By default the+    -- action returns up to 1,000 key names. The response might contain fewer+    -- keys but will never contain more. If additional keys satisfy the search+    -- criteria, but were not returned because max-keys was exceeded, the+    -- response contains \<isTruncated>true\<\/isTruncated>. To return the+    -- additional keys, see key-marker and version-id-marker.+    maxKeys :: Prelude.Maybe Prelude.Int,+    -- | Use this parameter to select only those keys that begin with the+    -- specified prefix. You can use prefixes to separate a bucket into+    -- different groupings of keys. (You can think of using prefix to make+    -- groups in the same way you\'d use a folder in a file system.) You can+    -- use prefix with delimiter to roll up numerous objects into a single+    -- result under CommonPrefixes.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Specifies the object version you want to start listing from.+    versionIdMarker :: Prelude.Maybe Prelude.Text,+    -- | The bucket name that contains the objects.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObjectVersions' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'delimiter', 'listObjectVersions_delimiter' - A delimiter is a character that you specify to group keys. All keys that+-- contain the same string between the @prefix@ and the first occurrence of+-- the delimiter are grouped under a single result element in+-- CommonPrefixes. These groups are counted as one result against the+-- max-keys limitation. These keys are not returned elsewhere in the+-- response.+--+-- 'encodingType', 'listObjectVersions_encodingType' - Undocumented member.+--+-- 'expectedBucketOwner', 'listObjectVersions_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'keyMarker', 'listObjectVersions_keyMarker' - Specifies the key to start with when listing objects in a bucket.+--+-- 'maxKeys', 'listObjectVersions_maxKeys' - Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more. If additional keys satisfy the search+-- criteria, but were not returned because max-keys was exceeded, the+-- response contains \<isTruncated>true\<\/isTruncated>. To return the+-- additional keys, see key-marker and version-id-marker.+--+-- 'prefix', 'listObjectVersions_prefix' - Use this parameter to select only those keys that begin with the+-- specified prefix. You can use prefixes to separate a bucket into+-- different groupings of keys. (You can think of using prefix to make+-- groups in the same way you\'d use a folder in a file system.) You can+-- use prefix with delimiter to roll up numerous objects into a single+-- result under CommonPrefixes.+--+-- 'versionIdMarker', 'listObjectVersions_versionIdMarker' - Specifies the object version you want to start listing from.+--+-- 'bucket', 'listObjectVersions_bucket' - The bucket name that contains the objects.+newListObjectVersions ::+  -- | 'bucket'+  BucketName ->+  ListObjectVersions+newListObjectVersions pBucket_ =+  ListObjectVersions'+    { delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      keyMarker = Prelude.Nothing,+      maxKeys = Prelude.Nothing,+      prefix = Prelude.Nothing,+      versionIdMarker = Prelude.Nothing,+      bucket = pBucket_+    }++-- | A delimiter is a character that you specify to group keys. All keys that+-- contain the same string between the @prefix@ and the first occurrence of+-- the delimiter are grouped under a single result element in+-- CommonPrefixes. These groups are counted as one result against the+-- max-keys limitation. These keys are not returned elsewhere in the+-- response.+listObjectVersions_delimiter :: Lens.Lens' ListObjectVersions (Prelude.Maybe Delimiter)+listObjectVersions_delimiter = Lens.lens (\ListObjectVersions' {delimiter} -> delimiter) (\s@ListObjectVersions' {} a -> s {delimiter = a} :: ListObjectVersions)++-- | Undocumented member.+listObjectVersions_encodingType :: Lens.Lens' ListObjectVersions (Prelude.Maybe EncodingType)+listObjectVersions_encodingType = Lens.lens (\ListObjectVersions' {encodingType} -> encodingType) (\s@ListObjectVersions' {} a -> s {encodingType = a} :: ListObjectVersions)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listObjectVersions_expectedBucketOwner :: Lens.Lens' ListObjectVersions (Prelude.Maybe Prelude.Text)+listObjectVersions_expectedBucketOwner = Lens.lens (\ListObjectVersions' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListObjectVersions' {} a -> s {expectedBucketOwner = a} :: ListObjectVersions)++-- | Specifies the key to start with when listing objects in a bucket.+listObjectVersions_keyMarker :: Lens.Lens' ListObjectVersions (Prelude.Maybe Prelude.Text)+listObjectVersions_keyMarker = Lens.lens (\ListObjectVersions' {keyMarker} -> keyMarker) (\s@ListObjectVersions' {} a -> s {keyMarker = a} :: ListObjectVersions)++-- | Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more. If additional keys satisfy the search+-- criteria, but were not returned because max-keys was exceeded, the+-- response contains \<isTruncated>true\<\/isTruncated>. To return the+-- additional keys, see key-marker and version-id-marker.+listObjectVersions_maxKeys :: Lens.Lens' ListObjectVersions (Prelude.Maybe Prelude.Int)+listObjectVersions_maxKeys = Lens.lens (\ListObjectVersions' {maxKeys} -> maxKeys) (\s@ListObjectVersions' {} a -> s {maxKeys = a} :: ListObjectVersions)++-- | Use this parameter to select only those keys that begin with the+-- specified prefix. You can use prefixes to separate a bucket into+-- different groupings of keys. (You can think of using prefix to make+-- groups in the same way you\'d use a folder in a file system.) You can+-- use prefix with delimiter to roll up numerous objects into a single+-- result under CommonPrefixes.+listObjectVersions_prefix :: Lens.Lens' ListObjectVersions (Prelude.Maybe Prelude.Text)+listObjectVersions_prefix = Lens.lens (\ListObjectVersions' {prefix} -> prefix) (\s@ListObjectVersions' {} a -> s {prefix = a} :: ListObjectVersions)++-- | Specifies the object version you want to start listing from.+listObjectVersions_versionIdMarker :: Lens.Lens' ListObjectVersions (Prelude.Maybe Prelude.Text)+listObjectVersions_versionIdMarker = Lens.lens (\ListObjectVersions' {versionIdMarker} -> versionIdMarker) (\s@ListObjectVersions' {} a -> s {versionIdMarker = a} :: ListObjectVersions)++-- | The bucket name that contains the objects.+listObjectVersions_bucket :: Lens.Lens' ListObjectVersions BucketName+listObjectVersions_bucket = Lens.lens (\ListObjectVersions' {bucket} -> bucket) (\s@ListObjectVersions' {} a -> s {bucket = a} :: ListObjectVersions)++instance Core.AWSPager ListObjectVersions where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listObjectVersionsResponse_isTruncated+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.isNothing+        ( rs+            Lens.^? listObjectVersionsResponse_nextKeyMarker+            Prelude.. Lens._Just+        )+        Prelude.&& Prelude.isNothing+          ( rs+              Lens.^? listObjectVersionsResponse_nextVersionIdMarker+              Prelude.. Lens._Just+          ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listObjectVersions_keyMarker+          Lens..~ rs+          Lens.^? listObjectVersionsResponse_nextKeyMarker+          Prelude.. Lens._Just+          Prelude.& listObjectVersions_versionIdMarker+          Lens..~ rs+          Lens.^? listObjectVersionsResponse_nextVersionIdMarker+          Prelude.. Lens._Just++instance Core.AWSRequest ListObjectVersions where+  type+    AWSResponse ListObjectVersions =+      ListObjectVersionsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListObjectVersionsResponse'+            Prelude.<$> (Core.may (Data.parseXMLList "CommonPrefixes") x)+            Prelude.<*> (Core.may (Data.parseXMLList "DeleteMarker") x)+            Prelude.<*> (x Data..@? "Delimiter")+            Prelude.<*> (x Data..@? "EncodingType")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "KeyMarker")+            Prelude.<*> (x Data..@? "MaxKeys")+            Prelude.<*> (x Data..@? "Name")+            Prelude.<*> (x Data..@? "NextKeyMarker")+            Prelude.<*> (x Data..@? "NextVersionIdMarker")+            Prelude.<*> (x Data..@? "Prefix")+            Prelude.<*> (x Data..@? "VersionIdMarker")+            Prelude.<*> (Core.may (Data.parseXMLList "Version") x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListObjectVersions where+  hashWithSalt _salt ListObjectVersions' {..} =+    _salt+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` encodingType+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` keyMarker+      `Prelude.hashWithSalt` maxKeys+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` versionIdMarker+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData ListObjectVersions where+  rnf ListObjectVersions' {..} =+    Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf keyMarker+      `Prelude.seq` Prelude.rnf maxKeys+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf versionIdMarker+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders ListObjectVersions where+  toHeaders ListObjectVersions' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath ListObjectVersions where+  toPath ListObjectVersions' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery ListObjectVersions where+  toQuery ListObjectVersions' {..} =+    Prelude.mconcat+      [ "delimiter" Data.=: delimiter,+        "encoding-type" Data.=: encodingType,+        "key-marker" Data.=: keyMarker,+        "max-keys" Data.=: maxKeys,+        "prefix" Data.=: prefix,+        "version-id-marker" Data.=: versionIdMarker,+        "versions"+      ]++-- | /See:/ 'newListObjectVersionsResponse' smart constructor.+data ListObjectVersionsResponse = ListObjectVersionsResponse'+  { -- | All of the keys rolled up into a common prefix count as a single return+    -- when calculating the number of returns.+    commonPrefixes :: Prelude.Maybe [CommonPrefix],+    -- | Container for an object that is a delete marker.+    deleteMarkers :: Prelude.Maybe [DeleteMarkerEntry],+    -- | The delimiter grouping the included keys. A delimiter is a character+    -- that you specify to group keys. All keys that contain the same string+    -- between the prefix and the first occurrence of the delimiter are grouped+    -- under a single result element in @CommonPrefixes@. These groups are+    -- counted as one result against the max-keys limitation. These keys are+    -- not returned elsewhere in the response.+    delimiter :: Prelude.Maybe Delimiter,+    -- | Encoding type used by Amazon S3 to encode object key names in the XML+    -- response.+    --+    -- If you specify encoding-type request parameter, Amazon S3 includes this+    -- element in the response, and returns encoded key name values in the+    -- following response elements:+    --+    -- @KeyMarker, NextKeyMarker, Prefix, Key@, and @Delimiter@.+    encodingType :: Prelude.Maybe EncodingType,+    -- | A flag that indicates whether Amazon S3 returned all of the results that+    -- satisfied the search criteria. If your results were truncated, you can+    -- make a follow-up paginated request using the NextKeyMarker and+    -- NextVersionIdMarker response parameters as a starting place in another+    -- request to return the rest of the results.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | Marks the last key returned in a truncated response.+    keyMarker :: Prelude.Maybe Prelude.Text,+    -- | Specifies the maximum number of objects to return.+    maxKeys :: Prelude.Maybe Prelude.Int,+    -- | The bucket name.+    name :: Prelude.Maybe BucketName,+    -- | When the number of responses exceeds the value of @MaxKeys@,+    -- @NextKeyMarker@ specifies the first key not returned that satisfies the+    -- search criteria. Use this value for the key-marker request parameter in+    -- a subsequent request.+    nextKeyMarker :: Prelude.Maybe Prelude.Text,+    -- | When the number of responses exceeds the value of @MaxKeys@,+    -- @NextVersionIdMarker@ specifies the first object version not returned+    -- that satisfies the search criteria. Use this value for the+    -- version-id-marker request parameter in a subsequent request.+    nextVersionIdMarker :: Prelude.Maybe Prelude.Text,+    -- | Selects objects that start with the value supplied by this parameter.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Marks the last version of the key returned in a truncated response.+    versionIdMarker :: Prelude.Maybe Prelude.Text,+    -- | Container for version information.+    versions :: Prelude.Maybe [ObjectVersion],+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObjectVersionsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'commonPrefixes', 'listObjectVersionsResponse_commonPrefixes' - All of the keys rolled up into a common prefix count as a single return+-- when calculating the number of returns.+--+-- 'deleteMarkers', 'listObjectVersionsResponse_deleteMarkers' - Container for an object that is a delete marker.+--+-- 'delimiter', 'listObjectVersionsResponse_delimiter' - The delimiter grouping the included keys. A delimiter is a character+-- that you specify to group keys. All keys that contain the same string+-- between the prefix and the first occurrence of the delimiter are grouped+-- under a single result element in @CommonPrefixes@. These groups are+-- counted as one result against the max-keys limitation. These keys are+-- not returned elsewhere in the response.+--+-- 'encodingType', 'listObjectVersionsResponse_encodingType' - Encoding type used by Amazon S3 to encode object key names in the XML+-- response.+--+-- If you specify encoding-type request parameter, Amazon S3 includes this+-- element in the response, and returns encoded key name values in the+-- following response elements:+--+-- @KeyMarker, NextKeyMarker, Prefix, Key@, and @Delimiter@.+--+-- 'isTruncated', 'listObjectVersionsResponse_isTruncated' - A flag that indicates whether Amazon S3 returned all of the results that+-- satisfied the search criteria. If your results were truncated, you can+-- make a follow-up paginated request using the NextKeyMarker and+-- NextVersionIdMarker response parameters as a starting place in another+-- request to return the rest of the results.+--+-- 'keyMarker', 'listObjectVersionsResponse_keyMarker' - Marks the last key returned in a truncated response.+--+-- 'maxKeys', 'listObjectVersionsResponse_maxKeys' - Specifies the maximum number of objects to return.+--+-- 'name', 'listObjectVersionsResponse_name' - The bucket name.+--+-- 'nextKeyMarker', 'listObjectVersionsResponse_nextKeyMarker' - When the number of responses exceeds the value of @MaxKeys@,+-- @NextKeyMarker@ specifies the first key not returned that satisfies the+-- search criteria. Use this value for the key-marker request parameter in+-- a subsequent request.+--+-- 'nextVersionIdMarker', 'listObjectVersionsResponse_nextVersionIdMarker' - When the number of responses exceeds the value of @MaxKeys@,+-- @NextVersionIdMarker@ specifies the first object version not returned+-- that satisfies the search criteria. Use this value for the+-- version-id-marker request parameter in a subsequent request.+--+-- 'prefix', 'listObjectVersionsResponse_prefix' - Selects objects that start with the value supplied by this parameter.+--+-- 'versionIdMarker', 'listObjectVersionsResponse_versionIdMarker' - Marks the last version of the key returned in a truncated response.+--+-- 'versions', 'listObjectVersionsResponse_versions' - Container for version information.+--+-- 'httpStatus', 'listObjectVersionsResponse_httpStatus' - The response's http status code.+newListObjectVersionsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListObjectVersionsResponse+newListObjectVersionsResponse pHttpStatus_ =+  ListObjectVersionsResponse'+    { commonPrefixes =+        Prelude.Nothing,+      deleteMarkers = Prelude.Nothing,+      delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      isTruncated = Prelude.Nothing,+      keyMarker = Prelude.Nothing,+      maxKeys = Prelude.Nothing,+      name = Prelude.Nothing,+      nextKeyMarker = Prelude.Nothing,+      nextVersionIdMarker = Prelude.Nothing,+      prefix = Prelude.Nothing,+      versionIdMarker = Prelude.Nothing,+      versions = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | All of the keys rolled up into a common prefix count as a single return+-- when calculating the number of returns.+listObjectVersionsResponse_commonPrefixes :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe [CommonPrefix])+listObjectVersionsResponse_commonPrefixes = Lens.lens (\ListObjectVersionsResponse' {commonPrefixes} -> commonPrefixes) (\s@ListObjectVersionsResponse' {} a -> s {commonPrefixes = a} :: ListObjectVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Container for an object that is a delete marker.+listObjectVersionsResponse_deleteMarkers :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe [DeleteMarkerEntry])+listObjectVersionsResponse_deleteMarkers = Lens.lens (\ListObjectVersionsResponse' {deleteMarkers} -> deleteMarkers) (\s@ListObjectVersionsResponse' {} a -> s {deleteMarkers = a} :: ListObjectVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The delimiter grouping the included keys. A delimiter is a character+-- that you specify to group keys. All keys that contain the same string+-- between the prefix and the first occurrence of the delimiter are grouped+-- under a single result element in @CommonPrefixes@. These groups are+-- counted as one result against the max-keys limitation. These keys are+-- not returned elsewhere in the response.+listObjectVersionsResponse_delimiter :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Delimiter)+listObjectVersionsResponse_delimiter = Lens.lens (\ListObjectVersionsResponse' {delimiter} -> delimiter) (\s@ListObjectVersionsResponse' {} a -> s {delimiter = a} :: ListObjectVersionsResponse)++-- | Encoding type used by Amazon S3 to encode object key names in the XML+-- response.+--+-- If you specify encoding-type request parameter, Amazon S3 includes this+-- element in the response, and returns encoded key name values in the+-- following response elements:+--+-- @KeyMarker, NextKeyMarker, Prefix, Key@, and @Delimiter@.+listObjectVersionsResponse_encodingType :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe EncodingType)+listObjectVersionsResponse_encodingType = Lens.lens (\ListObjectVersionsResponse' {encodingType} -> encodingType) (\s@ListObjectVersionsResponse' {} a -> s {encodingType = a} :: ListObjectVersionsResponse)++-- | A flag that indicates whether Amazon S3 returned all of the results that+-- satisfied the search criteria. If your results were truncated, you can+-- make a follow-up paginated request using the NextKeyMarker and+-- NextVersionIdMarker response parameters as a starting place in another+-- request to return the rest of the results.+listObjectVersionsResponse_isTruncated :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Bool)+listObjectVersionsResponse_isTruncated = Lens.lens (\ListObjectVersionsResponse' {isTruncated} -> isTruncated) (\s@ListObjectVersionsResponse' {} a -> s {isTruncated = a} :: ListObjectVersionsResponse)++-- | Marks the last key returned in a truncated response.+listObjectVersionsResponse_keyMarker :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Text)+listObjectVersionsResponse_keyMarker = Lens.lens (\ListObjectVersionsResponse' {keyMarker} -> keyMarker) (\s@ListObjectVersionsResponse' {} a -> s {keyMarker = a} :: ListObjectVersionsResponse)++-- | Specifies the maximum number of objects to return.+listObjectVersionsResponse_maxKeys :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Int)+listObjectVersionsResponse_maxKeys = Lens.lens (\ListObjectVersionsResponse' {maxKeys} -> maxKeys) (\s@ListObjectVersionsResponse' {} a -> s {maxKeys = a} :: ListObjectVersionsResponse)++-- | The bucket name.+listObjectVersionsResponse_name :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe BucketName)+listObjectVersionsResponse_name = Lens.lens (\ListObjectVersionsResponse' {name} -> name) (\s@ListObjectVersionsResponse' {} a -> s {name = a} :: ListObjectVersionsResponse)++-- | When the number of responses exceeds the value of @MaxKeys@,+-- @NextKeyMarker@ specifies the first key not returned that satisfies the+-- search criteria. Use this value for the key-marker request parameter in+-- a subsequent request.+listObjectVersionsResponse_nextKeyMarker :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Text)+listObjectVersionsResponse_nextKeyMarker = Lens.lens (\ListObjectVersionsResponse' {nextKeyMarker} -> nextKeyMarker) (\s@ListObjectVersionsResponse' {} a -> s {nextKeyMarker = a} :: ListObjectVersionsResponse)++-- | When the number of responses exceeds the value of @MaxKeys@,+-- @NextVersionIdMarker@ specifies the first object version not returned+-- that satisfies the search criteria. Use this value for the+-- version-id-marker request parameter in a subsequent request.+listObjectVersionsResponse_nextVersionIdMarker :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Text)+listObjectVersionsResponse_nextVersionIdMarker = Lens.lens (\ListObjectVersionsResponse' {nextVersionIdMarker} -> nextVersionIdMarker) (\s@ListObjectVersionsResponse' {} a -> s {nextVersionIdMarker = a} :: ListObjectVersionsResponse)++-- | Selects objects that start with the value supplied by this parameter.+listObjectVersionsResponse_prefix :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Text)+listObjectVersionsResponse_prefix = Lens.lens (\ListObjectVersionsResponse' {prefix} -> prefix) (\s@ListObjectVersionsResponse' {} a -> s {prefix = a} :: ListObjectVersionsResponse)++-- | Marks the last version of the key returned in a truncated response.+listObjectVersionsResponse_versionIdMarker :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe Prelude.Text)+listObjectVersionsResponse_versionIdMarker = Lens.lens (\ListObjectVersionsResponse' {versionIdMarker} -> versionIdMarker) (\s@ListObjectVersionsResponse' {} a -> s {versionIdMarker = a} :: ListObjectVersionsResponse)++-- | Container for version information.+listObjectVersionsResponse_versions :: Lens.Lens' ListObjectVersionsResponse (Prelude.Maybe [ObjectVersion])+listObjectVersionsResponse_versions = Lens.lens (\ListObjectVersionsResponse' {versions} -> versions) (\s@ListObjectVersionsResponse' {} a -> s {versions = a} :: ListObjectVersionsResponse) Prelude.. Lens.mapping Lens.coerced++-- | The response's http status code.+listObjectVersionsResponse_httpStatus :: Lens.Lens' ListObjectVersionsResponse Prelude.Int+listObjectVersionsResponse_httpStatus = Lens.lens (\ListObjectVersionsResponse' {httpStatus} -> httpStatus) (\s@ListObjectVersionsResponse' {} a -> s {httpStatus = a} :: ListObjectVersionsResponse)++instance Prelude.NFData ListObjectVersionsResponse where+  rnf ListObjectVersionsResponse' {..} =+    Prelude.rnf commonPrefixes+      `Prelude.seq` Prelude.rnf deleteMarkers+      `Prelude.seq` Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf keyMarker+      `Prelude.seq` Prelude.rnf maxKeys+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextKeyMarker+      `Prelude.seq` Prelude.rnf nextVersionIdMarker+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf versionIdMarker+      `Prelude.seq` Prelude.rnf versions+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListObjects.hs view
@@ -0,0 +1,586 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListObjects+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns some or all (up to 1,000) of the objects in a bucket. You can+-- use the request parameters as selection criteria to return a subset of+-- the objects in a bucket. A 200 OK response can contain valid or invalid+-- XML. Be sure to design your application to parse the contents of the+-- response and handle it appropriately.+--+-- This action has been revised. We recommend that you use the newer+-- version,+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html ListObjectsV2>,+-- when developing applications. For backward compatibility, Amazon S3+-- continues to support @ListObjects@.+--+-- The following operations are related to @ListObjects@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html ListObjectsV2>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html ListBuckets>+--+-- This operation returns paginated results.+module Amazonka.S3.ListObjects+  ( -- * Creating a Request+    ListObjects (..),+    newListObjects,++    -- * Request Lenses+    listObjects_delimiter,+    listObjects_encodingType,+    listObjects_expectedBucketOwner,+    listObjects_marker,+    listObjects_maxKeys,+    listObjects_prefix,+    listObjects_requestPayer,+    listObjects_bucket,++    -- * Destructuring the Response+    ListObjectsResponse (..),+    newListObjectsResponse,++    -- * Response Lenses+    listObjectsResponse_commonPrefixes,+    listObjectsResponse_contents,+    listObjectsResponse_delimiter,+    listObjectsResponse_encodingType,+    listObjectsResponse_isTruncated,+    listObjectsResponse_marker,+    listObjectsResponse_maxKeys,+    listObjectsResponse_name,+    listObjectsResponse_nextMarker,+    listObjectsResponse_prefix,+    listObjectsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListObjects' smart constructor.+data ListObjects = ListObjects'+  { -- | A delimiter is a character you use to group keys.+    delimiter :: Prelude.Maybe Delimiter,+    encodingType :: Prelude.Maybe EncodingType,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Marker is where you want Amazon S3 to start listing from. Amazon S3+    -- starts listing after this specified key. Marker can be any key in the+    -- bucket.+    marker :: Prelude.Maybe Prelude.Text,+    -- | Sets the maximum number of keys returned in the response. By default the+    -- action returns up to 1,000 key names. The response might contain fewer+    -- keys but will never contain more.+    maxKeys :: Prelude.Maybe Prelude.Int,+    -- | Limits the response to keys that begin with the specified prefix.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Confirms that the requester knows that she or he will be charged for the+    -- list objects request. Bucket owners need not specify this parameter in+    -- their requests.+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The name of the bucket containing the objects.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObjects' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'delimiter', 'listObjects_delimiter' - A delimiter is a character you use to group keys.+--+-- 'encodingType', 'listObjects_encodingType' - Undocumented member.+--+-- 'expectedBucketOwner', 'listObjects_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'marker', 'listObjects_marker' - Marker is where you want Amazon S3 to start listing from. Amazon S3+-- starts listing after this specified key. Marker can be any key in the+-- bucket.+--+-- 'maxKeys', 'listObjects_maxKeys' - Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more.+--+-- 'prefix', 'listObjects_prefix' - Limits the response to keys that begin with the specified prefix.+--+-- 'requestPayer', 'listObjects_requestPayer' - Confirms that the requester knows that she or he will be charged for the+-- list objects request. Bucket owners need not specify this parameter in+-- their requests.+--+-- 'bucket', 'listObjects_bucket' - The name of the bucket containing the objects.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+newListObjects ::+  -- | 'bucket'+  BucketName ->+  ListObjects+newListObjects pBucket_ =+  ListObjects'+    { delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxKeys = Prelude.Nothing,+      prefix = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      bucket = pBucket_+    }++-- | A delimiter is a character you use to group keys.+listObjects_delimiter :: Lens.Lens' ListObjects (Prelude.Maybe Delimiter)+listObjects_delimiter = Lens.lens (\ListObjects' {delimiter} -> delimiter) (\s@ListObjects' {} a -> s {delimiter = a} :: ListObjects)++-- | Undocumented member.+listObjects_encodingType :: Lens.Lens' ListObjects (Prelude.Maybe EncodingType)+listObjects_encodingType = Lens.lens (\ListObjects' {encodingType} -> encodingType) (\s@ListObjects' {} a -> s {encodingType = a} :: ListObjects)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listObjects_expectedBucketOwner :: Lens.Lens' ListObjects (Prelude.Maybe Prelude.Text)+listObjects_expectedBucketOwner = Lens.lens (\ListObjects' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListObjects' {} a -> s {expectedBucketOwner = a} :: ListObjects)++-- | Marker is where you want Amazon S3 to start listing from. Amazon S3+-- starts listing after this specified key. Marker can be any key in the+-- bucket.+listObjects_marker :: Lens.Lens' ListObjects (Prelude.Maybe Prelude.Text)+listObjects_marker = Lens.lens (\ListObjects' {marker} -> marker) (\s@ListObjects' {} a -> s {marker = a} :: ListObjects)++-- | Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more.+listObjects_maxKeys :: Lens.Lens' ListObjects (Prelude.Maybe Prelude.Int)+listObjects_maxKeys = Lens.lens (\ListObjects' {maxKeys} -> maxKeys) (\s@ListObjects' {} a -> s {maxKeys = a} :: ListObjects)++-- | Limits the response to keys that begin with the specified prefix.+listObjects_prefix :: Lens.Lens' ListObjects (Prelude.Maybe Prelude.Text)+listObjects_prefix = Lens.lens (\ListObjects' {prefix} -> prefix) (\s@ListObjects' {} a -> s {prefix = a} :: ListObjects)++-- | Confirms that the requester knows that she or he will be charged for the+-- list objects request. Bucket owners need not specify this parameter in+-- their requests.+listObjects_requestPayer :: Lens.Lens' ListObjects (Prelude.Maybe RequestPayer)+listObjects_requestPayer = Lens.lens (\ListObjects' {requestPayer} -> requestPayer) (\s@ListObjects' {} a -> s {requestPayer = a} :: ListObjects)++-- | The name of the bucket containing the objects.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+listObjects_bucket :: Lens.Lens' ListObjects BucketName+listObjects_bucket = Lens.lens (\ListObjects' {bucket} -> bucket) (\s@ListObjects' {} a -> s {bucket = a} :: ListObjects)++instance Core.AWSPager ListObjects where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listObjectsResponse_isTruncated+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.isNothing+        ( rs+            Lens.^. Core.choice+              ( Lens.^?+                  ( listObjectsResponse_nextMarker+                      Prelude.. Lens._Just+                  )+              )+              ( Lens.^?+                  ( listObjectsResponse_contents+                      Prelude.. Lens._Just+                      Prelude.. Lens._last+                      Prelude.. object_key+                  )+              )+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listObjects_marker+          Lens..~ rs+          Lens.^. Core.choice+            ( Lens.^?+                ( listObjectsResponse_nextMarker+                    Prelude.. Lens._Just+                )+            )+            ( Lens.^?+                ( listObjectsResponse_contents+                    Prelude.. Lens._Just+                    Prelude.. Lens._last+                    Prelude.. object_key+                )+            )++instance Core.AWSRequest ListObjects where+  type AWSResponse ListObjects = ListObjectsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListObjectsResponse'+            Prelude.<$> (Core.may (Data.parseXMLList "CommonPrefixes") x)+            Prelude.<*> (Core.may (Data.parseXMLList "Contents") x)+            Prelude.<*> (x Data..@? "Delimiter")+            Prelude.<*> (x Data..@? "EncodingType")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "Marker")+            Prelude.<*> (x Data..@? "MaxKeys")+            Prelude.<*> (x Data..@? "Name")+            Prelude.<*> (x Data..@? "NextMarker")+            Prelude.<*> (x Data..@? "Prefix")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListObjects where+  hashWithSalt _salt ListObjects' {..} =+    _salt+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` encodingType+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` marker+      `Prelude.hashWithSalt` maxKeys+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData ListObjects where+  rnf ListObjects' {..} =+    Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxKeys+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders ListObjects where+  toHeaders ListObjects' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath ListObjects where+  toPath ListObjects' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery ListObjects where+  toQuery ListObjects' {..} =+    Prelude.mconcat+      [ "delimiter" Data.=: delimiter,+        "encoding-type" Data.=: encodingType,+        "marker" Data.=: marker,+        "max-keys" Data.=: maxKeys,+        "prefix" Data.=: prefix+      ]++-- | /See:/ 'newListObjectsResponse' smart constructor.+data ListObjectsResponse = ListObjectsResponse'+  { -- | All of the keys (up to 1,000) rolled up in a common prefix count as a+    -- single return when calculating the number of returns.+    --+    -- A response can contain CommonPrefixes only if you specify a delimiter.+    --+    -- CommonPrefixes contains all (if there are any) keys between Prefix and+    -- the next occurrence of the string specified by the delimiter.+    --+    -- CommonPrefixes lists keys that act like subdirectories in the directory+    -- specified by Prefix.+    --+    -- For example, if the prefix is notes\/ and the delimiter is a slash (\/)+    -- as in notes\/summer\/july, the common prefix is notes\/summer\/. All of+    -- the keys that roll up into a common prefix count as a single return when+    -- calculating the number of returns.+    commonPrefixes :: Prelude.Maybe [CommonPrefix],+    -- | Metadata about each object returned.+    contents :: Prelude.Maybe [Object],+    -- | Causes keys that contain the same string between the prefix and the+    -- first occurrence of the delimiter to be rolled up into a single result+    -- element in the @CommonPrefixes@ collection. These rolled-up keys are not+    -- returned elsewhere in the response. Each rolled-up result counts as only+    -- one return against the @MaxKeys@ value.+    delimiter :: Prelude.Maybe Delimiter,+    -- | Encoding type used by Amazon S3 to encode object keys in the response.+    encodingType :: Prelude.Maybe EncodingType,+    -- | A flag that indicates whether Amazon S3 returned all of the results that+    -- satisfied the search criteria.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | Indicates where in the bucket listing begins. Marker is included in the+    -- response if it was sent with the request.+    marker :: Prelude.Maybe Prelude.Text,+    -- | The maximum number of keys returned in the response body.+    maxKeys :: Prelude.Maybe Prelude.Int,+    -- | The bucket name.+    name :: Prelude.Maybe BucketName,+    -- | When response is truncated (the IsTruncated element value in the+    -- response is true), you can use the key name in this field as marker in+    -- the subsequent request to get next set of objects. Amazon S3 lists+    -- objects in alphabetical order Note: This element is returned only if you+    -- have delimiter request parameter specified. If response does not include+    -- the NextMarker and it is truncated, you can use the value of the last+    -- Key in the response as the marker in the subsequent request to get the+    -- next set of object keys.+    nextMarker :: Prelude.Maybe Prelude.Text,+    -- | Keys that begin with the indicated prefix.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObjectsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'commonPrefixes', 'listObjectsResponse_commonPrefixes' - All of the keys (up to 1,000) rolled up in a common prefix count as a+-- single return when calculating the number of returns.+--+-- A response can contain CommonPrefixes only if you specify a delimiter.+--+-- CommonPrefixes contains all (if there are any) keys between Prefix and+-- the next occurrence of the string specified by the delimiter.+--+-- CommonPrefixes lists keys that act like subdirectories in the directory+-- specified by Prefix.+--+-- For example, if the prefix is notes\/ and the delimiter is a slash (\/)+-- as in notes\/summer\/july, the common prefix is notes\/summer\/. All of+-- the keys that roll up into a common prefix count as a single return when+-- calculating the number of returns.+--+-- 'contents', 'listObjectsResponse_contents' - Metadata about each object returned.+--+-- 'delimiter', 'listObjectsResponse_delimiter' - Causes keys that contain the same string between the prefix and the+-- first occurrence of the delimiter to be rolled up into a single result+-- element in the @CommonPrefixes@ collection. These rolled-up keys are not+-- returned elsewhere in the response. Each rolled-up result counts as only+-- one return against the @MaxKeys@ value.+--+-- 'encodingType', 'listObjectsResponse_encodingType' - Encoding type used by Amazon S3 to encode object keys in the response.+--+-- 'isTruncated', 'listObjectsResponse_isTruncated' - A flag that indicates whether Amazon S3 returned all of the results that+-- satisfied the search criteria.+--+-- 'marker', 'listObjectsResponse_marker' - Indicates where in the bucket listing begins. Marker is included in the+-- response if it was sent with the request.+--+-- 'maxKeys', 'listObjectsResponse_maxKeys' - The maximum number of keys returned in the response body.+--+-- 'name', 'listObjectsResponse_name' - The bucket name.+--+-- 'nextMarker', 'listObjectsResponse_nextMarker' - When response is truncated (the IsTruncated element value in the+-- response is true), you can use the key name in this field as marker in+-- the subsequent request to get next set of objects. Amazon S3 lists+-- objects in alphabetical order Note: This element is returned only if you+-- have delimiter request parameter specified. If response does not include+-- the NextMarker and it is truncated, you can use the value of the last+-- Key in the response as the marker in the subsequent request to get the+-- next set of object keys.+--+-- 'prefix', 'listObjectsResponse_prefix' - Keys that begin with the indicated prefix.+--+-- 'httpStatus', 'listObjectsResponse_httpStatus' - The response's http status code.+newListObjectsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListObjectsResponse+newListObjectsResponse pHttpStatus_ =+  ListObjectsResponse'+    { commonPrefixes =+        Prelude.Nothing,+      contents = Prelude.Nothing,+      delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      isTruncated = Prelude.Nothing,+      marker = Prelude.Nothing,+      maxKeys = Prelude.Nothing,+      name = Prelude.Nothing,+      nextMarker = Prelude.Nothing,+      prefix = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | All of the keys (up to 1,000) rolled up in a common prefix count as a+-- single return when calculating the number of returns.+--+-- A response can contain CommonPrefixes only if you specify a delimiter.+--+-- CommonPrefixes contains all (if there are any) keys between Prefix and+-- the next occurrence of the string specified by the delimiter.+--+-- CommonPrefixes lists keys that act like subdirectories in the directory+-- specified by Prefix.+--+-- For example, if the prefix is notes\/ and the delimiter is a slash (\/)+-- as in notes\/summer\/july, the common prefix is notes\/summer\/. All of+-- the keys that roll up into a common prefix count as a single return when+-- calculating the number of returns.+listObjectsResponse_commonPrefixes :: Lens.Lens' ListObjectsResponse (Prelude.Maybe [CommonPrefix])+listObjectsResponse_commonPrefixes = Lens.lens (\ListObjectsResponse' {commonPrefixes} -> commonPrefixes) (\s@ListObjectsResponse' {} a -> s {commonPrefixes = a} :: ListObjectsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Metadata about each object returned.+listObjectsResponse_contents :: Lens.Lens' ListObjectsResponse (Prelude.Maybe [Object])+listObjectsResponse_contents = Lens.lens (\ListObjectsResponse' {contents} -> contents) (\s@ListObjectsResponse' {} a -> s {contents = a} :: ListObjectsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Causes keys that contain the same string between the prefix and the+-- first occurrence of the delimiter to be rolled up into a single result+-- element in the @CommonPrefixes@ collection. These rolled-up keys are not+-- returned elsewhere in the response. Each rolled-up result counts as only+-- one return against the @MaxKeys@ value.+listObjectsResponse_delimiter :: Lens.Lens' ListObjectsResponse (Prelude.Maybe Delimiter)+listObjectsResponse_delimiter = Lens.lens (\ListObjectsResponse' {delimiter} -> delimiter) (\s@ListObjectsResponse' {} a -> s {delimiter = a} :: ListObjectsResponse)++-- | Encoding type used by Amazon S3 to encode object keys in the response.+listObjectsResponse_encodingType :: Lens.Lens' ListObjectsResponse (Prelude.Maybe EncodingType)+listObjectsResponse_encodingType = Lens.lens (\ListObjectsResponse' {encodingType} -> encodingType) (\s@ListObjectsResponse' {} a -> s {encodingType = a} :: ListObjectsResponse)++-- | A flag that indicates whether Amazon S3 returned all of the results that+-- satisfied the search criteria.+listObjectsResponse_isTruncated :: Lens.Lens' ListObjectsResponse (Prelude.Maybe Prelude.Bool)+listObjectsResponse_isTruncated = Lens.lens (\ListObjectsResponse' {isTruncated} -> isTruncated) (\s@ListObjectsResponse' {} a -> s {isTruncated = a} :: ListObjectsResponse)++-- | Indicates where in the bucket listing begins. Marker is included in the+-- response if it was sent with the request.+listObjectsResponse_marker :: Lens.Lens' ListObjectsResponse (Prelude.Maybe Prelude.Text)+listObjectsResponse_marker = Lens.lens (\ListObjectsResponse' {marker} -> marker) (\s@ListObjectsResponse' {} a -> s {marker = a} :: ListObjectsResponse)++-- | The maximum number of keys returned in the response body.+listObjectsResponse_maxKeys :: Lens.Lens' ListObjectsResponse (Prelude.Maybe Prelude.Int)+listObjectsResponse_maxKeys = Lens.lens (\ListObjectsResponse' {maxKeys} -> maxKeys) (\s@ListObjectsResponse' {} a -> s {maxKeys = a} :: ListObjectsResponse)++-- | The bucket name.+listObjectsResponse_name :: Lens.Lens' ListObjectsResponse (Prelude.Maybe BucketName)+listObjectsResponse_name = Lens.lens (\ListObjectsResponse' {name} -> name) (\s@ListObjectsResponse' {} a -> s {name = a} :: ListObjectsResponse)++-- | When response is truncated (the IsTruncated element value in the+-- response is true), you can use the key name in this field as marker in+-- the subsequent request to get next set of objects. Amazon S3 lists+-- objects in alphabetical order Note: This element is returned only if you+-- have delimiter request parameter specified. If response does not include+-- the NextMarker and it is truncated, you can use the value of the last+-- Key in the response as the marker in the subsequent request to get the+-- next set of object keys.+listObjectsResponse_nextMarker :: Lens.Lens' ListObjectsResponse (Prelude.Maybe Prelude.Text)+listObjectsResponse_nextMarker = Lens.lens (\ListObjectsResponse' {nextMarker} -> nextMarker) (\s@ListObjectsResponse' {} a -> s {nextMarker = a} :: ListObjectsResponse)++-- | Keys that begin with the indicated prefix.+listObjectsResponse_prefix :: Lens.Lens' ListObjectsResponse (Prelude.Maybe Prelude.Text)+listObjectsResponse_prefix = Lens.lens (\ListObjectsResponse' {prefix} -> prefix) (\s@ListObjectsResponse' {} a -> s {prefix = a} :: ListObjectsResponse)++-- | The response's http status code.+listObjectsResponse_httpStatus :: Lens.Lens' ListObjectsResponse Prelude.Int+listObjectsResponse_httpStatus = Lens.lens (\ListObjectsResponse' {httpStatus} -> httpStatus) (\s@ListObjectsResponse' {} a -> s {httpStatus = a} :: ListObjectsResponse)++instance Prelude.NFData ListObjectsResponse where+  rnf ListObjectsResponse' {..} =+    Prelude.rnf commonPrefixes+      `Prelude.seq` Prelude.rnf contents+      `Prelude.seq` Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf marker+      `Prelude.seq` Prelude.rnf maxKeys+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextMarker+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListObjectsV2.hs view
@@ -0,0 +1,726 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListObjectsV2+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Returns some or all (up to 1,000) of the objects in a bucket with each+-- request. You can use the request parameters as selection criteria to+-- return a subset of the objects in a bucket. A @200 OK@ response can+-- contain valid or invalid XML. Make sure to design your application to+-- parse the contents of the response and handle it appropriately. Objects+-- are returned sorted in an ascending order of the respective key names in+-- the list. For more information about listing objects, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html Listing object keys programmatically>+--+-- To use this operation, you must have READ access to the bucket.+--+-- To use this action in an Identity and Access Management (IAM) policy,+-- you must have permissions to perform the @s3:ListBucket@ action. The+-- bucket owner has this permission by default and can grant this+-- permission to others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- This section describes the latest revision of this action. We recommend+-- that you use this revised API for application development. For backward+-- compatibility, Amazon S3 continues to support the prior version of this+-- API,+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html ListObjects>.+--+-- To get a list of your buckets, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html ListBuckets>.+--+-- The following operations are related to @ListObjectsV2@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- This operation returns paginated results.+module Amazonka.S3.ListObjectsV2+  ( -- * Creating a Request+    ListObjectsV2 (..),+    newListObjectsV2,++    -- * Request Lenses+    listObjectsV2_continuationToken,+    listObjectsV2_delimiter,+    listObjectsV2_encodingType,+    listObjectsV2_expectedBucketOwner,+    listObjectsV2_fetchOwner,+    listObjectsV2_maxKeys,+    listObjectsV2_prefix,+    listObjectsV2_requestPayer,+    listObjectsV2_startAfter,+    listObjectsV2_bucket,++    -- * Destructuring the Response+    ListObjectsV2Response (..),+    newListObjectsV2Response,++    -- * Response Lenses+    listObjectsV2Response_commonPrefixes,+    listObjectsV2Response_contents,+    listObjectsV2Response_continuationToken,+    listObjectsV2Response_delimiter,+    listObjectsV2Response_encodingType,+    listObjectsV2Response_isTruncated,+    listObjectsV2Response_keyCount,+    listObjectsV2Response_maxKeys,+    listObjectsV2Response_name,+    listObjectsV2Response_nextContinuationToken,+    listObjectsV2Response_prefix,+    listObjectsV2Response_startAfter,+    listObjectsV2Response_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListObjectsV2' smart constructor.+data ListObjectsV2 = ListObjectsV2'+  { -- | ContinuationToken indicates Amazon S3 that the list is being continued+    -- on this bucket with a token. ContinuationToken is obfuscated and is not+    -- a real key.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | A delimiter is a character you use to group keys.+    delimiter :: Prelude.Maybe Delimiter,+    -- | Encoding type used by Amazon S3 to encode object keys in the response.+    encodingType :: Prelude.Maybe EncodingType,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The owner field is not present in listV2 by default, if you want to+    -- return owner field with each key in the result then set the fetch owner+    -- field to true.+    fetchOwner :: Prelude.Maybe Prelude.Bool,+    -- | Sets the maximum number of keys returned in the response. By default the+    -- action returns up to 1,000 key names. The response might contain fewer+    -- keys but will never contain more.+    maxKeys :: Prelude.Maybe Prelude.Int,+    -- | Limits the response to keys that begin with the specified prefix.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Confirms that the requester knows that she or he will be charged for the+    -- list objects request in V2 style. Bucket owners need not specify this+    -- parameter in their requests.+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | StartAfter is where you want Amazon S3 to start listing from. Amazon S3+    -- starts listing after this specified key. StartAfter can be any key in+    -- the bucket.+    startAfter :: Prelude.Maybe Prelude.Text,+    -- | Bucket name to list.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObjectsV2' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'continuationToken', 'listObjectsV2_continuationToken' - ContinuationToken indicates Amazon S3 that the list is being continued+-- on this bucket with a token. ContinuationToken is obfuscated and is not+-- a real key.+--+-- 'delimiter', 'listObjectsV2_delimiter' - A delimiter is a character you use to group keys.+--+-- 'encodingType', 'listObjectsV2_encodingType' - Encoding type used by Amazon S3 to encode object keys in the response.+--+-- 'expectedBucketOwner', 'listObjectsV2_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'fetchOwner', 'listObjectsV2_fetchOwner' - The owner field is not present in listV2 by default, if you want to+-- return owner field with each key in the result then set the fetch owner+-- field to true.+--+-- 'maxKeys', 'listObjectsV2_maxKeys' - Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more.+--+-- 'prefix', 'listObjectsV2_prefix' - Limits the response to keys that begin with the specified prefix.+--+-- 'requestPayer', 'listObjectsV2_requestPayer' - Confirms that the requester knows that she or he will be charged for the+-- list objects request in V2 style. Bucket owners need not specify this+-- parameter in their requests.+--+-- 'startAfter', 'listObjectsV2_startAfter' - StartAfter is where you want Amazon S3 to start listing from. Amazon S3+-- starts listing after this specified key. StartAfter can be any key in+-- the bucket.+--+-- 'bucket', 'listObjectsV2_bucket' - Bucket name to list.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+newListObjectsV2 ::+  -- | 'bucket'+  BucketName ->+  ListObjectsV2+newListObjectsV2 pBucket_ =+  ListObjectsV2'+    { continuationToken = Prelude.Nothing,+      delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      fetchOwner = Prelude.Nothing,+      maxKeys = Prelude.Nothing,+      prefix = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      startAfter = Prelude.Nothing,+      bucket = pBucket_+    }++-- | ContinuationToken indicates Amazon S3 that the list is being continued+-- on this bucket with a token. ContinuationToken is obfuscated and is not+-- a real key.+listObjectsV2_continuationToken :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Prelude.Text)+listObjectsV2_continuationToken = Lens.lens (\ListObjectsV2' {continuationToken} -> continuationToken) (\s@ListObjectsV2' {} a -> s {continuationToken = a} :: ListObjectsV2)++-- | A delimiter is a character you use to group keys.+listObjectsV2_delimiter :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Delimiter)+listObjectsV2_delimiter = Lens.lens (\ListObjectsV2' {delimiter} -> delimiter) (\s@ListObjectsV2' {} a -> s {delimiter = a} :: ListObjectsV2)++-- | Encoding type used by Amazon S3 to encode object keys in the response.+listObjectsV2_encodingType :: Lens.Lens' ListObjectsV2 (Prelude.Maybe EncodingType)+listObjectsV2_encodingType = Lens.lens (\ListObjectsV2' {encodingType} -> encodingType) (\s@ListObjectsV2' {} a -> s {encodingType = a} :: ListObjectsV2)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listObjectsV2_expectedBucketOwner :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Prelude.Text)+listObjectsV2_expectedBucketOwner = Lens.lens (\ListObjectsV2' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListObjectsV2' {} a -> s {expectedBucketOwner = a} :: ListObjectsV2)++-- | The owner field is not present in listV2 by default, if you want to+-- return owner field with each key in the result then set the fetch owner+-- field to true.+listObjectsV2_fetchOwner :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Prelude.Bool)+listObjectsV2_fetchOwner = Lens.lens (\ListObjectsV2' {fetchOwner} -> fetchOwner) (\s@ListObjectsV2' {} a -> s {fetchOwner = a} :: ListObjectsV2)++-- | Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more.+listObjectsV2_maxKeys :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Prelude.Int)+listObjectsV2_maxKeys = Lens.lens (\ListObjectsV2' {maxKeys} -> maxKeys) (\s@ListObjectsV2' {} a -> s {maxKeys = a} :: ListObjectsV2)++-- | Limits the response to keys that begin with the specified prefix.+listObjectsV2_prefix :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Prelude.Text)+listObjectsV2_prefix = Lens.lens (\ListObjectsV2' {prefix} -> prefix) (\s@ListObjectsV2' {} a -> s {prefix = a} :: ListObjectsV2)++-- | Confirms that the requester knows that she or he will be charged for the+-- list objects request in V2 style. Bucket owners need not specify this+-- parameter in their requests.+listObjectsV2_requestPayer :: Lens.Lens' ListObjectsV2 (Prelude.Maybe RequestPayer)+listObjectsV2_requestPayer = Lens.lens (\ListObjectsV2' {requestPayer} -> requestPayer) (\s@ListObjectsV2' {} a -> s {requestPayer = a} :: ListObjectsV2)++-- | StartAfter is where you want Amazon S3 to start listing from. Amazon S3+-- starts listing after this specified key. StartAfter can be any key in+-- the bucket.+listObjectsV2_startAfter :: Lens.Lens' ListObjectsV2 (Prelude.Maybe Prelude.Text)+listObjectsV2_startAfter = Lens.lens (\ListObjectsV2' {startAfter} -> startAfter) (\s@ListObjectsV2' {} a -> s {startAfter = a} :: ListObjectsV2)++-- | Bucket name to list.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+listObjectsV2_bucket :: Lens.Lens' ListObjectsV2 BucketName+listObjectsV2_bucket = Lens.lens (\ListObjectsV2' {bucket} -> bucket) (\s@ListObjectsV2' {} a -> s {bucket = a} :: ListObjectsV2)++instance Core.AWSPager ListObjectsV2 where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listObjectsV2Response_isTruncated+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.isNothing+        ( rs+            Lens.^? listObjectsV2Response_nextContinuationToken+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listObjectsV2_continuationToken+          Lens..~ rs+          Lens.^? listObjectsV2Response_nextContinuationToken+          Prelude.. Lens._Just++instance Core.AWSRequest ListObjectsV2 where+  type+    AWSResponse ListObjectsV2 =+      ListObjectsV2Response+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListObjectsV2Response'+            Prelude.<$> (Core.may (Data.parseXMLList "CommonPrefixes") x)+            Prelude.<*> (Core.may (Data.parseXMLList "Contents") x)+            Prelude.<*> (x Data..@? "ContinuationToken")+            Prelude.<*> (x Data..@? "Delimiter")+            Prelude.<*> (x Data..@? "EncodingType")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "KeyCount")+            Prelude.<*> (x Data..@? "MaxKeys")+            Prelude.<*> (x Data..@? "Name")+            Prelude.<*> (x Data..@? "NextContinuationToken")+            Prelude.<*> (x Data..@? "Prefix")+            Prelude.<*> (x Data..@? "StartAfter")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListObjectsV2 where+  hashWithSalt _salt ListObjectsV2' {..} =+    _salt+      `Prelude.hashWithSalt` continuationToken+      `Prelude.hashWithSalt` delimiter+      `Prelude.hashWithSalt` encodingType+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` fetchOwner+      `Prelude.hashWithSalt` maxKeys+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` startAfter+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData ListObjectsV2 where+  rnf ListObjectsV2' {..} =+    Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf fetchOwner+      `Prelude.seq` Prelude.rnf maxKeys+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf startAfter+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToHeaders ListObjectsV2 where+  toHeaders ListObjectsV2' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath ListObjectsV2 where+  toPath ListObjectsV2' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery ListObjectsV2 where+  toQuery ListObjectsV2' {..} =+    Prelude.mconcat+      [ "continuation-token" Data.=: continuationToken,+        "delimiter" Data.=: delimiter,+        "encoding-type" Data.=: encodingType,+        "fetch-owner" Data.=: fetchOwner,+        "max-keys" Data.=: maxKeys,+        "prefix" Data.=: prefix,+        "start-after" Data.=: startAfter,+        "list-type=2"+      ]++-- | /See:/ 'newListObjectsV2Response' smart constructor.+data ListObjectsV2Response = ListObjectsV2Response'+  { -- | All of the keys (up to 1,000) rolled up into a common prefix count as a+    -- single return when calculating the number of returns.+    --+    -- A response can contain @CommonPrefixes@ only if you specify a delimiter.+    --+    -- @CommonPrefixes@ contains all (if there are any) keys between @Prefix@+    -- and the next occurrence of the string specified by a delimiter.+    --+    -- @CommonPrefixes@ lists keys that act like subdirectories in the+    -- directory specified by @Prefix@.+    --+    -- For example, if the prefix is @notes\/@ and the delimiter is a slash+    -- (@\/@) as in @notes\/summer\/july@, the common prefix is+    -- @notes\/summer\/@. All of the keys that roll up into a common prefix+    -- count as a single return when calculating the number of returns.+    commonPrefixes :: Prelude.Maybe [CommonPrefix],+    -- | Metadata about each object returned.+    contents :: Prelude.Maybe [Object],+    -- | If ContinuationToken was sent with the request, it is included in the+    -- response.+    continuationToken :: Prelude.Maybe Prelude.Text,+    -- | Causes keys that contain the same string between the prefix and the+    -- first occurrence of the delimiter to be rolled up into a single result+    -- element in the CommonPrefixes collection. These rolled-up keys are not+    -- returned elsewhere in the response. Each rolled-up result counts as only+    -- one return against the @MaxKeys@ value.+    delimiter :: Prelude.Maybe Delimiter,+    -- | Encoding type used by Amazon S3 to encode object key names in the XML+    -- response.+    --+    -- If you specify the encoding-type request parameter, Amazon S3 includes+    -- this element in the response, and returns encoded key name values in the+    -- following response elements:+    --+    -- @Delimiter, Prefix, Key,@ and @StartAfter@.+    encodingType :: Prelude.Maybe EncodingType,+    -- | Set to false if all of the results were returned. Set to true if more+    -- keys are available to return. If the number of results exceeds that+    -- specified by MaxKeys, all of the results might not be returned.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | KeyCount is the number of keys returned with this request. KeyCount will+    -- always be less than or equals to MaxKeys field. Say you ask for 50 keys,+    -- your result will include less than equals 50 keys+    keyCount :: Prelude.Maybe Prelude.Int,+    -- | Sets the maximum number of keys returned in the response. By default the+    -- action returns up to 1,000 key names. The response might contain fewer+    -- keys but will never contain more.+    maxKeys :: Prelude.Maybe Prelude.Int,+    -- | The bucket name.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    name :: Prelude.Maybe BucketName,+    -- | @NextContinuationToken@ is sent when @isTruncated@ is true, which means+    -- there are more keys in the bucket that can be listed. The next list+    -- requests to Amazon S3 can be continued with this+    -- @NextContinuationToken@. @NextContinuationToken@ is obfuscated and is+    -- not a real key+    nextContinuationToken :: Prelude.Maybe Prelude.Text,+    -- | Keys that begin with the indicated prefix.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | If StartAfter was sent with the request, it is included in the response.+    startAfter :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListObjectsV2Response' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'commonPrefixes', 'listObjectsV2Response_commonPrefixes' - All of the keys (up to 1,000) rolled up into a common prefix count as a+-- single return when calculating the number of returns.+--+-- A response can contain @CommonPrefixes@ only if you specify a delimiter.+--+-- @CommonPrefixes@ contains all (if there are any) keys between @Prefix@+-- and the next occurrence of the string specified by a delimiter.+--+-- @CommonPrefixes@ lists keys that act like subdirectories in the+-- directory specified by @Prefix@.+--+-- For example, if the prefix is @notes\/@ and the delimiter is a slash+-- (@\/@) as in @notes\/summer\/july@, the common prefix is+-- @notes\/summer\/@. All of the keys that roll up into a common prefix+-- count as a single return when calculating the number of returns.+--+-- 'contents', 'listObjectsV2Response_contents' - Metadata about each object returned.+--+-- 'continuationToken', 'listObjectsV2Response_continuationToken' - If ContinuationToken was sent with the request, it is included in the+-- response.+--+-- 'delimiter', 'listObjectsV2Response_delimiter' - Causes keys that contain the same string between the prefix and the+-- first occurrence of the delimiter to be rolled up into a single result+-- element in the CommonPrefixes collection. These rolled-up keys are not+-- returned elsewhere in the response. Each rolled-up result counts as only+-- one return against the @MaxKeys@ value.+--+-- 'encodingType', 'listObjectsV2Response_encodingType' - Encoding type used by Amazon S3 to encode object key names in the XML+-- response.+--+-- If you specify the encoding-type request parameter, Amazon S3 includes+-- this element in the response, and returns encoded key name values in the+-- following response elements:+--+-- @Delimiter, Prefix, Key,@ and @StartAfter@.+--+-- 'isTruncated', 'listObjectsV2Response_isTruncated' - Set to false if all of the results were returned. Set to true if more+-- keys are available to return. If the number of results exceeds that+-- specified by MaxKeys, all of the results might not be returned.+--+-- 'keyCount', 'listObjectsV2Response_keyCount' - KeyCount is the number of keys returned with this request. KeyCount will+-- always be less than or equals to MaxKeys field. Say you ask for 50 keys,+-- your result will include less than equals 50 keys+--+-- 'maxKeys', 'listObjectsV2Response_maxKeys' - Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more.+--+-- 'name', 'listObjectsV2Response_name' - The bucket name.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'nextContinuationToken', 'listObjectsV2Response_nextContinuationToken' - @NextContinuationToken@ is sent when @isTruncated@ is true, which means+-- there are more keys in the bucket that can be listed. The next list+-- requests to Amazon S3 can be continued with this+-- @NextContinuationToken@. @NextContinuationToken@ is obfuscated and is+-- not a real key+--+-- 'prefix', 'listObjectsV2Response_prefix' - Keys that begin with the indicated prefix.+--+-- 'startAfter', 'listObjectsV2Response_startAfter' - If StartAfter was sent with the request, it is included in the response.+--+-- 'httpStatus', 'listObjectsV2Response_httpStatus' - The response's http status code.+newListObjectsV2Response ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListObjectsV2Response+newListObjectsV2Response pHttpStatus_ =+  ListObjectsV2Response'+    { commonPrefixes =+        Prelude.Nothing,+      contents = Prelude.Nothing,+      continuationToken = Prelude.Nothing,+      delimiter = Prelude.Nothing,+      encodingType = Prelude.Nothing,+      isTruncated = Prelude.Nothing,+      keyCount = Prelude.Nothing,+      maxKeys = Prelude.Nothing,+      name = Prelude.Nothing,+      nextContinuationToken = Prelude.Nothing,+      prefix = Prelude.Nothing,+      startAfter = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | All of the keys (up to 1,000) rolled up into a common prefix count as a+-- single return when calculating the number of returns.+--+-- A response can contain @CommonPrefixes@ only if you specify a delimiter.+--+-- @CommonPrefixes@ contains all (if there are any) keys between @Prefix@+-- and the next occurrence of the string specified by a delimiter.+--+-- @CommonPrefixes@ lists keys that act like subdirectories in the+-- directory specified by @Prefix@.+--+-- For example, if the prefix is @notes\/@ and the delimiter is a slash+-- (@\/@) as in @notes\/summer\/july@, the common prefix is+-- @notes\/summer\/@. All of the keys that roll up into a common prefix+-- count as a single return when calculating the number of returns.+listObjectsV2Response_commonPrefixes :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe [CommonPrefix])+listObjectsV2Response_commonPrefixes = Lens.lens (\ListObjectsV2Response' {commonPrefixes} -> commonPrefixes) (\s@ListObjectsV2Response' {} a -> s {commonPrefixes = a} :: ListObjectsV2Response) Prelude.. Lens.mapping Lens.coerced++-- | Metadata about each object returned.+listObjectsV2Response_contents :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe [Object])+listObjectsV2Response_contents = Lens.lens (\ListObjectsV2Response' {contents} -> contents) (\s@ListObjectsV2Response' {} a -> s {contents = a} :: ListObjectsV2Response) Prelude.. Lens.mapping Lens.coerced++-- | If ContinuationToken was sent with the request, it is included in the+-- response.+listObjectsV2Response_continuationToken :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Text)+listObjectsV2Response_continuationToken = Lens.lens (\ListObjectsV2Response' {continuationToken} -> continuationToken) (\s@ListObjectsV2Response' {} a -> s {continuationToken = a} :: ListObjectsV2Response)++-- | Causes keys that contain the same string between the prefix and the+-- first occurrence of the delimiter to be rolled up into a single result+-- element in the CommonPrefixes collection. These rolled-up keys are not+-- returned elsewhere in the response. Each rolled-up result counts as only+-- one return against the @MaxKeys@ value.+listObjectsV2Response_delimiter :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Delimiter)+listObjectsV2Response_delimiter = Lens.lens (\ListObjectsV2Response' {delimiter} -> delimiter) (\s@ListObjectsV2Response' {} a -> s {delimiter = a} :: ListObjectsV2Response)++-- | Encoding type used by Amazon S3 to encode object key names in the XML+-- response.+--+-- If you specify the encoding-type request parameter, Amazon S3 includes+-- this element in the response, and returns encoded key name values in the+-- following response elements:+--+-- @Delimiter, Prefix, Key,@ and @StartAfter@.+listObjectsV2Response_encodingType :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe EncodingType)+listObjectsV2Response_encodingType = Lens.lens (\ListObjectsV2Response' {encodingType} -> encodingType) (\s@ListObjectsV2Response' {} a -> s {encodingType = a} :: ListObjectsV2Response)++-- | Set to false if all of the results were returned. Set to true if more+-- keys are available to return. If the number of results exceeds that+-- specified by MaxKeys, all of the results might not be returned.+listObjectsV2Response_isTruncated :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Bool)+listObjectsV2Response_isTruncated = Lens.lens (\ListObjectsV2Response' {isTruncated} -> isTruncated) (\s@ListObjectsV2Response' {} a -> s {isTruncated = a} :: ListObjectsV2Response)++-- | KeyCount is the number of keys returned with this request. KeyCount will+-- always be less than or equals to MaxKeys field. Say you ask for 50 keys,+-- your result will include less than equals 50 keys+listObjectsV2Response_keyCount :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Int)+listObjectsV2Response_keyCount = Lens.lens (\ListObjectsV2Response' {keyCount} -> keyCount) (\s@ListObjectsV2Response' {} a -> s {keyCount = a} :: ListObjectsV2Response)++-- | Sets the maximum number of keys returned in the response. By default the+-- action returns up to 1,000 key names. The response might contain fewer+-- keys but will never contain more.+listObjectsV2Response_maxKeys :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Int)+listObjectsV2Response_maxKeys = Lens.lens (\ListObjectsV2Response' {maxKeys} -> maxKeys) (\s@ListObjectsV2Response' {} a -> s {maxKeys = a} :: ListObjectsV2Response)++-- | The bucket name.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+listObjectsV2Response_name :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe BucketName)+listObjectsV2Response_name = Lens.lens (\ListObjectsV2Response' {name} -> name) (\s@ListObjectsV2Response' {} a -> s {name = a} :: ListObjectsV2Response)++-- | @NextContinuationToken@ is sent when @isTruncated@ is true, which means+-- there are more keys in the bucket that can be listed. The next list+-- requests to Amazon S3 can be continued with this+-- @NextContinuationToken@. @NextContinuationToken@ is obfuscated and is+-- not a real key+listObjectsV2Response_nextContinuationToken :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Text)+listObjectsV2Response_nextContinuationToken = Lens.lens (\ListObjectsV2Response' {nextContinuationToken} -> nextContinuationToken) (\s@ListObjectsV2Response' {} a -> s {nextContinuationToken = a} :: ListObjectsV2Response)++-- | Keys that begin with the indicated prefix.+listObjectsV2Response_prefix :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Text)+listObjectsV2Response_prefix = Lens.lens (\ListObjectsV2Response' {prefix} -> prefix) (\s@ListObjectsV2Response' {} a -> s {prefix = a} :: ListObjectsV2Response)++-- | If StartAfter was sent with the request, it is included in the response.+listObjectsV2Response_startAfter :: Lens.Lens' ListObjectsV2Response (Prelude.Maybe Prelude.Text)+listObjectsV2Response_startAfter = Lens.lens (\ListObjectsV2Response' {startAfter} -> startAfter) (\s@ListObjectsV2Response' {} a -> s {startAfter = a} :: ListObjectsV2Response)++-- | The response's http status code.+listObjectsV2Response_httpStatus :: Lens.Lens' ListObjectsV2Response Prelude.Int+listObjectsV2Response_httpStatus = Lens.lens (\ListObjectsV2Response' {httpStatus} -> httpStatus) (\s@ListObjectsV2Response' {} a -> s {httpStatus = a} :: ListObjectsV2Response)++instance Prelude.NFData ListObjectsV2Response where+  rnf ListObjectsV2Response' {..} =+    Prelude.rnf commonPrefixes+      `Prelude.seq` Prelude.rnf contents+      `Prelude.seq` Prelude.rnf continuationToken+      `Prelude.seq` Prelude.rnf delimiter+      `Prelude.seq` Prelude.rnf encodingType+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf keyCount+      `Prelude.seq` Prelude.rnf maxKeys+      `Prelude.seq` Prelude.rnf name+      `Prelude.seq` Prelude.rnf nextContinuationToken+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf startAfter+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/ListParts.hs view
@@ -0,0 +1,684 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.ListParts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Lists the parts that have been uploaded for a specific multipart upload.+-- This operation must include the upload ID, which you obtain by sending+-- the initiate multipart upload request (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>).+-- This request returns a maximum of 1,000 uploaded parts. The default+-- number of parts returned is 1,000 parts. You can restrict the number of+-- parts returned by specifying the @max-parts@ request parameter. If your+-- multipart upload consists of more than 1,000 parts, the response returns+-- an @IsTruncated@ field with the value of true, and a+-- @NextPartNumberMarker@ element. In subsequent @ListParts@ requests you+-- can include the part-number-marker query string parameter and set its+-- value to the @NextPartNumberMarker@ field value from the previous+-- response.+--+-- If the upload was created using a checksum algorithm, you will need to+-- have permission to the @kms:Decrypt@ action for the request to succeed.+--+-- For more information on multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html Uploading Objects Using Multipart Upload>.+--+-- For information on permissions required to use the multipart upload API,+-- see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>.+--+-- The following operations are related to @ListParts@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html GetObjectAttributes>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html ListMultipartUploads>+--+-- This operation returns paginated results.+module Amazonka.S3.ListParts+  ( -- * Creating a Request+    ListParts (..),+    newListParts,++    -- * Request Lenses+    listParts_expectedBucketOwner,+    listParts_maxParts,+    listParts_partNumberMarker,+    listParts_requestPayer,+    listParts_sSECustomerAlgorithm,+    listParts_sSECustomerKey,+    listParts_sSECustomerKeyMD5,+    listParts_bucket,+    listParts_key,+    listParts_uploadId,++    -- * Destructuring the Response+    ListPartsResponse (..),+    newListPartsResponse,++    -- * Response Lenses+    listPartsResponse_abortDate,+    listPartsResponse_abortRuleId,+    listPartsResponse_bucket,+    listPartsResponse_checksumAlgorithm,+    listPartsResponse_initiator,+    listPartsResponse_isTruncated,+    listPartsResponse_key,+    listPartsResponse_maxParts,+    listPartsResponse_nextPartNumberMarker,+    listPartsResponse_owner,+    listPartsResponse_partNumberMarker,+    listPartsResponse_parts,+    listPartsResponse_requestCharged,+    listPartsResponse_storageClass,+    listPartsResponse_uploadId,+    listPartsResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newListParts' smart constructor.+data ListParts = ListParts'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Sets the maximum number of parts to return.+    maxParts :: Prelude.Maybe Prelude.Int,+    -- | Specifies the part after which listing should begin. Only parts with+    -- higher part numbers will be listed.+    partNumberMarker :: Prelude.Maybe Prelude.Int,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The server-side encryption (SSE) algorithm used to encrypt the object.+    -- This parameter is needed only when the object was created using a+    -- checksum algorithm. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | The server-side encryption (SSE) customer managed key. This parameter is+    -- needed only when the object was created using a checksum algorithm. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The MD5 server-side encryption (SSE) customer managed key. This+    -- parameter is needed only when the object was created using a checksum+    -- algorithm. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which the parts are being uploaded.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which the multipart upload was initiated.+    key :: ObjectKey,+    -- | Upload ID identifying the multipart upload whose parts are being listed.+    uploadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListParts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'listParts_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'maxParts', 'listParts_maxParts' - Sets the maximum number of parts to return.+--+-- 'partNumberMarker', 'listParts_partNumberMarker' - Specifies the part after which listing should begin. Only parts with+-- higher part numbers will be listed.+--+-- 'requestPayer', 'listParts_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'listParts_sSECustomerAlgorithm' - The server-side encryption (SSE) algorithm used to encrypt the object.+-- This parameter is needed only when the object was created using a+-- checksum algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'sSECustomerKey', 'listParts_sSECustomerKey' - The server-side encryption (SSE) customer managed key. This parameter is+-- needed only when the object was created using a checksum algorithm. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'sSECustomerKeyMD5', 'listParts_sSECustomerKeyMD5' - The MD5 server-side encryption (SSE) customer managed key. This+-- parameter is needed only when the object was created using a checksum+-- algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'bucket', 'listParts_bucket' - The name of the bucket to which the parts are being uploaded.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'listParts_key' - Object key for which the multipart upload was initiated.+--+-- 'uploadId', 'listParts_uploadId' - Upload ID identifying the multipart upload whose parts are being listed.+newListParts ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'uploadId'+  Prelude.Text ->+  ListParts+newListParts pBucket_ pKey_ pUploadId_ =+  ListParts'+    { expectedBucketOwner = Prelude.Nothing,+      maxParts = Prelude.Nothing,+      partNumberMarker = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_,+      uploadId = pUploadId_+    }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+listParts_expectedBucketOwner :: Lens.Lens' ListParts (Prelude.Maybe Prelude.Text)+listParts_expectedBucketOwner = Lens.lens (\ListParts' {expectedBucketOwner} -> expectedBucketOwner) (\s@ListParts' {} a -> s {expectedBucketOwner = a} :: ListParts)++-- | Sets the maximum number of parts to return.+listParts_maxParts :: Lens.Lens' ListParts (Prelude.Maybe Prelude.Int)+listParts_maxParts = Lens.lens (\ListParts' {maxParts} -> maxParts) (\s@ListParts' {} a -> s {maxParts = a} :: ListParts)++-- | Specifies the part after which listing should begin. Only parts with+-- higher part numbers will be listed.+listParts_partNumberMarker :: Lens.Lens' ListParts (Prelude.Maybe Prelude.Int)+listParts_partNumberMarker = Lens.lens (\ListParts' {partNumberMarker} -> partNumberMarker) (\s@ListParts' {} a -> s {partNumberMarker = a} :: ListParts)++-- | Undocumented member.+listParts_requestPayer :: Lens.Lens' ListParts (Prelude.Maybe RequestPayer)+listParts_requestPayer = Lens.lens (\ListParts' {requestPayer} -> requestPayer) (\s@ListParts' {} a -> s {requestPayer = a} :: ListParts)++-- | The server-side encryption (SSE) algorithm used to encrypt the object.+-- This parameter is needed only when the object was created using a+-- checksum algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+listParts_sSECustomerAlgorithm :: Lens.Lens' ListParts (Prelude.Maybe Prelude.Text)+listParts_sSECustomerAlgorithm = Lens.lens (\ListParts' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@ListParts' {} a -> s {sSECustomerAlgorithm = a} :: ListParts)++-- | The server-side encryption (SSE) customer managed key. This parameter is+-- needed only when the object was created using a checksum algorithm. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+listParts_sSECustomerKey :: Lens.Lens' ListParts (Prelude.Maybe Prelude.Text)+listParts_sSECustomerKey = Lens.lens (\ListParts' {sSECustomerKey} -> sSECustomerKey) (\s@ListParts' {} a -> s {sSECustomerKey = a} :: ListParts) Prelude.. Lens.mapping Data._Sensitive++-- | The MD5 server-side encryption (SSE) customer managed key. This+-- parameter is needed only when the object was created using a checksum+-- algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+listParts_sSECustomerKeyMD5 :: Lens.Lens' ListParts (Prelude.Maybe Prelude.Text)+listParts_sSECustomerKeyMD5 = Lens.lens (\ListParts' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@ListParts' {} a -> s {sSECustomerKeyMD5 = a} :: ListParts)++-- | The name of the bucket to which the parts are being uploaded.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+listParts_bucket :: Lens.Lens' ListParts BucketName+listParts_bucket = Lens.lens (\ListParts' {bucket} -> bucket) (\s@ListParts' {} a -> s {bucket = a} :: ListParts)++-- | Object key for which the multipart upload was initiated.+listParts_key :: Lens.Lens' ListParts ObjectKey+listParts_key = Lens.lens (\ListParts' {key} -> key) (\s@ListParts' {} a -> s {key = a} :: ListParts)++-- | Upload ID identifying the multipart upload whose parts are being listed.+listParts_uploadId :: Lens.Lens' ListParts Prelude.Text+listParts_uploadId = Lens.lens (\ListParts' {uploadId} -> uploadId) (\s@ListParts' {} a -> s {uploadId = a} :: ListParts)++instance Core.AWSPager ListParts where+  page rq rs+    | Core.stop+        ( rs+            Lens.^? listPartsResponse_isTruncated+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.isNothing+        ( rs+            Lens.^? listPartsResponse_nextPartNumberMarker+            Prelude.. Lens._Just+        ) =+        Prelude.Nothing+    | Prelude.otherwise =+        Prelude.Just+          Prelude.$ rq+          Prelude.& listParts_partNumberMarker+          Lens..~ rs+          Lens.^? listPartsResponse_nextPartNumberMarker+          Prelude.. Lens._Just++instance Core.AWSRequest ListParts where+  type AWSResponse ListParts = ListPartsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.get (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          ListPartsResponse'+            Prelude.<$> (h Data..#? "x-amz-abort-date")+            Prelude.<*> (h Data..#? "x-amz-abort-rule-id")+            Prelude.<*> (x Data..@? "Bucket")+            Prelude.<*> (x Data..@? "ChecksumAlgorithm")+            Prelude.<*> (x Data..@? "Initiator")+            Prelude.<*> (x Data..@? "IsTruncated")+            Prelude.<*> (x Data..@? "Key")+            Prelude.<*> (x Data..@? "MaxParts")+            Prelude.<*> (x Data..@? "NextPartNumberMarker")+            Prelude.<*> (x Data..@? "Owner")+            Prelude.<*> (x Data..@? "PartNumberMarker")+            Prelude.<*> (Core.may (Data.parseXMLList "Part") x)+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (x Data..@? "StorageClass")+            Prelude.<*> (x Data..@? "UploadId")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable ListParts where+  hashWithSalt _salt ListParts' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` maxParts+      `Prelude.hashWithSalt` partNumberMarker+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` uploadId++instance Prelude.NFData ListParts where+  rnf ListParts' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf maxParts+      `Prelude.seq` Prelude.rnf partNumberMarker+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf uploadId++instance Data.ToHeaders ListParts where+  toHeaders ListParts' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5+      ]++instance Data.ToPath ListParts where+  toPath ListParts' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery ListParts where+  toQuery ListParts' {..} =+    Prelude.mconcat+      [ "max-parts" Data.=: maxParts,+        "part-number-marker" Data.=: partNumberMarker,+        "uploadId" Data.=: uploadId+      ]++-- | /See:/ 'newListPartsResponse' smart constructor.+data ListPartsResponse = ListPartsResponse'+  { -- | If the bucket has a lifecycle rule configured with an action to abort+    -- incomplete multipart uploads and the prefix in the lifecycle rule+    -- matches the object name in the request, then the response includes this+    -- header indicating when the initiated multipart upload will become+    -- eligible for abort operation. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+    --+    -- The response will also include the @x-amz-abort-rule-id@ header that+    -- will provide the ID of the lifecycle configuration rule that defines+    -- this action.+    abortDate :: Prelude.Maybe Data.RFC822,+    -- | This header is returned along with the @x-amz-abort-date@ header. It+    -- identifies applicable lifecycle configuration rule that defines the+    -- action to abort incomplete multipart uploads.+    abortRuleId :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which the multipart upload was initiated. Does+    -- not return the access point ARN or access point alias if used.+    bucket :: Prelude.Maybe BucketName,+    -- | The algorithm that was used to create a checksum of the object.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | Container element that identifies who initiated the multipart upload. If+    -- the initiator is an Amazon Web Services account, this element provides+    -- the same information as the @Owner@ element. If the initiator is an IAM+    -- User, this element provides the user ARN and display name.+    initiator :: Prelude.Maybe Initiator,+    -- | Indicates whether the returned list of parts is truncated. A true value+    -- indicates that the list was truncated. A list can be truncated if the+    -- number of parts exceeds the limit returned in the MaxParts element.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | Object key for which the multipart upload was initiated.+    key :: Prelude.Maybe ObjectKey,+    -- | Maximum number of parts that were allowed in the response.+    maxParts :: Prelude.Maybe Prelude.Int,+    -- | When a list is truncated, this element specifies the last part in the+    -- list, as well as the value to use for the part-number-marker request+    -- parameter in a subsequent request.+    nextPartNumberMarker :: Prelude.Maybe Prelude.Int,+    -- | Container element that identifies the object owner, after the object is+    -- created. If multipart upload is initiated by an IAM user, this element+    -- provides the parent account ID and display name.+    owner :: Prelude.Maybe Owner,+    -- | When a list is truncated, this element specifies the last part in the+    -- list, as well as the value to use for the part-number-marker request+    -- parameter in a subsequent request.+    partNumberMarker :: Prelude.Maybe Prelude.Int,+    -- | Container for elements related to a particular part. A response can+    -- contain zero or more @Part@ elements.+    parts :: Prelude.Maybe [Part],+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the+    -- uploaded object.+    storageClass :: Prelude.Maybe StorageClass,+    -- | Upload ID identifying the multipart upload whose parts are being listed.+    uploadId :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ListPartsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abortDate', 'listPartsResponse_abortDate' - If the bucket has a lifecycle rule configured with an action to abort+-- incomplete multipart uploads and the prefix in the lifecycle rule+-- matches the object name in the request, then the response includes this+-- header indicating when the initiated multipart upload will become+-- eligible for abort operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+--+-- The response will also include the @x-amz-abort-rule-id@ header that+-- will provide the ID of the lifecycle configuration rule that defines+-- this action.+--+-- 'abortRuleId', 'listPartsResponse_abortRuleId' - This header is returned along with the @x-amz-abort-date@ header. It+-- identifies applicable lifecycle configuration rule that defines the+-- action to abort incomplete multipart uploads.+--+-- 'bucket', 'listPartsResponse_bucket' - The name of the bucket to which the multipart upload was initiated. Does+-- not return the access point ARN or access point alias if used.+--+-- 'checksumAlgorithm', 'listPartsResponse_checksumAlgorithm' - The algorithm that was used to create a checksum of the object.+--+-- 'initiator', 'listPartsResponse_initiator' - Container element that identifies who initiated the multipart upload. If+-- the initiator is an Amazon Web Services account, this element provides+-- the same information as the @Owner@ element. If the initiator is an IAM+-- User, this element provides the user ARN and display name.+--+-- 'isTruncated', 'listPartsResponse_isTruncated' - Indicates whether the returned list of parts is truncated. A true value+-- indicates that the list was truncated. A list can be truncated if the+-- number of parts exceeds the limit returned in the MaxParts element.+--+-- 'key', 'listPartsResponse_key' - Object key for which the multipart upload was initiated.+--+-- 'maxParts', 'listPartsResponse_maxParts' - Maximum number of parts that were allowed in the response.+--+-- 'nextPartNumberMarker', 'listPartsResponse_nextPartNumberMarker' - When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the part-number-marker request+-- parameter in a subsequent request.+--+-- 'owner', 'listPartsResponse_owner' - Container element that identifies the object owner, after the object is+-- created. If multipart upload is initiated by an IAM user, this element+-- provides the parent account ID and display name.+--+-- 'partNumberMarker', 'listPartsResponse_partNumberMarker' - When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the part-number-marker request+-- parameter in a subsequent request.+--+-- 'parts', 'listPartsResponse_parts' - Container for elements related to a particular part. A response can+-- contain zero or more @Part@ elements.+--+-- 'requestCharged', 'listPartsResponse_requestCharged' - Undocumented member.+--+-- 'storageClass', 'listPartsResponse_storageClass' - Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the+-- uploaded object.+--+-- 'uploadId', 'listPartsResponse_uploadId' - Upload ID identifying the multipart upload whose parts are being listed.+--+-- 'httpStatus', 'listPartsResponse_httpStatus' - The response's http status code.+newListPartsResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  ListPartsResponse+newListPartsResponse pHttpStatus_ =+  ListPartsResponse'+    { abortDate = Prelude.Nothing,+      abortRuleId = Prelude.Nothing,+      bucket = Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      initiator = Prelude.Nothing,+      isTruncated = Prelude.Nothing,+      key = Prelude.Nothing,+      maxParts = Prelude.Nothing,+      nextPartNumberMarker = Prelude.Nothing,+      owner = Prelude.Nothing,+      partNumberMarker = Prelude.Nothing,+      parts = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      uploadId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | If the bucket has a lifecycle rule configured with an action to abort+-- incomplete multipart uploads and the prefix in the lifecycle rule+-- matches the object name in the request, then the response includes this+-- header indicating when the initiated multipart upload will become+-- eligible for abort operation. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>.+--+-- The response will also include the @x-amz-abort-rule-id@ header that+-- will provide the ID of the lifecycle configuration rule that defines+-- this action.+listPartsResponse_abortDate :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.UTCTime)+listPartsResponse_abortDate = Lens.lens (\ListPartsResponse' {abortDate} -> abortDate) (\s@ListPartsResponse' {} a -> s {abortDate = a} :: ListPartsResponse) Prelude.. Lens.mapping Data._Time++-- | This header is returned along with the @x-amz-abort-date@ header. It+-- identifies applicable lifecycle configuration rule that defines the+-- action to abort incomplete multipart uploads.+listPartsResponse_abortRuleId :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.Text)+listPartsResponse_abortRuleId = Lens.lens (\ListPartsResponse' {abortRuleId} -> abortRuleId) (\s@ListPartsResponse' {} a -> s {abortRuleId = a} :: ListPartsResponse)++-- | The name of the bucket to which the multipart upload was initiated. Does+-- not return the access point ARN or access point alias if used.+listPartsResponse_bucket :: Lens.Lens' ListPartsResponse (Prelude.Maybe BucketName)+listPartsResponse_bucket = Lens.lens (\ListPartsResponse' {bucket} -> bucket) (\s@ListPartsResponse' {} a -> s {bucket = a} :: ListPartsResponse)++-- | The algorithm that was used to create a checksum of the object.+listPartsResponse_checksumAlgorithm :: Lens.Lens' ListPartsResponse (Prelude.Maybe ChecksumAlgorithm)+listPartsResponse_checksumAlgorithm = Lens.lens (\ListPartsResponse' {checksumAlgorithm} -> checksumAlgorithm) (\s@ListPartsResponse' {} a -> s {checksumAlgorithm = a} :: ListPartsResponse)++-- | Container element that identifies who initiated the multipart upload. If+-- the initiator is an Amazon Web Services account, this element provides+-- the same information as the @Owner@ element. If the initiator is an IAM+-- User, this element provides the user ARN and display name.+listPartsResponse_initiator :: Lens.Lens' ListPartsResponse (Prelude.Maybe Initiator)+listPartsResponse_initiator = Lens.lens (\ListPartsResponse' {initiator} -> initiator) (\s@ListPartsResponse' {} a -> s {initiator = a} :: ListPartsResponse)++-- | Indicates whether the returned list of parts is truncated. A true value+-- indicates that the list was truncated. A list can be truncated if the+-- number of parts exceeds the limit returned in the MaxParts element.+listPartsResponse_isTruncated :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.Bool)+listPartsResponse_isTruncated = Lens.lens (\ListPartsResponse' {isTruncated} -> isTruncated) (\s@ListPartsResponse' {} a -> s {isTruncated = a} :: ListPartsResponse)++-- | Object key for which the multipart upload was initiated.+listPartsResponse_key :: Lens.Lens' ListPartsResponse (Prelude.Maybe ObjectKey)+listPartsResponse_key = Lens.lens (\ListPartsResponse' {key} -> key) (\s@ListPartsResponse' {} a -> s {key = a} :: ListPartsResponse)++-- | Maximum number of parts that were allowed in the response.+listPartsResponse_maxParts :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.Int)+listPartsResponse_maxParts = Lens.lens (\ListPartsResponse' {maxParts} -> maxParts) (\s@ListPartsResponse' {} a -> s {maxParts = a} :: ListPartsResponse)++-- | When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the part-number-marker request+-- parameter in a subsequent request.+listPartsResponse_nextPartNumberMarker :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.Int)+listPartsResponse_nextPartNumberMarker = Lens.lens (\ListPartsResponse' {nextPartNumberMarker} -> nextPartNumberMarker) (\s@ListPartsResponse' {} a -> s {nextPartNumberMarker = a} :: ListPartsResponse)++-- | Container element that identifies the object owner, after the object is+-- created. If multipart upload is initiated by an IAM user, this element+-- provides the parent account ID and display name.+listPartsResponse_owner :: Lens.Lens' ListPartsResponse (Prelude.Maybe Owner)+listPartsResponse_owner = Lens.lens (\ListPartsResponse' {owner} -> owner) (\s@ListPartsResponse' {} a -> s {owner = a} :: ListPartsResponse)++-- | When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the part-number-marker request+-- parameter in a subsequent request.+listPartsResponse_partNumberMarker :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.Int)+listPartsResponse_partNumberMarker = Lens.lens (\ListPartsResponse' {partNumberMarker} -> partNumberMarker) (\s@ListPartsResponse' {} a -> s {partNumberMarker = a} :: ListPartsResponse)++-- | Container for elements related to a particular part. A response can+-- contain zero or more @Part@ elements.+listPartsResponse_parts :: Lens.Lens' ListPartsResponse (Prelude.Maybe [Part])+listPartsResponse_parts = Lens.lens (\ListPartsResponse' {parts} -> parts) (\s@ListPartsResponse' {} a -> s {parts = a} :: ListPartsResponse) Prelude.. Lens.mapping Lens.coerced++-- | Undocumented member.+listPartsResponse_requestCharged :: Lens.Lens' ListPartsResponse (Prelude.Maybe RequestCharged)+listPartsResponse_requestCharged = Lens.lens (\ListPartsResponse' {requestCharged} -> requestCharged) (\s@ListPartsResponse' {} a -> s {requestCharged = a} :: ListPartsResponse)++-- | Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the+-- uploaded object.+listPartsResponse_storageClass :: Lens.Lens' ListPartsResponse (Prelude.Maybe StorageClass)+listPartsResponse_storageClass = Lens.lens (\ListPartsResponse' {storageClass} -> storageClass) (\s@ListPartsResponse' {} a -> s {storageClass = a} :: ListPartsResponse)++-- | Upload ID identifying the multipart upload whose parts are being listed.+listPartsResponse_uploadId :: Lens.Lens' ListPartsResponse (Prelude.Maybe Prelude.Text)+listPartsResponse_uploadId = Lens.lens (\ListPartsResponse' {uploadId} -> uploadId) (\s@ListPartsResponse' {} a -> s {uploadId = a} :: ListPartsResponse)++-- | The response's http status code.+listPartsResponse_httpStatus :: Lens.Lens' ListPartsResponse Prelude.Int+listPartsResponse_httpStatus = Lens.lens (\ListPartsResponse' {httpStatus} -> httpStatus) (\s@ListPartsResponse' {} a -> s {httpStatus = a} :: ListPartsResponse)++instance Prelude.NFData ListPartsResponse where+  rnf ListPartsResponse' {..} =+    Prelude.rnf abortDate+      `Prelude.seq` Prelude.rnf abortRuleId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf initiator+      `Prelude.seq` Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf maxParts+      `Prelude.seq` Prelude.rnf nextPartNumberMarker+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf partNumberMarker+      `Prelude.seq` Prelude.rnf parts+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf uploadId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutBucketAccelerateConfiguration.hs view
@@ -0,0 +1,273 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketAccelerateConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the accelerate configuration of an existing bucket. Amazon S3+-- Transfer Acceleration is a bucket-level feature that enables you to+-- perform faster data transfers to Amazon S3.+--+-- To use this operation, you must have permission to perform the+-- @s3:PutAccelerateConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- The Transfer Acceleration state of a bucket can be set to one of the+-- following two values:+--+-- -   Enabled – Enables accelerated data transfers to the bucket.+--+-- -   Suspended – Disables accelerated data transfers to the bucket.+--+-- The+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html GetBucketAccelerateConfiguration>+-- action returns the transfer acceleration state of a bucket.+--+-- After setting the Transfer Acceleration state of a bucket to Enabled, it+-- might take up to thirty minutes before the data transfer rates to the+-- bucket increase.+--+-- The name of the bucket used for Transfer Acceleration must be+-- DNS-compliant and must not contain periods (\".\").+--+-- For more information about transfer acceleration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html Transfer Acceleration>.+--+-- The following operations are related to+-- @PutBucketAccelerateConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html GetBucketAccelerateConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+module Amazonka.S3.PutBucketAccelerateConfiguration+  ( -- * Creating a Request+    PutBucketAccelerateConfiguration (..),+    newPutBucketAccelerateConfiguration,++    -- * Request Lenses+    putBucketAccelerateConfiguration_checksumAlgorithm,+    putBucketAccelerateConfiguration_expectedBucketOwner,+    putBucketAccelerateConfiguration_bucket,+    putBucketAccelerateConfiguration_accelerateConfiguration,++    -- * Destructuring the Response+    PutBucketAccelerateConfigurationResponse (..),+    newPutBucketAccelerateConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketAccelerateConfiguration' smart constructor.+data PutBucketAccelerateConfiguration = PutBucketAccelerateConfiguration'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which the accelerate configuration is set.+    bucket :: BucketName,+    -- | Container for setting the transfer acceleration state.+    accelerateConfiguration :: AccelerateConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketAccelerateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketAccelerateConfiguration_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'expectedBucketOwner', 'putBucketAccelerateConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketAccelerateConfiguration_bucket' - The name of the bucket for which the accelerate configuration is set.+--+-- 'accelerateConfiguration', 'putBucketAccelerateConfiguration_accelerateConfiguration' - Container for setting the transfer acceleration state.+newPutBucketAccelerateConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'accelerateConfiguration'+  AccelerateConfiguration ->+  PutBucketAccelerateConfiguration+newPutBucketAccelerateConfiguration+  pBucket_+  pAccelerateConfiguration_ =+    PutBucketAccelerateConfiguration'+      { checksumAlgorithm =+          Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        bucket = pBucket_,+        accelerateConfiguration =+          pAccelerateConfiguration_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketAccelerateConfiguration_checksumAlgorithm :: Lens.Lens' PutBucketAccelerateConfiguration (Prelude.Maybe ChecksumAlgorithm)+putBucketAccelerateConfiguration_checksumAlgorithm = Lens.lens (\PutBucketAccelerateConfiguration' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketAccelerateConfiguration' {} a -> s {checksumAlgorithm = a} :: PutBucketAccelerateConfiguration)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketAccelerateConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketAccelerateConfiguration (Prelude.Maybe Prelude.Text)+putBucketAccelerateConfiguration_expectedBucketOwner = Lens.lens (\PutBucketAccelerateConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketAccelerateConfiguration' {} a -> s {expectedBucketOwner = a} :: PutBucketAccelerateConfiguration)++-- | The name of the bucket for which the accelerate configuration is set.+putBucketAccelerateConfiguration_bucket :: Lens.Lens' PutBucketAccelerateConfiguration BucketName+putBucketAccelerateConfiguration_bucket = Lens.lens (\PutBucketAccelerateConfiguration' {bucket} -> bucket) (\s@PutBucketAccelerateConfiguration' {} a -> s {bucket = a} :: PutBucketAccelerateConfiguration)++-- | Container for setting the transfer acceleration state.+putBucketAccelerateConfiguration_accelerateConfiguration :: Lens.Lens' PutBucketAccelerateConfiguration AccelerateConfiguration+putBucketAccelerateConfiguration_accelerateConfiguration = Lens.lens (\PutBucketAccelerateConfiguration' {accelerateConfiguration} -> accelerateConfiguration) (\s@PutBucketAccelerateConfiguration' {} a -> s {accelerateConfiguration = a} :: PutBucketAccelerateConfiguration)++instance+  Core.AWSRequest+    PutBucketAccelerateConfiguration+  where+  type+    AWSResponse PutBucketAccelerateConfiguration =+      PutBucketAccelerateConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketAccelerateConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketAccelerateConfiguration+  where+  hashWithSalt+    _salt+    PutBucketAccelerateConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` checksumAlgorithm+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` accelerateConfiguration++instance+  Prelude.NFData+    PutBucketAccelerateConfiguration+  where+  rnf PutBucketAccelerateConfiguration' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf accelerateConfiguration++instance+  Data.ToElement+    PutBucketAccelerateConfiguration+  where+  toElement PutBucketAccelerateConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}AccelerateConfiguration"+      accelerateConfiguration++instance+  Data.ToHeaders+    PutBucketAccelerateConfiguration+  where+  toHeaders PutBucketAccelerateConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketAccelerateConfiguration where+  toPath PutBucketAccelerateConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    PutBucketAccelerateConfiguration+  where+  toQuery =+    Prelude.const (Prelude.mconcat ["accelerate"])++-- | /See:/ 'newPutBucketAccelerateConfigurationResponse' smart constructor.+data PutBucketAccelerateConfigurationResponse = PutBucketAccelerateConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketAccelerateConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketAccelerateConfigurationResponse ::+  PutBucketAccelerateConfigurationResponse+newPutBucketAccelerateConfigurationResponse =+  PutBucketAccelerateConfigurationResponse'++instance+  Prelude.NFData+    PutBucketAccelerateConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketAcl.hs view
@@ -0,0 +1,475 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketAcl+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the permissions on an existing bucket using access control lists+-- (ACL). For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html Using ACLs>.+-- To set the ACL of a bucket, you must have @WRITE_ACP@ permission.+--+-- You can use one of the following two ways to set a bucket\'s+-- permissions:+--+-- -   Specify the ACL in the request body+--+-- -   Specify permissions using request headers+--+-- You cannot specify access permission using both the body and the request+-- headers.+--+-- Depending on your application needs, you may choose to set the ACL on a+-- bucket using either the request body or the headers. For example, if you+-- have an existing application that updates a bucket ACL using the request+-- body, then you can continue to use that approach.+--+-- If your bucket uses the bucket owner enforced setting for S3 Object+-- Ownership, ACLs are disabled and no longer affect permissions. You must+-- use policies to grant access to your bucket and the objects in it.+-- Requests to set ACLs or update ACLs fail and return the+-- @AccessControlListNotSupported@ error code. Requests to read ACLs are+-- still supported. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling object ownership>+-- in the /Amazon S3 User Guide/.+--+-- __Access Permissions__+--+-- You can set access permissions using one of the following methods:+--+-- -   Specify a canned ACL with the @x-amz-acl@ request header. Amazon S3+--     supports a set of predefined ACLs, known as /canned ACLs/. Each+--     canned ACL has a predefined set of grantees and permissions. Specify+--     the canned ACL name as the value of @x-amz-acl@. If you use this+--     header, you cannot use other access control-specific headers in your+--     request. For more information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+-- -   Specify access permissions explicitly with the @x-amz-grant-read@,+--     @x-amz-grant-read-acp@, @x-amz-grant-write-acp@, and+--     @x-amz-grant-full-control@ headers. When using these headers, you+--     specify explicit access permissions and grantees (Amazon Web+--     Services accounts or Amazon S3 groups) who will receive the+--     permission. If you use these ACL-specific headers, you cannot use+--     the @x-amz-acl@ header to set a canned ACL. These parameters map to+--     the set of permissions that Amazon S3 supports in an ACL. For more+--     information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>.+--+--     You specify each grantee as a type=value pair, where the type is one+--     of the following:+--+--     -   @id@ – if the value specified is the canonical user ID of an+--         Amazon Web Services account+--+--     -   @uri@ – if you are granting permissions to a predefined group+--+--     -   @emailAddress@ – if the value specified is the email address of+--         an Amazon Web Services account+--+--         Using email addresses to specify a grantee is only supported in+--         the following Amazon Web Services Regions:+--+--         -   US East (N. Virginia)+--+--         -   US West (N. California)+--+--         -   US West (Oregon)+--+--         -   Asia Pacific (Singapore)+--+--         -   Asia Pacific (Sydney)+--+--         -   Asia Pacific (Tokyo)+--+--         -   Europe (Ireland)+--+--         -   South America (São Paulo)+--+--         For a list of all the Amazon S3 supported Regions and endpoints,+--         see+--         <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+--         in the Amazon Web Services General Reference.+--+--     For example, the following @x-amz-grant-write@ header grants create,+--     overwrite, and delete objects permission to LogDelivery group+--     predefined by Amazon S3 and two Amazon Web Services accounts+--     identified by their email addresses.+--+--     @x-amz-grant-write: uri=\"http:\/\/acs.amazonaws.com\/groups\/s3\/LogDelivery\", id=\"111122223333\", id=\"555566667777\" @+--+-- You can use either a canned ACL or specify access permissions+-- explicitly. You cannot do both.+--+-- __Grantee Values__+--+-- You can specify the person (grantee) to whom you\'re assigning access+-- rights (using request elements) in the following ways:+--+-- -   By the person\'s ID:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"CanonicalUser\">\<ID>\<>ID\<>\<\/ID>\<DisplayName>\<>GranteesEmail\<>\<\/DisplayName> \<\/Grantee>@+--+--     DisplayName is optional and ignored in the request+--+-- -   By URI:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"Group\">\<URI>\<>http:\/\/acs.amazonaws.com\/groups\/global\/AuthenticatedUsers\<>\<\/URI>\<\/Grantee>@+--+-- -   By Email address:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\">\<EmailAddress>\<>Grantees\@email.com\<>\<\/EmailAddress>lt;\/Grantee>@+--+--     The grantee is resolved to the CanonicalUser and, in a response to a+--     GET Object acl request, appears as the CanonicalUser.+--+--     Using email addresses to specify a grantee is only supported in the+--     following Amazon Web Services Regions:+--+--     -   US East (N. Virginia)+--+--     -   US West (N. California)+--+--     -   US West (Oregon)+--+--     -   Asia Pacific (Singapore)+--+--     -   Asia Pacific (Sydney)+--+--     -   Asia Pacific (Tokyo)+--+--     -   Europe (Ireland)+--+--     -   South America (São Paulo)+--+--     For a list of all the Amazon S3 supported Regions and endpoints, see+--     <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+--     in the Amazon Web Services General Reference.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html DeleteBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html GetObjectAcl>+module Amazonka.S3.PutBucketAcl+  ( -- * Creating a Request+    PutBucketAcl (..),+    newPutBucketAcl,++    -- * Request Lenses+    putBucketAcl_acl,+    putBucketAcl_accessControlPolicy,+    putBucketAcl_checksumAlgorithm,+    putBucketAcl_contentMD5,+    putBucketAcl_expectedBucketOwner,+    putBucketAcl_grantFullControl,+    putBucketAcl_grantRead,+    putBucketAcl_grantReadACP,+    putBucketAcl_grantWrite,+    putBucketAcl_grantWriteACP,+    putBucketAcl_bucket,++    -- * Destructuring the Response+    PutBucketAclResponse (..),+    newPutBucketAclResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketAcl' smart constructor.+data PutBucketAcl = PutBucketAcl'+  { -- | The canned ACL to apply to the bucket.+    acl :: Prelude.Maybe BucketCannedACL,+    -- | Contains the elements that set the ACL permissions for an object per+    -- grantee.+    accessControlPolicy :: Prelude.Maybe AccessControlPolicy,+    -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. This header must be+    -- used as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, go to+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee the read, write, read ACP, and write ACP permissions on+    -- the bucket.+    grantFullControl :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to list the objects in the bucket.+    grantRead :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the bucket ACL.+    grantReadACP :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to create new objects in the bucket.+    --+    -- For the bucket and object owners of existing objects, also allows+    -- deletions and overwrites of those objects.+    grantWrite :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to write the ACL for the applicable bucket.+    grantWriteACP :: Prelude.Maybe Prelude.Text,+    -- | The bucket to which to apply the ACL.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketAcl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acl', 'putBucketAcl_acl' - The canned ACL to apply to the bucket.+--+-- 'accessControlPolicy', 'putBucketAcl_accessControlPolicy' - Contains the elements that set the ACL permissions for an object per+-- grantee.+--+-- 'checksumAlgorithm', 'putBucketAcl_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketAcl_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. This header must be+-- used as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, go to+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketAcl_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'grantFullControl', 'putBucketAcl_grantFullControl' - Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+--+-- 'grantRead', 'putBucketAcl_grantRead' - Allows grantee to list the objects in the bucket.+--+-- 'grantReadACP', 'putBucketAcl_grantReadACP' - Allows grantee to read the bucket ACL.+--+-- 'grantWrite', 'putBucketAcl_grantWrite' - Allows grantee to create new objects in the bucket.+--+-- For the bucket and object owners of existing objects, also allows+-- deletions and overwrites of those objects.+--+-- 'grantWriteACP', 'putBucketAcl_grantWriteACP' - Allows grantee to write the ACL for the applicable bucket.+--+-- 'bucket', 'putBucketAcl_bucket' - The bucket to which to apply the ACL.+newPutBucketAcl ::+  -- | 'bucket'+  BucketName ->+  PutBucketAcl+newPutBucketAcl pBucket_ =+  PutBucketAcl'+    { acl = Prelude.Nothing,+      accessControlPolicy = Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      grantFullControl = Prelude.Nothing,+      grantRead = Prelude.Nothing,+      grantReadACP = Prelude.Nothing,+      grantWrite = Prelude.Nothing,+      grantWriteACP = Prelude.Nothing,+      bucket = pBucket_+    }++-- | The canned ACL to apply to the bucket.+putBucketAcl_acl :: Lens.Lens' PutBucketAcl (Prelude.Maybe BucketCannedACL)+putBucketAcl_acl = Lens.lens (\PutBucketAcl' {acl} -> acl) (\s@PutBucketAcl' {} a -> s {acl = a} :: PutBucketAcl)++-- | Contains the elements that set the ACL permissions for an object per+-- grantee.+putBucketAcl_accessControlPolicy :: Lens.Lens' PutBucketAcl (Prelude.Maybe AccessControlPolicy)+putBucketAcl_accessControlPolicy = Lens.lens (\PutBucketAcl' {accessControlPolicy} -> accessControlPolicy) (\s@PutBucketAcl' {} a -> s {accessControlPolicy = a} :: PutBucketAcl)++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketAcl_checksumAlgorithm :: Lens.Lens' PutBucketAcl (Prelude.Maybe ChecksumAlgorithm)+putBucketAcl_checksumAlgorithm = Lens.lens (\PutBucketAcl' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketAcl' {} a -> s {checksumAlgorithm = a} :: PutBucketAcl)++-- | The base64-encoded 128-bit MD5 digest of the data. This header must be+-- used as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, go to+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketAcl_contentMD5 :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_contentMD5 = Lens.lens (\PutBucketAcl' {contentMD5} -> contentMD5) (\s@PutBucketAcl' {} a -> s {contentMD5 = a} :: PutBucketAcl)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketAcl_expectedBucketOwner :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_expectedBucketOwner = Lens.lens (\PutBucketAcl' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketAcl' {} a -> s {expectedBucketOwner = a} :: PutBucketAcl)++-- | Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+putBucketAcl_grantFullControl :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_grantFullControl = Lens.lens (\PutBucketAcl' {grantFullControl} -> grantFullControl) (\s@PutBucketAcl' {} a -> s {grantFullControl = a} :: PutBucketAcl)++-- | Allows grantee to list the objects in the bucket.+putBucketAcl_grantRead :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_grantRead = Lens.lens (\PutBucketAcl' {grantRead} -> grantRead) (\s@PutBucketAcl' {} a -> s {grantRead = a} :: PutBucketAcl)++-- | Allows grantee to read the bucket ACL.+putBucketAcl_grantReadACP :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_grantReadACP = Lens.lens (\PutBucketAcl' {grantReadACP} -> grantReadACP) (\s@PutBucketAcl' {} a -> s {grantReadACP = a} :: PutBucketAcl)++-- | Allows grantee to create new objects in the bucket.+--+-- For the bucket and object owners of existing objects, also allows+-- deletions and overwrites of those objects.+putBucketAcl_grantWrite :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_grantWrite = Lens.lens (\PutBucketAcl' {grantWrite} -> grantWrite) (\s@PutBucketAcl' {} a -> s {grantWrite = a} :: PutBucketAcl)++-- | Allows grantee to write the ACL for the applicable bucket.+putBucketAcl_grantWriteACP :: Lens.Lens' PutBucketAcl (Prelude.Maybe Prelude.Text)+putBucketAcl_grantWriteACP = Lens.lens (\PutBucketAcl' {grantWriteACP} -> grantWriteACP) (\s@PutBucketAcl' {} a -> s {grantWriteACP = a} :: PutBucketAcl)++-- | The bucket to which to apply the ACL.+putBucketAcl_bucket :: Lens.Lens' PutBucketAcl BucketName+putBucketAcl_bucket = Lens.lens (\PutBucketAcl' {bucket} -> bucket) (\s@PutBucketAcl' {} a -> s {bucket = a} :: PutBucketAcl)++instance Core.AWSRequest PutBucketAcl where+  type AWSResponse PutBucketAcl = PutBucketAclResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response = Response.receiveNull PutBucketAclResponse'++instance Prelude.Hashable PutBucketAcl where+  hashWithSalt _salt PutBucketAcl' {..} =+    _salt+      `Prelude.hashWithSalt` acl+      `Prelude.hashWithSalt` accessControlPolicy+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` grantFullControl+      `Prelude.hashWithSalt` grantRead+      `Prelude.hashWithSalt` grantReadACP+      `Prelude.hashWithSalt` grantWrite+      `Prelude.hashWithSalt` grantWriteACP+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData PutBucketAcl where+  rnf PutBucketAcl' {..} =+    Prelude.rnf acl+      `Prelude.seq` Prelude.rnf accessControlPolicy+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf grantFullControl+      `Prelude.seq` Prelude.rnf grantRead+      `Prelude.seq` Prelude.rnf grantReadACP+      `Prelude.seq` Prelude.rnf grantWrite+      `Prelude.seq` Prelude.rnf grantWriteACP+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToElement PutBucketAcl where+  toElement PutBucketAcl' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}AccessControlPolicy"+      accessControlPolicy++instance Data.ToHeaders PutBucketAcl where+  toHeaders PutBucketAcl' {..} =+    Prelude.mconcat+      [ "x-amz-acl" Data.=# acl,+        "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-grant-full-control" Data.=# grantFullControl,+        "x-amz-grant-read" Data.=# grantRead,+        "x-amz-grant-read-acp" Data.=# grantReadACP,+        "x-amz-grant-write" Data.=# grantWrite,+        "x-amz-grant-write-acp" Data.=# grantWriteACP+      ]++instance Data.ToPath PutBucketAcl where+  toPath PutBucketAcl' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketAcl where+  toQuery = Prelude.const (Prelude.mconcat ["acl"])++-- | /See:/ 'newPutBucketAclResponse' smart constructor.+data PutBucketAclResponse = PutBucketAclResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketAclResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketAclResponse ::+  PutBucketAclResponse+newPutBucketAclResponse = PutBucketAclResponse'++instance Prelude.NFData PutBucketAclResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketAnalyticsConfiguration.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketAnalyticsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets an analytics configuration for the bucket (specified by the+-- analytics configuration ID). You can have up to 1,000 analytics+-- configurations per bucket.+--+-- You can choose to have storage class analysis export analysis reports+-- sent to a comma-separated values (CSV) flat file. See the @DataExport@+-- request element. Reports are updated daily and are based on the object+-- filters that you configure. When selecting data export, you specify a+-- destination bucket and an optional destination prefix where the file is+-- written. You can export the data to a destination bucket in a different+-- account. However, the destination bucket must be in the same Region as+-- the bucket that you are making the PUT analytics configuration to. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html Amazon S3 Analytics – Storage Class Analysis>.+--+-- You must create a bucket policy on the destination bucket where the+-- exported file is written to grant permissions to Amazon S3 to write+-- objects to the bucket. For an example policy, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9 Granting Permissions for Amazon S3 Inventory and Storage Class Analysis>.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutAnalyticsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- __Special Errors__+--+-- -   -   /HTTP Error: HTTP 400 Bad Request/+--+--     -   /Code: InvalidArgument/+--+--     -   /Cause: Invalid argument./+--+-- -   -   /HTTP Error: HTTP 400 Bad Request/+--+--     -   /Code: TooManyConfigurations/+--+--     -   /Cause: You are attempting to create a new configuration but+--         have already reached the 1,000-configuration limit./+--+-- -   -   /HTTP Error: HTTP 403 Forbidden/+--+--     -   /Code: AccessDenied/+--+--     -   /Cause: You are not the owner of the specified bucket, or you do+--         not have the s3:PutAnalyticsConfiguration bucket permission to+--         set the configuration on the bucket./+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html GetBucketAnalyticsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html DeleteBucketAnalyticsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html ListBucketAnalyticsConfigurations>+module Amazonka.S3.PutBucketAnalyticsConfiguration+  ( -- * Creating a Request+    PutBucketAnalyticsConfiguration (..),+    newPutBucketAnalyticsConfiguration,++    -- * Request Lenses+    putBucketAnalyticsConfiguration_expectedBucketOwner,+    putBucketAnalyticsConfiguration_bucket,+    putBucketAnalyticsConfiguration_id,+    putBucketAnalyticsConfiguration_analyticsConfiguration,++    -- * Destructuring the Response+    PutBucketAnalyticsConfigurationResponse (..),+    newPutBucketAnalyticsConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketAnalyticsConfiguration' smart constructor.+data PutBucketAnalyticsConfiguration = PutBucketAnalyticsConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which an analytics configuration is stored.+    bucket :: BucketName,+    -- | The ID that identifies the analytics configuration.+    id :: Prelude.Text,+    -- | The configuration and any analyses for the analytics filter.+    analyticsConfiguration :: AnalyticsConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketAnalyticsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'putBucketAnalyticsConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketAnalyticsConfiguration_bucket' - The name of the bucket to which an analytics configuration is stored.+--+-- 'id', 'putBucketAnalyticsConfiguration_id' - The ID that identifies the analytics configuration.+--+-- 'analyticsConfiguration', 'putBucketAnalyticsConfiguration_analyticsConfiguration' - The configuration and any analyses for the analytics filter.+newPutBucketAnalyticsConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  -- | 'analyticsConfiguration'+  AnalyticsConfiguration ->+  PutBucketAnalyticsConfiguration+newPutBucketAnalyticsConfiguration+  pBucket_+  pId_+  pAnalyticsConfiguration_ =+    PutBucketAnalyticsConfiguration'+      { expectedBucketOwner =+          Prelude.Nothing,+        bucket = pBucket_,+        id = pId_,+        analyticsConfiguration =+          pAnalyticsConfiguration_+      }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketAnalyticsConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketAnalyticsConfiguration (Prelude.Maybe Prelude.Text)+putBucketAnalyticsConfiguration_expectedBucketOwner = Lens.lens (\PutBucketAnalyticsConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketAnalyticsConfiguration' {} a -> s {expectedBucketOwner = a} :: PutBucketAnalyticsConfiguration)++-- | The name of the bucket to which an analytics configuration is stored.+putBucketAnalyticsConfiguration_bucket :: Lens.Lens' PutBucketAnalyticsConfiguration BucketName+putBucketAnalyticsConfiguration_bucket = Lens.lens (\PutBucketAnalyticsConfiguration' {bucket} -> bucket) (\s@PutBucketAnalyticsConfiguration' {} a -> s {bucket = a} :: PutBucketAnalyticsConfiguration)++-- | The ID that identifies the analytics configuration.+putBucketAnalyticsConfiguration_id :: Lens.Lens' PutBucketAnalyticsConfiguration Prelude.Text+putBucketAnalyticsConfiguration_id = Lens.lens (\PutBucketAnalyticsConfiguration' {id} -> id) (\s@PutBucketAnalyticsConfiguration' {} a -> s {id = a} :: PutBucketAnalyticsConfiguration)++-- | The configuration and any analyses for the analytics filter.+putBucketAnalyticsConfiguration_analyticsConfiguration :: Lens.Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration+putBucketAnalyticsConfiguration_analyticsConfiguration = Lens.lens (\PutBucketAnalyticsConfiguration' {analyticsConfiguration} -> analyticsConfiguration) (\s@PutBucketAnalyticsConfiguration' {} a -> s {analyticsConfiguration = a} :: PutBucketAnalyticsConfiguration)++instance+  Core.AWSRequest+    PutBucketAnalyticsConfiguration+  where+  type+    AWSResponse PutBucketAnalyticsConfiguration =+      PutBucketAnalyticsConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketAnalyticsConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketAnalyticsConfiguration+  where+  hashWithSalt+    _salt+    PutBucketAnalyticsConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` analyticsConfiguration++instance+  Prelude.NFData+    PutBucketAnalyticsConfiguration+  where+  rnf PutBucketAnalyticsConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf analyticsConfiguration++instance+  Data.ToElement+    PutBucketAnalyticsConfiguration+  where+  toElement PutBucketAnalyticsConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}AnalyticsConfiguration"+      analyticsConfiguration++instance+  Data.ToHeaders+    PutBucketAnalyticsConfiguration+  where+  toHeaders PutBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketAnalyticsConfiguration where+  toPath PutBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketAnalyticsConfiguration where+  toQuery PutBucketAnalyticsConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "analytics"]++-- | /See:/ 'newPutBucketAnalyticsConfigurationResponse' smart constructor.+data PutBucketAnalyticsConfigurationResponse = PutBucketAnalyticsConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketAnalyticsConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketAnalyticsConfigurationResponse ::+  PutBucketAnalyticsConfigurationResponse+newPutBucketAnalyticsConfigurationResponse =+  PutBucketAnalyticsConfigurationResponse'++instance+  Prelude.NFData+    PutBucketAnalyticsConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketCors.hs view
@@ -0,0 +1,294 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketCors+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the @cors@ configuration for your bucket. If the configuration+-- exists, Amazon S3 replaces it.+--+-- To use this operation, you must be allowed to perform the+-- @s3:PutBucketCORS@ action. By default, the bucket owner has this+-- permission and can grant it to others.+--+-- You set this configuration on a bucket so that the bucket can service+-- cross-origin requests. For example, you might want to enable a request+-- whose origin is @http:\/\/www.example.com@ to access your Amazon S3+-- bucket at @my.example.bucket.com@ by using the browser\'s+-- @XMLHttpRequest@ capability.+--+-- To enable cross-origin resource sharing (CORS) on a bucket, you add the+-- @cors@ subresource to the bucket. The @cors@ subresource is an XML+-- document in which you configure rules that identify origins and the HTTP+-- methods that can be executed on your bucket. The document is limited to+-- 64 KB in size.+--+-- When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS+-- request) against a bucket, it evaluates the @cors@ configuration on the+-- bucket and uses the first @CORSRule@ rule that matches the incoming+-- browser request to enable a cross-origin request. For a rule to match,+-- the following conditions must be met:+--+-- -   The request\'s @Origin@ header must match @AllowedOrigin@ elements.+--+-- -   The request method (for example, GET, PUT, HEAD, and so on) or the+--     @Access-Control-Request-Method@ header in case of a pre-flight+--     @OPTIONS@ request must be one of the @AllowedMethod@ elements.+--+-- -   Every header specified in the @Access-Control-Request-Headers@+--     request header of a pre-flight request must match an @AllowedHeader@+--     element.+--+-- For more information about CORS, go to+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>+-- in the /Amazon S3 User Guide/.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html GetBucketCors>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html DeleteBucketCors>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html RESTOPTIONSobject>+module Amazonka.S3.PutBucketCors+  ( -- * Creating a Request+    PutBucketCors (..),+    newPutBucketCors,++    -- * Request Lenses+    putBucketCors_checksumAlgorithm,+    putBucketCors_contentMD5,+    putBucketCors_expectedBucketOwner,+    putBucketCors_bucket,+    putBucketCors_cORSConfiguration,++    -- * Destructuring the Response+    PutBucketCorsResponse (..),+    newPutBucketCorsResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketCors' smart constructor.+data PutBucketCors = PutBucketCors'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. This header must be+    -- used as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, go to+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies the bucket impacted by the @cors@configuration.+    bucket :: BucketName,+    -- | Describes the cross-origin access configuration for objects in an Amazon+    -- S3 bucket. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>+    -- in the /Amazon S3 User Guide/.+    cORSConfiguration :: CORSConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketCors' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketCors_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketCors_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. This header must be+-- used as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, go to+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketCors_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketCors_bucket' - Specifies the bucket impacted by the @cors@configuration.+--+-- 'cORSConfiguration', 'putBucketCors_cORSConfiguration' - Describes the cross-origin access configuration for objects in an Amazon+-- S3 bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>+-- in the /Amazon S3 User Guide/.+newPutBucketCors ::+  -- | 'bucket'+  BucketName ->+  -- | 'cORSConfiguration'+  CORSConfiguration ->+  PutBucketCors+newPutBucketCors pBucket_ pCORSConfiguration_ =+  PutBucketCors'+    { checksumAlgorithm = Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_,+      cORSConfiguration = pCORSConfiguration_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketCors_checksumAlgorithm :: Lens.Lens' PutBucketCors (Prelude.Maybe ChecksumAlgorithm)+putBucketCors_checksumAlgorithm = Lens.lens (\PutBucketCors' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketCors' {} a -> s {checksumAlgorithm = a} :: PutBucketCors)++-- | The base64-encoded 128-bit MD5 digest of the data. This header must be+-- used as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, go to+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketCors_contentMD5 :: Lens.Lens' PutBucketCors (Prelude.Maybe Prelude.Text)+putBucketCors_contentMD5 = Lens.lens (\PutBucketCors' {contentMD5} -> contentMD5) (\s@PutBucketCors' {} a -> s {contentMD5 = a} :: PutBucketCors)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketCors_expectedBucketOwner :: Lens.Lens' PutBucketCors (Prelude.Maybe Prelude.Text)+putBucketCors_expectedBucketOwner = Lens.lens (\PutBucketCors' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketCors' {} a -> s {expectedBucketOwner = a} :: PutBucketCors)++-- | Specifies the bucket impacted by the @cors@configuration.+putBucketCors_bucket :: Lens.Lens' PutBucketCors BucketName+putBucketCors_bucket = Lens.lens (\PutBucketCors' {bucket} -> bucket) (\s@PutBucketCors' {} a -> s {bucket = a} :: PutBucketCors)++-- | Describes the cross-origin access configuration for objects in an Amazon+-- S3 bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>+-- in the /Amazon S3 User Guide/.+putBucketCors_cORSConfiguration :: Lens.Lens' PutBucketCors CORSConfiguration+putBucketCors_cORSConfiguration = Lens.lens (\PutBucketCors' {cORSConfiguration} -> cORSConfiguration) (\s@PutBucketCors' {} a -> s {cORSConfiguration = a} :: PutBucketCors)++instance Core.AWSRequest PutBucketCors where+  type+    AWSResponse PutBucketCors =+      PutBucketCorsResponse+  request overrides =+    Request.contentMD5Header+      Prelude.. Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketCorsResponse'++instance Prelude.Hashable PutBucketCors where+  hashWithSalt _salt PutBucketCors' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` cORSConfiguration++instance Prelude.NFData PutBucketCors where+  rnf PutBucketCors' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf cORSConfiguration++instance Data.ToElement PutBucketCors where+  toElement PutBucketCors' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}CORSConfiguration"+      cORSConfiguration++instance Data.ToHeaders PutBucketCors where+  toHeaders PutBucketCors' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketCors where+  toPath PutBucketCors' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketCors where+  toQuery = Prelude.const (Prelude.mconcat ["cors"])++-- | /See:/ 'newPutBucketCorsResponse' smart constructor.+data PutBucketCorsResponse = PutBucketCorsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketCorsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketCorsResponse ::+  PutBucketCorsResponse+newPutBucketCorsResponse = PutBucketCorsResponse'++instance Prelude.NFData PutBucketCorsResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketEncryption.hs view
@@ -0,0 +1,283 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketEncryption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action uses the @encryption@ subresource to configure default+-- encryption and Amazon S3 Bucket Key for an existing bucket.+--+-- Default encryption for a bucket can use server-side encryption with+-- Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If+-- you specify default encryption using SSE-KMS, you can also configure+-- Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if you+-- upload an object to the bucket and do not specify the KMS key to use for+-- encryption, Amazon S3 uses the default Amazon Web Services managed KMS+-- key for your account. For information about default encryption, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html Amazon S3 default bucket encryption>+-- in the /Amazon S3 User Guide/. For more information about S3 Bucket+-- Keys, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html Amazon S3 Bucket Keys>+-- in the /Amazon S3 User Guide/.+--+-- This action requires Amazon Web Services Signature Version 4. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html Authenticating Requests (Amazon Web Services Signature Version 4)>.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutEncryptionConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>+-- in the Amazon S3 User Guide.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html GetBucketEncryption>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html DeleteBucketEncryption>+module Amazonka.S3.PutBucketEncryption+  ( -- * Creating a Request+    PutBucketEncryption (..),+    newPutBucketEncryption,++    -- * Request Lenses+    putBucketEncryption_checksumAlgorithm,+    putBucketEncryption_contentMD5,+    putBucketEncryption_expectedBucketOwner,+    putBucketEncryption_bucket,+    putBucketEncryption_serverSideEncryptionConfiguration,++    -- * Destructuring the Response+    PutBucketEncryptionResponse (..),+    newPutBucketEncryptionResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketEncryption' smart constructor.+data PutBucketEncryption = PutBucketEncryption'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the server-side encryption+    -- configuration.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies default encryption for a bucket using server-side encryption+    -- with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS).+    -- For information about the Amazon S3 default encryption feature, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html Amazon S3 Default Bucket Encryption>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    serverSideEncryptionConfiguration :: ServerSideEncryptionConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketEncryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketEncryption_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketEncryption_contentMD5' - The base64-encoded 128-bit MD5 digest of the server-side encryption+-- configuration.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketEncryption_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketEncryption_bucket' - Specifies default encryption for a bucket using server-side encryption+-- with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS).+-- For information about the Amazon S3 default encryption feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html Amazon S3 Default Bucket Encryption>+-- in the /Amazon S3 User Guide/.+--+-- 'serverSideEncryptionConfiguration', 'putBucketEncryption_serverSideEncryptionConfiguration' - Undocumented member.+newPutBucketEncryption ::+  -- | 'bucket'+  BucketName ->+  -- | 'serverSideEncryptionConfiguration'+  ServerSideEncryptionConfiguration ->+  PutBucketEncryption+newPutBucketEncryption+  pBucket_+  pServerSideEncryptionConfiguration_ =+    PutBucketEncryption'+      { checksumAlgorithm =+          Prelude.Nothing,+        contentMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        bucket = pBucket_,+        serverSideEncryptionConfiguration =+          pServerSideEncryptionConfiguration_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketEncryption_checksumAlgorithm :: Lens.Lens' PutBucketEncryption (Prelude.Maybe ChecksumAlgorithm)+putBucketEncryption_checksumAlgorithm = Lens.lens (\PutBucketEncryption' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketEncryption' {} a -> s {checksumAlgorithm = a} :: PutBucketEncryption)++-- | The base64-encoded 128-bit MD5 digest of the server-side encryption+-- configuration.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketEncryption_contentMD5 :: Lens.Lens' PutBucketEncryption (Prelude.Maybe Prelude.Text)+putBucketEncryption_contentMD5 = Lens.lens (\PutBucketEncryption' {contentMD5} -> contentMD5) (\s@PutBucketEncryption' {} a -> s {contentMD5 = a} :: PutBucketEncryption)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketEncryption_expectedBucketOwner :: Lens.Lens' PutBucketEncryption (Prelude.Maybe Prelude.Text)+putBucketEncryption_expectedBucketOwner = Lens.lens (\PutBucketEncryption' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketEncryption' {} a -> s {expectedBucketOwner = a} :: PutBucketEncryption)++-- | Specifies default encryption for a bucket using server-side encryption+-- with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS).+-- For information about the Amazon S3 default encryption feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html Amazon S3 Default Bucket Encryption>+-- in the /Amazon S3 User Guide/.+putBucketEncryption_bucket :: Lens.Lens' PutBucketEncryption BucketName+putBucketEncryption_bucket = Lens.lens (\PutBucketEncryption' {bucket} -> bucket) (\s@PutBucketEncryption' {} a -> s {bucket = a} :: PutBucketEncryption)++-- | Undocumented member.+putBucketEncryption_serverSideEncryptionConfiguration :: Lens.Lens' PutBucketEncryption ServerSideEncryptionConfiguration+putBucketEncryption_serverSideEncryptionConfiguration = Lens.lens (\PutBucketEncryption' {serverSideEncryptionConfiguration} -> serverSideEncryptionConfiguration) (\s@PutBucketEncryption' {} a -> s {serverSideEncryptionConfiguration = a} :: PutBucketEncryption)++instance Core.AWSRequest PutBucketEncryption where+  type+    AWSResponse PutBucketEncryption =+      PutBucketEncryptionResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketEncryptionResponse'++instance Prelude.Hashable PutBucketEncryption where+  hashWithSalt _salt PutBucketEncryption' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` serverSideEncryptionConfiguration++instance Prelude.NFData PutBucketEncryption where+  rnf PutBucketEncryption' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf serverSideEncryptionConfiguration++instance Data.ToElement PutBucketEncryption where+  toElement PutBucketEncryption' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}ServerSideEncryptionConfiguration"+      serverSideEncryptionConfiguration++instance Data.ToHeaders PutBucketEncryption where+  toHeaders PutBucketEncryption' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketEncryption where+  toPath PutBucketEncryption' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketEncryption where+  toQuery =+    Prelude.const (Prelude.mconcat ["encryption"])++-- | /See:/ 'newPutBucketEncryptionResponse' smart constructor.+data PutBucketEncryptionResponse = PutBucketEncryptionResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketEncryptionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketEncryptionResponse ::+  PutBucketEncryptionResponse+newPutBucketEncryptionResponse =+  PutBucketEncryptionResponse'++instance Prelude.NFData PutBucketEncryptionResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketIntelligentTieringConfiguration.hs view
@@ -0,0 +1,249 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketIntelligentTieringConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Puts a S3 Intelligent-Tiering configuration to the specified bucket. You+-- can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.+--+-- The S3 Intelligent-Tiering storage class is designed to optimize storage+-- costs by automatically moving data to the most cost-effective storage+-- access tier, without performance impact or operational overhead. S3+-- Intelligent-Tiering delivers automatic cost savings in three low latency+-- and high throughput access tiers. To get the lowest storage cost on data+-- that can be accessed in minutes to hours, you can choose to activate+-- additional archiving capabilities.+--+-- The S3 Intelligent-Tiering storage class is the ideal storage class for+-- data with unknown, changing, or unpredictable access patterns,+-- independent of object size or retention period. If the size of an object+-- is less than 128 KB, it is not monitored and not eligible for+-- auto-tiering. Smaller objects can be stored, but they are always charged+-- at the Frequent Access tier rates in the S3 Intelligent-Tiering storage+-- class.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>.+--+-- Operations related to @PutBucketIntelligentTieringConfiguration@+-- include:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html DeleteBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html GetBucketIntelligentTieringConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html ListBucketIntelligentTieringConfigurations>+--+-- You only need S3 Intelligent-Tiering enabled on a bucket if you want to+-- automatically move objects stored in the S3 Intelligent-Tiering storage+-- class to the Archive Access or Deep Archive Access tier.+--+-- __Special Errors__+--+-- -   __HTTP 400 Bad Request Error__+--+--     -   /Code:/ InvalidArgument+--+--     -   /Cause:/ Invalid Argument+--+-- -   __HTTP 400 Bad Request Error__+--+--     -   /Code:/ TooManyConfigurations+--+--     -   /Cause:/ You are attempting to create a new configuration but+--         have already reached the 1,000-configuration limit.+--+-- -   __HTTP 403 Forbidden Error__+--+--     -   /Code:/ AccessDenied+--+--     -   /Cause:/ You are not the owner of the specified bucket, or you+--         do not have the @s3:PutIntelligentTieringConfiguration@ bucket+--         permission to set the configuration on the bucket.+module Amazonka.S3.PutBucketIntelligentTieringConfiguration+  ( -- * Creating a Request+    PutBucketIntelligentTieringConfiguration (..),+    newPutBucketIntelligentTieringConfiguration,++    -- * Request Lenses+    putBucketIntelligentTieringConfiguration_bucket,+    putBucketIntelligentTieringConfiguration_id,+    putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration,++    -- * Destructuring the Response+    PutBucketIntelligentTieringConfigurationResponse (..),+    newPutBucketIntelligentTieringConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketIntelligentTieringConfiguration' smart constructor.+data PutBucketIntelligentTieringConfiguration = PutBucketIntelligentTieringConfiguration'+  { -- | The name of the Amazon S3 bucket whose configuration you want to modify+    -- or retrieve.+    bucket :: BucketName,+    -- | The ID used to identify the S3 Intelligent-Tiering configuration.+    id :: Prelude.Text,+    -- | Container for S3 Intelligent-Tiering configuration.+    intelligentTieringConfiguration :: IntelligentTieringConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketIntelligentTieringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucket', 'putBucketIntelligentTieringConfiguration_bucket' - The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+--+-- 'id', 'putBucketIntelligentTieringConfiguration_id' - The ID used to identify the S3 Intelligent-Tiering configuration.+--+-- 'intelligentTieringConfiguration', 'putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration' - Container for S3 Intelligent-Tiering configuration.+newPutBucketIntelligentTieringConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  -- | 'intelligentTieringConfiguration'+  IntelligentTieringConfiguration ->+  PutBucketIntelligentTieringConfiguration+newPutBucketIntelligentTieringConfiguration+  pBucket_+  pId_+  pIntelligentTieringConfiguration_ =+    PutBucketIntelligentTieringConfiguration'+      { bucket =+          pBucket_,+        id = pId_,+        intelligentTieringConfiguration =+          pIntelligentTieringConfiguration_+      }++-- | The name of the Amazon S3 bucket whose configuration you want to modify+-- or retrieve.+putBucketIntelligentTieringConfiguration_bucket :: Lens.Lens' PutBucketIntelligentTieringConfiguration BucketName+putBucketIntelligentTieringConfiguration_bucket = Lens.lens (\PutBucketIntelligentTieringConfiguration' {bucket} -> bucket) (\s@PutBucketIntelligentTieringConfiguration' {} a -> s {bucket = a} :: PutBucketIntelligentTieringConfiguration)++-- | The ID used to identify the S3 Intelligent-Tiering configuration.+putBucketIntelligentTieringConfiguration_id :: Lens.Lens' PutBucketIntelligentTieringConfiguration Prelude.Text+putBucketIntelligentTieringConfiguration_id = Lens.lens (\PutBucketIntelligentTieringConfiguration' {id} -> id) (\s@PutBucketIntelligentTieringConfiguration' {} a -> s {id = a} :: PutBucketIntelligentTieringConfiguration)++-- | Container for S3 Intelligent-Tiering configuration.+putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration :: Lens.Lens' PutBucketIntelligentTieringConfiguration IntelligentTieringConfiguration+putBucketIntelligentTieringConfiguration_intelligentTieringConfiguration = Lens.lens (\PutBucketIntelligentTieringConfiguration' {intelligentTieringConfiguration} -> intelligentTieringConfiguration) (\s@PutBucketIntelligentTieringConfiguration' {} a -> s {intelligentTieringConfiguration = a} :: PutBucketIntelligentTieringConfiguration)++instance+  Core.AWSRequest+    PutBucketIntelligentTieringConfiguration+  where+  type+    AWSResponse+      PutBucketIntelligentTieringConfiguration =+      PutBucketIntelligentTieringConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketIntelligentTieringConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketIntelligentTieringConfiguration+  where+  hashWithSalt+    _salt+    PutBucketIntelligentTieringConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` intelligentTieringConfiguration++instance+  Prelude.NFData+    PutBucketIntelligentTieringConfiguration+  where+  rnf PutBucketIntelligentTieringConfiguration' {..} =+    Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf intelligentTieringConfiguration++instance+  Data.ToElement+    PutBucketIntelligentTieringConfiguration+  where+  toElement+    PutBucketIntelligentTieringConfiguration' {..} =+      Data.mkElement+        "{http://s3.amazonaws.com/doc/2006-03-01/}IntelligentTieringConfiguration"+        intelligentTieringConfiguration++instance+  Data.ToHeaders+    PutBucketIntelligentTieringConfiguration+  where+  toHeaders = Prelude.const Prelude.mempty++instance+  Data.ToPath+    PutBucketIntelligentTieringConfiguration+  where+  toPath PutBucketIntelligentTieringConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    PutBucketIntelligentTieringConfiguration+  where+  toQuery PutBucketIntelligentTieringConfiguration' {..} =+    Prelude.mconcat+      ["id" Data.=: id, "intelligent-tiering"]++-- | /See:/ 'newPutBucketIntelligentTieringConfigurationResponse' smart constructor.+data PutBucketIntelligentTieringConfigurationResponse = PutBucketIntelligentTieringConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketIntelligentTieringConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketIntelligentTieringConfigurationResponse ::+  PutBucketIntelligentTieringConfigurationResponse+newPutBucketIntelligentTieringConfigurationResponse =+  PutBucketIntelligentTieringConfigurationResponse'++instance+  Prelude.NFData+    PutBucketIntelligentTieringConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketInventoryConfiguration.hs view
@@ -0,0 +1,265 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketInventoryConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This implementation of the @PUT@ action adds an inventory configuration+-- (identified by the inventory ID) to the bucket. You can have up to 1,000+-- inventory configurations per bucket.+--+-- Amazon S3 inventory generates inventories of the objects in the bucket+-- on a daily or weekly basis, and the results are published to a flat+-- file. The bucket that is inventoried is called the /source/ bucket, and+-- the bucket where the inventory flat file is stored is called the+-- /destination/ bucket. The /destination/ bucket must be in the same+-- Amazon Web Services Region as the /source/ bucket.+--+-- When you configure an inventory for a /source/ bucket, you specify the+-- /destination/ bucket where you want the inventory to be stored, and+-- whether to generate the inventory daily or weekly. You can also+-- configure what object metadata to include and whether to inventory all+-- object versions or only current versions. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html Amazon S3 Inventory>+-- in the Amazon S3 User Guide.+--+-- You must create a bucket policy on the /destination/ bucket to grant+-- permissions to Amazon S3 to write objects to the bucket in the defined+-- location. For an example policy, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9 Granting Permissions for Amazon S3 Inventory and Storage Class Analysis>.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutInventoryConfiguration@ action. The bucket owner has this+-- permission by default and can grant this permission to others. For more+-- information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>+-- in the Amazon S3 User Guide.+--+-- __Special Errors__+--+-- -   __HTTP 400 Bad Request Error__+--+--     -   /Code:/ InvalidArgument+--+--     -   /Cause:/ Invalid Argument+--+-- -   __HTTP 400 Bad Request Error__+--+--     -   /Code:/ TooManyConfigurations+--+--     -   /Cause:/ You are attempting to create a new configuration but+--         have already reached the 1,000-configuration limit.+--+-- -   __HTTP 403 Forbidden Error__+--+--     -   /Code:/ AccessDenied+--+--     -   /Cause:/ You are not the owner of the specified bucket, or you+--         do not have the @s3:PutInventoryConfiguration@ bucket permission+--         to set the configuration on the bucket.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html GetBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html DeleteBucketInventoryConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html ListBucketInventoryConfigurations>+module Amazonka.S3.PutBucketInventoryConfiguration+  ( -- * Creating a Request+    PutBucketInventoryConfiguration (..),+    newPutBucketInventoryConfiguration,++    -- * Request Lenses+    putBucketInventoryConfiguration_expectedBucketOwner,+    putBucketInventoryConfiguration_bucket,+    putBucketInventoryConfiguration_id,+    putBucketInventoryConfiguration_inventoryConfiguration,++    -- * Destructuring the Response+    PutBucketInventoryConfigurationResponse (..),+    newPutBucketInventoryConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketInventoryConfiguration' smart constructor.+data PutBucketInventoryConfiguration = PutBucketInventoryConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket where the inventory configuration will be stored.+    bucket :: BucketName,+    -- | The ID used to identify the inventory configuration.+    id :: Prelude.Text,+    -- | Specifies the inventory configuration.+    inventoryConfiguration :: InventoryConfiguration+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketInventoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'putBucketInventoryConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketInventoryConfiguration_bucket' - The name of the bucket where the inventory configuration will be stored.+--+-- 'id', 'putBucketInventoryConfiguration_id' - The ID used to identify the inventory configuration.+--+-- 'inventoryConfiguration', 'putBucketInventoryConfiguration_inventoryConfiguration' - Specifies the inventory configuration.+newPutBucketInventoryConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  -- | 'inventoryConfiguration'+  InventoryConfiguration ->+  PutBucketInventoryConfiguration+newPutBucketInventoryConfiguration+  pBucket_+  pId_+  pInventoryConfiguration_ =+    PutBucketInventoryConfiguration'+      { expectedBucketOwner =+          Prelude.Nothing,+        bucket = pBucket_,+        id = pId_,+        inventoryConfiguration =+          pInventoryConfiguration_+      }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketInventoryConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketInventoryConfiguration (Prelude.Maybe Prelude.Text)+putBucketInventoryConfiguration_expectedBucketOwner = Lens.lens (\PutBucketInventoryConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketInventoryConfiguration' {} a -> s {expectedBucketOwner = a} :: PutBucketInventoryConfiguration)++-- | The name of the bucket where the inventory configuration will be stored.+putBucketInventoryConfiguration_bucket :: Lens.Lens' PutBucketInventoryConfiguration BucketName+putBucketInventoryConfiguration_bucket = Lens.lens (\PutBucketInventoryConfiguration' {bucket} -> bucket) (\s@PutBucketInventoryConfiguration' {} a -> s {bucket = a} :: PutBucketInventoryConfiguration)++-- | The ID used to identify the inventory configuration.+putBucketInventoryConfiguration_id :: Lens.Lens' PutBucketInventoryConfiguration Prelude.Text+putBucketInventoryConfiguration_id = Lens.lens (\PutBucketInventoryConfiguration' {id} -> id) (\s@PutBucketInventoryConfiguration' {} a -> s {id = a} :: PutBucketInventoryConfiguration)++-- | Specifies the inventory configuration.+putBucketInventoryConfiguration_inventoryConfiguration :: Lens.Lens' PutBucketInventoryConfiguration InventoryConfiguration+putBucketInventoryConfiguration_inventoryConfiguration = Lens.lens (\PutBucketInventoryConfiguration' {inventoryConfiguration} -> inventoryConfiguration) (\s@PutBucketInventoryConfiguration' {} a -> s {inventoryConfiguration = a} :: PutBucketInventoryConfiguration)++instance+  Core.AWSRequest+    PutBucketInventoryConfiguration+  where+  type+    AWSResponse PutBucketInventoryConfiguration =+      PutBucketInventoryConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketInventoryConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketInventoryConfiguration+  where+  hashWithSalt+    _salt+    PutBucketInventoryConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` inventoryConfiguration++instance+  Prelude.NFData+    PutBucketInventoryConfiguration+  where+  rnf PutBucketInventoryConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf inventoryConfiguration++instance+  Data.ToElement+    PutBucketInventoryConfiguration+  where+  toElement PutBucketInventoryConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}InventoryConfiguration"+      inventoryConfiguration++instance+  Data.ToHeaders+    PutBucketInventoryConfiguration+  where+  toHeaders PutBucketInventoryConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketInventoryConfiguration where+  toPath PutBucketInventoryConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketInventoryConfiguration where+  toQuery PutBucketInventoryConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "inventory"]++-- | /See:/ 'newPutBucketInventoryConfigurationResponse' smart constructor.+data PutBucketInventoryConfigurationResponse = PutBucketInventoryConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketInventoryConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketInventoryConfigurationResponse ::+  PutBucketInventoryConfigurationResponse+newPutBucketInventoryConfigurationResponse =+  PutBucketInventoryConfigurationResponse'++instance+  Prelude.NFData+    PutBucketInventoryConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketLifecycleConfiguration.hs view
@@ -0,0 +1,299 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketLifecycleConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a new lifecycle configuration for the bucket or replaces an+-- existing lifecycle configuration. Keep in mind that this will overwrite+-- an existing lifecycle configuration, so if you want to retain any+-- configuration details, they must be included in the new lifecycle+-- configuration. For information about lifecycle configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html Managing your storage lifecycle>.+--+-- Bucket lifecycle configuration now supports specifying a lifecycle rule+-- using an object key name prefix, one or more object tags, or a+-- combination of both. Accordingly, this section describes the latest API.+-- The previous version of the API supported filtering based only on an+-- object key name prefix, which is supported for backward compatibility.+-- For the related API description, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html PutBucketLifecycle>.+--+-- __Rules__+--+-- You specify the lifecycle configuration in your request body. The+-- lifecycle configuration is specified as XML consisting of one or more+-- rules. An Amazon S3 Lifecycle configuration can have up to 1,000 rules.+-- This limit is not adjustable. Each rule consists of the following:+--+-- -   Filter identifying a subset of objects to which the rule applies.+--     The filter can be based on a key name prefix, object tags, or a+--     combination of both.+--+-- -   Status whether the rule is in effect.+--+-- -   One or more lifecycle transition and expiration actions that you+--     want Amazon S3 to perform on the objects identified by the filter.+--     If the state of your bucket is versioning-enabled or+--     versioning-suspended, you can have many versions of the same object+--     (one current version and zero or more noncurrent versions). Amazon+--     S3 provides predefined actions that you can specify for current and+--     noncurrent object versions.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html Object Lifecycle Management>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html Lifecycle Configuration Elements>.+--+-- __Permissions__+--+-- By default, all Amazon S3 resources are private, including buckets,+-- objects, and related subresources (for example, lifecycle configuration+-- and website configuration). Only the resource owner (that is, the Amazon+-- Web Services account that created it) can access the resource. The+-- resource owner can optionally grant access permissions to others by+-- writing an access policy. For this operation, a user must get the+-- @s3:PutLifecycleConfiguration@ permission.+--+-- You can also explicitly deny permissions. Explicit deny also supersedes+-- any other permissions. If you want to block users or accounts from+-- removing or deleting objects from your bucket, you must deny them+-- permissions for the following actions:+--+-- -   @s3:DeleteObject@+--+-- -   @s3:DeleteObjectVersion@+--+-- -   @s3:PutLifecycleConfiguration@+--+-- For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- The following are related to @PutBucketLifecycleConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html Examples of Lifecycle Configuration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html GetBucketLifecycleConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html DeleteBucketLifecycle>+module Amazonka.S3.PutBucketLifecycleConfiguration+  ( -- * Creating a Request+    PutBucketLifecycleConfiguration (..),+    newPutBucketLifecycleConfiguration,++    -- * Request Lenses+    putBucketLifecycleConfiguration_checksumAlgorithm,+    putBucketLifecycleConfiguration_expectedBucketOwner,+    putBucketLifecycleConfiguration_lifecycleConfiguration,+    putBucketLifecycleConfiguration_bucket,++    -- * Destructuring the Response+    PutBucketLifecycleConfigurationResponse (..),+    newPutBucketLifecycleConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketLifecycleConfiguration' smart constructor.+data PutBucketLifecycleConfiguration = PutBucketLifecycleConfiguration'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Container for lifecycle rules. You can add as many as 1,000 rules.+    lifecycleConfiguration :: Prelude.Maybe BucketLifecycleConfiguration,+    -- | The name of the bucket for which to set the configuration.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketLifecycleConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketLifecycleConfiguration_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'expectedBucketOwner', 'putBucketLifecycleConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'lifecycleConfiguration', 'putBucketLifecycleConfiguration_lifecycleConfiguration' - Container for lifecycle rules. You can add as many as 1,000 rules.+--+-- 'bucket', 'putBucketLifecycleConfiguration_bucket' - The name of the bucket for which to set the configuration.+newPutBucketLifecycleConfiguration ::+  -- | 'bucket'+  BucketName ->+  PutBucketLifecycleConfiguration+newPutBucketLifecycleConfiguration pBucket_ =+  PutBucketLifecycleConfiguration'+    { checksumAlgorithm =+        Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      lifecycleConfiguration = Prelude.Nothing,+      bucket = pBucket_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketLifecycleConfiguration_checksumAlgorithm :: Lens.Lens' PutBucketLifecycleConfiguration (Prelude.Maybe ChecksumAlgorithm)+putBucketLifecycleConfiguration_checksumAlgorithm = Lens.lens (\PutBucketLifecycleConfiguration' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketLifecycleConfiguration' {} a -> s {checksumAlgorithm = a} :: PutBucketLifecycleConfiguration)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketLifecycleConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketLifecycleConfiguration (Prelude.Maybe Prelude.Text)+putBucketLifecycleConfiguration_expectedBucketOwner = Lens.lens (\PutBucketLifecycleConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketLifecycleConfiguration' {} a -> s {expectedBucketOwner = a} :: PutBucketLifecycleConfiguration)++-- | Container for lifecycle rules. You can add as many as 1,000 rules.+putBucketLifecycleConfiguration_lifecycleConfiguration :: Lens.Lens' PutBucketLifecycleConfiguration (Prelude.Maybe BucketLifecycleConfiguration)+putBucketLifecycleConfiguration_lifecycleConfiguration = Lens.lens (\PutBucketLifecycleConfiguration' {lifecycleConfiguration} -> lifecycleConfiguration) (\s@PutBucketLifecycleConfiguration' {} a -> s {lifecycleConfiguration = a} :: PutBucketLifecycleConfiguration)++-- | The name of the bucket for which to set the configuration.+putBucketLifecycleConfiguration_bucket :: Lens.Lens' PutBucketLifecycleConfiguration BucketName+putBucketLifecycleConfiguration_bucket = Lens.lens (\PutBucketLifecycleConfiguration' {bucket} -> bucket) (\s@PutBucketLifecycleConfiguration' {} a -> s {bucket = a} :: PutBucketLifecycleConfiguration)++instance+  Core.AWSRequest+    PutBucketLifecycleConfiguration+  where+  type+    AWSResponse PutBucketLifecycleConfiguration =+      PutBucketLifecycleConfigurationResponse+  request overrides =+    Request.contentMD5Header+      Prelude.. Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketLifecycleConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketLifecycleConfiguration+  where+  hashWithSalt+    _salt+    PutBucketLifecycleConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` checksumAlgorithm+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` lifecycleConfiguration+        `Prelude.hashWithSalt` bucket++instance+  Prelude.NFData+    PutBucketLifecycleConfiguration+  where+  rnf PutBucketLifecycleConfiguration' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf lifecycleConfiguration+      `Prelude.seq` Prelude.rnf bucket++instance+  Data.ToElement+    PutBucketLifecycleConfiguration+  where+  toElement PutBucketLifecycleConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}LifecycleConfiguration"+      lifecycleConfiguration++instance+  Data.ToHeaders+    PutBucketLifecycleConfiguration+  where+  toHeaders PutBucketLifecycleConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketLifecycleConfiguration where+  toPath PutBucketLifecycleConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketLifecycleConfiguration where+  toQuery =+    Prelude.const (Prelude.mconcat ["lifecycle"])++-- | /See:/ 'newPutBucketLifecycleConfigurationResponse' smart constructor.+data PutBucketLifecycleConfigurationResponse = PutBucketLifecycleConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketLifecycleConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketLifecycleConfigurationResponse ::+  PutBucketLifecycleConfigurationResponse+newPutBucketLifecycleConfigurationResponse =+  PutBucketLifecycleConfigurationResponse'++instance+  Prelude.NFData+    PutBucketLifecycleConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketLogging.hs view
@@ -0,0 +1,294 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketLogging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Set the logging parameters for a bucket and to specify permissions for+-- who can view and modify the logging parameters. All logs are saved to+-- buckets in the same Amazon Web Services Region as the source bucket. To+-- set the logging status of a bucket, you must be the bucket owner.+--+-- The bucket owner is automatically granted FULL_CONTROL to all logs. You+-- use the @Grantee@ request element to grant access to other people. The+-- @Permissions@ request element specifies the kind of access the grantee+-- has to the logs.+--+-- If the target bucket for log delivery uses the bucket owner enforced+-- setting for S3 Object Ownership, you can\'t use the @Grantee@ request+-- element to grant access to others. Permissions can only be granted using+-- policies. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general Permissions for server access log delivery>+-- in the /Amazon S3 User Guide/.+--+-- __Grantee Values__+--+-- You can specify the person (grantee) to whom you\'re assigning access+-- rights (using request elements) in the following ways:+--+-- -   By the person\'s ID:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"CanonicalUser\">\<ID>\<>ID\<>\<\/ID>\<DisplayName>\<>GranteesEmail\<>\<\/DisplayName> \<\/Grantee>@+--+--     DisplayName is optional and ignored in the request.+--+-- -   By Email address:+--+--     @ \<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\">\<EmailAddress>\<>Grantees\@email.com\<>\<\/EmailAddress>\<\/Grantee>@+--+--     The grantee is resolved to the CanonicalUser and, in a response to a+--     GET Object acl request, appears as the CanonicalUser.+--+-- -   By URI:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"Group\">\<URI>\<>http:\/\/acs.amazonaws.com\/groups\/global\/AuthenticatedUsers\<>\<\/URI>\<\/Grantee>@+--+-- To enable logging, you use LoggingEnabled and its children request+-- elements. To disable logging, you use an empty BucketLoggingStatus+-- request element:+--+-- @\<BucketLoggingStatus xmlns=\"http:\/\/doc.s3.amazonaws.com\/2006-03-01\" \/>@+--+-- For more information about server access logging, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html Server Access Logging>+-- in the /Amazon S3 User Guide/.+--+-- For more information about creating a bucket, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>.+-- For more information about returning the logging status of a bucket, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html GetBucketLogging>.+--+-- The following operations are related to @PutBucketLogging@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html DeleteBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html GetBucketLogging>+module Amazonka.S3.PutBucketLogging+  ( -- * Creating a Request+    PutBucketLogging (..),+    newPutBucketLogging,++    -- * Request Lenses+    putBucketLogging_checksumAlgorithm,+    putBucketLogging_contentMD5,+    putBucketLogging_expectedBucketOwner,+    putBucketLogging_bucket,+    putBucketLogging_bucketLoggingStatus,++    -- * Destructuring the Response+    PutBucketLoggingResponse (..),+    newPutBucketLoggingResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketLogging' smart constructor.+data PutBucketLogging = PutBucketLogging'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The MD5 hash of the @PutBucketLogging@ request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which to set the logging parameters.+    bucket :: BucketName,+    -- | Container for logging status information.+    bucketLoggingStatus :: BucketLoggingStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketLogging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketLogging_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketLogging_contentMD5' - The MD5 hash of the @PutBucketLogging@ request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketLogging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketLogging_bucket' - The name of the bucket for which to set the logging parameters.+--+-- 'bucketLoggingStatus', 'putBucketLogging_bucketLoggingStatus' - Container for logging status information.+newPutBucketLogging ::+  -- | 'bucket'+  BucketName ->+  -- | 'bucketLoggingStatus'+  BucketLoggingStatus ->+  PutBucketLogging+newPutBucketLogging pBucket_ pBucketLoggingStatus_ =+  PutBucketLogging'+    { checksumAlgorithm =+        Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_,+      bucketLoggingStatus = pBucketLoggingStatus_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketLogging_checksumAlgorithm :: Lens.Lens' PutBucketLogging (Prelude.Maybe ChecksumAlgorithm)+putBucketLogging_checksumAlgorithm = Lens.lens (\PutBucketLogging' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketLogging' {} a -> s {checksumAlgorithm = a} :: PutBucketLogging)++-- | The MD5 hash of the @PutBucketLogging@ request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketLogging_contentMD5 :: Lens.Lens' PutBucketLogging (Prelude.Maybe Prelude.Text)+putBucketLogging_contentMD5 = Lens.lens (\PutBucketLogging' {contentMD5} -> contentMD5) (\s@PutBucketLogging' {} a -> s {contentMD5 = a} :: PutBucketLogging)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketLogging_expectedBucketOwner :: Lens.Lens' PutBucketLogging (Prelude.Maybe Prelude.Text)+putBucketLogging_expectedBucketOwner = Lens.lens (\PutBucketLogging' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketLogging' {} a -> s {expectedBucketOwner = a} :: PutBucketLogging)++-- | The name of the bucket for which to set the logging parameters.+putBucketLogging_bucket :: Lens.Lens' PutBucketLogging BucketName+putBucketLogging_bucket = Lens.lens (\PutBucketLogging' {bucket} -> bucket) (\s@PutBucketLogging' {} a -> s {bucket = a} :: PutBucketLogging)++-- | Container for logging status information.+putBucketLogging_bucketLoggingStatus :: Lens.Lens' PutBucketLogging BucketLoggingStatus+putBucketLogging_bucketLoggingStatus = Lens.lens (\PutBucketLogging' {bucketLoggingStatus} -> bucketLoggingStatus) (\s@PutBucketLogging' {} a -> s {bucketLoggingStatus = a} :: PutBucketLogging)++instance Core.AWSRequest PutBucketLogging where+  type+    AWSResponse PutBucketLogging =+      PutBucketLoggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketLoggingResponse'++instance Prelude.Hashable PutBucketLogging where+  hashWithSalt _salt PutBucketLogging' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` bucketLoggingStatus++instance Prelude.NFData PutBucketLogging where+  rnf PutBucketLogging' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf bucketLoggingStatus++instance Data.ToElement PutBucketLogging where+  toElement PutBucketLogging' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}BucketLoggingStatus"+      bucketLoggingStatus++instance Data.ToHeaders PutBucketLogging where+  toHeaders PutBucketLogging' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketLogging where+  toPath PutBucketLogging' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketLogging where+  toQuery = Prelude.const (Prelude.mconcat ["logging"])++-- | /See:/ 'newPutBucketLoggingResponse' smart constructor.+data PutBucketLoggingResponse = PutBucketLoggingResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketLoggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketLoggingResponse ::+  PutBucketLoggingResponse+newPutBucketLoggingResponse =+  PutBucketLoggingResponse'++instance Prelude.NFData PutBucketLoggingResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketMetricsConfiguration.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketMetricsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets a metrics configuration (specified by the metrics configuration ID)+-- for the bucket. You can have up to 1,000 metrics configurations per+-- bucket. If you\'re updating an existing metrics configuration, note that+-- this is a full replacement of the existing metrics configuration. If you+-- don\'t include the elements you want to keep, they are erased.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutMetricsConfiguration@ action. The bucket owner has this+-- permission by default. The bucket owner can grant this permission to+-- others. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- For information about CloudWatch request metrics for Amazon S3, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html Monitoring Metrics with Amazon CloudWatch>.+--+-- The following operations are related to @PutBucketMetricsConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html DeleteBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html GetBucketMetricsConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html ListBucketMetricsConfigurations>+--+-- @GetBucketLifecycle@ has the following special error:+--+-- -   Error code: @TooManyConfigurations@+--+--     -   Description: You are attempting to create a new configuration+--         but have already reached the 1,000-configuration limit.+--+--     -   HTTP Status Code: HTTP 400 Bad Request+module Amazonka.S3.PutBucketMetricsConfiguration+  ( -- * Creating a Request+    PutBucketMetricsConfiguration (..),+    newPutBucketMetricsConfiguration,++    -- * Request Lenses+    putBucketMetricsConfiguration_expectedBucketOwner,+    putBucketMetricsConfiguration_bucket,+    putBucketMetricsConfiguration_id,+    putBucketMetricsConfiguration_metricsConfiguration,++    -- * Destructuring the Response+    PutBucketMetricsConfigurationResponse (..),+    newPutBucketMetricsConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketMetricsConfiguration' smart constructor.+data PutBucketMetricsConfiguration = PutBucketMetricsConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket for which the metrics configuration is set.+    bucket :: BucketName,+    -- | The ID used to identify the metrics configuration.+    id :: Prelude.Text,+    -- | Specifies the metrics configuration.+    metricsConfiguration :: MetricsConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketMetricsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'putBucketMetricsConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketMetricsConfiguration_bucket' - The name of the bucket for which the metrics configuration is set.+--+-- 'id', 'putBucketMetricsConfiguration_id' - The ID used to identify the metrics configuration.+--+-- 'metricsConfiguration', 'putBucketMetricsConfiguration_metricsConfiguration' - Specifies the metrics configuration.+newPutBucketMetricsConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'id'+  Prelude.Text ->+  -- | 'metricsConfiguration'+  MetricsConfiguration ->+  PutBucketMetricsConfiguration+newPutBucketMetricsConfiguration+  pBucket_+  pId_+  pMetricsConfiguration_ =+    PutBucketMetricsConfiguration'+      { expectedBucketOwner =+          Prelude.Nothing,+        bucket = pBucket_,+        id = pId_,+        metricsConfiguration =+          pMetricsConfiguration_+      }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketMetricsConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketMetricsConfiguration (Prelude.Maybe Prelude.Text)+putBucketMetricsConfiguration_expectedBucketOwner = Lens.lens (\PutBucketMetricsConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketMetricsConfiguration' {} a -> s {expectedBucketOwner = a} :: PutBucketMetricsConfiguration)++-- | The name of the bucket for which the metrics configuration is set.+putBucketMetricsConfiguration_bucket :: Lens.Lens' PutBucketMetricsConfiguration BucketName+putBucketMetricsConfiguration_bucket = Lens.lens (\PutBucketMetricsConfiguration' {bucket} -> bucket) (\s@PutBucketMetricsConfiguration' {} a -> s {bucket = a} :: PutBucketMetricsConfiguration)++-- | The ID used to identify the metrics configuration.+putBucketMetricsConfiguration_id :: Lens.Lens' PutBucketMetricsConfiguration Prelude.Text+putBucketMetricsConfiguration_id = Lens.lens (\PutBucketMetricsConfiguration' {id} -> id) (\s@PutBucketMetricsConfiguration' {} a -> s {id = a} :: PutBucketMetricsConfiguration)++-- | Specifies the metrics configuration.+putBucketMetricsConfiguration_metricsConfiguration :: Lens.Lens' PutBucketMetricsConfiguration MetricsConfiguration+putBucketMetricsConfiguration_metricsConfiguration = Lens.lens (\PutBucketMetricsConfiguration' {metricsConfiguration} -> metricsConfiguration) (\s@PutBucketMetricsConfiguration' {} a -> s {metricsConfiguration = a} :: PutBucketMetricsConfiguration)++instance+  Core.AWSRequest+    PutBucketMetricsConfiguration+  where+  type+    AWSResponse PutBucketMetricsConfiguration =+      PutBucketMetricsConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketMetricsConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketMetricsConfiguration+  where+  hashWithSalt _salt PutBucketMetricsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` metricsConfiguration++instance Prelude.NFData PutBucketMetricsConfiguration where+  rnf PutBucketMetricsConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf metricsConfiguration++instance Data.ToElement PutBucketMetricsConfiguration where+  toElement PutBucketMetricsConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}MetricsConfiguration"+      metricsConfiguration++instance Data.ToHeaders PutBucketMetricsConfiguration where+  toHeaders PutBucketMetricsConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketMetricsConfiguration where+  toPath PutBucketMetricsConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketMetricsConfiguration where+  toQuery PutBucketMetricsConfiguration' {..} =+    Prelude.mconcat ["id" Data.=: id, "metrics"]++-- | /See:/ 'newPutBucketMetricsConfigurationResponse' smart constructor.+data PutBucketMetricsConfigurationResponse = PutBucketMetricsConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketMetricsConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketMetricsConfigurationResponse ::+  PutBucketMetricsConfigurationResponse+newPutBucketMetricsConfigurationResponse =+  PutBucketMetricsConfigurationResponse'++instance+  Prelude.NFData+    PutBucketMetricsConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketNotificationConfiguration.hs view
@@ -0,0 +1,271 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketNotificationConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Enables notifications of specified events for a bucket. For more+-- information about event notifications, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>.+--+-- Using this API, you can replace an existing notification configuration.+-- The configuration is an XML file that defines the event types that you+-- want Amazon S3 to publish and the destination where you want Amazon S3+-- to publish an event notification when it detects an event of the+-- specified type.+--+-- By default, your bucket has no event notifications configured. That is,+-- the notification configuration will be an empty+-- @NotificationConfiguration@.+--+-- @\<NotificationConfiguration>@+--+-- @\<\/NotificationConfiguration>@+--+-- This action replaces the existing notification configuration with the+-- configuration you include in the request body.+--+-- After Amazon S3 receives this request, it first verifies that any Amazon+-- Simple Notification Service (Amazon SNS) or Amazon Simple Queue Service+-- (Amazon SQS) destination exists, and that the bucket owner has+-- permission to publish to it by sending a test notification. In the case+-- of Lambda destinations, Amazon S3 verifies that the Lambda function+-- permissions grant Amazon S3 permission to invoke the function from the+-- Amazon S3 bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Notifications for Amazon S3 Events>.+--+-- You can disable notifications by adding the empty+-- NotificationConfiguration element.+--+-- For more information about the number of event notification+-- configurations that you can create per bucket, see+-- <https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3 Amazon S3 service quotas>+-- in /Amazon Web Services General Reference/.+--+-- By default, only the bucket owner can configure notifications on a+-- bucket. However, bucket owners can use a bucket policy to grant+-- permission to other users to set this configuration with+-- @s3:PutBucketNotification@ permission.+--+-- The PUT notification is an atomic operation. For example, suppose your+-- notification configuration includes SNS topic, SQS queue, and Lambda+-- function configurations. When you send a PUT request with this+-- configuration, Amazon S3 sends test messages to your SNS topic. If the+-- message fails, the entire PUT action will fail, and Amazon S3 will not+-- add the configuration to your bucket.+--+-- __Responses__+--+-- If the configuration in the request body includes only one+-- @TopicConfiguration@ specifying only the+-- @s3:ReducedRedundancyLostObject@ event type, the response will also+-- include the @x-amz-sns-test-message-id@ header containing the message ID+-- of the test notification sent to the topic.+--+-- The following action is related to @PutBucketNotificationConfiguration@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html GetBucketNotificationConfiguration>+module Amazonka.S3.PutBucketNotificationConfiguration+  ( -- * Creating a Request+    PutBucketNotificationConfiguration (..),+    newPutBucketNotificationConfiguration,++    -- * Request Lenses+    putBucketNotificationConfiguration_expectedBucketOwner,+    putBucketNotificationConfiguration_skipDestinationValidation,+    putBucketNotificationConfiguration_bucket,+    putBucketNotificationConfiguration_notificationConfiguration,++    -- * Destructuring the Response+    PutBucketNotificationConfigurationResponse (..),+    newPutBucketNotificationConfigurationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketNotificationConfiguration' smart constructor.+data PutBucketNotificationConfiguration = PutBucketNotificationConfiguration'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.+    -- True or false value.+    skipDestinationValidation :: Prelude.Maybe Prelude.Bool,+    -- | The name of the bucket.+    bucket :: BucketName,+    notificationConfiguration :: NotificationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketNotificationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'putBucketNotificationConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'skipDestinationValidation', 'putBucketNotificationConfiguration_skipDestinationValidation' - Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.+-- True or false value.+--+-- 'bucket', 'putBucketNotificationConfiguration_bucket' - The name of the bucket.+--+-- 'notificationConfiguration', 'putBucketNotificationConfiguration_notificationConfiguration' - Undocumented member.+newPutBucketNotificationConfiguration ::+  -- | 'bucket'+  BucketName ->+  -- | 'notificationConfiguration'+  NotificationConfiguration ->+  PutBucketNotificationConfiguration+newPutBucketNotificationConfiguration+  pBucket_+  pNotificationConfiguration_ =+    PutBucketNotificationConfiguration'+      { expectedBucketOwner =+          Prelude.Nothing,+        skipDestinationValidation =+          Prelude.Nothing,+        bucket = pBucket_,+        notificationConfiguration =+          pNotificationConfiguration_+      }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketNotificationConfiguration_expectedBucketOwner :: Lens.Lens' PutBucketNotificationConfiguration (Prelude.Maybe Prelude.Text)+putBucketNotificationConfiguration_expectedBucketOwner = Lens.lens (\PutBucketNotificationConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketNotificationConfiguration' {} a -> s {expectedBucketOwner = a} :: PutBucketNotificationConfiguration)++-- | Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations.+-- True or false value.+putBucketNotificationConfiguration_skipDestinationValidation :: Lens.Lens' PutBucketNotificationConfiguration (Prelude.Maybe Prelude.Bool)+putBucketNotificationConfiguration_skipDestinationValidation = Lens.lens (\PutBucketNotificationConfiguration' {skipDestinationValidation} -> skipDestinationValidation) (\s@PutBucketNotificationConfiguration' {} a -> s {skipDestinationValidation = a} :: PutBucketNotificationConfiguration)++-- | The name of the bucket.+putBucketNotificationConfiguration_bucket :: Lens.Lens' PutBucketNotificationConfiguration BucketName+putBucketNotificationConfiguration_bucket = Lens.lens (\PutBucketNotificationConfiguration' {bucket} -> bucket) (\s@PutBucketNotificationConfiguration' {} a -> s {bucket = a} :: PutBucketNotificationConfiguration)++-- | Undocumented member.+putBucketNotificationConfiguration_notificationConfiguration :: Lens.Lens' PutBucketNotificationConfiguration NotificationConfiguration+putBucketNotificationConfiguration_notificationConfiguration = Lens.lens (\PutBucketNotificationConfiguration' {notificationConfiguration} -> notificationConfiguration) (\s@PutBucketNotificationConfiguration' {} a -> s {notificationConfiguration = a} :: PutBucketNotificationConfiguration)++instance+  Core.AWSRequest+    PutBucketNotificationConfiguration+  where+  type+    AWSResponse PutBucketNotificationConfiguration =+      PutBucketNotificationConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketNotificationConfigurationResponse'++instance+  Prelude.Hashable+    PutBucketNotificationConfiguration+  where+  hashWithSalt+    _salt+    PutBucketNotificationConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` expectedBucketOwner+        `Prelude.hashWithSalt` skipDestinationValidation+        `Prelude.hashWithSalt` bucket+        `Prelude.hashWithSalt` notificationConfiguration++instance+  Prelude.NFData+    PutBucketNotificationConfiguration+  where+  rnf PutBucketNotificationConfiguration' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf skipDestinationValidation+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf notificationConfiguration++instance+  Data.ToElement+    PutBucketNotificationConfiguration+  where+  toElement PutBucketNotificationConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}NotificationConfiguration"+      notificationConfiguration++instance+  Data.ToHeaders+    PutBucketNotificationConfiguration+  where+  toHeaders PutBucketNotificationConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-skip-destination-validation"+          Data.=# skipDestinationValidation+      ]++instance+  Data.ToPath+    PutBucketNotificationConfiguration+  where+  toPath PutBucketNotificationConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance+  Data.ToQuery+    PutBucketNotificationConfiguration+  where+  toQuery =+    Prelude.const (Prelude.mconcat ["notification"])++-- | /See:/ 'newPutBucketNotificationConfigurationResponse' smart constructor.+data PutBucketNotificationConfigurationResponse = PutBucketNotificationConfigurationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketNotificationConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketNotificationConfigurationResponse ::+  PutBucketNotificationConfigurationResponse+newPutBucketNotificationConfigurationResponse =+  PutBucketNotificationConfigurationResponse'++instance+  Prelude.NFData+    PutBucketNotificationConfigurationResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketOwnershipControls.hs view
@@ -0,0 +1,214 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketOwnershipControls+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates or modifies @OwnershipControls@ for an Amazon S3 bucket. To use+-- this operation, you must have the @s3:PutBucketOwnershipControls@+-- permission. For more information about Amazon S3 permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html Specifying permissions in a policy>.+--+-- For information about Amazon S3 Object Ownership, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html Using object ownership>.+--+-- The following operations are related to @PutBucketOwnershipControls@:+--+-- -   GetBucketOwnershipControls+--+-- -   DeleteBucketOwnershipControls+module Amazonka.S3.PutBucketOwnershipControls+  ( -- * Creating a Request+    PutBucketOwnershipControls (..),+    newPutBucketOwnershipControls,++    -- * Request Lenses+    putBucketOwnershipControls_contentMD5,+    putBucketOwnershipControls_expectedBucketOwner,+    putBucketOwnershipControls_bucket,+    putBucketOwnershipControls_ownershipControls,++    -- * Destructuring the Response+    PutBucketOwnershipControlsResponse (..),+    newPutBucketOwnershipControlsResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketOwnershipControls' smart constructor.+data PutBucketOwnershipControls = PutBucketOwnershipControls'+  { -- | The MD5 hash of the @OwnershipControls@ request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the Amazon S3 bucket whose @OwnershipControls@ you want to+    -- set.+    bucket :: BucketName,+    -- | The @OwnershipControls@ (BucketOwnerEnforced, BucketOwnerPreferred, or+    -- ObjectWriter) that you want to apply to this Amazon S3 bucket.+    ownershipControls :: OwnershipControls+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketOwnershipControls' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'contentMD5', 'putBucketOwnershipControls_contentMD5' - The MD5 hash of the @OwnershipControls@ request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketOwnershipControls_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketOwnershipControls_bucket' - The name of the Amazon S3 bucket whose @OwnershipControls@ you want to+-- set.+--+-- 'ownershipControls', 'putBucketOwnershipControls_ownershipControls' - The @OwnershipControls@ (BucketOwnerEnforced, BucketOwnerPreferred, or+-- ObjectWriter) that you want to apply to this Amazon S3 bucket.+newPutBucketOwnershipControls ::+  -- | 'bucket'+  BucketName ->+  -- | 'ownershipControls'+  OwnershipControls ->+  PutBucketOwnershipControls+newPutBucketOwnershipControls+  pBucket_+  pOwnershipControls_ =+    PutBucketOwnershipControls'+      { contentMD5 =+          Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        bucket = pBucket_,+        ownershipControls = pOwnershipControls_+      }++-- | The MD5 hash of the @OwnershipControls@ request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketOwnershipControls_contentMD5 :: Lens.Lens' PutBucketOwnershipControls (Prelude.Maybe Prelude.Text)+putBucketOwnershipControls_contentMD5 = Lens.lens (\PutBucketOwnershipControls' {contentMD5} -> contentMD5) (\s@PutBucketOwnershipControls' {} a -> s {contentMD5 = a} :: PutBucketOwnershipControls)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketOwnershipControls_expectedBucketOwner :: Lens.Lens' PutBucketOwnershipControls (Prelude.Maybe Prelude.Text)+putBucketOwnershipControls_expectedBucketOwner = Lens.lens (\PutBucketOwnershipControls' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketOwnershipControls' {} a -> s {expectedBucketOwner = a} :: PutBucketOwnershipControls)++-- | The name of the Amazon S3 bucket whose @OwnershipControls@ you want to+-- set.+putBucketOwnershipControls_bucket :: Lens.Lens' PutBucketOwnershipControls BucketName+putBucketOwnershipControls_bucket = Lens.lens (\PutBucketOwnershipControls' {bucket} -> bucket) (\s@PutBucketOwnershipControls' {} a -> s {bucket = a} :: PutBucketOwnershipControls)++-- | The @OwnershipControls@ (BucketOwnerEnforced, BucketOwnerPreferred, or+-- ObjectWriter) that you want to apply to this Amazon S3 bucket.+putBucketOwnershipControls_ownershipControls :: Lens.Lens' PutBucketOwnershipControls OwnershipControls+putBucketOwnershipControls_ownershipControls = Lens.lens (\PutBucketOwnershipControls' {ownershipControls} -> ownershipControls) (\s@PutBucketOwnershipControls' {} a -> s {ownershipControls = a} :: PutBucketOwnershipControls)++instance Core.AWSRequest PutBucketOwnershipControls where+  type+    AWSResponse PutBucketOwnershipControls =+      PutBucketOwnershipControlsResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketOwnershipControlsResponse'++instance Prelude.Hashable PutBucketOwnershipControls where+  hashWithSalt _salt PutBucketOwnershipControls' {..} =+    _salt+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` ownershipControls++instance Prelude.NFData PutBucketOwnershipControls where+  rnf PutBucketOwnershipControls' {..} =+    Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf ownershipControls++instance Data.ToElement PutBucketOwnershipControls where+  toElement PutBucketOwnershipControls' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}OwnershipControls"+      ownershipControls++instance Data.ToHeaders PutBucketOwnershipControls where+  toHeaders PutBucketOwnershipControls' {..} =+    Prelude.mconcat+      [ "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketOwnershipControls where+  toPath PutBucketOwnershipControls' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketOwnershipControls where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["ownershipControls"])++-- | /See:/ 'newPutBucketOwnershipControlsResponse' smart constructor.+data PutBucketOwnershipControlsResponse = PutBucketOwnershipControlsResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketOwnershipControlsResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketOwnershipControlsResponse ::+  PutBucketOwnershipControlsResponse+newPutBucketOwnershipControlsResponse =+  PutBucketOwnershipControlsResponse'++instance+  Prelude.NFData+    PutBucketOwnershipControlsResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketPolicy.hs view
@@ -0,0 +1,269 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are+-- using an identity other than the root user of the Amazon Web Services+-- account that owns the bucket, the calling identity must have the+-- @PutBucketPolicy@ permissions on the specified bucket and belong to the+-- bucket owner\'s account in order to use this operation.+--+-- If you don\'t have @PutBucketPolicy@ permissions, Amazon S3 returns a+-- @403 Access Denied@ error. If you have the correct permissions, but+-- you\'re not using an identity that belongs to the bucket owner\'s+-- account, Amazon S3 returns a @405 Method Not Allowed@ error.+--+-- As a security precaution, the root user of the Amazon Web Services+-- account that owns a bucket can always use this operation, even if the+-- policy explicitly denies the root user the ability to perform this+-- action.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html Bucket policy examples>.+--+-- The following operations are related to @PutBucketPolicy@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html DeleteBucket>+module Amazonka.S3.PutBucketPolicy+  ( -- * Creating a Request+    PutBucketPolicy (..),+    newPutBucketPolicy,++    -- * Request Lenses+    putBucketPolicy_checksumAlgorithm,+    putBucketPolicy_confirmRemoveSelfBucketAccess,+    putBucketPolicy_contentMD5,+    putBucketPolicy_expectedBucketOwner,+    putBucketPolicy_bucket,+    putBucketPolicy_policy,++    -- * Destructuring the Response+    PutBucketPolicyResponse (..),+    newPutBucketPolicyResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketPolicy' smart constructor.+data PutBucketPolicy = PutBucketPolicy'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | Set this parameter to true to confirm that you want to remove your+    -- permissions to change this bucket policy in the future.+    confirmRemoveSelfBucketAccess :: Prelude.Maybe Prelude.Bool,+    -- | The MD5 hash of the request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket.+    bucket :: BucketName,+    -- | The bucket policy as a JSON document.+    policy :: Prelude.ByteString+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketPolicy_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'confirmRemoveSelfBucketAccess', 'putBucketPolicy_confirmRemoveSelfBucketAccess' - Set this parameter to true to confirm that you want to remove your+-- permissions to change this bucket policy in the future.+--+-- 'contentMD5', 'putBucketPolicy_contentMD5' - The MD5 hash of the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketPolicy_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketPolicy_bucket' - The name of the bucket.+--+-- 'policy', 'putBucketPolicy_policy' - The bucket policy as a JSON document.+newPutBucketPolicy ::+  -- | 'bucket'+  BucketName ->+  -- | 'policy'+  Prelude.ByteString ->+  PutBucketPolicy+newPutBucketPolicy pBucket_ pPolicy_ =+  PutBucketPolicy'+    { checksumAlgorithm =+        Prelude.Nothing,+      confirmRemoveSelfBucketAccess = Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_,+      policy = pPolicy_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketPolicy_checksumAlgorithm :: Lens.Lens' PutBucketPolicy (Prelude.Maybe ChecksumAlgorithm)+putBucketPolicy_checksumAlgorithm = Lens.lens (\PutBucketPolicy' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketPolicy' {} a -> s {checksumAlgorithm = a} :: PutBucketPolicy)++-- | Set this parameter to true to confirm that you want to remove your+-- permissions to change this bucket policy in the future.+putBucketPolicy_confirmRemoveSelfBucketAccess :: Lens.Lens' PutBucketPolicy (Prelude.Maybe Prelude.Bool)+putBucketPolicy_confirmRemoveSelfBucketAccess = Lens.lens (\PutBucketPolicy' {confirmRemoveSelfBucketAccess} -> confirmRemoveSelfBucketAccess) (\s@PutBucketPolicy' {} a -> s {confirmRemoveSelfBucketAccess = a} :: PutBucketPolicy)++-- | The MD5 hash of the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketPolicy_contentMD5 :: Lens.Lens' PutBucketPolicy (Prelude.Maybe Prelude.Text)+putBucketPolicy_contentMD5 = Lens.lens (\PutBucketPolicy' {contentMD5} -> contentMD5) (\s@PutBucketPolicy' {} a -> s {contentMD5 = a} :: PutBucketPolicy)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketPolicy_expectedBucketOwner :: Lens.Lens' PutBucketPolicy (Prelude.Maybe Prelude.Text)+putBucketPolicy_expectedBucketOwner = Lens.lens (\PutBucketPolicy' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketPolicy' {} a -> s {expectedBucketOwner = a} :: PutBucketPolicy)++-- | The name of the bucket.+putBucketPolicy_bucket :: Lens.Lens' PutBucketPolicy BucketName+putBucketPolicy_bucket = Lens.lens (\PutBucketPolicy' {bucket} -> bucket) (\s@PutBucketPolicy' {} a -> s {bucket = a} :: PutBucketPolicy)++-- | The bucket policy as a JSON document.+putBucketPolicy_policy :: Lens.Lens' PutBucketPolicy Prelude.ByteString+putBucketPolicy_policy = Lens.lens (\PutBucketPolicy' {policy} -> policy) (\s@PutBucketPolicy' {} a -> s {policy = a} :: PutBucketPolicy)++instance Core.AWSRequest PutBucketPolicy where+  type+    AWSResponse PutBucketPolicy =+      PutBucketPolicyResponse+  request overrides =+    Request.contentMD5Header+      Prelude.. Request.s3vhost+      Prelude.. Request.putBody (overrides defaultService)+  response =+    Response.receiveNull PutBucketPolicyResponse'++instance Prelude.Hashable PutBucketPolicy where+  hashWithSalt _salt PutBucketPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` confirmRemoveSelfBucketAccess+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` policy++instance Prelude.NFData PutBucketPolicy where+  rnf PutBucketPolicy' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf confirmRemoveSelfBucketAccess+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf policy++instance Data.ToBody PutBucketPolicy where+  toBody PutBucketPolicy' {..} = Data.toBody policy++instance Data.ToHeaders PutBucketPolicy where+  toHeaders PutBucketPolicy' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-confirm-remove-self-bucket-access"+          Data.=# confirmRemoveSelfBucketAccess,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketPolicy where+  toPath PutBucketPolicy' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketPolicy where+  toQuery = Prelude.const (Prelude.mconcat ["policy"])++-- | /See:/ 'newPutBucketPolicyResponse' smart constructor.+data PutBucketPolicyResponse = PutBucketPolicyResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketPolicyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketPolicyResponse ::+  PutBucketPolicyResponse+newPutBucketPolicyResponse = PutBucketPolicyResponse'++instance Prelude.NFData PutBucketPolicyResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketReplication.hs view
@@ -0,0 +1,323 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketReplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates a replication configuration or replaces an existing one. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html Replication>+-- in the /Amazon S3 User Guide/.+--+-- Specify the replication configuration in the request body. In the+-- replication configuration, you provide the name of the destination+-- bucket or buckets where you want Amazon S3 to replicate objects, the IAM+-- role that Amazon S3 can assume to replicate objects on your behalf, and+-- other relevant information.+--+-- A replication configuration must include at least one rule, and can+-- contain a maximum of 1,000. Each rule identifies a subset of objects to+-- replicate by filtering the objects in the source bucket. To choose+-- additional subsets of objects to replicate, add a rule for each subset.+--+-- To specify a subset of the objects in the source bucket to apply a+-- replication rule to, add the Filter element as a child of the Rule+-- element. You can filter objects based on an object key prefix, one or+-- more object tags, or both. When you add the Filter element in the+-- configuration, you must also add the following elements:+-- @DeleteMarkerReplication@, @Status@, and @Priority@.+--+-- If you are using an earlier version of the replication configuration,+-- Amazon S3 handles replication of delete markers differently. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations Backward Compatibility>.+--+-- For information about enabling versioning on a bucket, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html Using Versioning>.+--+-- __Handling Replication of Encrypted Objects__+--+-- By default, Amazon S3 doesn\'t replicate objects that are stored at rest+-- using server-side encryption with KMS keys. To replicate Amazon Web+-- Services KMS-encrypted objects, add the following:+-- @SourceSelectionCriteria@, @SseKmsEncryptedObjects@, @Status@,+-- @EncryptionConfiguration@, and @ReplicaKmsKeyID@. For information about+-- replication configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-config-for-kms-objects.html Replicating Objects Created with SSE Using KMS keys>.+--+-- For information on @PutBucketReplication@ errors, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList List of replication-related error codes>+--+-- __Permissions__+--+-- To create a @PutBucketReplication@ request, you must have+-- @s3:PutReplicationConfiguration@ permissions for the bucket.+--+-- By default, a resource owner, in this case the Amazon Web Services+-- account that created the bucket, can perform this operation. The+-- resource owner can also grant others permissions to perform the+-- operation. For more information about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- To perform this operation, the user or role performing the action must+-- have the+-- <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html iam:PassRole>+-- permission.+--+-- The following operations are related to @PutBucketReplication@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html GetBucketReplication>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html DeleteBucketReplication>+module Amazonka.S3.PutBucketReplication+  ( -- * Creating a Request+    PutBucketReplication (..),+    newPutBucketReplication,++    -- * Request Lenses+    putBucketReplication_checksumAlgorithm,+    putBucketReplication_contentMD5,+    putBucketReplication_expectedBucketOwner,+    putBucketReplication_token,+    putBucketReplication_bucket,+    putBucketReplication_replicationConfiguration,++    -- * Destructuring the Response+    PutBucketReplicationResponse (..),+    newPutBucketReplicationResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketReplication' smart constructor.+data PutBucketReplication = PutBucketReplication'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. You must use this+    -- header as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, see+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | A token to allow Object Lock to be enabled for an existing bucket.+    token :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket+    bucket :: BucketName,+    replicationConfiguration :: ReplicationConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketReplication_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketReplication_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketReplication_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'token', 'putBucketReplication_token' - A token to allow Object Lock to be enabled for an existing bucket.+--+-- 'bucket', 'putBucketReplication_bucket' - The name of the bucket+--+-- 'replicationConfiguration', 'putBucketReplication_replicationConfiguration' - Undocumented member.+newPutBucketReplication ::+  -- | 'bucket'+  BucketName ->+  -- | 'replicationConfiguration'+  ReplicationConfiguration ->+  PutBucketReplication+newPutBucketReplication+  pBucket_+  pReplicationConfiguration_ =+    PutBucketReplication'+      { checksumAlgorithm =+          Prelude.Nothing,+        contentMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        token = Prelude.Nothing,+        bucket = pBucket_,+        replicationConfiguration =+          pReplicationConfiguration_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketReplication_checksumAlgorithm :: Lens.Lens' PutBucketReplication (Prelude.Maybe ChecksumAlgorithm)+putBucketReplication_checksumAlgorithm = Lens.lens (\PutBucketReplication' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketReplication' {} a -> s {checksumAlgorithm = a} :: PutBucketReplication)++-- | The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketReplication_contentMD5 :: Lens.Lens' PutBucketReplication (Prelude.Maybe Prelude.Text)+putBucketReplication_contentMD5 = Lens.lens (\PutBucketReplication' {contentMD5} -> contentMD5) (\s@PutBucketReplication' {} a -> s {contentMD5 = a} :: PutBucketReplication)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketReplication_expectedBucketOwner :: Lens.Lens' PutBucketReplication (Prelude.Maybe Prelude.Text)+putBucketReplication_expectedBucketOwner = Lens.lens (\PutBucketReplication' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketReplication' {} a -> s {expectedBucketOwner = a} :: PutBucketReplication)++-- | A token to allow Object Lock to be enabled for an existing bucket.+putBucketReplication_token :: Lens.Lens' PutBucketReplication (Prelude.Maybe Prelude.Text)+putBucketReplication_token = Lens.lens (\PutBucketReplication' {token} -> token) (\s@PutBucketReplication' {} a -> s {token = a} :: PutBucketReplication)++-- | The name of the bucket+putBucketReplication_bucket :: Lens.Lens' PutBucketReplication BucketName+putBucketReplication_bucket = Lens.lens (\PutBucketReplication' {bucket} -> bucket) (\s@PutBucketReplication' {} a -> s {bucket = a} :: PutBucketReplication)++-- | Undocumented member.+putBucketReplication_replicationConfiguration :: Lens.Lens' PutBucketReplication ReplicationConfiguration+putBucketReplication_replicationConfiguration = Lens.lens (\PutBucketReplication' {replicationConfiguration} -> replicationConfiguration) (\s@PutBucketReplication' {} a -> s {replicationConfiguration = a} :: PutBucketReplication)++instance Core.AWSRequest PutBucketReplication where+  type+    AWSResponse PutBucketReplication =+      PutBucketReplicationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketReplicationResponse'++instance Prelude.Hashable PutBucketReplication where+  hashWithSalt _salt PutBucketReplication' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` token+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` replicationConfiguration++instance Prelude.NFData PutBucketReplication where+  rnf PutBucketReplication' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf token+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf replicationConfiguration++instance Data.ToElement PutBucketReplication where+  toElement PutBucketReplication' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}ReplicationConfiguration"+      replicationConfiguration++instance Data.ToHeaders PutBucketReplication where+  toHeaders PutBucketReplication' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-bucket-object-lock-token" Data.=# token+      ]++instance Data.ToPath PutBucketReplication where+  toPath PutBucketReplication' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketReplication where+  toQuery =+    Prelude.const (Prelude.mconcat ["replication"])++-- | /See:/ 'newPutBucketReplicationResponse' smart constructor.+data PutBucketReplicationResponse = PutBucketReplicationResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketReplicationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketReplicationResponse ::+  PutBucketReplicationResponse+newPutBucketReplicationResponse =+  PutBucketReplicationResponse'++instance Prelude.NFData PutBucketReplicationResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketRequestPayment.hs view
@@ -0,0 +1,260 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketRequestPayment+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the request payment configuration for a bucket. By default, the+-- bucket owner pays for downloads from the bucket. This configuration+-- parameter enables the bucket owner (only) to specify that the person+-- requesting the download will be charged for the download. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html Requester Pays Buckets>.+--+-- The following operations are related to @PutBucketRequestPayment@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html GetBucketRequestPayment>+module Amazonka.S3.PutBucketRequestPayment+  ( -- * Creating a Request+    PutBucketRequestPayment (..),+    newPutBucketRequestPayment,++    -- * Request Lenses+    putBucketRequestPayment_checksumAlgorithm,+    putBucketRequestPayment_contentMD5,+    putBucketRequestPayment_expectedBucketOwner,+    putBucketRequestPayment_bucket,+    putBucketRequestPayment_requestPaymentConfiguration,++    -- * Destructuring the Response+    PutBucketRequestPaymentResponse (..),+    newPutBucketRequestPaymentResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketRequestPayment' smart constructor.+data PutBucketRequestPayment = PutBucketRequestPayment'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. You must use this+    -- header as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, see+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    bucket :: BucketName,+    -- | Container for Payer.+    requestPaymentConfiguration :: RequestPaymentConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketRequestPayment' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketRequestPayment_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketRequestPayment_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketRequestPayment_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketRequestPayment_bucket' - The bucket name.+--+-- 'requestPaymentConfiguration', 'putBucketRequestPayment_requestPaymentConfiguration' - Container for Payer.+newPutBucketRequestPayment ::+  -- | 'bucket'+  BucketName ->+  -- | 'requestPaymentConfiguration'+  RequestPaymentConfiguration ->+  PutBucketRequestPayment+newPutBucketRequestPayment+  pBucket_+  pRequestPaymentConfiguration_ =+    PutBucketRequestPayment'+      { checksumAlgorithm =+          Prelude.Nothing,+        contentMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        bucket = pBucket_,+        requestPaymentConfiguration =+          pRequestPaymentConfiguration_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketRequestPayment_checksumAlgorithm :: Lens.Lens' PutBucketRequestPayment (Prelude.Maybe ChecksumAlgorithm)+putBucketRequestPayment_checksumAlgorithm = Lens.lens (\PutBucketRequestPayment' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketRequestPayment' {} a -> s {checksumAlgorithm = a} :: PutBucketRequestPayment)++-- | The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketRequestPayment_contentMD5 :: Lens.Lens' PutBucketRequestPayment (Prelude.Maybe Prelude.Text)+putBucketRequestPayment_contentMD5 = Lens.lens (\PutBucketRequestPayment' {contentMD5} -> contentMD5) (\s@PutBucketRequestPayment' {} a -> s {contentMD5 = a} :: PutBucketRequestPayment)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketRequestPayment_expectedBucketOwner :: Lens.Lens' PutBucketRequestPayment (Prelude.Maybe Prelude.Text)+putBucketRequestPayment_expectedBucketOwner = Lens.lens (\PutBucketRequestPayment' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketRequestPayment' {} a -> s {expectedBucketOwner = a} :: PutBucketRequestPayment)++-- | The bucket name.+putBucketRequestPayment_bucket :: Lens.Lens' PutBucketRequestPayment BucketName+putBucketRequestPayment_bucket = Lens.lens (\PutBucketRequestPayment' {bucket} -> bucket) (\s@PutBucketRequestPayment' {} a -> s {bucket = a} :: PutBucketRequestPayment)++-- | Container for Payer.+putBucketRequestPayment_requestPaymentConfiguration :: Lens.Lens' PutBucketRequestPayment RequestPaymentConfiguration+putBucketRequestPayment_requestPaymentConfiguration = Lens.lens (\PutBucketRequestPayment' {requestPaymentConfiguration} -> requestPaymentConfiguration) (\s@PutBucketRequestPayment' {} a -> s {requestPaymentConfiguration = a} :: PutBucketRequestPayment)++instance Core.AWSRequest PutBucketRequestPayment where+  type+    AWSResponse PutBucketRequestPayment =+      PutBucketRequestPaymentResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull+      PutBucketRequestPaymentResponse'++instance Prelude.Hashable PutBucketRequestPayment where+  hashWithSalt _salt PutBucketRequestPayment' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` requestPaymentConfiguration++instance Prelude.NFData PutBucketRequestPayment where+  rnf PutBucketRequestPayment' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf requestPaymentConfiguration++instance Data.ToElement PutBucketRequestPayment where+  toElement PutBucketRequestPayment' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}RequestPaymentConfiguration"+      requestPaymentConfiguration++instance Data.ToHeaders PutBucketRequestPayment where+  toHeaders PutBucketRequestPayment' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketRequestPayment where+  toPath PutBucketRequestPayment' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketRequestPayment where+  toQuery =+    Prelude.const (Prelude.mconcat ["requestPayment"])++-- | /See:/ 'newPutBucketRequestPaymentResponse' smart constructor.+data PutBucketRequestPaymentResponse = PutBucketRequestPaymentResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketRequestPaymentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketRequestPaymentResponse ::+  PutBucketRequestPaymentResponse+newPutBucketRequestPaymentResponse =+  PutBucketRequestPaymentResponse'++instance+  Prelude.NFData+    PutBucketRequestPaymentResponse+  where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketTagging.hs view
@@ -0,0 +1,297 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketTagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the tags for a bucket.+--+-- Use tags to organize your Amazon Web Services bill to reflect your own+-- cost structure. To do this, sign up to get your Amazon Web Services+-- account bill with tag key values included. Then, to see the cost of+-- combined resources, organize your billing information according to+-- resources with the same tag key values. For example, you can tag several+-- resources with a specific application name, and then organize your+-- billing information to see the total cost of that application across+-- several services. For more information, see+-- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html Cost Allocation and Tagging>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/CostAllocTagging.html Using Cost Allocation in Amazon S3 Bucket Tags>.+--+-- When this operation sets the tags for a bucket, it will overwrite any+-- current tags the bucket already has. You cannot use this operation to+-- add tags to an existing list of tags.+--+-- To use this operation, you must have permissions to perform the+-- @s3:PutBucketTagging@ action. The bucket owner has this permission by+-- default and can grant this permission to others. For more information+-- about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>.+--+-- @PutBucketTagging@ has the following special errors:+--+-- -   Error code: @InvalidTagError@+--+--     -   Description: The tag provided was not a valid tag. This error+--         can occur if the tag did not pass input validation. For+--         information about tag restrictions, see+--         <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html User-Defined Tag Restrictions>+--         and+--         <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html Amazon Web Services-Generated Cost Allocation Tag Restrictions>.+--+-- -   Error code: @MalformedXMLError@+--+--     -   Description: The XML provided does not match the schema.+--+-- -   Error code: @OperationAbortedError @+--+--     -   Description: A conflicting conditional action is currently in+--         progress against this resource. Please try again.+--+-- -   Error code: @InternalError@+--+--     -   Description: The service was unable to apply the provided tag to+--         the bucket.+--+-- The following operations are related to @PutBucketTagging@:+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html GetBucketTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html DeleteBucketTagging>+module Amazonka.S3.PutBucketTagging+  ( -- * Creating a Request+    PutBucketTagging (..),+    newPutBucketTagging,++    -- * Request Lenses+    putBucketTagging_checksumAlgorithm,+    putBucketTagging_contentMD5,+    putBucketTagging_expectedBucketOwner,+    putBucketTagging_bucket,+    putBucketTagging_tagging,++    -- * Destructuring the Response+    PutBucketTaggingResponse (..),+    newPutBucketTaggingResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketTagging' smart constructor.+data PutBucketTagging = PutBucketTagging'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. You must use this+    -- header as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, see+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    bucket :: BucketName,+    -- | Container for the @TagSet@ and @Tag@ elements.+    tagging :: Tagging+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketTagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketTagging_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketTagging_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketTagging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketTagging_bucket' - The bucket name.+--+-- 'tagging', 'putBucketTagging_tagging' - Container for the @TagSet@ and @Tag@ elements.+newPutBucketTagging ::+  -- | 'bucket'+  BucketName ->+  -- | 'tagging'+  Tagging ->+  PutBucketTagging+newPutBucketTagging pBucket_ pTagging_ =+  PutBucketTagging'+    { checksumAlgorithm =+        Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_,+      tagging = pTagging_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketTagging_checksumAlgorithm :: Lens.Lens' PutBucketTagging (Prelude.Maybe ChecksumAlgorithm)+putBucketTagging_checksumAlgorithm = Lens.lens (\PutBucketTagging' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketTagging' {} a -> s {checksumAlgorithm = a} :: PutBucketTagging)++-- | The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketTagging_contentMD5 :: Lens.Lens' PutBucketTagging (Prelude.Maybe Prelude.Text)+putBucketTagging_contentMD5 = Lens.lens (\PutBucketTagging' {contentMD5} -> contentMD5) (\s@PutBucketTagging' {} a -> s {contentMD5 = a} :: PutBucketTagging)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketTagging_expectedBucketOwner :: Lens.Lens' PutBucketTagging (Prelude.Maybe Prelude.Text)+putBucketTagging_expectedBucketOwner = Lens.lens (\PutBucketTagging' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketTagging' {} a -> s {expectedBucketOwner = a} :: PutBucketTagging)++-- | The bucket name.+putBucketTagging_bucket :: Lens.Lens' PutBucketTagging BucketName+putBucketTagging_bucket = Lens.lens (\PutBucketTagging' {bucket} -> bucket) (\s@PutBucketTagging' {} a -> s {bucket = a} :: PutBucketTagging)++-- | Container for the @TagSet@ and @Tag@ elements.+putBucketTagging_tagging :: Lens.Lens' PutBucketTagging Tagging+putBucketTagging_tagging = Lens.lens (\PutBucketTagging' {tagging} -> tagging) (\s@PutBucketTagging' {} a -> s {tagging = a} :: PutBucketTagging)++instance Core.AWSRequest PutBucketTagging where+  type+    AWSResponse PutBucketTagging =+      PutBucketTaggingResponse+  request overrides =+    Request.contentMD5Header+      Prelude.. Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketTaggingResponse'++instance Prelude.Hashable PutBucketTagging where+  hashWithSalt _salt PutBucketTagging' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` tagging++instance Prelude.NFData PutBucketTagging where+  rnf PutBucketTagging' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf tagging++instance Data.ToElement PutBucketTagging where+  toElement PutBucketTagging' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}Tagging"+      tagging++instance Data.ToHeaders PutBucketTagging where+  toHeaders PutBucketTagging' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketTagging where+  toPath PutBucketTagging' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketTagging where+  toQuery = Prelude.const (Prelude.mconcat ["tagging"])++-- | /See:/ 'newPutBucketTaggingResponse' smart constructor.+data PutBucketTaggingResponse = PutBucketTaggingResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketTaggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketTaggingResponse ::+  PutBucketTaggingResponse+newPutBucketTaggingResponse =+  PutBucketTaggingResponse'++instance Prelude.NFData PutBucketTaggingResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketVersioning.hs view
@@ -0,0 +1,296 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketVersioning+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the versioning state of an existing bucket.+--+-- You can set the versioning state with one of the following values:+--+-- __Enabled__—Enables versioning for the objects in the bucket. All+-- objects added to the bucket receive a unique version ID.+--+-- __Suspended__—Disables versioning for the objects in the bucket. All+-- objects added to the bucket receive the version ID null.+--+-- If the versioning state has never been set on a bucket, it has no+-- versioning state; a+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html GetBucketVersioning>+-- request does not return a versioning state value.+--+-- In order to enable MFA Delete, you must be the bucket owner. If you are+-- the bucket owner and want to enable MFA Delete in the bucket versioning+-- configuration, you must include the @x-amz-mfa request@ header and the+-- @Status@ and the @MfaDelete@ request elements in a request to set the+-- versioning state of the bucket.+--+-- If you have an object expiration lifecycle policy in your non-versioned+-- bucket and you want to maintain the same permanent delete behavior when+-- you enable versioning, you must add a noncurrent expiration policy. The+-- noncurrent expiration lifecycle policy will manage the deletes of the+-- noncurrent object versions in the version-enabled bucket. (A+-- version-enabled bucket maintains one current and zero or more noncurrent+-- object versions.) For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-and-other-bucket-config Lifecycle and Versioning>.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html CreateBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html DeleteBucket>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html GetBucketVersioning>+module Amazonka.S3.PutBucketVersioning+  ( -- * Creating a Request+    PutBucketVersioning (..),+    newPutBucketVersioning,++    -- * Request Lenses+    putBucketVersioning_checksumAlgorithm,+    putBucketVersioning_contentMD5,+    putBucketVersioning_expectedBucketOwner,+    putBucketVersioning_mfa,+    putBucketVersioning_bucket,+    putBucketVersioning_versioningConfiguration,++    -- * Destructuring the Response+    PutBucketVersioningResponse (..),+    newPutBucketVersioningResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketVersioning' smart constructor.+data PutBucketVersioning = PutBucketVersioning'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | >The base64-encoded 128-bit MD5 digest of the data. You must use this+    -- header as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, see+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The concatenation of the authentication device\'s serial number, a+    -- space, and the value that is displayed on your authentication device.+    mfa :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    bucket :: BucketName,+    -- | Container for setting the versioning state.+    versioningConfiguration :: VersioningConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketVersioning' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketVersioning_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketVersioning_contentMD5' - >The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketVersioning_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'mfa', 'putBucketVersioning_mfa' - The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+--+-- 'bucket', 'putBucketVersioning_bucket' - The bucket name.+--+-- 'versioningConfiguration', 'putBucketVersioning_versioningConfiguration' - Container for setting the versioning state.+newPutBucketVersioning ::+  -- | 'bucket'+  BucketName ->+  -- | 'versioningConfiguration'+  VersioningConfiguration ->+  PutBucketVersioning+newPutBucketVersioning+  pBucket_+  pVersioningConfiguration_ =+    PutBucketVersioning'+      { checksumAlgorithm =+          Prelude.Nothing,+        contentMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        mfa = Prelude.Nothing,+        bucket = pBucket_,+        versioningConfiguration = pVersioningConfiguration_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketVersioning_checksumAlgorithm :: Lens.Lens' PutBucketVersioning (Prelude.Maybe ChecksumAlgorithm)+putBucketVersioning_checksumAlgorithm = Lens.lens (\PutBucketVersioning' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketVersioning' {} a -> s {checksumAlgorithm = a} :: PutBucketVersioning)++-- | >The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketVersioning_contentMD5 :: Lens.Lens' PutBucketVersioning (Prelude.Maybe Prelude.Text)+putBucketVersioning_contentMD5 = Lens.lens (\PutBucketVersioning' {contentMD5} -> contentMD5) (\s@PutBucketVersioning' {} a -> s {contentMD5 = a} :: PutBucketVersioning)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketVersioning_expectedBucketOwner :: Lens.Lens' PutBucketVersioning (Prelude.Maybe Prelude.Text)+putBucketVersioning_expectedBucketOwner = Lens.lens (\PutBucketVersioning' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketVersioning' {} a -> s {expectedBucketOwner = a} :: PutBucketVersioning)++-- | The concatenation of the authentication device\'s serial number, a+-- space, and the value that is displayed on your authentication device.+putBucketVersioning_mfa :: Lens.Lens' PutBucketVersioning (Prelude.Maybe Prelude.Text)+putBucketVersioning_mfa = Lens.lens (\PutBucketVersioning' {mfa} -> mfa) (\s@PutBucketVersioning' {} a -> s {mfa = a} :: PutBucketVersioning)++-- | The bucket name.+putBucketVersioning_bucket :: Lens.Lens' PutBucketVersioning BucketName+putBucketVersioning_bucket = Lens.lens (\PutBucketVersioning' {bucket} -> bucket) (\s@PutBucketVersioning' {} a -> s {bucket = a} :: PutBucketVersioning)++-- | Container for setting the versioning state.+putBucketVersioning_versioningConfiguration :: Lens.Lens' PutBucketVersioning VersioningConfiguration+putBucketVersioning_versioningConfiguration = Lens.lens (\PutBucketVersioning' {versioningConfiguration} -> versioningConfiguration) (\s@PutBucketVersioning' {} a -> s {versioningConfiguration = a} :: PutBucketVersioning)++instance Core.AWSRequest PutBucketVersioning where+  type+    AWSResponse PutBucketVersioning =+      PutBucketVersioningResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketVersioningResponse'++instance Prelude.Hashable PutBucketVersioning where+  hashWithSalt _salt PutBucketVersioning' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` mfa+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` versioningConfiguration++instance Prelude.NFData PutBucketVersioning where+  rnf PutBucketVersioning' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf mfa+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf versioningConfiguration++instance Data.ToElement PutBucketVersioning where+  toElement PutBucketVersioning' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}VersioningConfiguration"+      versioningConfiguration++instance Data.ToHeaders PutBucketVersioning where+  toHeaders PutBucketVersioning' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-mfa" Data.=# mfa+      ]++instance Data.ToPath PutBucketVersioning where+  toPath PutBucketVersioning' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketVersioning where+  toQuery =+    Prelude.const (Prelude.mconcat ["versioning"])++-- | /See:/ 'newPutBucketVersioningResponse' smart constructor.+data PutBucketVersioningResponse = PutBucketVersioningResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketVersioningResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketVersioningResponse ::+  PutBucketVersioningResponse+newPutBucketVersioningResponse =+  PutBucketVersioningResponse'++instance Prelude.NFData PutBucketVersioningResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutBucketWebsite.hs view
@@ -0,0 +1,309 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutBucketWebsite+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the configuration of the website that is specified in the @website@+-- subresource. To configure a bucket as a website, you can add this+-- subresource on the bucket with website configuration information such as+-- the file name of the index document and any redirect rules. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting Websites on Amazon S3>.+--+-- This PUT action requires the @S3:PutBucketWebsite@ permission. By+-- default, only the bucket owner can configure the website attached to a+-- bucket; however, bucket owners can allow other users to set the website+-- configuration by writing a bucket policy that grants them the+-- @S3:PutBucketWebsite@ permission.+--+-- To redirect all website requests sent to the bucket\'s website endpoint,+-- you add a website configuration with the following elements. Because all+-- requests are sent to another website, you don\'t need to provide index+-- document name for the bucket.+--+-- -   @WebsiteConfiguration@+--+-- -   @RedirectAllRequestsTo@+--+-- -   @HostName@+--+-- -   @Protocol@+--+-- If you want granular control over redirects, you can use the following+-- elements to add routing rules that describe conditions for redirecting+-- requests and information about the redirect destination. In this case,+-- the website configuration must provide an index document for the bucket,+-- because some requests might not be redirected.+--+-- -   @WebsiteConfiguration@+--+-- -   @IndexDocument@+--+-- -   @Suffix@+--+-- -   @ErrorDocument@+--+-- -   @Key@+--+-- -   @RoutingRules@+--+-- -   @RoutingRule@+--+-- -   @Condition@+--+-- -   @HttpErrorCodeReturnedEquals@+--+-- -   @KeyPrefixEquals@+--+-- -   @Redirect@+--+-- -   @Protocol@+--+-- -   @HostName@+--+-- -   @ReplaceKeyPrefixWith@+--+-- -   @ReplaceKeyWith@+--+-- -   @HttpRedirectCode@+--+-- Amazon S3 has a limitation of 50 routing rules per website+-- configuration. If you require more than 50 routing rules, you can use+-- object redirect. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html Configuring an Object Redirect>+-- in the /Amazon S3 User Guide/.+module Amazonka.S3.PutBucketWebsite+  ( -- * Creating a Request+    PutBucketWebsite (..),+    newPutBucketWebsite,++    -- * Request Lenses+    putBucketWebsite_checksumAlgorithm,+    putBucketWebsite_contentMD5,+    putBucketWebsite_expectedBucketOwner,+    putBucketWebsite_bucket,+    putBucketWebsite_websiteConfiguration,++    -- * Destructuring the Response+    PutBucketWebsiteResponse (..),+    newPutBucketWebsiteResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutBucketWebsite' smart constructor.+data PutBucketWebsite = PutBucketWebsite'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. You must use this+    -- header as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, see+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    bucket :: BucketName,+    -- | Container for the request.+    websiteConfiguration :: WebsiteConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketWebsite' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putBucketWebsite_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putBucketWebsite_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putBucketWebsite_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putBucketWebsite_bucket' - The bucket name.+--+-- 'websiteConfiguration', 'putBucketWebsite_websiteConfiguration' - Container for the request.+newPutBucketWebsite ::+  -- | 'bucket'+  BucketName ->+  -- | 'websiteConfiguration'+  WebsiteConfiguration ->+  PutBucketWebsite+newPutBucketWebsite pBucket_ pWebsiteConfiguration_ =+  PutBucketWebsite'+    { checksumAlgorithm =+        Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      bucket = pBucket_,+      websiteConfiguration = pWebsiteConfiguration_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putBucketWebsite_checksumAlgorithm :: Lens.Lens' PutBucketWebsite (Prelude.Maybe ChecksumAlgorithm)+putBucketWebsite_checksumAlgorithm = Lens.lens (\PutBucketWebsite' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutBucketWebsite' {} a -> s {checksumAlgorithm = a} :: PutBucketWebsite)++-- | The base64-encoded 128-bit MD5 digest of the data. You must use this+-- header as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, see+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864>.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putBucketWebsite_contentMD5 :: Lens.Lens' PutBucketWebsite (Prelude.Maybe Prelude.Text)+putBucketWebsite_contentMD5 = Lens.lens (\PutBucketWebsite' {contentMD5} -> contentMD5) (\s@PutBucketWebsite' {} a -> s {contentMD5 = a} :: PutBucketWebsite)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putBucketWebsite_expectedBucketOwner :: Lens.Lens' PutBucketWebsite (Prelude.Maybe Prelude.Text)+putBucketWebsite_expectedBucketOwner = Lens.lens (\PutBucketWebsite' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutBucketWebsite' {} a -> s {expectedBucketOwner = a} :: PutBucketWebsite)++-- | The bucket name.+putBucketWebsite_bucket :: Lens.Lens' PutBucketWebsite BucketName+putBucketWebsite_bucket = Lens.lens (\PutBucketWebsite' {bucket} -> bucket) (\s@PutBucketWebsite' {} a -> s {bucket = a} :: PutBucketWebsite)++-- | Container for the request.+putBucketWebsite_websiteConfiguration :: Lens.Lens' PutBucketWebsite WebsiteConfiguration+putBucketWebsite_websiteConfiguration = Lens.lens (\PutBucketWebsite' {websiteConfiguration} -> websiteConfiguration) (\s@PutBucketWebsite' {} a -> s {websiteConfiguration = a} :: PutBucketWebsite)++instance Core.AWSRequest PutBucketWebsite where+  type+    AWSResponse PutBucketWebsite =+      PutBucketWebsiteResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutBucketWebsiteResponse'++instance Prelude.Hashable PutBucketWebsite where+  hashWithSalt _salt PutBucketWebsite' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` websiteConfiguration++instance Prelude.NFData PutBucketWebsite where+  rnf PutBucketWebsite' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf websiteConfiguration++instance Data.ToElement PutBucketWebsite where+  toElement PutBucketWebsite' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}WebsiteConfiguration"+      websiteConfiguration++instance Data.ToHeaders PutBucketWebsite where+  toHeaders PutBucketWebsite' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutBucketWebsite where+  toPath PutBucketWebsite' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutBucketWebsite where+  toQuery = Prelude.const (Prelude.mconcat ["website"])++-- | /See:/ 'newPutBucketWebsiteResponse' smart constructor.+data PutBucketWebsiteResponse = PutBucketWebsiteResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutBucketWebsiteResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutBucketWebsiteResponse ::+  PutBucketWebsiteResponse+newPutBucketWebsiteResponse =+  PutBucketWebsiteResponse'++instance Prelude.NFData PutBucketWebsiteResponse where+  rnf _ = ()
+ gen/Amazonka/S3/PutObject.hs view
@@ -0,0 +1,1342 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Adds an object to a bucket. You must have WRITE permissions on a bucket+-- to add an object to it.+--+-- Amazon S3 never adds partial objects; if you receive a success response,+-- Amazon S3 added the entire object to the bucket.+--+-- Amazon S3 is a distributed system. If it receives multiple write+-- requests for the same object simultaneously, it overwrites all but the+-- last object written. Amazon S3 does not provide object locking; if you+-- need this, make sure to build it into your application layer or use+-- versioning instead.+--+-- To ensure that data is not corrupted traversing the network, use the+-- @Content-MD5@ header. When you use this header, Amazon S3 checks the+-- object against the provided MD5 value and, if they do not match, returns+-- an error. Additionally, you can calculate the MD5 while putting an+-- object to Amazon S3 and compare the returned ETag to the calculated MD5+-- value.+--+-- -   To successfully complete the @PutObject@ request, you must have the+--     @s3:PutObject@ in your IAM permissions.+--+-- -   To successfully change the objects acl of your @PutObject@ request,+--     you must have the @s3:PutObjectAcl@ in your IAM permissions.+--+-- -   The @Content-MD5@ header is required for any request to upload an+--     object with a retention period configured using Amazon S3 Object+--     Lock. For more information about Amazon S3 Object Lock, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html Amazon S3 Object Lock Overview>+--     in the /Amazon S3 User Guide/.+--+-- __Server-side Encryption__+--+-- You can optionally request server-side encryption. With server-side+-- encryption, Amazon S3 encrypts your data as it writes it to disks in its+-- data centers and decrypts the data when you access it. You have the+-- option to provide your own encryption key or use Amazon Web Services+-- managed encryption keys (SSE-S3 or SSE-KMS). For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html Using Server-Side Encryption>.+--+-- If you request server-side encryption using Amazon Web Services Key+-- Management Service (SSE-KMS), you can enable an S3 Bucket Key at the+-- object-level. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html Amazon S3 Bucket Keys>+-- in the /Amazon S3 User Guide/.+--+-- __Access Control List (ACL)-Specific Request Headers__+--+-- You can use headers to grant ACL- based permissions. By default, all+-- objects are private. Only the owner has full access control. When adding+-- a new object, you can grant permissions to individual Amazon Web+-- Services accounts or to predefined groups defined by Amazon S3. These+-- permissions are then added to the ACL on the object. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html Managing ACLs Using the REST API>.+--+-- If the bucket that you\'re uploading objects to uses the bucket owner+-- enforced setting for S3 Object Ownership, ACLs are disabled and no+-- longer affect permissions. Buckets that use this setting only accept PUT+-- requests that don\'t specify an ACL or PUT requests that specify bucket+-- owner full control ACLs, such as the @bucket-owner-full-control@ canned+-- ACL or an equivalent form of this ACL expressed in the XML format. PUT+-- requests that contain other ACLs (for example, custom grants to certain+-- Amazon Web Services accounts) fail and return a @400@ error with the+-- error code @AccessControlListNotSupported@.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling ownership of objects and disabling ACLs>+-- in the /Amazon S3 User Guide/.+--+-- If your bucket uses the bucket owner enforced setting for Object+-- Ownership, all objects written to the bucket by any account will be+-- owned by the bucket owner.+--+-- __Storage Class Options__+--+-- By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+--+-- __Versioning__+--+-- If you enable versioning for a bucket, Amazon S3 automatically generates+-- a unique version ID for the object being stored. Amazon S3 returns this+-- ID in the response. When you enable versioning for a bucket, if Amazon+-- S3 receives multiple write requests for the same object simultaneously,+-- it stores all of the objects.+--+-- For more information about versioning, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html Adding Objects to Versioning Enabled Buckets>.+-- For information about returning the versioning state of a bucket, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html GetBucketVersioning>.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html CopyObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html DeleteObject>+module Amazonka.S3.PutObject+  ( -- * Creating a Request+    PutObject (..),+    newPutObject,++    -- * Request Lenses+    putObject_acl,+    putObject_bucketKeyEnabled,+    putObject_cacheControl,+    putObject_checksumAlgorithm,+    putObject_checksumCRC32,+    putObject_checksumCRC32C,+    putObject_checksumSHA1,+    putObject_checksumSHA256,+    putObject_contentDisposition,+    putObject_contentEncoding,+    putObject_contentLanguage,+    putObject_contentLength,+    putObject_contentMD5,+    putObject_contentType,+    putObject_expectedBucketOwner,+    putObject_expires,+    putObject_grantFullControl,+    putObject_grantRead,+    putObject_grantReadACP,+    putObject_grantWriteACP,+    putObject_metadata,+    putObject_objectLockLegalHoldStatus,+    putObject_objectLockMode,+    putObject_objectLockRetainUntilDate,+    putObject_requestPayer,+    putObject_sSECustomerAlgorithm,+    putObject_sSECustomerKey,+    putObject_sSECustomerKeyMD5,+    putObject_sSEKMSEncryptionContext,+    putObject_sSEKMSKeyId,+    putObject_serverSideEncryption,+    putObject_storageClass,+    putObject_tagging,+    putObject_websiteRedirectLocation,+    putObject_bucket,+    putObject_key,+    putObject_body,++    -- * Destructuring the Response+    PutObjectResponse (..),+    newPutObjectResponse,++    -- * Response Lenses+    putObjectResponse_bucketKeyEnabled,+    putObjectResponse_checksumCRC32,+    putObjectResponse_checksumCRC32C,+    putObjectResponse_checksumSHA1,+    putObjectResponse_checksumSHA256,+    putObjectResponse_eTag,+    putObjectResponse_expiration,+    putObjectResponse_requestCharged,+    putObjectResponse_sSECustomerAlgorithm,+    putObjectResponse_sSECustomerKeyMD5,+    putObjectResponse_sSEKMSEncryptionContext,+    putObjectResponse_sSEKMSKeyId,+    putObjectResponse_serverSideEncryption,+    putObjectResponse_versionId,+    putObjectResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutObject' smart constructor.+data PutObject = PutObject'+  { -- | The canned ACL to apply to the object. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    acl :: Prelude.Maybe ObjectCannedACL,+    -- | Specifies whether Amazon S3 should use an S3 Bucket Key for object+    -- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+    -- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+    -- object encryption with SSE-KMS.+    --+    -- Specifying this header with a PUT action doesn’t affect bucket-level+    -- settings for S3 Bucket Key.+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Can be used to specify caching behavior along the request\/reply chain.+    -- For more information, see+    -- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9>.+    cacheControl :: Prelude.Maybe Prelude.Text,+    -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Specifies presentational information for the object. For more+    -- information, see+    -- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1>.+    contentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Specifies what content encodings have been applied to the object and+    -- thus what decoding mechanisms must be applied to obtain the media-type+    -- referenced by the Content-Type header field. For more information, see+    -- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11>.+    contentEncoding :: Prelude.Maybe Prelude.Text,+    -- | The language the content is in.+    contentLanguage :: Prelude.Maybe Prelude.Text,+    -- | Size of the body in bytes. This parameter is useful when the size of the+    -- body cannot be determined automatically. For more information, see+    -- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13>.+    contentLength :: Prelude.Maybe Prelude.Integer,+    -- | The base64-encoded 128-bit MD5 digest of the message (without the+    -- headers) according to RFC 1864. This header can be used as a message+    -- integrity check to verify that the data is the same data that was+    -- originally sent. Although it is optional, we recommend using the+    -- Content-MD5 mechanism as an end-to-end integrity check. For more+    -- information about REST request authentication, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | A standard MIME type describing the format of the contents. For more+    -- information, see+    -- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17>.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The date and time at which the object is no longer cacheable. For more+    -- information, see+    -- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21>.+    expires :: Prelude.Maybe Data.RFC822,+    -- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+    -- object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantFullControl :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the object data and its metadata.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantRead :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the object ACL.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantReadACP :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to write the ACL for the applicable object.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantWriteACP :: Prelude.Maybe Prelude.Text,+    -- | A map of metadata to store with the object in S3.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | Specifies whether a legal hold will be applied to this object. For more+    -- information about S3 Object Lock, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+    objectLockLegalHoldStatus :: Prelude.Maybe ObjectLockLegalHoldStatus,+    -- | The Object Lock mode that you want to apply to this object.+    objectLockMode :: Prelude.Maybe ObjectLockMode,+    -- | The date and time when you want this object\'s Object Lock to expire.+    -- Must be formatted as a timestamp parameter.+    objectLockRetainUntilDate :: Prelude.Maybe Data.ISO8601,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use to when encrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | Specifies the Amazon Web Services KMS Encryption Context to use for+    -- object encryption. The value of this header is a base64-encoded UTF-8+    -- string holding JSON with the encryption context key-value pairs.+    sSEKMSEncryptionContext :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If @x-amz-server-side-encryption@ is present and has the value of+    -- @aws:kms@, this header specifies the ID of the Amazon Web Services Key+    -- Management Service (Amazon Web Services KMS) symmetrical customer+    -- managed key that was used for the object. If you specify+    -- @x-amz-server-side-encryption:aws:kms@, but do not+    -- provide@ x-amz-server-side-encryption-aws-kms-key-id@, Amazon S3 uses+    -- the Amazon Web Services managed key to protect the data. If the KMS key+    -- does not exist in the same account issuing the command, you must use the+    -- full ARN and not just the ID.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | By default, Amazon S3 uses the STANDARD Storage Class to store newly+    -- created objects. The STANDARD storage class provides high durability and+    -- high availability. Depending on performance needs, you can specify a+    -- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+    -- Storage Class. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+    -- in the /Amazon S3 User Guide/.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The tag-set for the object. The tag-set must be encoded as URL Query+    -- parameters. (For example, \"Key1=Value1\")+    tagging :: Prelude.Maybe Prelude.Text,+    -- | If the bucket is configured as a website, redirects requests for this+    -- object to another object in the same bucket or to an external URL.+    -- Amazon S3 stores the value of this header in the object metadata. For+    -- information about object metadata, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html Object Key and Metadata>.+    --+    -- In the following example, the request header sets the redirect to an+    -- object (anotherPage.html) in the same bucket:+    --+    -- @x-amz-website-redirect-location: \/anotherPage.html@+    --+    -- In the following example, the request header sets the object redirect to+    -- another website:+    --+    -- @x-amz-website-redirect-location: http:\/\/www.example.com\/@+    --+    -- For more information about website hosting in Amazon S3, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting Websites on Amazon S3>+    -- and+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html How to Configure Website Page Redirects>.+    websiteRedirectLocation :: Prelude.Maybe Prelude.Text,+    -- | The bucket name to which the PUT action was initiated.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which the PUT action was initiated.+    key :: ObjectKey,+    -- | Object data.+    body :: Data.RequestBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acl', 'putObject_acl' - The canned ACL to apply to the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'bucketKeyEnabled', 'putObject_bucketKeyEnabled' - Specifies whether Amazon S3 should use an S3 Bucket Key for object+-- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+-- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+-- object encryption with SSE-KMS.+--+-- Specifying this header with a PUT action doesn’t affect bucket-level+-- settings for S3 Bucket Key.+--+-- 'cacheControl', 'putObject_cacheControl' - Can be used to specify caching behavior along the request\/reply chain.+-- For more information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9>.+--+-- 'checksumAlgorithm', 'putObject_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'checksumCRC32', 'putObject_checksumCRC32' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'putObject_checksumCRC32C' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'putObject_checksumSHA1' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'putObject_checksumSHA256' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'contentDisposition', 'putObject_contentDisposition' - Specifies presentational information for the object. For more+-- information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1>.+--+-- 'contentEncoding', 'putObject_contentEncoding' - Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field. For more information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11>.+--+-- 'contentLanguage', 'putObject_contentLanguage' - The language the content is in.+--+-- 'contentLength', 'putObject_contentLength' - Size of the body in bytes. This parameter is useful when the size of the+-- body cannot be determined automatically. For more information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13>.+--+-- 'contentMD5', 'putObject_contentMD5' - The base64-encoded 128-bit MD5 digest of the message (without the+-- headers) according to RFC 1864. This header can be used as a message+-- integrity check to verify that the data is the same data that was+-- originally sent. Although it is optional, we recommend using the+-- Content-MD5 mechanism as an end-to-end integrity check. For more+-- information about REST request authentication, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>.+--+-- 'contentType', 'putObject_contentType' - A standard MIME type describing the format of the contents. For more+-- information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17>.+--+-- 'expectedBucketOwner', 'putObject_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'expires', 'putObject_expires' - The date and time at which the object is no longer cacheable. For more+-- information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21>.+--+-- 'grantFullControl', 'putObject_grantFullControl' - Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantRead', 'putObject_grantRead' - Allows grantee to read the object data and its metadata.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantReadACP', 'putObject_grantReadACP' - Allows grantee to read the object ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantWriteACP', 'putObject_grantWriteACP' - Allows grantee to write the ACL for the applicable object.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'metadata', 'putObject_metadata' - A map of metadata to store with the object in S3.+--+-- 'objectLockLegalHoldStatus', 'putObject_objectLockLegalHoldStatus' - Specifies whether a legal hold will be applied to this object. For more+-- information about S3 Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+--+-- 'objectLockMode', 'putObject_objectLockMode' - The Object Lock mode that you want to apply to this object.+--+-- 'objectLockRetainUntilDate', 'putObject_objectLockRetainUntilDate' - The date and time when you want this object\'s Object Lock to expire.+-- Must be formatted as a timestamp parameter.+--+-- 'requestPayer', 'putObject_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'putObject_sSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'putObject_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+--+-- 'sSECustomerKeyMD5', 'putObject_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'sSEKMSEncryptionContext', 'putObject_sSEKMSEncryptionContext' - Specifies the Amazon Web Services KMS Encryption Context to use for+-- object encryption. The value of this header is a base64-encoded UTF-8+-- string holding JSON with the encryption context key-value pairs.+--+-- 'sSEKMSKeyId', 'putObject_sSEKMSKeyId' - If @x-amz-server-side-encryption@ is present and has the value of+-- @aws:kms@, this header specifies the ID of the Amazon Web Services Key+-- Management Service (Amazon Web Services KMS) symmetrical customer+-- managed key that was used for the object. If you specify+-- @x-amz-server-side-encryption:aws:kms@, but do not+-- provide@ x-amz-server-side-encryption-aws-kms-key-id@, Amazon S3 uses+-- the Amazon Web Services managed key to protect the data. If the KMS key+-- does not exist in the same account issuing the command, you must use the+-- full ARN and not just the ID.+--+-- 'serverSideEncryption', 'putObject_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'storageClass', 'putObject_storageClass' - By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+--+-- 'tagging', 'putObject_tagging' - The tag-set for the object. The tag-set must be encoded as URL Query+-- parameters. (For example, \"Key1=Value1\")+--+-- 'websiteRedirectLocation', 'putObject_websiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata. For+-- information about object metadata, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html Object Key and Metadata>.+--+-- In the following example, the request header sets the redirect to an+-- object (anotherPage.html) in the same bucket:+--+-- @x-amz-website-redirect-location: \/anotherPage.html@+--+-- In the following example, the request header sets the object redirect to+-- another website:+--+-- @x-amz-website-redirect-location: http:\/\/www.example.com\/@+--+-- For more information about website hosting in Amazon S3, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting Websites on Amazon S3>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html How to Configure Website Page Redirects>.+--+-- 'bucket', 'putObject_bucket' - The bucket name to which the PUT action was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'putObject_key' - Object key for which the PUT action was initiated.+--+-- 'body', 'putObject_body' - Object data.+newPutObject ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'body'+  Data.RequestBody ->+  PutObject+newPutObject pBucket_ pKey_ pBody_ =+  PutObject'+    { acl = Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing,+      cacheControl = Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      contentDisposition = Prelude.Nothing,+      contentEncoding = Prelude.Nothing,+      contentLanguage = Prelude.Nothing,+      contentLength = Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      contentType = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      expires = Prelude.Nothing,+      grantFullControl = Prelude.Nothing,+      grantRead = Prelude.Nothing,+      grantReadACP = Prelude.Nothing,+      grantWriteACP = Prelude.Nothing,+      metadata = Prelude.mempty,+      objectLockLegalHoldStatus = Prelude.Nothing,+      objectLockMode = Prelude.Nothing,+      objectLockRetainUntilDate = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKey = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSEncryptionContext = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      tagging = Prelude.Nothing,+      websiteRedirectLocation = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_,+      body = pBody_+    }++-- | The canned ACL to apply to the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+-- This action is not supported by Amazon S3 on Outposts.+putObject_acl :: Lens.Lens' PutObject (Prelude.Maybe ObjectCannedACL)+putObject_acl = Lens.lens (\PutObject' {acl} -> acl) (\s@PutObject' {} a -> s {acl = a} :: PutObject)++-- | Specifies whether Amazon S3 should use an S3 Bucket Key for object+-- encryption with server-side encryption using AWS KMS (SSE-KMS). Setting+-- this header to @true@ causes Amazon S3 to use an S3 Bucket Key for+-- object encryption with SSE-KMS.+--+-- Specifying this header with a PUT action doesn’t affect bucket-level+-- settings for S3 Bucket Key.+putObject_bucketKeyEnabled :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Bool)+putObject_bucketKeyEnabled = Lens.lens (\PutObject' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@PutObject' {} a -> s {bucketKeyEnabled = a} :: PutObject)++-- | Can be used to specify caching behavior along the request\/reply chain.+-- For more information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9>.+putObject_cacheControl :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_cacheControl = Lens.lens (\PutObject' {cacheControl} -> cacheControl) (\s@PutObject' {} a -> s {cacheControl = a} :: PutObject)++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putObject_checksumAlgorithm :: Lens.Lens' PutObject (Prelude.Maybe ChecksumAlgorithm)+putObject_checksumAlgorithm = Lens.lens (\PutObject' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutObject' {} a -> s {checksumAlgorithm = a} :: PutObject)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObject_checksumCRC32 :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_checksumCRC32 = Lens.lens (\PutObject' {checksumCRC32} -> checksumCRC32) (\s@PutObject' {} a -> s {checksumCRC32 = a} :: PutObject)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObject_checksumCRC32C :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_checksumCRC32C = Lens.lens (\PutObject' {checksumCRC32C} -> checksumCRC32C) (\s@PutObject' {} a -> s {checksumCRC32C = a} :: PutObject)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObject_checksumSHA1 :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_checksumSHA1 = Lens.lens (\PutObject' {checksumSHA1} -> checksumSHA1) (\s@PutObject' {} a -> s {checksumSHA1 = a} :: PutObject)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObject_checksumSHA256 :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_checksumSHA256 = Lens.lens (\PutObject' {checksumSHA256} -> checksumSHA256) (\s@PutObject' {} a -> s {checksumSHA256 = a} :: PutObject)++-- | Specifies presentational information for the object. For more+-- information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1>.+putObject_contentDisposition :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_contentDisposition = Lens.lens (\PutObject' {contentDisposition} -> contentDisposition) (\s@PutObject' {} a -> s {contentDisposition = a} :: PutObject)++-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field. For more information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11>.+putObject_contentEncoding :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_contentEncoding = Lens.lens (\PutObject' {contentEncoding} -> contentEncoding) (\s@PutObject' {} a -> s {contentEncoding = a} :: PutObject)++-- | The language the content is in.+putObject_contentLanguage :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_contentLanguage = Lens.lens (\PutObject' {contentLanguage} -> contentLanguage) (\s@PutObject' {} a -> s {contentLanguage = a} :: PutObject)++-- | Size of the body in bytes. This parameter is useful when the size of the+-- body cannot be determined automatically. For more information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13>.+putObject_contentLength :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Integer)+putObject_contentLength = Lens.lens (\PutObject' {contentLength} -> contentLength) (\s@PutObject' {} a -> s {contentLength = a} :: PutObject)++-- | The base64-encoded 128-bit MD5 digest of the message (without the+-- headers) according to RFC 1864. This header can be used as a message+-- integrity check to verify that the data is the same data that was+-- originally sent. Although it is optional, we recommend using the+-- Content-MD5 mechanism as an end-to-end integrity check. For more+-- information about REST request authentication, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>.+putObject_contentMD5 :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_contentMD5 = Lens.lens (\PutObject' {contentMD5} -> contentMD5) (\s@PutObject' {} a -> s {contentMD5 = a} :: PutObject)++-- | A standard MIME type describing the format of the contents. For more+-- information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17>.+putObject_contentType :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_contentType = Lens.lens (\PutObject' {contentType} -> contentType) (\s@PutObject' {} a -> s {contentType = a} :: PutObject)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putObject_expectedBucketOwner :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_expectedBucketOwner = Lens.lens (\PutObject' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutObject' {} a -> s {expectedBucketOwner = a} :: PutObject)++-- | The date and time at which the object is no longer cacheable. For more+-- information, see+-- <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21>.+putObject_expires :: Lens.Lens' PutObject (Prelude.Maybe Prelude.UTCTime)+putObject_expires = Lens.lens (\PutObject' {expires} -> expires) (\s@PutObject' {} a -> s {expires = a} :: PutObject) Prelude.. Lens.mapping Data._Time++-- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the+-- object.+--+-- This action is not supported by Amazon S3 on Outposts.+putObject_grantFullControl :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_grantFullControl = Lens.lens (\PutObject' {grantFullControl} -> grantFullControl) (\s@PutObject' {} a -> s {grantFullControl = a} :: PutObject)++-- | Allows grantee to read the object data and its metadata.+--+-- This action is not supported by Amazon S3 on Outposts.+putObject_grantRead :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_grantRead = Lens.lens (\PutObject' {grantRead} -> grantRead) (\s@PutObject' {} a -> s {grantRead = a} :: PutObject)++-- | Allows grantee to read the object ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+putObject_grantReadACP :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_grantReadACP = Lens.lens (\PutObject' {grantReadACP} -> grantReadACP) (\s@PutObject' {} a -> s {grantReadACP = a} :: PutObject)++-- | Allows grantee to write the ACL for the applicable object.+--+-- This action is not supported by Amazon S3 on Outposts.+putObject_grantWriteACP :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_grantWriteACP = Lens.lens (\PutObject' {grantWriteACP} -> grantWriteACP) (\s@PutObject' {} a -> s {grantWriteACP = a} :: PutObject)++-- | A map of metadata to store with the object in S3.+putObject_metadata :: Lens.Lens' PutObject (Prelude.HashMap Prelude.Text Prelude.Text)+putObject_metadata = Lens.lens (\PutObject' {metadata} -> metadata) (\s@PutObject' {} a -> s {metadata = a} :: PutObject) Prelude.. Lens.coerced++-- | Specifies whether a legal hold will be applied to this object. For more+-- information about S3 Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Object Lock>.+putObject_objectLockLegalHoldStatus :: Lens.Lens' PutObject (Prelude.Maybe ObjectLockLegalHoldStatus)+putObject_objectLockLegalHoldStatus = Lens.lens (\PutObject' {objectLockLegalHoldStatus} -> objectLockLegalHoldStatus) (\s@PutObject' {} a -> s {objectLockLegalHoldStatus = a} :: PutObject)++-- | The Object Lock mode that you want to apply to this object.+putObject_objectLockMode :: Lens.Lens' PutObject (Prelude.Maybe ObjectLockMode)+putObject_objectLockMode = Lens.lens (\PutObject' {objectLockMode} -> objectLockMode) (\s@PutObject' {} a -> s {objectLockMode = a} :: PutObject)++-- | The date and time when you want this object\'s Object Lock to expire.+-- Must be formatted as a timestamp parameter.+putObject_objectLockRetainUntilDate :: Lens.Lens' PutObject (Prelude.Maybe Prelude.UTCTime)+putObject_objectLockRetainUntilDate = Lens.lens (\PutObject' {objectLockRetainUntilDate} -> objectLockRetainUntilDate) (\s@PutObject' {} a -> s {objectLockRetainUntilDate = a} :: PutObject) Prelude.. Lens.mapping Data._Time++-- | Undocumented member.+putObject_requestPayer :: Lens.Lens' PutObject (Prelude.Maybe RequestPayer)+putObject_requestPayer = Lens.lens (\PutObject' {requestPayer} -> requestPayer) (\s@PutObject' {} a -> s {requestPayer = a} :: PutObject)++-- | Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+putObject_sSECustomerAlgorithm :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_sSECustomerAlgorithm = Lens.lens (\PutObject' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@PutObject' {} a -> s {sSECustomerAlgorithm = a} :: PutObject)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header.+putObject_sSECustomerKey :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_sSECustomerKey = Lens.lens (\PutObject' {sSECustomerKey} -> sSECustomerKey) (\s@PutObject' {} a -> s {sSECustomerKey = a} :: PutObject) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+putObject_sSECustomerKeyMD5 :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_sSECustomerKeyMD5 = Lens.lens (\PutObject' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@PutObject' {} a -> s {sSECustomerKeyMD5 = a} :: PutObject)++-- | Specifies the Amazon Web Services KMS Encryption Context to use for+-- object encryption. The value of this header is a base64-encoded UTF-8+-- string holding JSON with the encryption context key-value pairs.+putObject_sSEKMSEncryptionContext :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_sSEKMSEncryptionContext = Lens.lens (\PutObject' {sSEKMSEncryptionContext} -> sSEKMSEncryptionContext) (\s@PutObject' {} a -> s {sSEKMSEncryptionContext = a} :: PutObject) Prelude.. Lens.mapping Data._Sensitive++-- | If @x-amz-server-side-encryption@ is present and has the value of+-- @aws:kms@, this header specifies the ID of the Amazon Web Services Key+-- Management Service (Amazon Web Services KMS) symmetrical customer+-- managed key that was used for the object. If you specify+-- @x-amz-server-side-encryption:aws:kms@, but do not+-- provide@ x-amz-server-side-encryption-aws-kms-key-id@, Amazon S3 uses+-- the Amazon Web Services managed key to protect the data. If the KMS key+-- does not exist in the same account issuing the command, you must use the+-- full ARN and not just the ID.+putObject_sSEKMSKeyId :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_sSEKMSKeyId = Lens.lens (\PutObject' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@PutObject' {} a -> s {sSEKMSKeyId = a} :: PutObject) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+putObject_serverSideEncryption :: Lens.Lens' PutObject (Prelude.Maybe ServerSideEncryption)+putObject_serverSideEncryption = Lens.lens (\PutObject' {serverSideEncryption} -> serverSideEncryption) (\s@PutObject' {} a -> s {serverSideEncryption = a} :: PutObject)++-- | By default, Amazon S3 uses the STANDARD Storage Class to store newly+-- created objects. The STANDARD storage class provides high durability and+-- high availability. Depending on performance needs, you can specify a+-- different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS+-- Storage Class. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>+-- in the /Amazon S3 User Guide/.+putObject_storageClass :: Lens.Lens' PutObject (Prelude.Maybe StorageClass)+putObject_storageClass = Lens.lens (\PutObject' {storageClass} -> storageClass) (\s@PutObject' {} a -> s {storageClass = a} :: PutObject)++-- | The tag-set for the object. The tag-set must be encoded as URL Query+-- parameters. (For example, \"Key1=Value1\")+putObject_tagging :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_tagging = Lens.lens (\PutObject' {tagging} -> tagging) (\s@PutObject' {} a -> s {tagging = a} :: PutObject)++-- | If the bucket is configured as a website, redirects requests for this+-- object to another object in the same bucket or to an external URL.+-- Amazon S3 stores the value of this header in the object metadata. For+-- information about object metadata, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html Object Key and Metadata>.+--+-- In the following example, the request header sets the redirect to an+-- object (anotherPage.html) in the same bucket:+--+-- @x-amz-website-redirect-location: \/anotherPage.html@+--+-- In the following example, the request header sets the object redirect to+-- another website:+--+-- @x-amz-website-redirect-location: http:\/\/www.example.com\/@+--+-- For more information about website hosting in Amazon S3, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html Hosting Websites on Amazon S3>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html How to Configure Website Page Redirects>.+putObject_websiteRedirectLocation :: Lens.Lens' PutObject (Prelude.Maybe Prelude.Text)+putObject_websiteRedirectLocation = Lens.lens (\PutObject' {websiteRedirectLocation} -> websiteRedirectLocation) (\s@PutObject' {} a -> s {websiteRedirectLocation = a} :: PutObject)++-- | The bucket name to which the PUT action was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+putObject_bucket :: Lens.Lens' PutObject BucketName+putObject_bucket = Lens.lens (\PutObject' {bucket} -> bucket) (\s@PutObject' {} a -> s {bucket = a} :: PutObject)++-- | Object key for which the PUT action was initiated.+putObject_key :: Lens.Lens' PutObject ObjectKey+putObject_key = Lens.lens (\PutObject' {key} -> key) (\s@PutObject' {} a -> s {key = a} :: PutObject)++-- | Object data.+putObject_body :: Lens.Lens' PutObject Data.RequestBody+putObject_body = Lens.lens (\PutObject' {body} -> body) (\s@PutObject' {} a -> s {body = a} :: PutObject)++instance Core.AWSRequest PutObject where+  type AWSResponse PutObject = PutObjectResponse+  request overrides =+    Request.expectHeader+      Prelude.. Request.s3vhost+      Prelude.. Request.putBody (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutObjectResponse'+            Prelude.<$> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32")+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32c")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha1")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha256")+            Prelude.<*> (h Data..#? "ETag")+            Prelude.<*> (h Data..#? "x-amz-expiration")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption-context")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Data.ToBody PutObject where+  toBody PutObject' {..} = Data.toBody body++instance Data.ToHeaders PutObject where+  toHeaders PutObject' {..} =+    Prelude.mconcat+      [ "x-amz-acl" Data.=# acl,+        "x-amz-server-side-encryption-bucket-key-enabled"+          Data.=# bucketKeyEnabled,+        "Cache-Control" Data.=# cacheControl,+        "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-checksum-crc32" Data.=# checksumCRC32,+        "x-amz-checksum-crc32c" Data.=# checksumCRC32C,+        "x-amz-checksum-sha1" Data.=# checksumSHA1,+        "x-amz-checksum-sha256" Data.=# checksumSHA256,+        "Content-Disposition" Data.=# contentDisposition,+        "Content-Encoding" Data.=# contentEncoding,+        "Content-Language" Data.=# contentLanguage,+        "Content-Length" Data.=# contentLength,+        "Content-MD5" Data.=# contentMD5,+        "Content-Type" Data.=# contentType,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "Expires" Data.=# expires,+        "x-amz-grant-full-control" Data.=# grantFullControl,+        "x-amz-grant-read" Data.=# grantRead,+        "x-amz-grant-read-acp" Data.=# grantReadACP,+        "x-amz-grant-write-acp" Data.=# grantWriteACP,+        "x-amz-meta-" Data.=# metadata,+        "x-amz-object-lock-legal-hold"+          Data.=# objectLockLegalHoldStatus,+        "x-amz-object-lock-mode" Data.=# objectLockMode,+        "x-amz-object-lock-retain-until-date"+          Data.=# objectLockRetainUntilDate,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5,+        "x-amz-server-side-encryption-context"+          Data.=# sSEKMSEncryptionContext,+        "x-amz-server-side-encryption-aws-kms-key-id"+          Data.=# sSEKMSKeyId,+        "x-amz-server-side-encryption"+          Data.=# serverSideEncryption,+        "x-amz-storage-class" Data.=# storageClass,+        "x-amz-tagging" Data.=# tagging,+        "x-amz-website-redirect-location"+          Data.=# websiteRedirectLocation+      ]++instance Data.ToPath PutObject where+  toPath PutObject' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery PutObject where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newPutObjectResponse' smart constructor.+data PutObjectResponse = PutObjectResponse'+  { -- | Indicates whether the uploaded object uses an S3 Bucket Key for+    -- server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Entity tag for the uploaded object.+    eTag :: Prelude.Maybe ETag,+    -- | If the expiration is configured for the object (see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>),+    -- the response includes this header. It includes the @expiry-date@ and+    -- @rule-id@ key-value pairs that provide information about object+    -- expiration. The value of the @rule-id@ is URL-encoded.+    expiration :: Prelude.Maybe Prelude.Text,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the Amazon Web Services KMS Encryption Context to+    -- use for object encryption. The value of this header is a base64-encoded+    -- UTF-8 string holding JSON with the encryption context key-value pairs.+    sSEKMSEncryptionContext :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If @x-amz-server-side-encryption@ is present and has the value of+    -- @aws:kms@, this header specifies the ID of the Amazon Web Services Key+    -- Management Service (Amazon Web Services KMS) symmetric customer managed+    -- key that was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | If you specified server-side encryption either with an Amazon Web+    -- Services KMS key or Amazon S3-managed encryption key in your PUT+    -- request, the response includes this header. It confirms the encryption+    -- algorithm that Amazon S3 used to encrypt the object.+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | Version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketKeyEnabled', 'putObjectResponse_bucketKeyEnabled' - Indicates whether the uploaded object uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'checksumCRC32', 'putObjectResponse_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'putObjectResponse_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'putObjectResponse_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'putObjectResponse_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'eTag', 'putObjectResponse_eTag' - Entity tag for the uploaded object.+--+-- 'expiration', 'putObjectResponse_expiration' - If the expiration is configured for the object (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>),+-- the response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs that provide information about object+-- expiration. The value of the @rule-id@ is URL-encoded.+--+-- 'requestCharged', 'putObjectResponse_requestCharged' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'putObjectResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'putObjectResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSEncryptionContext', 'putObjectResponse_sSEKMSEncryptionContext' - If present, specifies the Amazon Web Services KMS Encryption Context to+-- use for object encryption. The value of this header is a base64-encoded+-- UTF-8 string holding JSON with the encryption context key-value pairs.+--+-- 'sSEKMSKeyId', 'putObjectResponse_sSEKMSKeyId' - If @x-amz-server-side-encryption@ is present and has the value of+-- @aws:kms@, this header specifies the ID of the Amazon Web Services Key+-- Management Service (Amazon Web Services KMS) symmetric customer managed+-- key that was used for the object.+--+-- 'serverSideEncryption', 'putObjectResponse_serverSideEncryption' - If you specified server-side encryption either with an Amazon Web+-- Services KMS key or Amazon S3-managed encryption key in your PUT+-- request, the response includes this header. It confirms the encryption+-- algorithm that Amazon S3 used to encrypt the object.+--+-- 'versionId', 'putObjectResponse_versionId' - Version of the object.+--+-- 'httpStatus', 'putObjectResponse_httpStatus' - The response's http status code.+newPutObjectResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutObjectResponse+newPutObjectResponse pHttpStatus_ =+  PutObjectResponse'+    { bucketKeyEnabled =+        Prelude.Nothing,+      checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      eTag = Prelude.Nothing,+      expiration = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSEncryptionContext = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      versionId = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates whether the uploaded object uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+putObjectResponse_bucketKeyEnabled :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Bool)+putObjectResponse_bucketKeyEnabled = Lens.lens (\PutObjectResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@PutObjectResponse' {} a -> s {bucketKeyEnabled = a} :: PutObjectResponse)++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObjectResponse_checksumCRC32 :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_checksumCRC32 = Lens.lens (\PutObjectResponse' {checksumCRC32} -> checksumCRC32) (\s@PutObjectResponse' {} a -> s {checksumCRC32 = a} :: PutObjectResponse)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObjectResponse_checksumCRC32C :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_checksumCRC32C = Lens.lens (\PutObjectResponse' {checksumCRC32C} -> checksumCRC32C) (\s@PutObjectResponse' {} a -> s {checksumCRC32C = a} :: PutObjectResponse)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObjectResponse_checksumSHA1 :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_checksumSHA1 = Lens.lens (\PutObjectResponse' {checksumSHA1} -> checksumSHA1) (\s@PutObjectResponse' {} a -> s {checksumSHA1 = a} :: PutObjectResponse)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+putObjectResponse_checksumSHA256 :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_checksumSHA256 = Lens.lens (\PutObjectResponse' {checksumSHA256} -> checksumSHA256) (\s@PutObjectResponse' {} a -> s {checksumSHA256 = a} :: PutObjectResponse)++-- | Entity tag for the uploaded object.+putObjectResponse_eTag :: Lens.Lens' PutObjectResponse (Prelude.Maybe ETag)+putObjectResponse_eTag = Lens.lens (\PutObjectResponse' {eTag} -> eTag) (\s@PutObjectResponse' {} a -> s {eTag = a} :: PutObjectResponse)++-- | If the expiration is configured for the object (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>),+-- the response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs that provide information about object+-- expiration. The value of the @rule-id@ is URL-encoded.+putObjectResponse_expiration :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_expiration = Lens.lens (\PutObjectResponse' {expiration} -> expiration) (\s@PutObjectResponse' {} a -> s {expiration = a} :: PutObjectResponse)++-- | Undocumented member.+putObjectResponse_requestCharged :: Lens.Lens' PutObjectResponse (Prelude.Maybe RequestCharged)+putObjectResponse_requestCharged = Lens.lens (\PutObjectResponse' {requestCharged} -> requestCharged) (\s@PutObjectResponse' {} a -> s {requestCharged = a} :: PutObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+putObjectResponse_sSECustomerAlgorithm :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_sSECustomerAlgorithm = Lens.lens (\PutObjectResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@PutObjectResponse' {} a -> s {sSECustomerAlgorithm = a} :: PutObjectResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+putObjectResponse_sSECustomerKeyMD5 :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_sSECustomerKeyMD5 = Lens.lens (\PutObjectResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@PutObjectResponse' {} a -> s {sSECustomerKeyMD5 = a} :: PutObjectResponse)++-- | If present, specifies the Amazon Web Services KMS Encryption Context to+-- use for object encryption. The value of this header is a base64-encoded+-- UTF-8 string holding JSON with the encryption context key-value pairs.+putObjectResponse_sSEKMSEncryptionContext :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_sSEKMSEncryptionContext = Lens.lens (\PutObjectResponse' {sSEKMSEncryptionContext} -> sSEKMSEncryptionContext) (\s@PutObjectResponse' {} a -> s {sSEKMSEncryptionContext = a} :: PutObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | If @x-amz-server-side-encryption@ is present and has the value of+-- @aws:kms@, this header specifies the ID of the Amazon Web Services Key+-- Management Service (Amazon Web Services KMS) symmetric customer managed+-- key that was used for the object.+putObjectResponse_sSEKMSKeyId :: Lens.Lens' PutObjectResponse (Prelude.Maybe Prelude.Text)+putObjectResponse_sSEKMSKeyId = Lens.lens (\PutObjectResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@PutObjectResponse' {} a -> s {sSEKMSKeyId = a} :: PutObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | If you specified server-side encryption either with an Amazon Web+-- Services KMS key or Amazon S3-managed encryption key in your PUT+-- request, the response includes this header. It confirms the encryption+-- algorithm that Amazon S3 used to encrypt the object.+putObjectResponse_serverSideEncryption :: Lens.Lens' PutObjectResponse (Prelude.Maybe ServerSideEncryption)+putObjectResponse_serverSideEncryption = Lens.lens (\PutObjectResponse' {serverSideEncryption} -> serverSideEncryption) (\s@PutObjectResponse' {} a -> s {serverSideEncryption = a} :: PutObjectResponse)++-- | Version of the object.+putObjectResponse_versionId :: Lens.Lens' PutObjectResponse (Prelude.Maybe ObjectVersionId)+putObjectResponse_versionId = Lens.lens (\PutObjectResponse' {versionId} -> versionId) (\s@PutObjectResponse' {} a -> s {versionId = a} :: PutObjectResponse)++-- | The response's http status code.+putObjectResponse_httpStatus :: Lens.Lens' PutObjectResponse Prelude.Int+putObjectResponse_httpStatus = Lens.lens (\PutObjectResponse' {httpStatus} -> httpStatus) (\s@PutObjectResponse' {} a -> s {httpStatus = a} :: PutObjectResponse)++instance Prelude.NFData PutObjectResponse where+  rnf PutObjectResponse' {..} =+    Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf sSEKMSEncryptionContext+      `Prelude.seq` Prelude.rnf sSEKMSKeyId+      `Prelude.seq` Prelude.rnf serverSideEncryption+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutObjectAcl.hs view
@@ -0,0 +1,665 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutObjectAcl+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uses the @acl@ subresource to set the access control list (ACL)+-- permissions for a new or existing object in an S3 bucket. You must have+-- @WRITE_ACP@ permission to set the ACL of an object. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions What permissions can I grant?>+-- in the /Amazon S3 User Guide/.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- Depending on your application needs, you can choose to set the ACL on an+-- object using either the request body or the headers. For example, if you+-- have an existing application that updates a bucket ACL using the request+-- body, you can continue to use that approach. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>+-- in the /Amazon S3 User Guide/.+--+-- If your bucket uses the bucket owner enforced setting for S3 Object+-- Ownership, ACLs are disabled and no longer affect permissions. You must+-- use policies to grant access to your bucket and the objects in it.+-- Requests to set ACLs or update ACLs fail and return the+-- @AccessControlListNotSupported@ error code. Requests to read ACLs are+-- still supported. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html Controlling object ownership>+-- in the /Amazon S3 User Guide/.+--+-- __Access Permissions__+--+-- You can set access permissions using one of the following methods:+--+-- -   Specify a canned ACL with the @x-amz-acl@ request header. Amazon S3+--     supports a set of predefined ACLs, known as canned ACLs. Each canned+--     ACL has a predefined set of grantees and permissions. Specify the+--     canned ACL name as the value of @x-amz-ac@l. If you use this header,+--     you cannot use other access control-specific headers in your+--     request. For more information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+-- -   Specify access permissions explicitly with the @x-amz-grant-read@,+--     @x-amz-grant-read-acp@, @x-amz-grant-write-acp@, and+--     @x-amz-grant-full-control@ headers. When using these headers, you+--     specify explicit access permissions and grantees (Amazon Web+--     Services accounts or Amazon S3 groups) who will receive the+--     permission. If you use these ACL-specific headers, you cannot use+--     @x-amz-acl@ header to set a canned ACL. These parameters map to the+--     set of permissions that Amazon S3 supports in an ACL. For more+--     information, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html Access Control List (ACL) Overview>.+--+--     You specify each grantee as a type=value pair, where the type is one+--     of the following:+--+--     -   @id@ – if the value specified is the canonical user ID of an+--         Amazon Web Services account+--+--     -   @uri@ – if you are granting permissions to a predefined group+--+--     -   @emailAddress@ – if the value specified is the email address of+--         an Amazon Web Services account+--+--         Using email addresses to specify a grantee is only supported in+--         the following Amazon Web Services Regions:+--+--         -   US East (N. Virginia)+--+--         -   US West (N. California)+--+--         -   US West (Oregon)+--+--         -   Asia Pacific (Singapore)+--+--         -   Asia Pacific (Sydney)+--+--         -   Asia Pacific (Tokyo)+--+--         -   Europe (Ireland)+--+--         -   South America (São Paulo)+--+--         For a list of all the Amazon S3 supported Regions and endpoints,+--         see+--         <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+--         in the Amazon Web Services General Reference.+--+--     For example, the following @x-amz-grant-read@ header grants list+--     objects permission to the two Amazon Web Services accounts+--     identified by their email addresses.+--+--     @x-amz-grant-read: emailAddress=\"xyz\@amazon.com\", emailAddress=\"abc\@amazon.com\" @+--+-- You can use either a canned ACL or specify access permissions+-- explicitly. You cannot do both.+--+-- __Grantee Values__+--+-- You can specify the person (grantee) to whom you\'re assigning access+-- rights (using request elements) in the following ways:+--+-- -   By the person\'s ID:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"CanonicalUser\">\<ID>\<>ID\<>\<\/ID>\<DisplayName>\<>GranteesEmail\<>\<\/DisplayName> \<\/Grantee>@+--+--     DisplayName is optional and ignored in the request.+--+-- -   By URI:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"Group\">\<URI>\<>http:\/\/acs.amazonaws.com\/groups\/global\/AuthenticatedUsers\<>\<\/URI>\<\/Grantee>@+--+-- -   By Email address:+--+--     @\<Grantee xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:type=\"AmazonCustomerByEmail\">\<EmailAddress>\<>Grantees\@email.com\<>\<\/EmailAddress>lt;\/Grantee>@+--+--     The grantee is resolved to the CanonicalUser and, in a response to a+--     GET Object acl request, appears as the CanonicalUser.+--+--     Using email addresses to specify a grantee is only supported in the+--     following Amazon Web Services Regions:+--+--     -   US East (N. Virginia)+--+--     -   US West (N. California)+--+--     -   US West (Oregon)+--+--     -   Asia Pacific (Singapore)+--+--     -   Asia Pacific (Sydney)+--+--     -   Asia Pacific (Tokyo)+--+--     -   Europe (Ireland)+--+--     -   South America (São Paulo)+--+--     For a list of all the Amazon S3 supported Regions and endpoints, see+--     <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+--     in the Amazon Web Services General Reference.+--+-- __Versioning__+--+-- The ACL of an object is set at the object version level. By default, PUT+-- sets the ACL of the current version of an object. To set the ACL of a+-- different version, use the @versionId@ subresource.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html CopyObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+module Amazonka.S3.PutObjectAcl+  ( -- * Creating a Request+    PutObjectAcl (..),+    newPutObjectAcl,++    -- * Request Lenses+    putObjectAcl_acl,+    putObjectAcl_accessControlPolicy,+    putObjectAcl_checksumAlgorithm,+    putObjectAcl_contentMD5,+    putObjectAcl_expectedBucketOwner,+    putObjectAcl_grantFullControl,+    putObjectAcl_grantRead,+    putObjectAcl_grantReadACP,+    putObjectAcl_grantWrite,+    putObjectAcl_grantWriteACP,+    putObjectAcl_requestPayer,+    putObjectAcl_versionId,+    putObjectAcl_bucket,+    putObjectAcl_key,++    -- * Destructuring the Response+    PutObjectAclResponse (..),+    newPutObjectAclResponse,++    -- * Response Lenses+    putObjectAclResponse_requestCharged,+    putObjectAclResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutObjectAcl' smart constructor.+data PutObjectAcl = PutObjectAcl'+  { -- | The canned ACL to apply to the object. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+    acl :: Prelude.Maybe ObjectCannedACL,+    -- | Contains the elements that set the ACL permissions for an object per+    -- grantee.+    accessControlPolicy :: Prelude.Maybe AccessControlPolicy,+    -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The base64-encoded 128-bit MD5 digest of the data. This header must be+    -- used as a message integrity check to verify that the request body was+    -- not corrupted in transit. For more information, go to+    -- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>>+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee the read, write, read ACP, and write ACP permissions on+    -- the bucket.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantFullControl :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to list the objects in the bucket.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantRead :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to read the bucket ACL.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantReadACP :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to create new objects in the bucket.+    --+    -- For the bucket and object owners of existing objects, also allows+    -- deletions and overwrites of those objects.+    grantWrite :: Prelude.Maybe Prelude.Text,+    -- | Allows grantee to write the ACL for the applicable bucket.+    --+    -- This action is not supported by Amazon S3 on Outposts.+    grantWriteACP :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | VersionId used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name that contains the object to which you want to attach the+    -- ACL.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Key for which the PUT action was initiated.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectAcl' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acl', 'putObjectAcl_acl' - The canned ACL to apply to the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+--+-- 'accessControlPolicy', 'putObjectAcl_accessControlPolicy' - Contains the elements that set the ACL permissions for an object per+-- grantee.+--+-- 'checksumAlgorithm', 'putObjectAcl_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putObjectAcl_contentMD5' - The base64-encoded 128-bit MD5 digest of the data. This header must be+-- used as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, go to+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>>+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putObjectAcl_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'grantFullControl', 'putObjectAcl_grantFullControl' - Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantRead', 'putObjectAcl_grantRead' - Allows grantee to list the objects in the bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantReadACP', 'putObjectAcl_grantReadACP' - Allows grantee to read the bucket ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'grantWrite', 'putObjectAcl_grantWrite' - Allows grantee to create new objects in the bucket.+--+-- For the bucket and object owners of existing objects, also allows+-- deletions and overwrites of those objects.+--+-- 'grantWriteACP', 'putObjectAcl_grantWriteACP' - Allows grantee to write the ACL for the applicable bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- 'requestPayer', 'putObjectAcl_requestPayer' - Undocumented member.+--+-- 'versionId', 'putObjectAcl_versionId' - VersionId used to reference a specific version of the object.+--+-- 'bucket', 'putObjectAcl_bucket' - The bucket name that contains the object to which you want to attach the+-- ACL.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'putObjectAcl_key' - Key for which the PUT action was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+newPutObjectAcl ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  PutObjectAcl+newPutObjectAcl pBucket_ pKey_ =+  PutObjectAcl'+    { acl = Prelude.Nothing,+      accessControlPolicy = Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      grantFullControl = Prelude.Nothing,+      grantRead = Prelude.Nothing,+      grantReadACP = Prelude.Nothing,+      grantWrite = Prelude.Nothing,+      grantWriteACP = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | The canned ACL to apply to the object. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL Canned ACL>.+putObjectAcl_acl :: Lens.Lens' PutObjectAcl (Prelude.Maybe ObjectCannedACL)+putObjectAcl_acl = Lens.lens (\PutObjectAcl' {acl} -> acl) (\s@PutObjectAcl' {} a -> s {acl = a} :: PutObjectAcl)++-- | Contains the elements that set the ACL permissions for an object per+-- grantee.+putObjectAcl_accessControlPolicy :: Lens.Lens' PutObjectAcl (Prelude.Maybe AccessControlPolicy)+putObjectAcl_accessControlPolicy = Lens.lens (\PutObjectAcl' {accessControlPolicy} -> accessControlPolicy) (\s@PutObjectAcl' {} a -> s {accessControlPolicy = a} :: PutObjectAcl)++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putObjectAcl_checksumAlgorithm :: Lens.Lens' PutObjectAcl (Prelude.Maybe ChecksumAlgorithm)+putObjectAcl_checksumAlgorithm = Lens.lens (\PutObjectAcl' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutObjectAcl' {} a -> s {checksumAlgorithm = a} :: PutObjectAcl)++-- | The base64-encoded 128-bit MD5 digest of the data. This header must be+-- used as a message integrity check to verify that the request body was+-- not corrupted in transit. For more information, go to+-- <http://www.ietf.org/rfc/rfc1864.txt RFC 1864.>>+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putObjectAcl_contentMD5 :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_contentMD5 = Lens.lens (\PutObjectAcl' {contentMD5} -> contentMD5) (\s@PutObjectAcl' {} a -> s {contentMD5 = a} :: PutObjectAcl)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putObjectAcl_expectedBucketOwner :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_expectedBucketOwner = Lens.lens (\PutObjectAcl' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutObjectAcl' {} a -> s {expectedBucketOwner = a} :: PutObjectAcl)++-- | Allows grantee the read, write, read ACP, and write ACP permissions on+-- the bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+putObjectAcl_grantFullControl :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_grantFullControl = Lens.lens (\PutObjectAcl' {grantFullControl} -> grantFullControl) (\s@PutObjectAcl' {} a -> s {grantFullControl = a} :: PutObjectAcl)++-- | Allows grantee to list the objects in the bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+putObjectAcl_grantRead :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_grantRead = Lens.lens (\PutObjectAcl' {grantRead} -> grantRead) (\s@PutObjectAcl' {} a -> s {grantRead = a} :: PutObjectAcl)++-- | Allows grantee to read the bucket ACL.+--+-- This action is not supported by Amazon S3 on Outposts.+putObjectAcl_grantReadACP :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_grantReadACP = Lens.lens (\PutObjectAcl' {grantReadACP} -> grantReadACP) (\s@PutObjectAcl' {} a -> s {grantReadACP = a} :: PutObjectAcl)++-- | Allows grantee to create new objects in the bucket.+--+-- For the bucket and object owners of existing objects, also allows+-- deletions and overwrites of those objects.+putObjectAcl_grantWrite :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_grantWrite = Lens.lens (\PutObjectAcl' {grantWrite} -> grantWrite) (\s@PutObjectAcl' {} a -> s {grantWrite = a} :: PutObjectAcl)++-- | Allows grantee to write the ACL for the applicable bucket.+--+-- This action is not supported by Amazon S3 on Outposts.+putObjectAcl_grantWriteACP :: Lens.Lens' PutObjectAcl (Prelude.Maybe Prelude.Text)+putObjectAcl_grantWriteACP = Lens.lens (\PutObjectAcl' {grantWriteACP} -> grantWriteACP) (\s@PutObjectAcl' {} a -> s {grantWriteACP = a} :: PutObjectAcl)++-- | Undocumented member.+putObjectAcl_requestPayer :: Lens.Lens' PutObjectAcl (Prelude.Maybe RequestPayer)+putObjectAcl_requestPayer = Lens.lens (\PutObjectAcl' {requestPayer} -> requestPayer) (\s@PutObjectAcl' {} a -> s {requestPayer = a} :: PutObjectAcl)++-- | VersionId used to reference a specific version of the object.+putObjectAcl_versionId :: Lens.Lens' PutObjectAcl (Prelude.Maybe ObjectVersionId)+putObjectAcl_versionId = Lens.lens (\PutObjectAcl' {versionId} -> versionId) (\s@PutObjectAcl' {} a -> s {versionId = a} :: PutObjectAcl)++-- | The bucket name that contains the object to which you want to attach the+-- ACL.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+putObjectAcl_bucket :: Lens.Lens' PutObjectAcl BucketName+putObjectAcl_bucket = Lens.lens (\PutObjectAcl' {bucket} -> bucket) (\s@PutObjectAcl' {} a -> s {bucket = a} :: PutObjectAcl)++-- | Key for which the PUT action was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+putObjectAcl_key :: Lens.Lens' PutObjectAcl ObjectKey+putObjectAcl_key = Lens.lens (\PutObjectAcl' {key} -> key) (\s@PutObjectAcl' {} a -> s {key = a} :: PutObjectAcl)++instance Core.AWSRequest PutObjectAcl where+  type AWSResponse PutObjectAcl = PutObjectAclResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutObjectAclResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutObjectAcl where+  hashWithSalt _salt PutObjectAcl' {..} =+    _salt+      `Prelude.hashWithSalt` acl+      `Prelude.hashWithSalt` accessControlPolicy+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` grantFullControl+      `Prelude.hashWithSalt` grantRead+      `Prelude.hashWithSalt` grantReadACP+      `Prelude.hashWithSalt` grantWrite+      `Prelude.hashWithSalt` grantWriteACP+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData PutObjectAcl where+  rnf PutObjectAcl' {..} =+    Prelude.rnf acl+      `Prelude.seq` Prelude.rnf accessControlPolicy+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf grantFullControl+      `Prelude.seq` Prelude.rnf grantRead+      `Prelude.seq` Prelude.rnf grantReadACP+      `Prelude.seq` Prelude.rnf grantWrite+      `Prelude.seq` Prelude.rnf grantWriteACP+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToElement PutObjectAcl where+  toElement PutObjectAcl' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}AccessControlPolicy"+      accessControlPolicy++instance Data.ToHeaders PutObjectAcl where+  toHeaders PutObjectAcl' {..} =+    Prelude.mconcat+      [ "x-amz-acl" Data.=# acl,+        "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-grant-full-control" Data.=# grantFullControl,+        "x-amz-grant-read" Data.=# grantRead,+        "x-amz-grant-read-acp" Data.=# grantReadACP,+        "x-amz-grant-write" Data.=# grantWrite,+        "x-amz-grant-write-acp" Data.=# grantWriteACP,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath PutObjectAcl where+  toPath PutObjectAcl' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery PutObjectAcl where+  toQuery PutObjectAcl' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "acl"]++-- | /See:/ 'newPutObjectAclResponse' smart constructor.+data PutObjectAclResponse = PutObjectAclResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectAclResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'putObjectAclResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'putObjectAclResponse_httpStatus' - The response's http status code.+newPutObjectAclResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutObjectAclResponse+newPutObjectAclResponse pHttpStatus_ =+  PutObjectAclResponse'+    { requestCharged =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+putObjectAclResponse_requestCharged :: Lens.Lens' PutObjectAclResponse (Prelude.Maybe RequestCharged)+putObjectAclResponse_requestCharged = Lens.lens (\PutObjectAclResponse' {requestCharged} -> requestCharged) (\s@PutObjectAclResponse' {} a -> s {requestCharged = a} :: PutObjectAclResponse)++-- | The response's http status code.+putObjectAclResponse_httpStatus :: Lens.Lens' PutObjectAclResponse Prelude.Int+putObjectAclResponse_httpStatus = Lens.lens (\PutObjectAclResponse' {httpStatus} -> httpStatus) (\s@PutObjectAclResponse' {} a -> s {httpStatus = a} :: PutObjectAclResponse)++instance Prelude.NFData PutObjectAclResponse where+  rnf PutObjectAclResponse' {..} =+    Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutObjectLegalHold.hs view
@@ -0,0 +1,342 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutObjectLegalHold+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Applies a legal hold configuration to the specified object. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Locking Objects>.+--+-- This action is not supported by Amazon S3 on Outposts.+module Amazonka.S3.PutObjectLegalHold+  ( -- * Creating a Request+    PutObjectLegalHold (..),+    newPutObjectLegalHold,++    -- * Request Lenses+    putObjectLegalHold_checksumAlgorithm,+    putObjectLegalHold_contentMD5,+    putObjectLegalHold_expectedBucketOwner,+    putObjectLegalHold_legalHold,+    putObjectLegalHold_requestPayer,+    putObjectLegalHold_versionId,+    putObjectLegalHold_bucket,+    putObjectLegalHold_key,++    -- * Destructuring the Response+    PutObjectLegalHoldResponse (..),+    newPutObjectLegalHoldResponse,++    -- * Response Lenses+    putObjectLegalHoldResponse_requestCharged,+    putObjectLegalHoldResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutObjectLegalHold' smart constructor.+data PutObjectLegalHold = PutObjectLegalHold'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The MD5 hash for the request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Container element for the legal hold configuration you want to apply to+    -- the specified object.+    legalHold :: Prelude.Maybe ObjectLockLegalHold,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The version ID of the object that you want to place a legal hold on.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object that you want to place a legal+    -- hold on.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The key name for the object that you want to place a legal hold on.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectLegalHold' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putObjectLegalHold_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putObjectLegalHold_contentMD5' - The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putObjectLegalHold_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'legalHold', 'putObjectLegalHold_legalHold' - Container element for the legal hold configuration you want to apply to+-- the specified object.+--+-- 'requestPayer', 'putObjectLegalHold_requestPayer' - Undocumented member.+--+-- 'versionId', 'putObjectLegalHold_versionId' - The version ID of the object that you want to place a legal hold on.+--+-- 'bucket', 'putObjectLegalHold_bucket' - The bucket name containing the object that you want to place a legal+-- hold on.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'putObjectLegalHold_key' - The key name for the object that you want to place a legal hold on.+newPutObjectLegalHold ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  PutObjectLegalHold+newPutObjectLegalHold pBucket_ pKey_ =+  PutObjectLegalHold'+    { checksumAlgorithm =+        Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      legalHold = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putObjectLegalHold_checksumAlgorithm :: Lens.Lens' PutObjectLegalHold (Prelude.Maybe ChecksumAlgorithm)+putObjectLegalHold_checksumAlgorithm = Lens.lens (\PutObjectLegalHold' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutObjectLegalHold' {} a -> s {checksumAlgorithm = a} :: PutObjectLegalHold)++-- | The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putObjectLegalHold_contentMD5 :: Lens.Lens' PutObjectLegalHold (Prelude.Maybe Prelude.Text)+putObjectLegalHold_contentMD5 = Lens.lens (\PutObjectLegalHold' {contentMD5} -> contentMD5) (\s@PutObjectLegalHold' {} a -> s {contentMD5 = a} :: PutObjectLegalHold)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putObjectLegalHold_expectedBucketOwner :: Lens.Lens' PutObjectLegalHold (Prelude.Maybe Prelude.Text)+putObjectLegalHold_expectedBucketOwner = Lens.lens (\PutObjectLegalHold' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutObjectLegalHold' {} a -> s {expectedBucketOwner = a} :: PutObjectLegalHold)++-- | Container element for the legal hold configuration you want to apply to+-- the specified object.+putObjectLegalHold_legalHold :: Lens.Lens' PutObjectLegalHold (Prelude.Maybe ObjectLockLegalHold)+putObjectLegalHold_legalHold = Lens.lens (\PutObjectLegalHold' {legalHold} -> legalHold) (\s@PutObjectLegalHold' {} a -> s {legalHold = a} :: PutObjectLegalHold)++-- | Undocumented member.+putObjectLegalHold_requestPayer :: Lens.Lens' PutObjectLegalHold (Prelude.Maybe RequestPayer)+putObjectLegalHold_requestPayer = Lens.lens (\PutObjectLegalHold' {requestPayer} -> requestPayer) (\s@PutObjectLegalHold' {} a -> s {requestPayer = a} :: PutObjectLegalHold)++-- | The version ID of the object that you want to place a legal hold on.+putObjectLegalHold_versionId :: Lens.Lens' PutObjectLegalHold (Prelude.Maybe ObjectVersionId)+putObjectLegalHold_versionId = Lens.lens (\PutObjectLegalHold' {versionId} -> versionId) (\s@PutObjectLegalHold' {} a -> s {versionId = a} :: PutObjectLegalHold)++-- | The bucket name containing the object that you want to place a legal+-- hold on.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+putObjectLegalHold_bucket :: Lens.Lens' PutObjectLegalHold BucketName+putObjectLegalHold_bucket = Lens.lens (\PutObjectLegalHold' {bucket} -> bucket) (\s@PutObjectLegalHold' {} a -> s {bucket = a} :: PutObjectLegalHold)++-- | The key name for the object that you want to place a legal hold on.+putObjectLegalHold_key :: Lens.Lens' PutObjectLegalHold ObjectKey+putObjectLegalHold_key = Lens.lens (\PutObjectLegalHold' {key} -> key) (\s@PutObjectLegalHold' {} a -> s {key = a} :: PutObjectLegalHold)++instance Core.AWSRequest PutObjectLegalHold where+  type+    AWSResponse PutObjectLegalHold =+      PutObjectLegalHoldResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutObjectLegalHoldResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutObjectLegalHold where+  hashWithSalt _salt PutObjectLegalHold' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` legalHold+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData PutObjectLegalHold where+  rnf PutObjectLegalHold' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf legalHold+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToElement PutObjectLegalHold where+  toElement PutObjectLegalHold' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}LegalHold"+      legalHold++instance Data.ToHeaders PutObjectLegalHold where+  toHeaders PutObjectLegalHold' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath PutObjectLegalHold where+  toPath PutObjectLegalHold' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery PutObjectLegalHold where+  toQuery PutObjectLegalHold' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "legal-hold"]++-- | /See:/ 'newPutObjectLegalHoldResponse' smart constructor.+data PutObjectLegalHoldResponse = PutObjectLegalHoldResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectLegalHoldResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'putObjectLegalHoldResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'putObjectLegalHoldResponse_httpStatus' - The response's http status code.+newPutObjectLegalHoldResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutObjectLegalHoldResponse+newPutObjectLegalHoldResponse pHttpStatus_ =+  PutObjectLegalHoldResponse'+    { requestCharged =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+putObjectLegalHoldResponse_requestCharged :: Lens.Lens' PutObjectLegalHoldResponse (Prelude.Maybe RequestCharged)+putObjectLegalHoldResponse_requestCharged = Lens.lens (\PutObjectLegalHoldResponse' {requestCharged} -> requestCharged) (\s@PutObjectLegalHoldResponse' {} a -> s {requestCharged = a} :: PutObjectLegalHoldResponse)++-- | The response's http status code.+putObjectLegalHoldResponse_httpStatus :: Lens.Lens' PutObjectLegalHoldResponse Prelude.Int+putObjectLegalHoldResponse_httpStatus = Lens.lens (\PutObjectLegalHoldResponse' {httpStatus} -> httpStatus) (\s@PutObjectLegalHoldResponse' {} a -> s {httpStatus = a} :: PutObjectLegalHoldResponse)++instance Prelude.NFData PutObjectLegalHoldResponse where+  rnf PutObjectLegalHoldResponse' {..} =+    Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutObjectLockConfiguration.hs view
@@ -0,0 +1,313 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutObjectLockConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Places an Object Lock configuration on the specified bucket. The rule+-- specified in the Object Lock configuration will be applied by default to+-- every new object placed in the specified bucket. For more information,+-- see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Locking Objects>.+--+-- -   The @DefaultRetention@ settings require both a mode and a period.+--+-- -   The @DefaultRetention@ period can be either @Days@ or @Years@ but+--     you must select one. You cannot specify @Days@ and @Years@ at the+--     same time.+--+-- -   You can only enable Object Lock for new buckets. If you want to turn+--     on Object Lock for an existing bucket, contact Amazon Web Services+--     Support.+module Amazonka.S3.PutObjectLockConfiguration+  ( -- * Creating a Request+    PutObjectLockConfiguration (..),+    newPutObjectLockConfiguration,++    -- * Request Lenses+    putObjectLockConfiguration_checksumAlgorithm,+    putObjectLockConfiguration_contentMD5,+    putObjectLockConfiguration_expectedBucketOwner,+    putObjectLockConfiguration_objectLockConfiguration,+    putObjectLockConfiguration_requestPayer,+    putObjectLockConfiguration_token,+    putObjectLockConfiguration_bucket,++    -- * Destructuring the Response+    PutObjectLockConfigurationResponse (..),+    newPutObjectLockConfigurationResponse,++    -- * Response Lenses+    putObjectLockConfigurationResponse_requestCharged,+    putObjectLockConfigurationResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutObjectLockConfiguration' smart constructor.+data PutObjectLockConfiguration = PutObjectLockConfiguration'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The MD5 hash for the request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The Object Lock configuration that you want to apply to the specified+    -- bucket.+    objectLockConfiguration :: Prelude.Maybe ObjectLockConfiguration,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | A token to allow Object Lock to be enabled for an existing bucket.+    token :: Prelude.Maybe Prelude.Text,+    -- | The bucket whose Object Lock configuration you want to create or+    -- replace.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectLockConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putObjectLockConfiguration_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putObjectLockConfiguration_contentMD5' - The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putObjectLockConfiguration_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'objectLockConfiguration', 'putObjectLockConfiguration_objectLockConfiguration' - The Object Lock configuration that you want to apply to the specified+-- bucket.+--+-- 'requestPayer', 'putObjectLockConfiguration_requestPayer' - Undocumented member.+--+-- 'token', 'putObjectLockConfiguration_token' - A token to allow Object Lock to be enabled for an existing bucket.+--+-- 'bucket', 'putObjectLockConfiguration_bucket' - The bucket whose Object Lock configuration you want to create or+-- replace.+newPutObjectLockConfiguration ::+  -- | 'bucket'+  BucketName ->+  PutObjectLockConfiguration+newPutObjectLockConfiguration pBucket_ =+  PutObjectLockConfiguration'+    { checksumAlgorithm =+        Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      objectLockConfiguration = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      token = Prelude.Nothing,+      bucket = pBucket_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putObjectLockConfiguration_checksumAlgorithm :: Lens.Lens' PutObjectLockConfiguration (Prelude.Maybe ChecksumAlgorithm)+putObjectLockConfiguration_checksumAlgorithm = Lens.lens (\PutObjectLockConfiguration' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutObjectLockConfiguration' {} a -> s {checksumAlgorithm = a} :: PutObjectLockConfiguration)++-- | The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putObjectLockConfiguration_contentMD5 :: Lens.Lens' PutObjectLockConfiguration (Prelude.Maybe Prelude.Text)+putObjectLockConfiguration_contentMD5 = Lens.lens (\PutObjectLockConfiguration' {contentMD5} -> contentMD5) (\s@PutObjectLockConfiguration' {} a -> s {contentMD5 = a} :: PutObjectLockConfiguration)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putObjectLockConfiguration_expectedBucketOwner :: Lens.Lens' PutObjectLockConfiguration (Prelude.Maybe Prelude.Text)+putObjectLockConfiguration_expectedBucketOwner = Lens.lens (\PutObjectLockConfiguration' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutObjectLockConfiguration' {} a -> s {expectedBucketOwner = a} :: PutObjectLockConfiguration)++-- | The Object Lock configuration that you want to apply to the specified+-- bucket.+putObjectLockConfiguration_objectLockConfiguration :: Lens.Lens' PutObjectLockConfiguration (Prelude.Maybe ObjectLockConfiguration)+putObjectLockConfiguration_objectLockConfiguration = Lens.lens (\PutObjectLockConfiguration' {objectLockConfiguration} -> objectLockConfiguration) (\s@PutObjectLockConfiguration' {} a -> s {objectLockConfiguration = a} :: PutObjectLockConfiguration)++-- | Undocumented member.+putObjectLockConfiguration_requestPayer :: Lens.Lens' PutObjectLockConfiguration (Prelude.Maybe RequestPayer)+putObjectLockConfiguration_requestPayer = Lens.lens (\PutObjectLockConfiguration' {requestPayer} -> requestPayer) (\s@PutObjectLockConfiguration' {} a -> s {requestPayer = a} :: PutObjectLockConfiguration)++-- | A token to allow Object Lock to be enabled for an existing bucket.+putObjectLockConfiguration_token :: Lens.Lens' PutObjectLockConfiguration (Prelude.Maybe Prelude.Text)+putObjectLockConfiguration_token = Lens.lens (\PutObjectLockConfiguration' {token} -> token) (\s@PutObjectLockConfiguration' {} a -> s {token = a} :: PutObjectLockConfiguration)++-- | The bucket whose Object Lock configuration you want to create or+-- replace.+putObjectLockConfiguration_bucket :: Lens.Lens' PutObjectLockConfiguration BucketName+putObjectLockConfiguration_bucket = Lens.lens (\PutObjectLockConfiguration' {bucket} -> bucket) (\s@PutObjectLockConfiguration' {} a -> s {bucket = a} :: PutObjectLockConfiguration)++instance Core.AWSRequest PutObjectLockConfiguration where+  type+    AWSResponse PutObjectLockConfiguration =+      PutObjectLockConfigurationResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutObjectLockConfigurationResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutObjectLockConfiguration where+  hashWithSalt _salt PutObjectLockConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` objectLockConfiguration+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` token+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData PutObjectLockConfiguration where+  rnf PutObjectLockConfiguration' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf objectLockConfiguration+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf token+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToElement PutObjectLockConfiguration where+  toElement PutObjectLockConfiguration' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}ObjectLockConfiguration"+      objectLockConfiguration++instance Data.ToHeaders PutObjectLockConfiguration where+  toHeaders PutObjectLockConfiguration' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-bucket-object-lock-token" Data.=# token+      ]++instance Data.ToPath PutObjectLockConfiguration where+  toPath PutObjectLockConfiguration' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutObjectLockConfiguration where+  toQuery =+    Prelude.const (Prelude.mconcat ["object-lock"])++-- | /See:/ 'newPutObjectLockConfigurationResponse' smart constructor.+data PutObjectLockConfigurationResponse = PutObjectLockConfigurationResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectLockConfigurationResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'putObjectLockConfigurationResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'putObjectLockConfigurationResponse_httpStatus' - The response's http status code.+newPutObjectLockConfigurationResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutObjectLockConfigurationResponse+newPutObjectLockConfigurationResponse pHttpStatus_ =+  PutObjectLockConfigurationResponse'+    { requestCharged =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+putObjectLockConfigurationResponse_requestCharged :: Lens.Lens' PutObjectLockConfigurationResponse (Prelude.Maybe RequestCharged)+putObjectLockConfigurationResponse_requestCharged = Lens.lens (\PutObjectLockConfigurationResponse' {requestCharged} -> requestCharged) (\s@PutObjectLockConfigurationResponse' {} a -> s {requestCharged = a} :: PutObjectLockConfigurationResponse)++-- | The response's http status code.+putObjectLockConfigurationResponse_httpStatus :: Lens.Lens' PutObjectLockConfigurationResponse Prelude.Int+putObjectLockConfigurationResponse_httpStatus = Lens.lens (\PutObjectLockConfigurationResponse' {httpStatus} -> httpStatus) (\s@PutObjectLockConfigurationResponse' {} a -> s {httpStatus = a} :: PutObjectLockConfigurationResponse)++instance+  Prelude.NFData+    PutObjectLockConfigurationResponse+  where+  rnf PutObjectLockConfigurationResponse' {..} =+    Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutObjectRetention.hs view
@@ -0,0 +1,366 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutObjectRetention+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Places an Object Retention configuration on an object. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html Locking Objects>.+-- Users or accounts require the @s3:PutObjectRetention@ permission in+-- order to place an Object Retention configuration on objects. Bypassing a+-- Governance Retention configuration requires the+-- @s3:BypassGovernanceRetention@ permission.+--+-- This action is not supported by Amazon S3 on Outposts.+module Amazonka.S3.PutObjectRetention+  ( -- * Creating a Request+    PutObjectRetention (..),+    newPutObjectRetention,++    -- * Request Lenses+    putObjectRetention_bypassGovernanceRetention,+    putObjectRetention_checksumAlgorithm,+    putObjectRetention_contentMD5,+    putObjectRetention_expectedBucketOwner,+    putObjectRetention_requestPayer,+    putObjectRetention_retention,+    putObjectRetention_versionId,+    putObjectRetention_bucket,+    putObjectRetention_key,++    -- * Destructuring the Response+    PutObjectRetentionResponse (..),+    newPutObjectRetentionResponse,++    -- * Response Lenses+    putObjectRetentionResponse_requestCharged,+    putObjectRetentionResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutObjectRetention' smart constructor.+data PutObjectRetention = PutObjectRetention'+  { -- | Indicates whether this action should bypass Governance-mode+    -- restrictions.+    bypassGovernanceRetention :: Prelude.Maybe Prelude.Bool,+    -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The MD5 hash for the request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The container element for the Object Retention configuration.+    retention :: Prelude.Maybe ObjectLockRetention,+    -- | The version ID for the object that you want to apply this Object+    -- Retention configuration to.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name that contains the object you want to apply this Object+    -- Retention configuration to.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | The key name for the object that you want to apply this Object Retention+    -- configuration to.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectRetention' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bypassGovernanceRetention', 'putObjectRetention_bypassGovernanceRetention' - Indicates whether this action should bypass Governance-mode+-- restrictions.+--+-- 'checksumAlgorithm', 'putObjectRetention_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putObjectRetention_contentMD5' - The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putObjectRetention_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'putObjectRetention_requestPayer' - Undocumented member.+--+-- 'retention', 'putObjectRetention_retention' - The container element for the Object Retention configuration.+--+-- 'versionId', 'putObjectRetention_versionId' - The version ID for the object that you want to apply this Object+-- Retention configuration to.+--+-- 'bucket', 'putObjectRetention_bucket' - The bucket name that contains the object you want to apply this Object+-- Retention configuration to.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'putObjectRetention_key' - The key name for the object that you want to apply this Object Retention+-- configuration to.+newPutObjectRetention ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  PutObjectRetention+newPutObjectRetention pBucket_ pKey_ =+  PutObjectRetention'+    { bypassGovernanceRetention =+        Prelude.Nothing,+      checksumAlgorithm = Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      retention = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | Indicates whether this action should bypass Governance-mode+-- restrictions.+putObjectRetention_bypassGovernanceRetention :: Lens.Lens' PutObjectRetention (Prelude.Maybe Prelude.Bool)+putObjectRetention_bypassGovernanceRetention = Lens.lens (\PutObjectRetention' {bypassGovernanceRetention} -> bypassGovernanceRetention) (\s@PutObjectRetention' {} a -> s {bypassGovernanceRetention = a} :: PutObjectRetention)++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putObjectRetention_checksumAlgorithm :: Lens.Lens' PutObjectRetention (Prelude.Maybe ChecksumAlgorithm)+putObjectRetention_checksumAlgorithm = Lens.lens (\PutObjectRetention' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutObjectRetention' {} a -> s {checksumAlgorithm = a} :: PutObjectRetention)++-- | The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putObjectRetention_contentMD5 :: Lens.Lens' PutObjectRetention (Prelude.Maybe Prelude.Text)+putObjectRetention_contentMD5 = Lens.lens (\PutObjectRetention' {contentMD5} -> contentMD5) (\s@PutObjectRetention' {} a -> s {contentMD5 = a} :: PutObjectRetention)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putObjectRetention_expectedBucketOwner :: Lens.Lens' PutObjectRetention (Prelude.Maybe Prelude.Text)+putObjectRetention_expectedBucketOwner = Lens.lens (\PutObjectRetention' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutObjectRetention' {} a -> s {expectedBucketOwner = a} :: PutObjectRetention)++-- | Undocumented member.+putObjectRetention_requestPayer :: Lens.Lens' PutObjectRetention (Prelude.Maybe RequestPayer)+putObjectRetention_requestPayer = Lens.lens (\PutObjectRetention' {requestPayer} -> requestPayer) (\s@PutObjectRetention' {} a -> s {requestPayer = a} :: PutObjectRetention)++-- | The container element for the Object Retention configuration.+putObjectRetention_retention :: Lens.Lens' PutObjectRetention (Prelude.Maybe ObjectLockRetention)+putObjectRetention_retention = Lens.lens (\PutObjectRetention' {retention} -> retention) (\s@PutObjectRetention' {} a -> s {retention = a} :: PutObjectRetention)++-- | The version ID for the object that you want to apply this Object+-- Retention configuration to.+putObjectRetention_versionId :: Lens.Lens' PutObjectRetention (Prelude.Maybe ObjectVersionId)+putObjectRetention_versionId = Lens.lens (\PutObjectRetention' {versionId} -> versionId) (\s@PutObjectRetention' {} a -> s {versionId = a} :: PutObjectRetention)++-- | The bucket name that contains the object you want to apply this Object+-- Retention configuration to.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+putObjectRetention_bucket :: Lens.Lens' PutObjectRetention BucketName+putObjectRetention_bucket = Lens.lens (\PutObjectRetention' {bucket} -> bucket) (\s@PutObjectRetention' {} a -> s {bucket = a} :: PutObjectRetention)++-- | The key name for the object that you want to apply this Object Retention+-- configuration to.+putObjectRetention_key :: Lens.Lens' PutObjectRetention ObjectKey+putObjectRetention_key = Lens.lens (\PutObjectRetention' {key} -> key) (\s@PutObjectRetention' {} a -> s {key = a} :: PutObjectRetention)++instance Core.AWSRequest PutObjectRetention where+  type+    AWSResponse PutObjectRetention =+      PutObjectRetentionResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutObjectRetentionResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutObjectRetention where+  hashWithSalt _salt PutObjectRetention' {..} =+    _salt+      `Prelude.hashWithSalt` bypassGovernanceRetention+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` retention+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData PutObjectRetention where+  rnf PutObjectRetention' {..} =+    Prelude.rnf bypassGovernanceRetention+      `Prelude.seq` Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf retention+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToElement PutObjectRetention where+  toElement PutObjectRetention' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}Retention"+      retention++instance Data.ToHeaders PutObjectRetention where+  toHeaders PutObjectRetention' {..} =+    Prelude.mconcat+      [ "x-amz-bypass-governance-retention"+          Data.=# bypassGovernanceRetention,+        "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath PutObjectRetention where+  toPath PutObjectRetention' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery PutObjectRetention where+  toQuery PutObjectRetention' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "retention"]++-- | /See:/ 'newPutObjectRetentionResponse' smart constructor.+data PutObjectRetentionResponse = PutObjectRetentionResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectRetentionResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'putObjectRetentionResponse_requestCharged' - Undocumented member.+--+-- 'httpStatus', 'putObjectRetentionResponse_httpStatus' - The response's http status code.+newPutObjectRetentionResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutObjectRetentionResponse+newPutObjectRetentionResponse pHttpStatus_ =+  PutObjectRetentionResponse'+    { requestCharged =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+putObjectRetentionResponse_requestCharged :: Lens.Lens' PutObjectRetentionResponse (Prelude.Maybe RequestCharged)+putObjectRetentionResponse_requestCharged = Lens.lens (\PutObjectRetentionResponse' {requestCharged} -> requestCharged) (\s@PutObjectRetentionResponse' {} a -> s {requestCharged = a} :: PutObjectRetentionResponse)++-- | The response's http status code.+putObjectRetentionResponse_httpStatus :: Lens.Lens' PutObjectRetentionResponse Prelude.Int+putObjectRetentionResponse_httpStatus = Lens.lens (\PutObjectRetentionResponse' {httpStatus} -> httpStatus) (\s@PutObjectRetentionResponse' {} a -> s {httpStatus = a} :: PutObjectRetentionResponse)++instance Prelude.NFData PutObjectRetentionResponse where+  rnf PutObjectRetentionResponse' {..} =+    Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutObjectTagging.hs view
@@ -0,0 +1,416 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutObjectTagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Sets the supplied tag-set to an object that already exists in a bucket.+--+-- A tag is a key-value pair. You can associate tags with an object by+-- sending a PUT request against the tagging subresource that is associated+-- with the object. You can retrieve tags by sending a GET request. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html GetObjectTagging>.+--+-- For tagging-related restrictions related to characters and encodings,+-- see+-- <https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html Tag Restrictions>.+-- Note that Amazon S3 limits the maximum number of tags to 10 tags per+-- object.+--+-- To use this operation, you must have permission to perform the+-- @s3:PutObjectTagging@ action. By default, the bucket owner has this+-- permission and can grant this permission to others.+--+-- To put tags of any other version, use the @versionId@ query parameter.+-- You also need permission for the @s3:PutObjectVersionTagging@ action.+--+-- For information about the Amazon S3 object tagging feature, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html Object Tagging>.+--+-- __Special Errors__+--+-- -   -   /Code: InvalidTagError/+--+--     -   /Cause: The tag provided was not a valid tag. This error can+--         occur if the tag did not pass input validation. For more+--         information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html Object Tagging>./+--+-- -   -   /Code: MalformedXMLError/+--+--     -   /Cause: The XML provided does not match the schema./+--+-- -   -   /Code: OperationAbortedError/+--+--     -   /Cause: A conflicting conditional action is currently in+--         progress against this resource. Please try again./+--+-- -   -   /Code: InternalError/+--+--     -   /Cause: The service was unable to apply the provided tag to the+--         object./+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html GetObjectTagging>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html DeleteObjectTagging>+module Amazonka.S3.PutObjectTagging+  ( -- * Creating a Request+    PutObjectTagging (..),+    newPutObjectTagging,++    -- * Request Lenses+    putObjectTagging_checksumAlgorithm,+    putObjectTagging_contentMD5,+    putObjectTagging_expectedBucketOwner,+    putObjectTagging_requestPayer,+    putObjectTagging_versionId,+    putObjectTagging_bucket,+    putObjectTagging_key,+    putObjectTagging_tagging,++    -- * Destructuring the Response+    PutObjectTaggingResponse (..),+    newPutObjectTaggingResponse,++    -- * Response Lenses+    putObjectTaggingResponse_versionId,+    putObjectTaggingResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutObjectTagging' smart constructor.+data PutObjectTagging = PutObjectTagging'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The MD5 hash for the request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | The versionId of the object that the tag-set will be added to.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Name of the object key.+    key :: ObjectKey,+    -- | Container for the @TagSet@ and @Tag@ elements+    tagging :: Tagging+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectTagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putObjectTagging_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putObjectTagging_contentMD5' - The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putObjectTagging_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'putObjectTagging_requestPayer' - Undocumented member.+--+-- 'versionId', 'putObjectTagging_versionId' - The versionId of the object that the tag-set will be added to.+--+-- 'bucket', 'putObjectTagging_bucket' - The bucket name containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'putObjectTagging_key' - Name of the object key.+--+-- 'tagging', 'putObjectTagging_tagging' - Container for the @TagSet@ and @Tag@ elements+newPutObjectTagging ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'tagging'+  Tagging ->+  PutObjectTagging+newPutObjectTagging pBucket_ pKey_ pTagging_ =+  PutObjectTagging'+    { checksumAlgorithm =+        Prelude.Nothing,+      contentMD5 = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_,+      tagging = pTagging_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putObjectTagging_checksumAlgorithm :: Lens.Lens' PutObjectTagging (Prelude.Maybe ChecksumAlgorithm)+putObjectTagging_checksumAlgorithm = Lens.lens (\PutObjectTagging' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutObjectTagging' {} a -> s {checksumAlgorithm = a} :: PutObjectTagging)++-- | The MD5 hash for the request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putObjectTagging_contentMD5 :: Lens.Lens' PutObjectTagging (Prelude.Maybe Prelude.Text)+putObjectTagging_contentMD5 = Lens.lens (\PutObjectTagging' {contentMD5} -> contentMD5) (\s@PutObjectTagging' {} a -> s {contentMD5 = a} :: PutObjectTagging)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putObjectTagging_expectedBucketOwner :: Lens.Lens' PutObjectTagging (Prelude.Maybe Prelude.Text)+putObjectTagging_expectedBucketOwner = Lens.lens (\PutObjectTagging' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutObjectTagging' {} a -> s {expectedBucketOwner = a} :: PutObjectTagging)++-- | Undocumented member.+putObjectTagging_requestPayer :: Lens.Lens' PutObjectTagging (Prelude.Maybe RequestPayer)+putObjectTagging_requestPayer = Lens.lens (\PutObjectTagging' {requestPayer} -> requestPayer) (\s@PutObjectTagging' {} a -> s {requestPayer = a} :: PutObjectTagging)++-- | The versionId of the object that the tag-set will be added to.+putObjectTagging_versionId :: Lens.Lens' PutObjectTagging (Prelude.Maybe ObjectVersionId)+putObjectTagging_versionId = Lens.lens (\PutObjectTagging' {versionId} -> versionId) (\s@PutObjectTagging' {} a -> s {versionId = a} :: PutObjectTagging)++-- | The bucket name containing the object.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+putObjectTagging_bucket :: Lens.Lens' PutObjectTagging BucketName+putObjectTagging_bucket = Lens.lens (\PutObjectTagging' {bucket} -> bucket) (\s@PutObjectTagging' {} a -> s {bucket = a} :: PutObjectTagging)++-- | Name of the object key.+putObjectTagging_key :: Lens.Lens' PutObjectTagging ObjectKey+putObjectTagging_key = Lens.lens (\PutObjectTagging' {key} -> key) (\s@PutObjectTagging' {} a -> s {key = a} :: PutObjectTagging)++-- | Container for the @TagSet@ and @Tag@ elements+putObjectTagging_tagging :: Lens.Lens' PutObjectTagging Tagging+putObjectTagging_tagging = Lens.lens (\PutObjectTagging' {tagging} -> tagging) (\s@PutObjectTagging' {} a -> s {tagging = a} :: PutObjectTagging)++instance Core.AWSRequest PutObjectTagging where+  type+    AWSResponse PutObjectTagging =+      PutObjectTaggingResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          PutObjectTaggingResponse'+            Prelude.<$> (h Data..#? "x-amz-version-id")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable PutObjectTagging where+  hashWithSalt _salt PutObjectTagging' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` tagging++instance Prelude.NFData PutObjectTagging where+  rnf PutObjectTagging' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf tagging++instance Data.ToElement PutObjectTagging where+  toElement PutObjectTagging' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}Tagging"+      tagging++instance Data.ToHeaders PutObjectTagging where+  toHeaders PutObjectTagging' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath PutObjectTagging where+  toPath PutObjectTagging' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery PutObjectTagging where+  toQuery PutObjectTagging' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "tagging"]++-- | /See:/ 'newPutObjectTaggingResponse' smart constructor.+data PutObjectTaggingResponse = PutObjectTaggingResponse'+  { -- | The versionId of the object the tag-set was added to.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutObjectTaggingResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionId', 'putObjectTaggingResponse_versionId' - The versionId of the object the tag-set was added to.+--+-- 'httpStatus', 'putObjectTaggingResponse_httpStatus' - The response's http status code.+newPutObjectTaggingResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  PutObjectTaggingResponse+newPutObjectTaggingResponse pHttpStatus_ =+  PutObjectTaggingResponse'+    { versionId =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The versionId of the object the tag-set was added to.+putObjectTaggingResponse_versionId :: Lens.Lens' PutObjectTaggingResponse (Prelude.Maybe ObjectVersionId)+putObjectTaggingResponse_versionId = Lens.lens (\PutObjectTaggingResponse' {versionId} -> versionId) (\s@PutObjectTaggingResponse' {} a -> s {versionId = a} :: PutObjectTaggingResponse)++-- | The response's http status code.+putObjectTaggingResponse_httpStatus :: Lens.Lens' PutObjectTaggingResponse Prelude.Int+putObjectTaggingResponse_httpStatus = Lens.lens (\PutObjectTaggingResponse' {httpStatus} -> httpStatus) (\s@PutObjectTaggingResponse' {} a -> s {httpStatus = a} :: PutObjectTaggingResponse)++instance Prelude.NFData PutObjectTaggingResponse where+  rnf PutObjectTaggingResponse' {..} =+    Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/PutPublicAccessBlock.hs view
@@ -0,0 +1,280 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.PutPublicAccessBlock+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Creates or modifies the @PublicAccessBlock@ configuration for an Amazon+-- S3 bucket. To use this operation, you must have the+-- @s3:PutBucketPublicAccessBlock@ permission. For more information about+-- Amazon S3 permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>.+--+-- When Amazon S3 evaluates the @PublicAccessBlock@ configuration for a+-- bucket or an object, it checks the @PublicAccessBlock@ configuration for+-- both the bucket (or the bucket that contains the object) and the bucket+-- owner\'s account. If the @PublicAccessBlock@ configurations are+-- different between the bucket and the account, Amazon S3 uses the most+-- restrictive combination of the bucket-level and account-level settings.+--+-- For more information about when Amazon S3 considers a bucket or an+-- object public, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">.+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html GetPublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html DeletePublicAccessBlock>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html GetBucketPolicyStatus>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html Using Amazon S3 Block Public Access>+module Amazonka.S3.PutPublicAccessBlock+  ( -- * Creating a Request+    PutPublicAccessBlock (..),+    newPutPublicAccessBlock,++    -- * Request Lenses+    putPublicAccessBlock_checksumAlgorithm,+    putPublicAccessBlock_contentMD5,+    putPublicAccessBlock_expectedBucketOwner,+    putPublicAccessBlock_bucket,+    putPublicAccessBlock_publicAccessBlockConfiguration,++    -- * Destructuring the Response+    PutPublicAccessBlockResponse (..),+    newPutPublicAccessBlockResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newPutPublicAccessBlock' smart constructor.+data PutPublicAccessBlock = PutPublicAccessBlock'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The MD5 hash of the @PutPublicAccessBlock@ request body.+    --+    -- For requests made using the Amazon Web Services Command Line Interface+    -- (CLI) or Amazon Web Services SDKs, this field is calculated+    -- automatically.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The name of the Amazon S3 bucket whose @PublicAccessBlock@ configuration+    -- you want to set.+    bucket :: BucketName,+    -- | The @PublicAccessBlock@ configuration that you want to apply to this+    -- Amazon S3 bucket. You can enable the configuration options in any+    -- combination. For more information about when Amazon S3 considers a+    -- bucket or object public, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">+    -- in the /Amazon S3 User Guide/.+    publicAccessBlockConfiguration :: PublicAccessBlockConfiguration+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPublicAccessBlock' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'putPublicAccessBlock_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'contentMD5', 'putPublicAccessBlock_contentMD5' - The MD5 hash of the @PutPublicAccessBlock@ request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+--+-- 'expectedBucketOwner', 'putPublicAccessBlock_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'bucket', 'putPublicAccessBlock_bucket' - The name of the Amazon S3 bucket whose @PublicAccessBlock@ configuration+-- you want to set.+--+-- 'publicAccessBlockConfiguration', 'putPublicAccessBlock_publicAccessBlockConfiguration' - The @PublicAccessBlock@ configuration that you want to apply to this+-- Amazon S3 bucket. You can enable the configuration options in any+-- combination. For more information about when Amazon S3 considers a+-- bucket or object public, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">+-- in the /Amazon S3 User Guide/.+newPutPublicAccessBlock ::+  -- | 'bucket'+  BucketName ->+  -- | 'publicAccessBlockConfiguration'+  PublicAccessBlockConfiguration ->+  PutPublicAccessBlock+newPutPublicAccessBlock+  pBucket_+  pPublicAccessBlockConfiguration_ =+    PutPublicAccessBlock'+      { checksumAlgorithm =+          Prelude.Nothing,+        contentMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        bucket = pBucket_,+        publicAccessBlockConfiguration =+          pPublicAccessBlockConfiguration_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+putPublicAccessBlock_checksumAlgorithm :: Lens.Lens' PutPublicAccessBlock (Prelude.Maybe ChecksumAlgorithm)+putPublicAccessBlock_checksumAlgorithm = Lens.lens (\PutPublicAccessBlock' {checksumAlgorithm} -> checksumAlgorithm) (\s@PutPublicAccessBlock' {} a -> s {checksumAlgorithm = a} :: PutPublicAccessBlock)++-- | The MD5 hash of the @PutPublicAccessBlock@ request body.+--+-- For requests made using the Amazon Web Services Command Line Interface+-- (CLI) or Amazon Web Services SDKs, this field is calculated+-- automatically.+putPublicAccessBlock_contentMD5 :: Lens.Lens' PutPublicAccessBlock (Prelude.Maybe Prelude.Text)+putPublicAccessBlock_contentMD5 = Lens.lens (\PutPublicAccessBlock' {contentMD5} -> contentMD5) (\s@PutPublicAccessBlock' {} a -> s {contentMD5 = a} :: PutPublicAccessBlock)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+putPublicAccessBlock_expectedBucketOwner :: Lens.Lens' PutPublicAccessBlock (Prelude.Maybe Prelude.Text)+putPublicAccessBlock_expectedBucketOwner = Lens.lens (\PutPublicAccessBlock' {expectedBucketOwner} -> expectedBucketOwner) (\s@PutPublicAccessBlock' {} a -> s {expectedBucketOwner = a} :: PutPublicAccessBlock)++-- | The name of the Amazon S3 bucket whose @PublicAccessBlock@ configuration+-- you want to set.+putPublicAccessBlock_bucket :: Lens.Lens' PutPublicAccessBlock BucketName+putPublicAccessBlock_bucket = Lens.lens (\PutPublicAccessBlock' {bucket} -> bucket) (\s@PutPublicAccessBlock' {} a -> s {bucket = a} :: PutPublicAccessBlock)++-- | The @PublicAccessBlock@ configuration that you want to apply to this+-- Amazon S3 bucket. You can enable the configuration options in any+-- combination. For more information about when Amazon S3 considers a+-- bucket or object public, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">+-- in the /Amazon S3 User Guide/.+putPublicAccessBlock_publicAccessBlockConfiguration :: Lens.Lens' PutPublicAccessBlock PublicAccessBlockConfiguration+putPublicAccessBlock_publicAccessBlockConfiguration = Lens.lens (\PutPublicAccessBlock' {publicAccessBlockConfiguration} -> publicAccessBlockConfiguration) (\s@PutPublicAccessBlock' {} a -> s {publicAccessBlockConfiguration = a} :: PutPublicAccessBlock)++instance Core.AWSRequest PutPublicAccessBlock where+  type+    AWSResponse PutPublicAccessBlock =+      PutPublicAccessBlockResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putXML (overrides defaultService)+  response =+    Response.receiveNull PutPublicAccessBlockResponse'++instance Prelude.Hashable PutPublicAccessBlock where+  hashWithSalt _salt PutPublicAccessBlock' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` contentMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` publicAccessBlockConfiguration++instance Prelude.NFData PutPublicAccessBlock where+  rnf PutPublicAccessBlock' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf contentMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf publicAccessBlockConfiguration++instance Data.ToElement PutPublicAccessBlock where+  toElement PutPublicAccessBlock' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}PublicAccessBlockConfiguration"+      publicAccessBlockConfiguration++instance Data.ToHeaders PutPublicAccessBlock where+  toHeaders PutPublicAccessBlock' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner+      ]++instance Data.ToPath PutPublicAccessBlock where+  toPath PutPublicAccessBlock' {..} =+    Prelude.mconcat ["/", Data.toBS bucket]++instance Data.ToQuery PutPublicAccessBlock where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["publicAccessBlock"])++-- | /See:/ 'newPutPublicAccessBlockResponse' smart constructor.+data PutPublicAccessBlockResponse = PutPublicAccessBlockResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PutPublicAccessBlockResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newPutPublicAccessBlockResponse ::+  PutPublicAccessBlockResponse+newPutPublicAccessBlockResponse =+  PutPublicAccessBlockResponse'++instance Prelude.NFData PutPublicAccessBlockResponse where+  rnf _ = ()
+ gen/Amazonka/S3/RestoreObject.hs view
@@ -0,0 +1,579 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.RestoreObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Restores an archived copy of an object back into Amazon S3+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- This action performs the following types of requests:+--+-- -   @select@ - Perform a select query on an archived object+--+-- -   @restore an archive@ - Restore an archived object+--+-- To use this operation, you must have permissions to perform the+-- @s3:RestoreObject@ action. The bucket owner has this permission by+-- default and can grant this permission to others. For more information+-- about permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources Permissions Related to Bucket Subresource Operations>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html Managing Access Permissions to Your Amazon S3 Resources>+-- in the /Amazon S3 User Guide/.+--+-- __Querying Archives with Select Requests__+--+-- You use a select type of request to perform SQL queries on archived+-- objects. The archived objects that are being queried by the select+-- request must be formatted as uncompressed comma-separated values (CSV)+-- files. You can run queries and custom analytics on your archived data+-- without having to restore your data to a hotter Amazon S3 tier. For an+-- overview about select requests, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html Querying Archived Objects>+-- in the /Amazon S3 User Guide/.+--+-- When making a select request, do the following:+--+-- -   Define an output location for the select query\'s output. This must+--     be an Amazon S3 bucket in the same Amazon Web Services Region as the+--     bucket that contains the archive object that is being queried. The+--     Amazon Web Services account that initiates the job must have+--     permissions to write to the S3 bucket. You can specify the storage+--     class and encryption for the output objects stored in the bucket.+--     For more information about output, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html Querying Archived Objects>+--     in the /Amazon S3 User Guide/.+--+--     For more information about the @S3@ structure in the request body,+--     see the following:+--+--     -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html PutObject>+--+--     -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html Managing Access with ACLs>+--         in the /Amazon S3 User Guide/+--+--     -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html Protecting Data Using Server-Side Encryption>+--         in the /Amazon S3 User Guide/+--+-- -   Define the SQL expression for the @SELECT@ type of restoration for+--     your query in the request body\'s @SelectParameters@ structure. You+--     can use expressions like the following examples.+--+--     -   The following expression returns all records from the specified+--         object.+--+--         @SELECT * FROM Object@+--+--     -   Assuming that you are not using any headers for data stored in+--         the object, you can specify columns with positional headers.+--+--         @SELECT s._1, s._2 FROM Object s WHERE s._3 > 100@+--+--     -   If you have headers and you set the @fileHeaderInfo@ in the+--         @CSV@ structure in the request body to @USE@, you can specify+--         headers in the query. (If you set the @fileHeaderInfo@ field to+--         @IGNORE@, the first row is skipped for the query.) You cannot+--         mix ordinal positions with header column names.+--+--         @SELECT s.Id, s.FirstName, s.SSN FROM S3Object s@+--+-- For more information about using SQL with S3 Glacier Select restore, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html SQL Reference for Amazon S3 Select and S3 Glacier Select>+-- in the /Amazon S3 User Guide/.+--+-- When making a select request, you can also do the following:+--+-- -   To expedite your queries, specify the @Expedited@ tier. For more+--     information about tiers, see \"Restoring Archives,\" later in this+--     topic.+--+-- -   Specify details about the data serialization format of both the+--     input object that is being queried and the serialization of the+--     CSV-encoded query results.+--+-- The following are additional important facts about the select feature:+--+-- -   The output results are new Amazon S3 objects. Unlike archive+--     retrievals, they are stored until explicitly deleted-manually or+--     through a lifecycle policy.+--+-- -   You can issue more than one select request on the same Amazon S3+--     object. Amazon S3 doesn\'t deduplicate requests, so avoid issuing+--     duplicate requests.+--+-- -   Amazon S3 accepts a select request even if the object has already+--     been restored. A select request doesn’t return error response @409@.+--+-- __Restoring objects__+--+-- Objects that you archive to the S3 Glacier or S3 Glacier Deep Archive+-- storage class, and S3 Intelligent-Tiering Archive or S3+-- Intelligent-Tiering Deep Archive tiers are not accessible in real time.+-- For objects in Archive Access or Deep Archive Access tiers you must+-- first initiate a restore request, and then wait until the object is+-- moved into the Frequent Access tier. For objects in S3 Glacier or S3+-- Glacier Deep Archive storage classes you must first initiate a restore+-- request, and then wait until a temporary copy of the object is+-- available. To access an archived object, you must restore the object for+-- the duration (number of days) that you specify.+--+-- To restore a specific object version, you can provide a version ID. If+-- you don\'t provide a version ID, Amazon S3 restores the current version.+--+-- When restoring an archived object (or using a select request), you can+-- specify one of the following data access tier options in the @Tier@+-- element of the request body:+--+-- -   @Expedited@ - Expedited retrievals allow you to quickly access your+--     data stored in the S3 Glacier storage class or S3+--     Intelligent-Tiering Archive tier when occasional urgent requests for+--     a subset of archives are required. For all but the largest archived+--     objects (250 MB+), data accessed using Expedited retrievals is+--     typically made available within 1–5 minutes. Provisioned capacity+--     ensures that retrieval capacity for Expedited retrievals is+--     available when you need it. Expedited retrievals and provisioned+--     capacity are not available for objects stored in the S3 Glacier Deep+--     Archive storage class or S3 Intelligent-Tiering Deep Archive tier.+--+-- -   @Standard@ - Standard retrievals allow you to access any of your+--     archived objects within several hours. This is the default option+--     for retrieval requests that do not specify the retrieval option.+--     Standard retrievals typically finish within 3–5 hours for objects+--     stored in the S3 Glacier storage class or S3 Intelligent-Tiering+--     Archive tier. They typically finish within 12 hours for objects+--     stored in the S3 Glacier Deep Archive storage class or S3+--     Intelligent-Tiering Deep Archive tier. Standard retrievals are free+--     for objects stored in S3 Intelligent-Tiering.+--+-- -   @Bulk@ - Bulk retrievals are the lowest-cost retrieval option in S3+--     Glacier, enabling you to retrieve large amounts, even petabytes, of+--     data inexpensively. Bulk retrievals typically finish within 5–12+--     hours for objects stored in the S3 Glacier storage class or S3+--     Intelligent-Tiering Archive tier. They typically finish within 48+--     hours for objects stored in the S3 Glacier Deep Archive storage+--     class or S3 Intelligent-Tiering Deep Archive tier. Bulk retrievals+--     are free for objects stored in S3 Intelligent-Tiering.+--+-- For more information about archive retrieval options and provisioned+-- capacity for @Expedited@ data access, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html Restoring Archived Objects>+-- in the /Amazon S3 User Guide/.+--+-- You can use Amazon S3 restore speed upgrade to change the restore speed+-- to a faster speed while it is in progress. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html#restoring-objects-upgrade-tier.title.html Upgrading the speed of an in-progress restore>+-- in the /Amazon S3 User Guide/.+--+-- To get the status of object restoration, you can send a @HEAD@ request.+-- Operations return the @x-amz-restore@ header, which provides information+-- about the restoration status, in the response. You can use Amazon S3+-- event notifications to notify you when a restore is initiated or+-- completed. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Amazon S3 Event Notifications>+-- in the /Amazon S3 User Guide/.+--+-- After restoring an archived object, you can update the restoration+-- period by reissuing the request with a new period. Amazon S3 updates the+-- restoration period relative to the current time and charges only for the+-- request-there are no data transfer charges. You cannot update the+-- restoration period when Amazon S3 is actively processing your current+-- restore request for the object.+--+-- If your bucket has a lifecycle configuration with a rule that includes+-- an expiration action, the object expiration overrides the life span that+-- you specify in a restore request. For example, if you restore an object+-- copy for 10 days, but the object is scheduled to expire in 3 days,+-- Amazon S3 deletes the object in 3 days. For more information about+-- lifecycle configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html Object Lifecycle Management>+-- in /Amazon S3 User Guide/.+--+-- __Responses__+--+-- A successful action returns either the @200 OK@ or @202 Accepted@ status+-- code.+--+-- -   If the object is not previously restored, then Amazon S3 returns+--     @202 Accepted@ in the response.+--+-- -   If the object is previously restored, Amazon S3 returns @200 OK@ in+--     the response.+--+-- __Special Errors__+--+-- -   -   /Code: RestoreAlreadyInProgress/+--+--     -   /Cause: Object restore is already in progress. (This error does+--         not apply to SELECT type requests.)/+--+--     -   /HTTP Status Code: 409 Conflict/+--+--     -   /SOAP Fault Code Prefix: Client/+--+-- -   -   /Code: GlacierExpeditedRetrievalNotAvailable/+--+--     -   /Cause: expedited retrievals are currently not available. Try+--         again later. (Returned if there is insufficient capacity to+--         process the Expedited request. This error applies only to+--         Expedited retrievals and not to S3 Standard or Bulk+--         retrievals.)/+--+--     -   /HTTP Status Code: 503/+--+--     -   /SOAP Fault Code Prefix: N\/A/+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html GetBucketNotificationConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html SQL Reference for Amazon S3 Select and S3 Glacier Select>+--     in the /Amazon S3 User Guide/+module Amazonka.S3.RestoreObject+  ( -- * Creating a Request+    RestoreObject (..),+    newRestoreObject,++    -- * Request Lenses+    restoreObject_checksumAlgorithm,+    restoreObject_expectedBucketOwner,+    restoreObject_requestPayer,+    restoreObject_restoreRequest,+    restoreObject_versionId,+    restoreObject_bucket,+    restoreObject_key,++    -- * Destructuring the Response+    RestoreObjectResponse (..),+    newRestoreObjectResponse,++    -- * Response Lenses+    restoreObjectResponse_requestCharged,+    restoreObjectResponse_restoreOutputPath,+    restoreObjectResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newRestoreObject' smart constructor.+data RestoreObject = RestoreObject'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    restoreRequest :: Prelude.Maybe RestoreRequest,+    -- | VersionId used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | The bucket name containing the object to restore.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which the action was initiated.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'restoreObject_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- 'expectedBucketOwner', 'restoreObject_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'restoreObject_requestPayer' - Undocumented member.+--+-- 'restoreRequest', 'restoreObject_restoreRequest' - Undocumented member.+--+-- 'versionId', 'restoreObject_versionId' - VersionId used to reference a specific version of the object.+--+-- 'bucket', 'restoreObject_bucket' - The bucket name containing the object to restore.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'restoreObject_key' - Object key for which the action was initiated.+newRestoreObject ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  RestoreObject+newRestoreObject pBucket_ pKey_ =+  RestoreObject'+    { checksumAlgorithm = Prelude.Nothing,+      expectedBucketOwner = Prelude.Nothing,+      requestPayer = Prelude.Nothing,+      restoreRequest = Prelude.Nothing,+      versionId = Prelude.Nothing,+      bucket = pBucket_,+      key = pKey_+    }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+restoreObject_checksumAlgorithm :: Lens.Lens' RestoreObject (Prelude.Maybe ChecksumAlgorithm)+restoreObject_checksumAlgorithm = Lens.lens (\RestoreObject' {checksumAlgorithm} -> checksumAlgorithm) (\s@RestoreObject' {} a -> s {checksumAlgorithm = a} :: RestoreObject)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+restoreObject_expectedBucketOwner :: Lens.Lens' RestoreObject (Prelude.Maybe Prelude.Text)+restoreObject_expectedBucketOwner = Lens.lens (\RestoreObject' {expectedBucketOwner} -> expectedBucketOwner) (\s@RestoreObject' {} a -> s {expectedBucketOwner = a} :: RestoreObject)++-- | Undocumented member.+restoreObject_requestPayer :: Lens.Lens' RestoreObject (Prelude.Maybe RequestPayer)+restoreObject_requestPayer = Lens.lens (\RestoreObject' {requestPayer} -> requestPayer) (\s@RestoreObject' {} a -> s {requestPayer = a} :: RestoreObject)++-- | Undocumented member.+restoreObject_restoreRequest :: Lens.Lens' RestoreObject (Prelude.Maybe RestoreRequest)+restoreObject_restoreRequest = Lens.lens (\RestoreObject' {restoreRequest} -> restoreRequest) (\s@RestoreObject' {} a -> s {restoreRequest = a} :: RestoreObject)++-- | VersionId used to reference a specific version of the object.+restoreObject_versionId :: Lens.Lens' RestoreObject (Prelude.Maybe ObjectVersionId)+restoreObject_versionId = Lens.lens (\RestoreObject' {versionId} -> versionId) (\s@RestoreObject' {} a -> s {versionId = a} :: RestoreObject)++-- | The bucket name containing the object to restore.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+restoreObject_bucket :: Lens.Lens' RestoreObject BucketName+restoreObject_bucket = Lens.lens (\RestoreObject' {bucket} -> bucket) (\s@RestoreObject' {} a -> s {bucket = a} :: RestoreObject)++-- | Object key for which the action was initiated.+restoreObject_key :: Lens.Lens' RestoreObject ObjectKey+restoreObject_key = Lens.lens (\RestoreObject' {key} -> key) (\s@RestoreObject' {} a -> s {key = a} :: RestoreObject)++instance Core.AWSRequest RestoreObject where+  type+    AWSResponse RestoreObject =+      RestoreObjectResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.postXML (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          RestoreObjectResponse'+            Prelude.<$> (h Data..#? "x-amz-request-charged")+            Prelude.<*> (h Data..#? "x-amz-restore-output-path")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable RestoreObject where+  hashWithSalt _salt RestoreObject' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` restoreRequest+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key++instance Prelude.NFData RestoreObject where+  rnf RestoreObject' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf restoreRequest+      `Prelude.seq` Prelude.rnf versionId+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key++instance Data.ToElement RestoreObject where+  toElement RestoreObject' {..} =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}RestoreRequest"+      restoreRequest++instance Data.ToHeaders RestoreObject where+  toHeaders RestoreObject' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer+      ]++instance Data.ToPath RestoreObject where+  toPath RestoreObject' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery RestoreObject where+  toQuery RestoreObject' {..} =+    Prelude.mconcat+      ["versionId" Data.=: versionId, "restore"]++-- | /See:/ 'newRestoreObjectResponse' smart constructor.+data RestoreObjectResponse = RestoreObjectResponse'+  { requestCharged :: Prelude.Maybe RequestCharged,+    -- | Indicates the path in the provided S3 output location where Select+    -- results will be restored to.+    restoreOutputPath :: Prelude.Maybe Prelude.Text,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'requestCharged', 'restoreObjectResponse_requestCharged' - Undocumented member.+--+-- 'restoreOutputPath', 'restoreObjectResponse_restoreOutputPath' - Indicates the path in the provided S3 output location where Select+-- results will be restored to.+--+-- 'httpStatus', 'restoreObjectResponse_httpStatus' - The response's http status code.+newRestoreObjectResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  RestoreObjectResponse+newRestoreObjectResponse pHttpStatus_ =+  RestoreObjectResponse'+    { requestCharged =+        Prelude.Nothing,+      restoreOutputPath = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Undocumented member.+restoreObjectResponse_requestCharged :: Lens.Lens' RestoreObjectResponse (Prelude.Maybe RequestCharged)+restoreObjectResponse_requestCharged = Lens.lens (\RestoreObjectResponse' {requestCharged} -> requestCharged) (\s@RestoreObjectResponse' {} a -> s {requestCharged = a} :: RestoreObjectResponse)++-- | Indicates the path in the provided S3 output location where Select+-- results will be restored to.+restoreObjectResponse_restoreOutputPath :: Lens.Lens' RestoreObjectResponse (Prelude.Maybe Prelude.Text)+restoreObjectResponse_restoreOutputPath = Lens.lens (\RestoreObjectResponse' {restoreOutputPath} -> restoreOutputPath) (\s@RestoreObjectResponse' {} a -> s {restoreOutputPath = a} :: RestoreObjectResponse)++-- | The response's http status code.+restoreObjectResponse_httpStatus :: Lens.Lens' RestoreObjectResponse Prelude.Int+restoreObjectResponse_httpStatus = Lens.lens (\RestoreObjectResponse' {httpStatus} -> httpStatus) (\s@RestoreObjectResponse' {} a -> s {httpStatus = a} :: RestoreObjectResponse)++instance Prelude.NFData RestoreObjectResponse where+  rnf RestoreObjectResponse' {..} =+    Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf restoreOutputPath+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/SelectObjectContent.hs view
@@ -0,0 +1,536 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.SelectObjectContent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- This action filters the contents of an Amazon S3 object based on a+-- simple structured query language (SQL) statement. In the request, along+-- with the SQL expression, you must also specify a data serialization+-- format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this+-- format to parse object data into records, and returns only records that+-- match the specified SQL expression. You must also specify the data+-- serialization format for the response.+--+-- This action is not supported by Amazon S3 on Outposts.+--+-- For more information about Amazon S3 Select, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html Selecting Content from Objects>+-- and+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html SELECT Command>+-- in the /Amazon S3 User Guide/.+--+-- For more information about using SQL with Amazon S3 Select, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html SQL Reference for Amazon S3 Select and S3 Glacier Select>+-- in the /Amazon S3 User Guide/.+--+-- __Permissions__+--+-- You must have @s3:GetObject@ permission for this operation. Amazon S3+-- Select does not support anonymous access. For more information about+-- permissions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html Specifying Permissions in a Policy>+-- in the /Amazon S3 User Guide/.+--+-- /Object Data Formats/+--+-- You can use Amazon S3 Select to query objects that have the following+-- format properties:+--+-- -   /CSV, JSON, and Parquet/ - Objects must be in CSV, JSON, or Parquet+--     format.+--+-- -   /UTF-8/ - UTF-8 is the only encoding type Amazon S3 Select supports.+--+-- -   /GZIP or BZIP2/ - CSV and JSON files can be compressed using GZIP or+--     BZIP2. GZIP and BZIP2 are the only compression formats that Amazon+--     S3 Select supports for CSV and JSON files. Amazon S3 Select supports+--     columnar compression for Parquet using GZIP or Snappy. Amazon S3+--     Select does not support whole-object compression for Parquet+--     objects.+--+-- -   /Server-side encryption/ - Amazon S3 Select supports querying+--     objects that are protected with server-side encryption.+--+--     For objects that are encrypted with customer-provided encryption+--     keys (SSE-C), you must use HTTPS, and you must use the headers that+--     are documented in the+--     <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>.+--     For more information about SSE-C, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys)>+--     in the /Amazon S3 User Guide/.+--+--     For objects that are encrypted with Amazon S3 managed encryption+--     keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),+--     server-side encryption is handled transparently, so you don\'t need+--     to specify anything. For more information about server-side+--     encryption, including SSE-S3 and SSE-KMS, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html Protecting Data Using Server-Side Encryption>+--     in the /Amazon S3 User Guide/.+--+-- __Working with the Response Body__+--+-- Given the response size is unknown, Amazon S3 Select streams the+-- response as a series of messages and includes a @Transfer-Encoding@+-- header with @chunked@ as its value in the response. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html Appendix: SelectObjectContent Response>.+--+-- __GetObject Support__+--+-- The @SelectObjectContent@ action does not support the following+-- @GetObject@ functionality. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>.+--+-- -   @Range@: Although you can specify a scan range for an Amazon S3+--     Select request (see+--     <https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange SelectObjectContentRequest - ScanRange>+--     in the request parameters), you cannot specify the range of bytes of+--     an object to return.+--+-- -   GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You+--     cannot specify the GLACIER, DEEP_ARCHIVE, or @REDUCED_REDUNDANCY@+--     storage classes. For more information, about storage classes see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro Storage Classes>+--     in the /Amazon S3 User Guide/.+--+-- __Special Errors__+--+-- For a list of special errors for this operation, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList List of SELECT Object Content Error Codes>+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html GetBucketLifecycleConfiguration>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html PutBucketLifecycleConfiguration>+module Amazonka.S3.SelectObjectContent+  ( -- * Creating a Request+    SelectObjectContent (..),+    newSelectObjectContent,++    -- * Request Lenses+    selectObjectContent_expectedBucketOwner,+    selectObjectContent_requestProgress,+    selectObjectContent_sSECustomerAlgorithm,+    selectObjectContent_sSECustomerKey,+    selectObjectContent_sSECustomerKeyMD5,+    selectObjectContent_scanRange,+    selectObjectContent_bucket,+    selectObjectContent_key,+    selectObjectContent_expression,+    selectObjectContent_expressionType,+    selectObjectContent_inputSerialization,+    selectObjectContent_outputSerialization,++    -- * Destructuring the Response+    SelectObjectContentResponse (..),+    newSelectObjectContentResponse,++    -- * Response Lenses+    selectObjectContentResponse_payload,+    selectObjectContentResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | Request to filter the contents of an Amazon S3 object based on a simple+-- Structured Query Language (SQL) statement. In the request, along with+-- the SQL expression, you must specify a data serialization format (JSON+-- or CSV) of the object. Amazon S3 uses this to parse object data into+-- records. It returns only records that match the specified SQL+-- expression. You must also specify the data serialization format for the+-- response. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html S3Select API Documentation>.+--+-- /See:/ 'newSelectObjectContent' smart constructor.+data SelectObjectContent = SelectObjectContent'+  { -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | Specifies if periodic request progress information should be enabled.+    requestProgress :: Prelude.Maybe RequestProgress,+    -- | The server-side encryption (SSE) algorithm used to encrypt the object.+    -- This parameter is needed only when the object was created using a+    -- checksum algorithm. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | The server-side encryption (SSE) customer managed key. This parameter is+    -- needed only when the object was created using a checksum algorithm. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The MD5 server-side encryption (SSE) customer managed key. This+    -- parameter is needed only when the object was created using a checksum+    -- algorithm. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+    -- in the /Amazon S3 User Guide/.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | Specifies the byte range of the object to get the records from. A record+    -- is processed when its first byte is contained by the range. This+    -- parameter is optional, but when specified, it must not be empty. See RFC+    -- 2616, Section 14.35.1 about how to specify the start and end of the+    -- range.+    --+    -- @ScanRange@may be used in the following ways:+    --+    -- -   @\<scanrange>\<start>50\<\/start>\<end>100\<\/end>\<\/scanrange>@ -+    --     process only the records starting between the bytes 50 and 100+    --     (inclusive, counting from zero)+    --+    -- -   @\<scanrange>\<start>50\<\/start>\<\/scanrange>@ - process only the+    --     records starting after the byte 50+    --+    -- -   @\<scanrange>\<end>50\<\/end>\<\/scanrange>@ - process only the+    --     records within the last 50 bytes of the file.+    scanRange :: Prelude.Maybe ScanRange,+    -- | The S3 bucket.+    bucket :: BucketName,+    -- | The object key.+    key :: ObjectKey,+    -- | The expression that is used to query the object.+    expression :: Prelude.Text,+    -- | The type of the provided expression (for example, SQL).+    expressionType :: ExpressionType,+    -- | Describes the format of the data in the object that is being queried.+    inputSerialization :: InputSerialization,+    -- | Describes the format of the data that you want Amazon S3 to return in+    -- response.+    outputSerialization :: OutputSerialization+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectObjectContent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'expectedBucketOwner', 'selectObjectContent_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestProgress', 'selectObjectContent_requestProgress' - Specifies if periodic request progress information should be enabled.+--+-- 'sSECustomerAlgorithm', 'selectObjectContent_sSECustomerAlgorithm' - The server-side encryption (SSE) algorithm used to encrypt the object.+-- This parameter is needed only when the object was created using a+-- checksum algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'sSECustomerKey', 'selectObjectContent_sSECustomerKey' - The server-side encryption (SSE) customer managed key. This parameter is+-- needed only when the object was created using a checksum algorithm. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'sSECustomerKeyMD5', 'selectObjectContent_sSECustomerKeyMD5' - The MD5 server-side encryption (SSE) customer managed key. This+-- parameter is needed only when the object was created using a checksum+-- algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+--+-- 'scanRange', 'selectObjectContent_scanRange' - Specifies the byte range of the object to get the records from. A record+-- is processed when its first byte is contained by the range. This+-- parameter is optional, but when specified, it must not be empty. See RFC+-- 2616, Section 14.35.1 about how to specify the start and end of the+-- range.+--+-- @ScanRange@may be used in the following ways:+--+-- -   @\<scanrange>\<start>50\<\/start>\<end>100\<\/end>\<\/scanrange>@ -+--     process only the records starting between the bytes 50 and 100+--     (inclusive, counting from zero)+--+-- -   @\<scanrange>\<start>50\<\/start>\<\/scanrange>@ - process only the+--     records starting after the byte 50+--+-- -   @\<scanrange>\<end>50\<\/end>\<\/scanrange>@ - process only the+--     records within the last 50 bytes of the file.+--+-- 'bucket', 'selectObjectContent_bucket' - The S3 bucket.+--+-- 'key', 'selectObjectContent_key' - The object key.+--+-- 'expression', 'selectObjectContent_expression' - The expression that is used to query the object.+--+-- 'expressionType', 'selectObjectContent_expressionType' - The type of the provided expression (for example, SQL).+--+-- 'inputSerialization', 'selectObjectContent_inputSerialization' - Describes the format of the data in the object that is being queried.+--+-- 'outputSerialization', 'selectObjectContent_outputSerialization' - Describes the format of the data that you want Amazon S3 to return in+-- response.+newSelectObjectContent ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'expression'+  Prelude.Text ->+  -- | 'expressionType'+  ExpressionType ->+  -- | 'inputSerialization'+  InputSerialization ->+  -- | 'outputSerialization'+  OutputSerialization ->+  SelectObjectContent+newSelectObjectContent+  pBucket_+  pKey_+  pExpression_+  pExpressionType_+  pInputSerialization_+  pOutputSerialization_ =+    SelectObjectContent'+      { expectedBucketOwner =+          Prelude.Nothing,+        requestProgress = Prelude.Nothing,+        sSECustomerAlgorithm = Prelude.Nothing,+        sSECustomerKey = Prelude.Nothing,+        sSECustomerKeyMD5 = Prelude.Nothing,+        scanRange = Prelude.Nothing,+        bucket = pBucket_,+        key = pKey_,+        expression = pExpression_,+        expressionType = pExpressionType_,+        inputSerialization = pInputSerialization_,+        outputSerialization = pOutputSerialization_+      }++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+selectObjectContent_expectedBucketOwner :: Lens.Lens' SelectObjectContent (Prelude.Maybe Prelude.Text)+selectObjectContent_expectedBucketOwner = Lens.lens (\SelectObjectContent' {expectedBucketOwner} -> expectedBucketOwner) (\s@SelectObjectContent' {} a -> s {expectedBucketOwner = a} :: SelectObjectContent)++-- | Specifies if periodic request progress information should be enabled.+selectObjectContent_requestProgress :: Lens.Lens' SelectObjectContent (Prelude.Maybe RequestProgress)+selectObjectContent_requestProgress = Lens.lens (\SelectObjectContent' {requestProgress} -> requestProgress) (\s@SelectObjectContent' {} a -> s {requestProgress = a} :: SelectObjectContent)++-- | The server-side encryption (SSE) algorithm used to encrypt the object.+-- This parameter is needed only when the object was created using a+-- checksum algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+selectObjectContent_sSECustomerAlgorithm :: Lens.Lens' SelectObjectContent (Prelude.Maybe Prelude.Text)+selectObjectContent_sSECustomerAlgorithm = Lens.lens (\SelectObjectContent' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@SelectObjectContent' {} a -> s {sSECustomerAlgorithm = a} :: SelectObjectContent)++-- | The server-side encryption (SSE) customer managed key. This parameter is+-- needed only when the object was created using a checksum algorithm. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+selectObjectContent_sSECustomerKey :: Lens.Lens' SelectObjectContent (Prelude.Maybe Prelude.Text)+selectObjectContent_sSECustomerKey = Lens.lens (\SelectObjectContent' {sSECustomerKey} -> sSECustomerKey) (\s@SelectObjectContent' {} a -> s {sSECustomerKey = a} :: SelectObjectContent) Prelude.. Lens.mapping Data._Sensitive++-- | The MD5 server-side encryption (SSE) customer managed key. This+-- parameter is needed only when the object was created using a checksum+-- algorithm. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Protecting data using SSE-C keys>+-- in the /Amazon S3 User Guide/.+selectObjectContent_sSECustomerKeyMD5 :: Lens.Lens' SelectObjectContent (Prelude.Maybe Prelude.Text)+selectObjectContent_sSECustomerKeyMD5 = Lens.lens (\SelectObjectContent' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@SelectObjectContent' {} a -> s {sSECustomerKeyMD5 = a} :: SelectObjectContent)++-- | Specifies the byte range of the object to get the records from. A record+-- is processed when its first byte is contained by the range. This+-- parameter is optional, but when specified, it must not be empty. See RFC+-- 2616, Section 14.35.1 about how to specify the start and end of the+-- range.+--+-- @ScanRange@may be used in the following ways:+--+-- -   @\<scanrange>\<start>50\<\/start>\<end>100\<\/end>\<\/scanrange>@ -+--     process only the records starting between the bytes 50 and 100+--     (inclusive, counting from zero)+--+-- -   @\<scanrange>\<start>50\<\/start>\<\/scanrange>@ - process only the+--     records starting after the byte 50+--+-- -   @\<scanrange>\<end>50\<\/end>\<\/scanrange>@ - process only the+--     records within the last 50 bytes of the file.+selectObjectContent_scanRange :: Lens.Lens' SelectObjectContent (Prelude.Maybe ScanRange)+selectObjectContent_scanRange = Lens.lens (\SelectObjectContent' {scanRange} -> scanRange) (\s@SelectObjectContent' {} a -> s {scanRange = a} :: SelectObjectContent)++-- | The S3 bucket.+selectObjectContent_bucket :: Lens.Lens' SelectObjectContent BucketName+selectObjectContent_bucket = Lens.lens (\SelectObjectContent' {bucket} -> bucket) (\s@SelectObjectContent' {} a -> s {bucket = a} :: SelectObjectContent)++-- | The object key.+selectObjectContent_key :: Lens.Lens' SelectObjectContent ObjectKey+selectObjectContent_key = Lens.lens (\SelectObjectContent' {key} -> key) (\s@SelectObjectContent' {} a -> s {key = a} :: SelectObjectContent)++-- | The expression that is used to query the object.+selectObjectContent_expression :: Lens.Lens' SelectObjectContent Prelude.Text+selectObjectContent_expression = Lens.lens (\SelectObjectContent' {expression} -> expression) (\s@SelectObjectContent' {} a -> s {expression = a} :: SelectObjectContent)++-- | The type of the provided expression (for example, SQL).+selectObjectContent_expressionType :: Lens.Lens' SelectObjectContent ExpressionType+selectObjectContent_expressionType = Lens.lens (\SelectObjectContent' {expressionType} -> expressionType) (\s@SelectObjectContent' {} a -> s {expressionType = a} :: SelectObjectContent)++-- | Describes the format of the data in the object that is being queried.+selectObjectContent_inputSerialization :: Lens.Lens' SelectObjectContent InputSerialization+selectObjectContent_inputSerialization = Lens.lens (\SelectObjectContent' {inputSerialization} -> inputSerialization) (\s@SelectObjectContent' {} a -> s {inputSerialization = a} :: SelectObjectContent)++-- | Describes the format of the data that you want Amazon S3 to return in+-- response.+selectObjectContent_outputSerialization :: Lens.Lens' SelectObjectContent OutputSerialization+selectObjectContent_outputSerialization = Lens.lens (\SelectObjectContent' {outputSerialization} -> outputSerialization) (\s@SelectObjectContent' {} a -> s {outputSerialization = a} :: SelectObjectContent)++instance Core.AWSRequest SelectObjectContent where+  type+    AWSResponse SelectObjectContent =+      SelectObjectContentResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.postXML (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          SelectObjectContentResponse'+            Prelude.<$> (Data.parseXML x)+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable SelectObjectContent where+  hashWithSalt _salt SelectObjectContent' {..} =+    _salt+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` requestProgress+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` scanRange+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` expressionType+      `Prelude.hashWithSalt` inputSerialization+      `Prelude.hashWithSalt` outputSerialization++instance Prelude.NFData SelectObjectContent where+  rnf SelectObjectContent' {..} =+    Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf requestProgress+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf scanRange+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf expressionType+      `Prelude.seq` Prelude.rnf inputSerialization+      `Prelude.seq` Prelude.rnf outputSerialization++instance Data.ToElement SelectObjectContent where+  toElement =+    Data.mkElement+      "{http://s3.amazonaws.com/doc/2006-03-01/}SelectObjectContentRequest"++instance Data.ToHeaders SelectObjectContent where+  toHeaders SelectObjectContent' {..} =+    Prelude.mconcat+      [ "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5+      ]++instance Data.ToPath SelectObjectContent where+  toPath SelectObjectContent' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery SelectObjectContent where+  toQuery =+    Prelude.const+      (Prelude.mconcat ["select&select-type=2"])++instance Data.ToXML SelectObjectContent where+  toXML SelectObjectContent' {..} =+    Prelude.mconcat+      [ "RequestProgress" Data.@= requestProgress,+        "ScanRange" Data.@= scanRange,+        "Expression" Data.@= expression,+        "ExpressionType" Data.@= expressionType,+        "InputSerialization" Data.@= inputSerialization,+        "OutputSerialization" Data.@= outputSerialization+      ]++-- | /See:/ 'newSelectObjectContentResponse' smart constructor.+data SelectObjectContentResponse = SelectObjectContentResponse'+  { -- | The array of results.+    payload :: Prelude.Maybe SelectObjectContentEventStream,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectObjectContentResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'selectObjectContentResponse_payload' - The array of results.+--+-- 'httpStatus', 'selectObjectContentResponse_httpStatus' - The response's http status code.+newSelectObjectContentResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  SelectObjectContentResponse+newSelectObjectContentResponse pHttpStatus_ =+  SelectObjectContentResponse'+    { payload =+        Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | The array of results.+selectObjectContentResponse_payload :: Lens.Lens' SelectObjectContentResponse (Prelude.Maybe SelectObjectContentEventStream)+selectObjectContentResponse_payload = Lens.lens (\SelectObjectContentResponse' {payload} -> payload) (\s@SelectObjectContentResponse' {} a -> s {payload = a} :: SelectObjectContentResponse)++-- | The response's http status code.+selectObjectContentResponse_httpStatus :: Lens.Lens' SelectObjectContentResponse Prelude.Int+selectObjectContentResponse_httpStatus = Lens.lens (\SelectObjectContentResponse' {httpStatus} -> httpStatus) (\s@SelectObjectContentResponse' {} a -> s {httpStatus = a} :: SelectObjectContentResponse)++instance Prelude.NFData SelectObjectContentResponse where+  rnf SelectObjectContentResponse' {..} =+    Prelude.rnf payload+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/Types.hs view
@@ -0,0 +1,1428 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types+  ( -- * Service Configuration+    defaultService,++    -- * Errors+    _BucketAlreadyExists,+    _BucketAlreadyOwnedByYou,+    _InvalidObjectState,+    _NoSuchBucket,+    _NoSuchKey,+    _NoSuchUpload,+    _ObjectAlreadyInActiveTierError,+    _ObjectNotInActiveTierError,++    -- * Re-exported Types+    module Amazonka.S3.Internal,++    -- * AnalyticsS3ExportFileFormat+    AnalyticsS3ExportFileFormat (..),++    -- * ArchiveStatus+    ArchiveStatus (..),++    -- * BucketAccelerateStatus+    BucketAccelerateStatus (..),++    -- * BucketCannedACL+    BucketCannedACL (..),++    -- * BucketLogsPermission+    BucketLogsPermission (..),++    -- * BucketVersioningStatus+    BucketVersioningStatus (..),++    -- * ChecksumAlgorithm+    ChecksumAlgorithm (..),++    -- * ChecksumMode+    ChecksumMode (..),++    -- * CompressionType+    CompressionType (..),++    -- * DeleteMarkerReplicationStatus+    DeleteMarkerReplicationStatus (..),++    -- * EncodingType+    EncodingType (..),++    -- * Event+    Event (..),++    -- * ExistingObjectReplicationStatus+    ExistingObjectReplicationStatus (..),++    -- * ExpirationStatus+    ExpirationStatus (..),++    -- * ExpressionType+    ExpressionType (..),++    -- * FileHeaderInfo+    FileHeaderInfo (..),++    -- * FilterRuleName+    FilterRuleName (..),++    -- * IntelligentTieringAccessTier+    IntelligentTieringAccessTier (..),++    -- * IntelligentTieringStatus+    IntelligentTieringStatus (..),++    -- * InventoryFormat+    InventoryFormat (..),++    -- * InventoryFrequency+    InventoryFrequency (..),++    -- * InventoryIncludedObjectVersions+    InventoryIncludedObjectVersions (..),++    -- * InventoryOptionalField+    InventoryOptionalField (..),++    -- * JSONType+    JSONType (..),++    -- * MFADelete+    MFADelete (..),++    -- * MFADeleteStatus+    MFADeleteStatus (..),++    -- * MetadataDirective+    MetadataDirective (..),++    -- * MetricsStatus+    MetricsStatus (..),++    -- * ObjectAttributes+    ObjectAttributes (..),++    -- * ObjectCannedACL+    ObjectCannedACL (..),++    -- * ObjectLockEnabled+    ObjectLockEnabled (..),++    -- * ObjectLockLegalHoldStatus+    ObjectLockLegalHoldStatus (..),++    -- * ObjectLockMode+    ObjectLockMode (..),++    -- * ObjectLockRetentionMode+    ObjectLockRetentionMode (..),++    -- * ObjectOwnership+    ObjectOwnership (..),++    -- * ObjectStorageClass+    ObjectStorageClass (..),++    -- * ObjectVersionStorageClass+    ObjectVersionStorageClass (..),++    -- * OwnerOverride+    OwnerOverride (..),++    -- * Payer+    Payer (..),++    -- * Permission+    Permission (..),++    -- * Protocol+    Protocol (..),++    -- * QuoteFields+    QuoteFields (..),++    -- * ReplicaModificationsStatus+    ReplicaModificationsStatus (..),++    -- * ReplicationRuleStatus+    ReplicationRuleStatus (..),++    -- * ReplicationStatus+    ReplicationStatus (..),++    -- * ReplicationTimeStatus+    ReplicationTimeStatus (..),++    -- * RequestCharged+    RequestCharged (..),++    -- * RequestPayer+    RequestPayer (..),++    -- * RestoreRequestType+    RestoreRequestType (..),++    -- * ServerSideEncryption+    ServerSideEncryption (..),++    -- * SseKmsEncryptedObjectsStatus+    SseKmsEncryptedObjectsStatus (..),++    -- * StorageClass+    StorageClass (..),++    -- * StorageClassAnalysisSchemaVersion+    StorageClassAnalysisSchemaVersion (..),++    -- * TaggingDirective+    TaggingDirective (..),++    -- * Tier+    Tier (..),++    -- * TransitionStorageClass+    TransitionStorageClass (..),++    -- * Type+    Type (..),++    -- * AbortIncompleteMultipartUpload+    AbortIncompleteMultipartUpload (..),+    newAbortIncompleteMultipartUpload,+    abortIncompleteMultipartUpload_daysAfterInitiation,++    -- * AccelerateConfiguration+    AccelerateConfiguration (..),+    newAccelerateConfiguration,+    accelerateConfiguration_status,++    -- * AccessControlPolicy+    AccessControlPolicy (..),+    newAccessControlPolicy,+    accessControlPolicy_grants,+    accessControlPolicy_owner,++    -- * AccessControlTranslation+    AccessControlTranslation (..),+    newAccessControlTranslation,+    accessControlTranslation_owner,++    -- * AnalyticsAndOperator+    AnalyticsAndOperator (..),+    newAnalyticsAndOperator,+    analyticsAndOperator_prefix,+    analyticsAndOperator_tags,++    -- * AnalyticsConfiguration+    AnalyticsConfiguration (..),+    newAnalyticsConfiguration,+    analyticsConfiguration_filter,+    analyticsConfiguration_id,+    analyticsConfiguration_storageClassAnalysis,++    -- * AnalyticsExportDestination+    AnalyticsExportDestination (..),+    newAnalyticsExportDestination,+    analyticsExportDestination_s3BucketDestination,++    -- * AnalyticsFilter+    AnalyticsFilter (..),+    newAnalyticsFilter,+    analyticsFilter_and,+    analyticsFilter_prefix,+    analyticsFilter_tag,++    -- * AnalyticsS3BucketDestination+    AnalyticsS3BucketDestination (..),+    newAnalyticsS3BucketDestination,+    analyticsS3BucketDestination_bucketAccountId,+    analyticsS3BucketDestination_prefix,+    analyticsS3BucketDestination_format,+    analyticsS3BucketDestination_bucket,++    -- * Bucket+    Bucket (..),+    newBucket,+    bucket_creationDate,+    bucket_name,++    -- * BucketLifecycleConfiguration+    BucketLifecycleConfiguration (..),+    newBucketLifecycleConfiguration,+    bucketLifecycleConfiguration_rules,++    -- * BucketLoggingStatus+    BucketLoggingStatus (..),+    newBucketLoggingStatus,+    bucketLoggingStatus_loggingEnabled,++    -- * CORSConfiguration+    CORSConfiguration (..),+    newCORSConfiguration,+    cORSConfiguration_cORSRules,++    -- * CORSRule+    CORSRule (..),+    newCORSRule,+    cORSRule_allowedHeaders,+    cORSRule_exposeHeaders,+    cORSRule_id,+    cORSRule_maxAgeSeconds,+    cORSRule_allowedMethods,+    cORSRule_allowedOrigins,++    -- * CSVInput+    CSVInput (..),+    newCSVInput,+    cSVInput_allowQuotedRecordDelimiter,+    cSVInput_comments,+    cSVInput_fieldDelimiter,+    cSVInput_fileHeaderInfo,+    cSVInput_quoteCharacter,+    cSVInput_quoteEscapeCharacter,+    cSVInput_recordDelimiter,++    -- * CSVOutput+    CSVOutput (..),+    newCSVOutput,+    cSVOutput_fieldDelimiter,+    cSVOutput_quoteCharacter,+    cSVOutput_quoteEscapeCharacter,+    cSVOutput_quoteFields,+    cSVOutput_recordDelimiter,++    -- * Checksum+    Checksum (..),+    newChecksum,+    checksum_checksumCRC32,+    checksum_checksumCRC32C,+    checksum_checksumSHA1,+    checksum_checksumSHA256,++    -- * CommonPrefix+    CommonPrefix (..),+    newCommonPrefix,+    commonPrefix_prefix,++    -- * CompletedMultipartUpload+    CompletedMultipartUpload (..),+    newCompletedMultipartUpload,+    completedMultipartUpload_parts,++    -- * CompletedPart+    CompletedPart (..),+    newCompletedPart,+    completedPart_checksumCRC32,+    completedPart_checksumCRC32C,+    completedPart_checksumSHA1,+    completedPart_checksumSHA256,+    completedPart_partNumber,+    completedPart_eTag,++    -- * Condition+    Condition (..),+    newCondition,+    condition_httpErrorCodeReturnedEquals,+    condition_keyPrefixEquals,++    -- * ContinuationEvent+    ContinuationEvent (..),+    newContinuationEvent,++    -- * CopyObjectResult+    CopyObjectResult (..),+    newCopyObjectResult,+    copyObjectResult_checksumCRC32,+    copyObjectResult_checksumCRC32C,+    copyObjectResult_checksumSHA1,+    copyObjectResult_checksumSHA256,+    copyObjectResult_eTag,+    copyObjectResult_lastModified,++    -- * CopyPartResult+    CopyPartResult (..),+    newCopyPartResult,+    copyPartResult_checksumCRC32,+    copyPartResult_checksumCRC32C,+    copyPartResult_checksumSHA1,+    copyPartResult_checksumSHA256,+    copyPartResult_eTag,+    copyPartResult_lastModified,++    -- * CreateBucketConfiguration+    CreateBucketConfiguration (..),+    newCreateBucketConfiguration,+    createBucketConfiguration_locationConstraint,++    -- * DefaultRetention+    DefaultRetention (..),+    newDefaultRetention,+    defaultRetention_days,+    defaultRetention_mode,+    defaultRetention_years,++    -- * Delete+    Delete (..),+    newDelete,+    delete_quiet,+    delete_objects,++    -- * DeleteMarkerEntry+    DeleteMarkerEntry (..),+    newDeleteMarkerEntry,+    deleteMarkerEntry_isLatest,+    deleteMarkerEntry_key,+    deleteMarkerEntry_lastModified,+    deleteMarkerEntry_owner,+    deleteMarkerEntry_versionId,++    -- * DeleteMarkerReplication+    DeleteMarkerReplication (..),+    newDeleteMarkerReplication,+    deleteMarkerReplication_status,++    -- * DeletedObject+    DeletedObject (..),+    newDeletedObject,+    deletedObject_deleteMarker,+    deletedObject_deleteMarkerVersionId,+    deletedObject_key,+    deletedObject_versionId,++    -- * Destination+    Destination (..),+    newDestination,+    destination_accessControlTranslation,+    destination_account,+    destination_encryptionConfiguration,+    destination_metrics,+    destination_replicationTime,+    destination_storageClass,+    destination_bucket,++    -- * Encryption+    Encryption (..),+    newEncryption,+    encryption_kmsContext,+    encryption_kmsKeyId,+    encryption_encryptionType,++    -- * EncryptionConfiguration+    EncryptionConfiguration (..),+    newEncryptionConfiguration,+    encryptionConfiguration_replicaKmsKeyID,++    -- * EndEvent+    EndEvent (..),+    newEndEvent,++    -- * ErrorDocument+    ErrorDocument (..),+    newErrorDocument,+    errorDocument_key,++    -- * EventBridgeConfiguration+    EventBridgeConfiguration (..),+    newEventBridgeConfiguration,++    -- * ExistingObjectReplication+    ExistingObjectReplication (..),+    newExistingObjectReplication,+    existingObjectReplication_status,++    -- * FilterRule+    FilterRule (..),+    newFilterRule,+    filterRule_name,+    filterRule_value,++    -- * GetObjectAttributesParts+    GetObjectAttributesParts (..),+    newGetObjectAttributesParts,+    getObjectAttributesParts_isTruncated,+    getObjectAttributesParts_maxParts,+    getObjectAttributesParts_nextPartNumberMarker,+    getObjectAttributesParts_partNumberMarker,+    getObjectAttributesParts_parts,+    getObjectAttributesParts_totalPartsCount,++    -- * GlacierJobParameters+    GlacierJobParameters (..),+    newGlacierJobParameters,+    glacierJobParameters_tier,++    -- * Grant+    Grant (..),+    newGrant,+    grant_grantee,+    grant_permission,++    -- * Grantee+    Grantee (..),+    newGrantee,+    grantee_displayName,+    grantee_emailAddress,+    grantee_id,+    grantee_uri,+    grantee_type,++    -- * IndexDocument+    IndexDocument (..),+    newIndexDocument,+    indexDocument_suffix,++    -- * Initiator+    Initiator (..),+    newInitiator,+    initiator_displayName,+    initiator_id,++    -- * InputSerialization+    InputSerialization (..),+    newInputSerialization,+    inputSerialization_csv,+    inputSerialization_compressionType,+    inputSerialization_json,+    inputSerialization_parquet,++    -- * IntelligentTieringAndOperator+    IntelligentTieringAndOperator (..),+    newIntelligentTieringAndOperator,+    intelligentTieringAndOperator_prefix,+    intelligentTieringAndOperator_tags,++    -- * IntelligentTieringConfiguration+    IntelligentTieringConfiguration (..),+    newIntelligentTieringConfiguration,+    intelligentTieringConfiguration_filter,+    intelligentTieringConfiguration_id,+    intelligentTieringConfiguration_status,+    intelligentTieringConfiguration_tierings,++    -- * IntelligentTieringFilter+    IntelligentTieringFilter (..),+    newIntelligentTieringFilter,+    intelligentTieringFilter_and,+    intelligentTieringFilter_prefix,+    intelligentTieringFilter_tag,++    -- * InventoryConfiguration+    InventoryConfiguration (..),+    newInventoryConfiguration,+    inventoryConfiguration_filter,+    inventoryConfiguration_optionalFields,+    inventoryConfiguration_destination,+    inventoryConfiguration_isEnabled,+    inventoryConfiguration_id,+    inventoryConfiguration_includedObjectVersions,+    inventoryConfiguration_schedule,++    -- * InventoryDestination+    InventoryDestination (..),+    newInventoryDestination,+    inventoryDestination_s3BucketDestination,++    -- * InventoryEncryption+    InventoryEncryption (..),+    newInventoryEncryption,+    inventoryEncryption_ssekms,+    inventoryEncryption_sses3,++    -- * InventoryFilter+    InventoryFilter (..),+    newInventoryFilter,+    inventoryFilter_prefix,++    -- * InventoryS3BucketDestination+    InventoryS3BucketDestination (..),+    newInventoryS3BucketDestination,+    inventoryS3BucketDestination_accountId,+    inventoryS3BucketDestination_encryption,+    inventoryS3BucketDestination_prefix,+    inventoryS3BucketDestination_bucket,+    inventoryS3BucketDestination_format,++    -- * InventorySchedule+    InventorySchedule (..),+    newInventorySchedule,+    inventorySchedule_frequency,++    -- * JSONInput+    JSONInput (..),+    newJSONInput,+    jSONInput_type,++    -- * JSONOutput+    JSONOutput (..),+    newJSONOutput,+    jSONOutput_recordDelimiter,++    -- * LambdaFunctionConfiguration+    LambdaFunctionConfiguration (..),+    newLambdaFunctionConfiguration,+    lambdaFunctionConfiguration_filter,+    lambdaFunctionConfiguration_id,+    lambdaFunctionConfiguration_lambdaFunctionArn,+    lambdaFunctionConfiguration_events,++    -- * LifecycleExpiration+    LifecycleExpiration (..),+    newLifecycleExpiration,+    lifecycleExpiration_date,+    lifecycleExpiration_days,+    lifecycleExpiration_expiredObjectDeleteMarker,++    -- * LifecycleRule+    LifecycleRule (..),+    newLifecycleRule,+    lifecycleRule_abortIncompleteMultipartUpload,+    lifecycleRule_expiration,+    lifecycleRule_filter,+    lifecycleRule_id,+    lifecycleRule_noncurrentVersionExpiration,+    lifecycleRule_noncurrentVersionTransitions,+    lifecycleRule_prefix,+    lifecycleRule_transitions,+    lifecycleRule_status,++    -- * LifecycleRuleAndOperator+    LifecycleRuleAndOperator (..),+    newLifecycleRuleAndOperator,+    lifecycleRuleAndOperator_objectSizeGreaterThan,+    lifecycleRuleAndOperator_objectSizeLessThan,+    lifecycleRuleAndOperator_prefix,+    lifecycleRuleAndOperator_tags,++    -- * LifecycleRuleFilter+    LifecycleRuleFilter (..),+    newLifecycleRuleFilter,+    lifecycleRuleFilter_and,+    lifecycleRuleFilter_objectSizeGreaterThan,+    lifecycleRuleFilter_objectSizeLessThan,+    lifecycleRuleFilter_prefix,+    lifecycleRuleFilter_tag,++    -- * LoggingEnabled+    LoggingEnabled (..),+    newLoggingEnabled,+    loggingEnabled_targetGrants,+    loggingEnabled_targetBucket,+    loggingEnabled_targetPrefix,++    -- * MetadataEntry+    MetadataEntry (..),+    newMetadataEntry,+    metadataEntry_name,+    metadataEntry_value,++    -- * Metrics+    Metrics (..),+    newMetrics,+    metrics_eventThreshold,+    metrics_status,++    -- * MetricsAndOperator+    MetricsAndOperator (..),+    newMetricsAndOperator,+    metricsAndOperator_accessPointArn,+    metricsAndOperator_prefix,+    metricsAndOperator_tags,++    -- * MetricsConfiguration+    MetricsConfiguration (..),+    newMetricsConfiguration,+    metricsConfiguration_filter,+    metricsConfiguration_id,++    -- * MetricsFilter+    MetricsFilter (..),+    newMetricsFilter,+    metricsFilter_accessPointArn,+    metricsFilter_and,+    metricsFilter_prefix,+    metricsFilter_tag,++    -- * MultipartUpload+    MultipartUpload (..),+    newMultipartUpload,+    multipartUpload_checksumAlgorithm,+    multipartUpload_initiated,+    multipartUpload_initiator,+    multipartUpload_key,+    multipartUpload_owner,+    multipartUpload_storageClass,+    multipartUpload_uploadId,++    -- * NoncurrentVersionExpiration+    NoncurrentVersionExpiration (..),+    newNoncurrentVersionExpiration,+    noncurrentVersionExpiration_newerNoncurrentVersions,+    noncurrentVersionExpiration_noncurrentDays,++    -- * NoncurrentVersionTransition+    NoncurrentVersionTransition (..),+    newNoncurrentVersionTransition,+    noncurrentVersionTransition_newerNoncurrentVersions,+    noncurrentVersionTransition_noncurrentDays,+    noncurrentVersionTransition_storageClass,++    -- * NotificationConfiguration+    NotificationConfiguration (..),+    newNotificationConfiguration,+    notificationConfiguration_eventBridgeConfiguration,+    notificationConfiguration_lambdaFunctionConfigurations,+    notificationConfiguration_queueConfigurations,+    notificationConfiguration_topicConfigurations,++    -- * NotificationConfigurationFilter+    NotificationConfigurationFilter (..),+    newNotificationConfigurationFilter,+    notificationConfigurationFilter_key,++    -- * Object+    Object (..),+    newObject,+    object_checksumAlgorithm,+    object_owner,+    object_eTag,+    object_size,+    object_key,+    object_storageClass,+    object_lastModified,++    -- * ObjectIdentifier+    ObjectIdentifier (..),+    newObjectIdentifier,+    objectIdentifier_versionId,+    objectIdentifier_key,++    -- * ObjectLockConfiguration+    ObjectLockConfiguration (..),+    newObjectLockConfiguration,+    objectLockConfiguration_objectLockEnabled,+    objectLockConfiguration_rule,++    -- * ObjectLockLegalHold+    ObjectLockLegalHold (..),+    newObjectLockLegalHold,+    objectLockLegalHold_status,++    -- * ObjectLockRetention+    ObjectLockRetention (..),+    newObjectLockRetention,+    objectLockRetention_mode,+    objectLockRetention_retainUntilDate,++    -- * ObjectLockRule+    ObjectLockRule (..),+    newObjectLockRule,+    objectLockRule_defaultRetention,++    -- * ObjectPart+    ObjectPart (..),+    newObjectPart,+    objectPart_checksumCRC32,+    objectPart_checksumCRC32C,+    objectPart_checksumSHA1,+    objectPart_checksumSHA256,+    objectPart_partNumber,+    objectPart_size,++    -- * ObjectVersion+    ObjectVersion (..),+    newObjectVersion,+    objectVersion_checksumAlgorithm,+    objectVersion_eTag,+    objectVersion_isLatest,+    objectVersion_key,+    objectVersion_lastModified,+    objectVersion_owner,+    objectVersion_size,+    objectVersion_storageClass,+    objectVersion_versionId,++    -- * OutputLocation+    OutputLocation (..),+    newOutputLocation,+    outputLocation_s3,++    -- * OutputSerialization+    OutputSerialization (..),+    newOutputSerialization,+    outputSerialization_csv,+    outputSerialization_json,++    -- * Owner+    Owner (..),+    newOwner,+    owner_displayName,+    owner_id,++    -- * OwnershipControls+    OwnershipControls (..),+    newOwnershipControls,+    ownershipControls_rules,++    -- * OwnershipControlsRule+    OwnershipControlsRule (..),+    newOwnershipControlsRule,+    ownershipControlsRule_objectOwnership,++    -- * ParquetInput+    ParquetInput (..),+    newParquetInput,++    -- * Part+    Part (..),+    newPart,+    part_checksumCRC32,+    part_checksumCRC32C,+    part_checksumSHA1,+    part_checksumSHA256,+    part_eTag,+    part_lastModified,+    part_partNumber,+    part_size,++    -- * PolicyStatus+    PolicyStatus (..),+    newPolicyStatus,+    policyStatus_isPublic,++    -- * Progress+    Progress (..),+    newProgress,+    progress_bytesProcessed,+    progress_bytesReturned,+    progress_bytesScanned,++    -- * ProgressEvent+    ProgressEvent (..),+    newProgressEvent,+    progressEvent_details,++    -- * PublicAccessBlockConfiguration+    PublicAccessBlockConfiguration (..),+    newPublicAccessBlockConfiguration,+    publicAccessBlockConfiguration_blockPublicAcls,+    publicAccessBlockConfiguration_blockPublicPolicy,+    publicAccessBlockConfiguration_ignorePublicAcls,+    publicAccessBlockConfiguration_restrictPublicBuckets,++    -- * QueueConfiguration+    QueueConfiguration (..),+    newQueueConfiguration,+    queueConfiguration_filter,+    queueConfiguration_id,+    queueConfiguration_queueArn,+    queueConfiguration_events,++    -- * RecordsEvent+    RecordsEvent (..),+    newRecordsEvent,+    recordsEvent_payload,++    -- * Redirect+    Redirect (..),+    newRedirect,+    redirect_hostName,+    redirect_httpRedirectCode,+    redirect_protocol,+    redirect_replaceKeyPrefixWith,+    redirect_replaceKeyWith,++    -- * RedirectAllRequestsTo+    RedirectAllRequestsTo (..),+    newRedirectAllRequestsTo,+    redirectAllRequestsTo_protocol,+    redirectAllRequestsTo_hostName,++    -- * ReplicaModifications+    ReplicaModifications (..),+    newReplicaModifications,+    replicaModifications_status,++    -- * ReplicationConfiguration+    ReplicationConfiguration (..),+    newReplicationConfiguration,+    replicationConfiguration_role,+    replicationConfiguration_rules,++    -- * ReplicationRule+    ReplicationRule (..),+    newReplicationRule,+    replicationRule_deleteMarkerReplication,+    replicationRule_existingObjectReplication,+    replicationRule_filter,+    replicationRule_id,+    replicationRule_prefix,+    replicationRule_priority,+    replicationRule_sourceSelectionCriteria,+    replicationRule_status,+    replicationRule_destination,++    -- * ReplicationRuleAndOperator+    ReplicationRuleAndOperator (..),+    newReplicationRuleAndOperator,+    replicationRuleAndOperator_prefix,+    replicationRuleAndOperator_tags,++    -- * ReplicationRuleFilter+    ReplicationRuleFilter (..),+    newReplicationRuleFilter,+    replicationRuleFilter_and,+    replicationRuleFilter_prefix,+    replicationRuleFilter_tag,++    -- * ReplicationTime+    ReplicationTime (..),+    newReplicationTime,+    replicationTime_status,+    replicationTime_time,++    -- * ReplicationTimeValue+    ReplicationTimeValue (..),+    newReplicationTimeValue,+    replicationTimeValue_minutes,++    -- * RequestPaymentConfiguration+    RequestPaymentConfiguration (..),+    newRequestPaymentConfiguration,+    requestPaymentConfiguration_payer,++    -- * RequestProgress+    RequestProgress (..),+    newRequestProgress,+    requestProgress_enabled,++    -- * RestoreRequest+    RestoreRequest (..),+    newRestoreRequest,+    restoreRequest_days,+    restoreRequest_description,+    restoreRequest_glacierJobParameters,+    restoreRequest_outputLocation,+    restoreRequest_selectParameters,+    restoreRequest_tier,+    restoreRequest_type,++    -- * RoutingRule+    RoutingRule (..),+    newRoutingRule,+    routingRule_condition,+    routingRule_redirect,++    -- * S3KeyFilter+    S3KeyFilter (..),+    newS3KeyFilter,+    s3KeyFilter_filterRules,++    -- * S3Location+    S3Location (..),+    newS3Location,+    s3Location_accessControlList,+    s3Location_cannedACL,+    s3Location_encryption,+    s3Location_storageClass,+    s3Location_tagging,+    s3Location_userMetadata,+    s3Location_bucketName,+    s3Location_prefix,++    -- * S3ServiceError+    S3ServiceError (..),+    newS3ServiceError,+    s3ServiceError_code,+    s3ServiceError_key,+    s3ServiceError_message,+    s3ServiceError_versionId,++    -- * SSEKMS+    SSEKMS (..),+    newSSEKMS,+    ssekms_keyId,++    -- * SSES3+    SSES3 (..),+    newSSES3,++    -- * ScanRange+    ScanRange (..),+    newScanRange,+    scanRange_end,+    scanRange_start,++    -- * SelectObjectContentEventStream+    SelectObjectContentEventStream (..),+    newSelectObjectContentEventStream,+    selectObjectContentEventStream_cont,+    selectObjectContentEventStream_end,+    selectObjectContentEventStream_progress,+    selectObjectContentEventStream_records,+    selectObjectContentEventStream_stats,++    -- * SelectParameters+    SelectParameters (..),+    newSelectParameters,+    selectParameters_inputSerialization,+    selectParameters_expressionType,+    selectParameters_expression,+    selectParameters_outputSerialization,++    -- * ServerSideEncryptionByDefault+    ServerSideEncryptionByDefault (..),+    newServerSideEncryptionByDefault,+    serverSideEncryptionByDefault_kmsMasterKeyID,+    serverSideEncryptionByDefault_sSEAlgorithm,++    -- * ServerSideEncryptionConfiguration+    ServerSideEncryptionConfiguration (..),+    newServerSideEncryptionConfiguration,+    serverSideEncryptionConfiguration_rules,++    -- * ServerSideEncryptionRule+    ServerSideEncryptionRule (..),+    newServerSideEncryptionRule,+    serverSideEncryptionRule_applyServerSideEncryptionByDefault,+    serverSideEncryptionRule_bucketKeyEnabled,++    -- * SourceSelectionCriteria+    SourceSelectionCriteria (..),+    newSourceSelectionCriteria,+    sourceSelectionCriteria_replicaModifications,+    sourceSelectionCriteria_sseKmsEncryptedObjects,++    -- * SseKmsEncryptedObjects+    SseKmsEncryptedObjects (..),+    newSseKmsEncryptedObjects,+    sseKmsEncryptedObjects_status,++    -- * Stats+    Stats (..),+    newStats,+    stats_bytesProcessed,+    stats_bytesReturned,+    stats_bytesScanned,++    -- * StatsEvent+    StatsEvent (..),+    newStatsEvent,+    statsEvent_details,++    -- * StorageClassAnalysis+    StorageClassAnalysis (..),+    newStorageClassAnalysis,+    storageClassAnalysis_dataExport,++    -- * StorageClassAnalysisDataExport+    StorageClassAnalysisDataExport (..),+    newStorageClassAnalysisDataExport,+    storageClassAnalysisDataExport_outputSchemaVersion,+    storageClassAnalysisDataExport_destination,++    -- * Tag+    Tag (..),+    newTag,+    tag_key,+    tag_value,++    -- * Tagging+    Tagging (..),+    newTagging,+    tagging_tagSet,++    -- * TargetGrant+    TargetGrant (..),+    newTargetGrant,+    targetGrant_grantee,+    targetGrant_permission,++    -- * Tiering+    Tiering (..),+    newTiering,+    tiering_days,+    tiering_accessTier,++    -- * TopicConfiguration+    TopicConfiguration (..),+    newTopicConfiguration,+    topicConfiguration_filter,+    topicConfiguration_id,+    topicConfiguration_topicArn,+    topicConfiguration_events,++    -- * Transition+    Transition (..),+    newTransition,+    transition_date,+    transition_days,+    transition_storageClass,++    -- * VersioningConfiguration+    VersioningConfiguration (..),+    newVersioningConfiguration,+    versioningConfiguration_mfaDelete,+    versioningConfiguration_status,++    -- * WebsiteConfiguration+    WebsiteConfiguration (..),+    newWebsiteConfiguration,+    websiteConfiguration_errorDocument,+    websiteConfiguration_indexDocument,+    websiteConfiguration_redirectAllRequestsTo,+    websiteConfiguration_routingRules,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal 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.Checksum+import Amazonka.S3.Types.ChecksumAlgorithm+import Amazonka.S3.Types.ChecksumMode+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.EventBridgeConfiguration+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.GetObjectAttributesParts+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.ObjectAttributes+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.ObjectPart+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++-- | API version @2006-03-01@ of the Amazon Simple Storage Service SDK configuration.+defaultService :: Core.Service+defaultService =+  Core.Service+    { Core.abbrev = "S3",+      Core.signer = Sign.v4,+      Core.endpointPrefix = "s3",+      Core.signingName = "s3",+      Core.version = "2006-03-01",+      Core.s3AddressingStyle = Core.S3AddressingStyleAuto,+      Core.endpoint = Core.defaultEndpoint defaultService,+      Core.timeout = Prelude.Just 70,+      Core.check = Core.statusSuccess,+      Core.error = Core.parseXMLError "S3",+      Core.retry = retry+    }+  where+    retry =+      Core.Exponential+        { Core.base = 5.0e-2,+          Core.growth = 2,+          Core.attempts = 5,+          Core.check = check+        }+    check e+      | Lens.has (Core.hasStatus 502) e =+          Prelude.Just "bad_gateway"+      | Lens.has+          ( Core.hasCode "BadDigest"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "contentmd5"+      | Lens.has (Core.hasStatus 504) e =+          Prelude.Just "gateway_timeout"+      | Lens.has (Core.hasStatus 500) e =+          Prelude.Just "general_server_error"+      | Lens.has (Core.hasStatus 509) e =+          Prelude.Just "limit_exceeded"+      | Lens.has+          ( Core.hasCode "RequestThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "request_throttled_exception"+      | Lens.has (Core.hasStatus 503) e =+          Prelude.Just "service_unavailable"+      | Lens.has+          ( Core.hasCode "ThrottledException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttled_exception"+      | Lens.has+          ( Core.hasCode "Throttling"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling"+      | Lens.has+          ( Core.hasCode "ThrottlingException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throttling_exception"+      | Lens.has+          ( Core.hasCode+              "ProvisionedThroughputExceededException"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "throughput_exceeded"+      | Lens.has+          ( Core.hasCode "RequestTimeout"+              Prelude.. Core.hasStatus 400+          )+          e =+          Prelude.Just "timeouts"+      | Lens.has (Core.hasStatus 429) e =+          Prelude.Just "too_many_requests"+      | Prelude.otherwise = Prelude.Nothing++-- | The requested bucket name is not available. The bucket namespace is+-- shared by all users of the system. Select a different name and try+-- again.+_BucketAlreadyExists :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BucketAlreadyExists =+  Core._MatchServiceError+    defaultService+    "BucketAlreadyExists"++-- | The bucket you tried to create already exists, and you own it. Amazon S3+-- returns this error in all Amazon Web Services Regions except in the+-- North Virginia Region. For legacy compatibility, if you re-create an+-- existing bucket that you already own in the North Virginia Region,+-- Amazon S3 returns 200 OK and resets the bucket access control lists+-- (ACLs).+_BucketAlreadyOwnedByYou :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_BucketAlreadyOwnedByYou =+  Core._MatchServiceError+    defaultService+    "BucketAlreadyOwnedByYou"++-- | Object is archived and inaccessible until restored.+_InvalidObjectState :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_InvalidObjectState =+  Core._MatchServiceError+    defaultService+    "InvalidObjectState"++-- | The specified bucket does not exist.+_NoSuchBucket :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NoSuchBucket =+  Core._MatchServiceError+    defaultService+    "NoSuchBucket"++-- | The specified key does not exist.+_NoSuchKey :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NoSuchKey =+  Core._MatchServiceError defaultService "NoSuchKey"++-- | The specified multipart upload does not exist.+_NoSuchUpload :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_NoSuchUpload =+  Core._MatchServiceError+    defaultService+    "NoSuchUpload"++-- | This action is not allowed against this storage tier.+_ObjectAlreadyInActiveTierError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ObjectAlreadyInActiveTierError =+  Core._MatchServiceError+    defaultService+    "ObjectAlreadyInActiveTierError"++-- | The source object of the COPY action is not in the active tier and is+-- only stored in Amazon S3 Glacier.+_ObjectNotInActiveTierError :: (Core.AsError a) => Lens.Fold a Core.ServiceError+_ObjectNotInActiveTierError =+  Core._MatchServiceError+    defaultService+    "ObjectNotInActiveTierError"
+ gen/Amazonka/S3/Types/AbortIncompleteMultipartUpload.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AbortIncompleteMultipartUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AbortIncompleteMultipartUpload where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies the days since the initiation of an incomplete multipart+-- upload that Amazon S3 will wait before permanently removing all parts of+-- the upload. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newAbortIncompleteMultipartUpload' smart constructor.+data AbortIncompleteMultipartUpload = AbortIncompleteMultipartUpload'+  { -- | Specifies the number of days after which Amazon S3 aborts an incomplete+    -- multipart upload.+    daysAfterInitiation :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AbortIncompleteMultipartUpload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'daysAfterInitiation', 'abortIncompleteMultipartUpload_daysAfterInitiation' - Specifies the number of days after which Amazon S3 aborts an incomplete+-- multipart upload.+newAbortIncompleteMultipartUpload ::+  AbortIncompleteMultipartUpload+newAbortIncompleteMultipartUpload =+  AbortIncompleteMultipartUpload'+    { daysAfterInitiation =+        Prelude.Nothing+    }++-- | Specifies the number of days after which Amazon S3 aborts an incomplete+-- multipart upload.+abortIncompleteMultipartUpload_daysAfterInitiation :: Lens.Lens' AbortIncompleteMultipartUpload (Prelude.Maybe Prelude.Int)+abortIncompleteMultipartUpload_daysAfterInitiation = Lens.lens (\AbortIncompleteMultipartUpload' {daysAfterInitiation} -> daysAfterInitiation) (\s@AbortIncompleteMultipartUpload' {} a -> s {daysAfterInitiation = a} :: AbortIncompleteMultipartUpload)++instance Data.FromXML AbortIncompleteMultipartUpload where+  parseXML x =+    AbortIncompleteMultipartUpload'+      Prelude.<$> (x Data..@? "DaysAfterInitiation")++instance+  Prelude.Hashable+    AbortIncompleteMultipartUpload+  where+  hashWithSalt+    _salt+    AbortIncompleteMultipartUpload' {..} =+      _salt `Prelude.hashWithSalt` daysAfterInitiation++instance+  Prelude.NFData+    AbortIncompleteMultipartUpload+  where+  rnf AbortIncompleteMultipartUpload' {..} =+    Prelude.rnf daysAfterInitiation++instance Data.ToXML AbortIncompleteMultipartUpload where+  toXML AbortIncompleteMultipartUpload' {..} =+    Prelude.mconcat+      ["DaysAfterInitiation" Data.@= daysAfterInitiation]
+ gen/Amazonka/S3/Types/AccelerateConfiguration.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AccelerateConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AccelerateConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.BucketAccelerateStatus++-- | Configures the transfer acceleration state for an Amazon S3 bucket. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html Amazon S3 Transfer Acceleration>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newAccelerateConfiguration' smart constructor.+data AccelerateConfiguration = AccelerateConfiguration'+  { -- | Specifies the transfer acceleration status of the bucket.+    status :: Prelude.Maybe BucketAccelerateStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccelerateConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'accelerateConfiguration_status' - Specifies the transfer acceleration status of the bucket.+newAccelerateConfiguration ::+  AccelerateConfiguration+newAccelerateConfiguration =+  AccelerateConfiguration' {status = Prelude.Nothing}++-- | Specifies the transfer acceleration status of the bucket.+accelerateConfiguration_status :: Lens.Lens' AccelerateConfiguration (Prelude.Maybe BucketAccelerateStatus)+accelerateConfiguration_status = Lens.lens (\AccelerateConfiguration' {status} -> status) (\s@AccelerateConfiguration' {} a -> s {status = a} :: AccelerateConfiguration)++instance Prelude.Hashable AccelerateConfiguration where+  hashWithSalt _salt AccelerateConfiguration' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData AccelerateConfiguration where+  rnf AccelerateConfiguration' {..} = Prelude.rnf status++instance Data.ToXML AccelerateConfiguration where+  toXML AccelerateConfiguration' {..} =+    Prelude.mconcat ["Status" Data.@= status]
+ gen/Amazonka/S3/Types/AccessControlPolicy.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AccessControlPolicy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AccessControlPolicy where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Grant+import Amazonka.S3.Types.Owner++-- | Contains the elements that set the ACL permissions for an object per+-- grantee.+--+-- /See:/ 'newAccessControlPolicy' smart constructor.+data AccessControlPolicy = AccessControlPolicy'+  { -- | A list of grants.+    grants :: Prelude.Maybe [Grant],+    -- | Container for the bucket owner\'s display name and ID.+    owner :: Prelude.Maybe Owner+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessControlPolicy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grants', 'accessControlPolicy_grants' - A list of grants.+--+-- 'owner', 'accessControlPolicy_owner' - Container for the bucket owner\'s display name and ID.+newAccessControlPolicy ::+  AccessControlPolicy+newAccessControlPolicy =+  AccessControlPolicy'+    { grants = Prelude.Nothing,+      owner = Prelude.Nothing+    }++-- | A list of grants.+accessControlPolicy_grants :: Lens.Lens' AccessControlPolicy (Prelude.Maybe [Grant])+accessControlPolicy_grants = Lens.lens (\AccessControlPolicy' {grants} -> grants) (\s@AccessControlPolicy' {} a -> s {grants = a} :: AccessControlPolicy) Prelude.. Lens.mapping Lens.coerced++-- | Container for the bucket owner\'s display name and ID.+accessControlPolicy_owner :: Lens.Lens' AccessControlPolicy (Prelude.Maybe Owner)+accessControlPolicy_owner = Lens.lens (\AccessControlPolicy' {owner} -> owner) (\s@AccessControlPolicy' {} a -> s {owner = a} :: AccessControlPolicy)++instance Prelude.Hashable AccessControlPolicy where+  hashWithSalt _salt AccessControlPolicy' {..} =+    _salt+      `Prelude.hashWithSalt` grants+      `Prelude.hashWithSalt` owner++instance Prelude.NFData AccessControlPolicy where+  rnf AccessControlPolicy' {..} =+    Prelude.rnf grants `Prelude.seq` Prelude.rnf owner++instance Data.ToXML AccessControlPolicy where+  toXML AccessControlPolicy' {..} =+    Prelude.mconcat+      [ "AccessControlList"+          Data.@= Data.toXML+            (Data.toXMLList "Grant" Prelude.<$> grants),+        "Owner" Data.@= owner+      ]
+ gen/Amazonka/S3/Types/AccessControlTranslation.hs view
@@ -0,0 +1,78 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AccessControlTranslation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AccessControlTranslation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.OwnerOverride++-- | A container for information about access control for replicas.+--+-- /See:/ 'newAccessControlTranslation' smart constructor.+data AccessControlTranslation = AccessControlTranslation'+  { -- | Specifies the replica ownership. For default and valid values, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html PUT bucket replication>+    -- in the /Amazon S3 API Reference/.+    owner :: OwnerOverride+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AccessControlTranslation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'owner', 'accessControlTranslation_owner' - Specifies the replica ownership. For default and valid values, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html PUT bucket replication>+-- in the /Amazon S3 API Reference/.+newAccessControlTranslation ::+  -- | 'owner'+  OwnerOverride ->+  AccessControlTranslation+newAccessControlTranslation pOwner_ =+  AccessControlTranslation' {owner = pOwner_}++-- | Specifies the replica ownership. For default and valid values, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html PUT bucket replication>+-- in the /Amazon S3 API Reference/.+accessControlTranslation_owner :: Lens.Lens' AccessControlTranslation OwnerOverride+accessControlTranslation_owner = Lens.lens (\AccessControlTranslation' {owner} -> owner) (\s@AccessControlTranslation' {} a -> s {owner = a} :: AccessControlTranslation)++instance Data.FromXML AccessControlTranslation where+  parseXML x =+    AccessControlTranslation'+      Prelude.<$> (x Data..@ "Owner")++instance Prelude.Hashable AccessControlTranslation where+  hashWithSalt _salt AccessControlTranslation' {..} =+    _salt `Prelude.hashWithSalt` owner++instance Prelude.NFData AccessControlTranslation where+  rnf AccessControlTranslation' {..} = Prelude.rnf owner++instance Data.ToXML AccessControlTranslation where+  toXML AccessControlTranslation' {..} =+    Prelude.mconcat ["Owner" Data.@= owner]
+ gen/Amazonka/S3/Types/AnalyticsAndOperator.hs view
@@ -0,0 +1,99 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AnalyticsAndOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AnalyticsAndOperator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tag++-- | A conjunction (logical AND) of predicates, which is used in evaluating a+-- metrics filter. The operator must have at least two predicates in any+-- combination, and an object must match all of the predicates for the+-- filter to apply.+--+-- /See:/ 'newAnalyticsAndOperator' smart constructor.+data AnalyticsAndOperator = AnalyticsAndOperator'+  { -- | The prefix to use when evaluating an AND predicate: The prefix that an+    -- object must have to be included in the metrics results.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The list of tags to use when evaluating an AND predicate.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalyticsAndOperator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prefix', 'analyticsAndOperator_prefix' - The prefix to use when evaluating an AND predicate: The prefix that an+-- object must have to be included in the metrics results.+--+-- 'tags', 'analyticsAndOperator_tags' - The list of tags to use when evaluating an AND predicate.+newAnalyticsAndOperator ::+  AnalyticsAndOperator+newAnalyticsAndOperator =+  AnalyticsAndOperator'+    { prefix = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The prefix to use when evaluating an AND predicate: The prefix that an+-- object must have to be included in the metrics results.+analyticsAndOperator_prefix :: Lens.Lens' AnalyticsAndOperator (Prelude.Maybe Prelude.Text)+analyticsAndOperator_prefix = Lens.lens (\AnalyticsAndOperator' {prefix} -> prefix) (\s@AnalyticsAndOperator' {} a -> s {prefix = a} :: AnalyticsAndOperator)++-- | The list of tags to use when evaluating an AND predicate.+analyticsAndOperator_tags :: Lens.Lens' AnalyticsAndOperator (Prelude.Maybe [Tag])+analyticsAndOperator_tags = Lens.lens (\AnalyticsAndOperator' {tags} -> tags) (\s@AnalyticsAndOperator' {} a -> s {tags = a} :: AnalyticsAndOperator) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML AnalyticsAndOperator where+  parseXML x =+    AnalyticsAndOperator'+      Prelude.<$> (x Data..@? "Prefix")+      Prelude.<*> ( x+                      Data..@? "Tag"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Tag")+                  )++instance Prelude.Hashable AnalyticsAndOperator where+  hashWithSalt _salt AnalyticsAndOperator' {..} =+    _salt+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tags++instance Prelude.NFData AnalyticsAndOperator where+  rnf AnalyticsAndOperator' {..} =+    Prelude.rnf prefix `Prelude.seq` Prelude.rnf tags++instance Data.ToXML AnalyticsAndOperator where+  toXML AnalyticsAndOperator' {..} =+    Prelude.mconcat+      [ "Prefix" Data.@= prefix,+        "Tag"+          Data.@= Data.toXML (Data.toXMLList "Tag" Prelude.<$> tags)+      ]
+ gen/Amazonka/S3/Types/AnalyticsConfiguration.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AnalyticsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AnalyticsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AnalyticsFilter+import Amazonka.S3.Types.StorageClassAnalysis++-- | Specifies the configuration and any analyses for the analytics filter of+-- an Amazon S3 bucket.+--+-- /See:/ 'newAnalyticsConfiguration' smart constructor.+data AnalyticsConfiguration = AnalyticsConfiguration'+  { -- | The filter used to describe a set of objects for analyses. A filter must+    -- have exactly one prefix, one tag, or one conjunction+    -- (AnalyticsAndOperator). If no filter is provided, all objects will be+    -- considered in any analysis.+    filter' :: Prelude.Maybe AnalyticsFilter,+    -- | The ID that identifies the analytics configuration.+    id :: Prelude.Text,+    -- | Contains data related to access patterns to be collected and made+    -- available to analyze the tradeoffs between different storage classes.+    storageClassAnalysis :: StorageClassAnalysis+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalyticsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'analyticsConfiguration_filter' - The filter used to describe a set of objects for analyses. A filter must+-- have exactly one prefix, one tag, or one conjunction+-- (AnalyticsAndOperator). If no filter is provided, all objects will be+-- considered in any analysis.+--+-- 'id', 'analyticsConfiguration_id' - The ID that identifies the analytics configuration.+--+-- 'storageClassAnalysis', 'analyticsConfiguration_storageClassAnalysis' - Contains data related to access patterns to be collected and made+-- available to analyze the tradeoffs between different storage classes.+newAnalyticsConfiguration ::+  -- | 'id'+  Prelude.Text ->+  -- | 'storageClassAnalysis'+  StorageClassAnalysis ->+  AnalyticsConfiguration+newAnalyticsConfiguration pId_ pStorageClassAnalysis_ =+  AnalyticsConfiguration'+    { filter' = Prelude.Nothing,+      id = pId_,+      storageClassAnalysis = pStorageClassAnalysis_+    }++-- | The filter used to describe a set of objects for analyses. A filter must+-- have exactly one prefix, one tag, or one conjunction+-- (AnalyticsAndOperator). If no filter is provided, all objects will be+-- considered in any analysis.+analyticsConfiguration_filter :: Lens.Lens' AnalyticsConfiguration (Prelude.Maybe AnalyticsFilter)+analyticsConfiguration_filter = Lens.lens (\AnalyticsConfiguration' {filter'} -> filter') (\s@AnalyticsConfiguration' {} a -> s {filter' = a} :: AnalyticsConfiguration)++-- | The ID that identifies the analytics configuration.+analyticsConfiguration_id :: Lens.Lens' AnalyticsConfiguration Prelude.Text+analyticsConfiguration_id = Lens.lens (\AnalyticsConfiguration' {id} -> id) (\s@AnalyticsConfiguration' {} a -> s {id = a} :: AnalyticsConfiguration)++-- | Contains data related to access patterns to be collected and made+-- available to analyze the tradeoffs between different storage classes.+analyticsConfiguration_storageClassAnalysis :: Lens.Lens' AnalyticsConfiguration StorageClassAnalysis+analyticsConfiguration_storageClassAnalysis = Lens.lens (\AnalyticsConfiguration' {storageClassAnalysis} -> storageClassAnalysis) (\s@AnalyticsConfiguration' {} a -> s {storageClassAnalysis = a} :: AnalyticsConfiguration)++instance Data.FromXML AnalyticsConfiguration where+  parseXML x =+    AnalyticsConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> (x Data..@ "Id")+      Prelude.<*> (x Data..@ "StorageClassAnalysis")++instance Prelude.Hashable AnalyticsConfiguration where+  hashWithSalt _salt AnalyticsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` storageClassAnalysis++instance Prelude.NFData AnalyticsConfiguration where+  rnf AnalyticsConfiguration' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf storageClassAnalysis++instance Data.ToXML AnalyticsConfiguration where+  toXML AnalyticsConfiguration' {..} =+    Prelude.mconcat+      [ "Filter" Data.@= filter',+        "Id" Data.@= id,+        "StorageClassAnalysis" Data.@= storageClassAnalysis+      ]
+ gen/Amazonka/S3/Types/AnalyticsExportDestination.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AnalyticsExportDestination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AnalyticsExportDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AnalyticsS3BucketDestination++-- | Where to publish the analytics results.+--+-- /See:/ 'newAnalyticsExportDestination' smart constructor.+data AnalyticsExportDestination = AnalyticsExportDestination'+  { -- | A destination signifying output to an S3 bucket.+    s3BucketDestination :: AnalyticsS3BucketDestination+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalyticsExportDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3BucketDestination', 'analyticsExportDestination_s3BucketDestination' - A destination signifying output to an S3 bucket.+newAnalyticsExportDestination ::+  -- | 's3BucketDestination'+  AnalyticsS3BucketDestination ->+  AnalyticsExportDestination+newAnalyticsExportDestination pS3BucketDestination_ =+  AnalyticsExportDestination'+    { s3BucketDestination =+        pS3BucketDestination_+    }++-- | A destination signifying output to an S3 bucket.+analyticsExportDestination_s3BucketDestination :: Lens.Lens' AnalyticsExportDestination AnalyticsS3BucketDestination+analyticsExportDestination_s3BucketDestination = Lens.lens (\AnalyticsExportDestination' {s3BucketDestination} -> s3BucketDestination) (\s@AnalyticsExportDestination' {} a -> s {s3BucketDestination = a} :: AnalyticsExportDestination)++instance Data.FromXML AnalyticsExportDestination where+  parseXML x =+    AnalyticsExportDestination'+      Prelude.<$> (x Data..@ "S3BucketDestination")++instance Prelude.Hashable AnalyticsExportDestination where+  hashWithSalt _salt AnalyticsExportDestination' {..} =+    _salt `Prelude.hashWithSalt` s3BucketDestination++instance Prelude.NFData AnalyticsExportDestination where+  rnf AnalyticsExportDestination' {..} =+    Prelude.rnf s3BucketDestination++instance Data.ToXML AnalyticsExportDestination where+  toXML AnalyticsExportDestination' {..} =+    Prelude.mconcat+      ["S3BucketDestination" Data.@= s3BucketDestination]
+ gen/Amazonka/S3/Types/AnalyticsFilter.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AnalyticsFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AnalyticsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AnalyticsAndOperator+import Amazonka.S3.Types.Tag++-- | The filter used to describe a set of objects for analyses. A filter must+-- have exactly one prefix, one tag, or one conjunction+-- (AnalyticsAndOperator). If no filter is provided, all objects will be+-- considered in any analysis.+--+-- /See:/ 'newAnalyticsFilter' smart constructor.+data AnalyticsFilter = AnalyticsFilter'+  { -- | A conjunction (logical AND) of predicates, which is used in evaluating+    -- an analytics filter. The operator must have at least two predicates.+    and :: Prelude.Maybe AnalyticsAndOperator,+    -- | The prefix to use when evaluating an analytics filter.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The tag to use when evaluating an analytics filter.+    tag :: Prelude.Maybe Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalyticsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'and', 'analyticsFilter_and' - A conjunction (logical AND) of predicates, which is used in evaluating+-- an analytics filter. The operator must have at least two predicates.+--+-- 'prefix', 'analyticsFilter_prefix' - The prefix to use when evaluating an analytics filter.+--+-- 'tag', 'analyticsFilter_tag' - The tag to use when evaluating an analytics filter.+newAnalyticsFilter ::+  AnalyticsFilter+newAnalyticsFilter =+  AnalyticsFilter'+    { and = Prelude.Nothing,+      prefix = Prelude.Nothing,+      tag = Prelude.Nothing+    }++-- | A conjunction (logical AND) of predicates, which is used in evaluating+-- an analytics filter. The operator must have at least two predicates.+analyticsFilter_and :: Lens.Lens' AnalyticsFilter (Prelude.Maybe AnalyticsAndOperator)+analyticsFilter_and = Lens.lens (\AnalyticsFilter' {and} -> and) (\s@AnalyticsFilter' {} a -> s {and = a} :: AnalyticsFilter)++-- | The prefix to use when evaluating an analytics filter.+analyticsFilter_prefix :: Lens.Lens' AnalyticsFilter (Prelude.Maybe Prelude.Text)+analyticsFilter_prefix = Lens.lens (\AnalyticsFilter' {prefix} -> prefix) (\s@AnalyticsFilter' {} a -> s {prefix = a} :: AnalyticsFilter)++-- | The tag to use when evaluating an analytics filter.+analyticsFilter_tag :: Lens.Lens' AnalyticsFilter (Prelude.Maybe Tag)+analyticsFilter_tag = Lens.lens (\AnalyticsFilter' {tag} -> tag) (\s@AnalyticsFilter' {} a -> s {tag = a} :: AnalyticsFilter)++instance Data.FromXML AnalyticsFilter where+  parseXML x =+    AnalyticsFilter'+      Prelude.<$> (x Data..@? "And")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@? "Tag")++instance Prelude.Hashable AnalyticsFilter where+  hashWithSalt _salt AnalyticsFilter' {..} =+    _salt+      `Prelude.hashWithSalt` and+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tag++instance Prelude.NFData AnalyticsFilter where+  rnf AnalyticsFilter' {..} =+    Prelude.rnf and+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tag++instance Data.ToXML AnalyticsFilter where+  toXML AnalyticsFilter' {..} =+    Prelude.mconcat+      [ "And" Data.@= and,+        "Prefix" Data.@= prefix,+        "Tag" Data.@= tag+      ]
+ gen/Amazonka/S3/Types/AnalyticsS3BucketDestination.hs view
@@ -0,0 +1,138 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AnalyticsS3BucketDestination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AnalyticsS3BucketDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AnalyticsS3ExportFileFormat++-- | Contains information about where to publish the analytics results.+--+-- /See:/ 'newAnalyticsS3BucketDestination' smart constructor.+data AnalyticsS3BucketDestination = AnalyticsS3BucketDestination'+  { -- | The account ID that owns the destination S3 bucket. If no account ID is+    -- provided, the owner is not validated before exporting data.+    --+    -- Although this value is optional, we strongly recommend that you set it+    -- to help prevent problems if the destination bucket ownership changes.+    bucketAccountId :: Prelude.Maybe Prelude.Text,+    -- | The prefix to use when exporting data. The prefix is prepended to all+    -- results.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Specifies the file format used when exporting data to Amazon S3.+    format :: AnalyticsS3ExportFileFormat,+    -- | The Amazon Resource Name (ARN) of the bucket to which data is exported.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'AnalyticsS3BucketDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketAccountId', 'analyticsS3BucketDestination_bucketAccountId' - The account ID that owns the destination S3 bucket. If no account ID is+-- provided, the owner is not validated before exporting data.+--+-- Although this value is optional, we strongly recommend that you set it+-- to help prevent problems if the destination bucket ownership changes.+--+-- 'prefix', 'analyticsS3BucketDestination_prefix' - The prefix to use when exporting data. The prefix is prepended to all+-- results.+--+-- 'format', 'analyticsS3BucketDestination_format' - Specifies the file format used when exporting data to Amazon S3.+--+-- 'bucket', 'analyticsS3BucketDestination_bucket' - The Amazon Resource Name (ARN) of the bucket to which data is exported.+newAnalyticsS3BucketDestination ::+  -- | 'format'+  AnalyticsS3ExportFileFormat ->+  -- | 'bucket'+  BucketName ->+  AnalyticsS3BucketDestination+newAnalyticsS3BucketDestination pFormat_ pBucket_ =+  AnalyticsS3BucketDestination'+    { bucketAccountId =+        Prelude.Nothing,+      prefix = Prelude.Nothing,+      format = pFormat_,+      bucket = pBucket_+    }++-- | The account ID that owns the destination S3 bucket. If no account ID is+-- provided, the owner is not validated before exporting data.+--+-- Although this value is optional, we strongly recommend that you set it+-- to help prevent problems if the destination bucket ownership changes.+analyticsS3BucketDestination_bucketAccountId :: Lens.Lens' AnalyticsS3BucketDestination (Prelude.Maybe Prelude.Text)+analyticsS3BucketDestination_bucketAccountId = Lens.lens (\AnalyticsS3BucketDestination' {bucketAccountId} -> bucketAccountId) (\s@AnalyticsS3BucketDestination' {} a -> s {bucketAccountId = a} :: AnalyticsS3BucketDestination)++-- | The prefix to use when exporting data. The prefix is prepended to all+-- results.+analyticsS3BucketDestination_prefix :: Lens.Lens' AnalyticsS3BucketDestination (Prelude.Maybe Prelude.Text)+analyticsS3BucketDestination_prefix = Lens.lens (\AnalyticsS3BucketDestination' {prefix} -> prefix) (\s@AnalyticsS3BucketDestination' {} a -> s {prefix = a} :: AnalyticsS3BucketDestination)++-- | Specifies the file format used when exporting data to Amazon S3.+analyticsS3BucketDestination_format :: Lens.Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat+analyticsS3BucketDestination_format = Lens.lens (\AnalyticsS3BucketDestination' {format} -> format) (\s@AnalyticsS3BucketDestination' {} a -> s {format = a} :: AnalyticsS3BucketDestination)++-- | The Amazon Resource Name (ARN) of the bucket to which data is exported.+analyticsS3BucketDestination_bucket :: Lens.Lens' AnalyticsS3BucketDestination BucketName+analyticsS3BucketDestination_bucket = Lens.lens (\AnalyticsS3BucketDestination' {bucket} -> bucket) (\s@AnalyticsS3BucketDestination' {} a -> s {bucket = a} :: AnalyticsS3BucketDestination)++instance Data.FromXML AnalyticsS3BucketDestination where+  parseXML x =+    AnalyticsS3BucketDestination'+      Prelude.<$> (x Data..@? "BucketAccountId")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@ "Format")+      Prelude.<*> (x Data..@ "Bucket")++instance+  Prelude.Hashable+    AnalyticsS3BucketDestination+  where+  hashWithSalt _salt AnalyticsS3BucketDestination' {..} =+    _salt+      `Prelude.hashWithSalt` bucketAccountId+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` format+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData AnalyticsS3BucketDestination where+  rnf AnalyticsS3BucketDestination' {..} =+    Prelude.rnf bucketAccountId+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf format+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToXML AnalyticsS3BucketDestination where+  toXML AnalyticsS3BucketDestination' {..} =+    Prelude.mconcat+      [ "BucketAccountId" Data.@= bucketAccountId,+        "Prefix" Data.@= prefix,+        "Format" Data.@= format,+        "Bucket" Data.@= bucket+      ]
+ gen/Amazonka/S3/Types/AnalyticsS3ExportFileFormat.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.AnalyticsS3ExportFileFormat+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.AnalyticsS3ExportFileFormat+  ( AnalyticsS3ExportFileFormat+      ( ..,+        AnalyticsS3ExportFileFormat_CSV+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype AnalyticsS3ExportFileFormat = AnalyticsS3ExportFileFormat'+  { fromAnalyticsS3ExportFileFormat ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern AnalyticsS3ExportFileFormat_CSV :: AnalyticsS3ExportFileFormat+pattern AnalyticsS3ExportFileFormat_CSV = AnalyticsS3ExportFileFormat' "CSV"++{-# COMPLETE+  AnalyticsS3ExportFileFormat_CSV,+  AnalyticsS3ExportFileFormat'+  #-}
+ gen/Amazonka/S3/Types/ArchiveStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ArchiveStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ArchiveStatus+  ( ArchiveStatus+      ( ..,+        ArchiveStatus_ARCHIVE_ACCESS,+        ArchiveStatus_DEEP_ARCHIVE_ACCESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ArchiveStatus = ArchiveStatus'+  { fromArchiveStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ArchiveStatus_ARCHIVE_ACCESS :: ArchiveStatus+pattern ArchiveStatus_ARCHIVE_ACCESS = ArchiveStatus' "ARCHIVE_ACCESS"++pattern ArchiveStatus_DEEP_ARCHIVE_ACCESS :: ArchiveStatus+pattern ArchiveStatus_DEEP_ARCHIVE_ACCESS = ArchiveStatus' "DEEP_ARCHIVE_ACCESS"++{-# COMPLETE+  ArchiveStatus_ARCHIVE_ACCESS,+  ArchiveStatus_DEEP_ARCHIVE_ACCESS,+  ArchiveStatus'+  #-}
+ gen/Amazonka/S3/Types/Bucket.hs view
@@ -0,0 +1,91 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Bucket+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Bucket where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | In terms of implementation, a Bucket is a resource. An Amazon S3 bucket+-- name is globally unique, and the namespace is shared by all Amazon Web+-- Services accounts.+--+-- /See:/ 'newBucket' smart constructor.+data Bucket = Bucket'+  { -- | Date the bucket was created. This date can change when making changes to+    -- your bucket, such as editing its bucket policy.+    creationDate :: Data.ISO8601,+    -- | The name of the bucket.+    name :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Bucket' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'creationDate', 'bucket_creationDate' - Date the bucket was created. This date can change when making changes to+-- your bucket, such as editing its bucket policy.+--+-- 'name', 'bucket_name' - The name of the bucket.+newBucket ::+  -- | 'creationDate'+  Prelude.UTCTime ->+  -- | 'name'+  BucketName ->+  Bucket+newBucket pCreationDate_ pName_ =+  Bucket'+    { creationDate =+        Data._Time Lens.# pCreationDate_,+      name = pName_+    }++-- | Date the bucket was created. This date can change when making changes to+-- your bucket, such as editing its bucket policy.+bucket_creationDate :: Lens.Lens' Bucket Prelude.UTCTime+bucket_creationDate = Lens.lens (\Bucket' {creationDate} -> creationDate) (\s@Bucket' {} a -> s {creationDate = a} :: Bucket) Prelude.. Data._Time++-- | The name of the bucket.+bucket_name :: Lens.Lens' Bucket BucketName+bucket_name = Lens.lens (\Bucket' {name} -> name) (\s@Bucket' {} a -> s {name = a} :: Bucket)++instance Data.FromXML Bucket where+  parseXML x =+    Bucket'+      Prelude.<$> (x Data..@ "CreationDate")+      Prelude.<*> (x Data..@ "Name")++instance Prelude.Hashable Bucket where+  hashWithSalt _salt Bucket' {..} =+    _salt+      `Prelude.hashWithSalt` creationDate+      `Prelude.hashWithSalt` name++instance Prelude.NFData Bucket where+  rnf Bucket' {..} =+    Prelude.rnf creationDate+      `Prelude.seq` Prelude.rnf name
+ gen/Amazonka/S3/Types/BucketAccelerateStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.BucketAccelerateStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.BucketAccelerateStatus+  ( BucketAccelerateStatus+      ( ..,+        BucketAccelerateStatus_Enabled,+        BucketAccelerateStatus_Suspended+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype BucketAccelerateStatus = BucketAccelerateStatus'+  { fromBucketAccelerateStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern BucketAccelerateStatus_Enabled :: BucketAccelerateStatus+pattern BucketAccelerateStatus_Enabled = BucketAccelerateStatus' "Enabled"++pattern BucketAccelerateStatus_Suspended :: BucketAccelerateStatus+pattern BucketAccelerateStatus_Suspended = BucketAccelerateStatus' "Suspended"++{-# COMPLETE+  BucketAccelerateStatus_Enabled,+  BucketAccelerateStatus_Suspended,+  BucketAccelerateStatus'+  #-}
+ gen/Amazonka/S3/Types/BucketCannedACL.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.BucketCannedACL+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.BucketCannedACL+  ( BucketCannedACL+      ( ..,+        BucketCannedACL_Authenticated_read,+        BucketCannedACL_Private,+        BucketCannedACL_Public_read,+        BucketCannedACL_Public_read_write+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype BucketCannedACL = BucketCannedACL'+  { fromBucketCannedACL ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern BucketCannedACL_Authenticated_read :: BucketCannedACL+pattern BucketCannedACL_Authenticated_read = BucketCannedACL' "authenticated-read"++pattern BucketCannedACL_Private :: BucketCannedACL+pattern BucketCannedACL_Private = BucketCannedACL' "private"++pattern BucketCannedACL_Public_read :: BucketCannedACL+pattern BucketCannedACL_Public_read = BucketCannedACL' "public-read"++pattern BucketCannedACL_Public_read_write :: BucketCannedACL+pattern BucketCannedACL_Public_read_write = BucketCannedACL' "public-read-write"++{-# COMPLETE+  BucketCannedACL_Authenticated_read,+  BucketCannedACL_Private,+  BucketCannedACL_Public_read,+  BucketCannedACL_Public_read_write,+  BucketCannedACL'+  #-}
+ gen/Amazonka/S3/Types/BucketLifecycleConfiguration.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.BucketLifecycleConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.BucketLifecycleConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.LifecycleRule++-- | Specifies the lifecycle configuration for objects in an Amazon S3+-- bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html Object Lifecycle Management>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newBucketLifecycleConfiguration' smart constructor.+data BucketLifecycleConfiguration = BucketLifecycleConfiguration'+  { -- | A lifecycle rule for individual objects in an Amazon S3 bucket.+    rules :: [LifecycleRule]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketLifecycleConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rules', 'bucketLifecycleConfiguration_rules' - A lifecycle rule for individual objects in an Amazon S3 bucket.+newBucketLifecycleConfiguration ::+  BucketLifecycleConfiguration+newBucketLifecycleConfiguration =+  BucketLifecycleConfiguration'+    { rules =+        Prelude.mempty+    }++-- | A lifecycle rule for individual objects in an Amazon S3 bucket.+bucketLifecycleConfiguration_rules :: Lens.Lens' BucketLifecycleConfiguration [LifecycleRule]+bucketLifecycleConfiguration_rules = Lens.lens (\BucketLifecycleConfiguration' {rules} -> rules) (\s@BucketLifecycleConfiguration' {} a -> s {rules = a} :: BucketLifecycleConfiguration) Prelude.. Lens.coerced++instance+  Prelude.Hashable+    BucketLifecycleConfiguration+  where+  hashWithSalt _salt BucketLifecycleConfiguration' {..} =+    _salt `Prelude.hashWithSalt` rules++instance Prelude.NFData BucketLifecycleConfiguration where+  rnf BucketLifecycleConfiguration' {..} =+    Prelude.rnf rules++instance Data.ToXML BucketLifecycleConfiguration where+  toXML BucketLifecycleConfiguration' {..} =+    Prelude.mconcat [Data.toXMLList "Rule" rules]
+ gen/Amazonka/S3/Types/BucketLoggingStatus.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.BucketLoggingStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.BucketLoggingStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.LoggingEnabled++-- | Container for logging status information.+--+-- /See:/ 'newBucketLoggingStatus' smart constructor.+data BucketLoggingStatus = BucketLoggingStatus'+  { loggingEnabled :: Prelude.Maybe LoggingEnabled+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'BucketLoggingStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'loggingEnabled', 'bucketLoggingStatus_loggingEnabled' - Undocumented member.+newBucketLoggingStatus ::+  BucketLoggingStatus+newBucketLoggingStatus =+  BucketLoggingStatus'+    { loggingEnabled =+        Prelude.Nothing+    }++-- | Undocumented member.+bucketLoggingStatus_loggingEnabled :: Lens.Lens' BucketLoggingStatus (Prelude.Maybe LoggingEnabled)+bucketLoggingStatus_loggingEnabled = Lens.lens (\BucketLoggingStatus' {loggingEnabled} -> loggingEnabled) (\s@BucketLoggingStatus' {} a -> s {loggingEnabled = a} :: BucketLoggingStatus)++instance Prelude.Hashable BucketLoggingStatus where+  hashWithSalt _salt BucketLoggingStatus' {..} =+    _salt `Prelude.hashWithSalt` loggingEnabled++instance Prelude.NFData BucketLoggingStatus where+  rnf BucketLoggingStatus' {..} =+    Prelude.rnf loggingEnabled++instance Data.ToXML BucketLoggingStatus where+  toXML BucketLoggingStatus' {..} =+    Prelude.mconcat+      ["LoggingEnabled" Data.@= loggingEnabled]
+ gen/Amazonka/S3/Types/BucketLogsPermission.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.BucketLogsPermission+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.BucketLogsPermission+  ( BucketLogsPermission+      ( ..,+        BucketLogsPermission_FULL_CONTROL,+        BucketLogsPermission_READ,+        BucketLogsPermission_WRITE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype BucketLogsPermission = BucketLogsPermission'+  { fromBucketLogsPermission ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern BucketLogsPermission_FULL_CONTROL :: BucketLogsPermission+pattern BucketLogsPermission_FULL_CONTROL = BucketLogsPermission' "FULL_CONTROL"++pattern BucketLogsPermission_READ :: BucketLogsPermission+pattern BucketLogsPermission_READ = BucketLogsPermission' "READ"++pattern BucketLogsPermission_WRITE :: BucketLogsPermission+pattern BucketLogsPermission_WRITE = BucketLogsPermission' "WRITE"++{-# COMPLETE+  BucketLogsPermission_FULL_CONTROL,+  BucketLogsPermission_READ,+  BucketLogsPermission_WRITE,+  BucketLogsPermission'+  #-}
+ gen/Amazonka/S3/Types/BucketVersioningStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.BucketVersioningStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.BucketVersioningStatus+  ( BucketVersioningStatus+      ( ..,+        BucketVersioningStatus_Enabled,+        BucketVersioningStatus_Suspended+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype BucketVersioningStatus = BucketVersioningStatus'+  { fromBucketVersioningStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern BucketVersioningStatus_Enabled :: BucketVersioningStatus+pattern BucketVersioningStatus_Enabled = BucketVersioningStatus' "Enabled"++pattern BucketVersioningStatus_Suspended :: BucketVersioningStatus+pattern BucketVersioningStatus_Suspended = BucketVersioningStatus' "Suspended"++{-# COMPLETE+  BucketVersioningStatus_Enabled,+  BucketVersioningStatus_Suspended,+  BucketVersioningStatus'+  #-}
+ gen/Amazonka/S3/Types/CORSConfiguration.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CORSConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CORSConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.CORSRule++-- | Describes the cross-origin access configuration for objects in an Amazon+-- S3 bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html Enabling Cross-Origin Resource Sharing>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newCORSConfiguration' smart constructor.+data CORSConfiguration = CORSConfiguration'+  { -- | A set of origins and methods (cross-origin access that you want to+    -- allow). You can add up to 100 rules to the configuration.+    cORSRules :: [CORSRule]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CORSConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cORSRules', 'cORSConfiguration_cORSRules' - A set of origins and methods (cross-origin access that you want to+-- allow). You can add up to 100 rules to the configuration.+newCORSConfiguration ::+  CORSConfiguration+newCORSConfiguration =+  CORSConfiguration' {cORSRules = Prelude.mempty}++-- | A set of origins and methods (cross-origin access that you want to+-- allow). You can add up to 100 rules to the configuration.+cORSConfiguration_cORSRules :: Lens.Lens' CORSConfiguration [CORSRule]+cORSConfiguration_cORSRules = Lens.lens (\CORSConfiguration' {cORSRules} -> cORSRules) (\s@CORSConfiguration' {} a -> s {cORSRules = a} :: CORSConfiguration) Prelude.. Lens.coerced++instance Prelude.Hashable CORSConfiguration where+  hashWithSalt _salt CORSConfiguration' {..} =+    _salt `Prelude.hashWithSalt` cORSRules++instance Prelude.NFData CORSConfiguration where+  rnf CORSConfiguration' {..} = Prelude.rnf cORSRules++instance Data.ToXML CORSConfiguration where+  toXML CORSConfiguration' {..} =+    Prelude.mconcat+      [Data.toXMLList "CORSRule" cORSRules]
+ gen/Amazonka/S3/Types/CORSRule.hs view
@@ -0,0 +1,173 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CORSRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CORSRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies a cross-origin access rule for an Amazon S3 bucket.+--+-- /See:/ 'newCORSRule' smart constructor.+data CORSRule = CORSRule'+  { -- | Headers that are specified in the @Access-Control-Request-Headers@+    -- header. These headers are allowed in a preflight OPTIONS request. In+    -- response to any preflight OPTIONS request, Amazon S3 returns any+    -- requested headers that are allowed.+    allowedHeaders :: Prelude.Maybe [Prelude.Text],+    -- | One or more headers in the response that you want customers to be able+    -- to access from their applications (for example, from a JavaScript+    -- @XMLHttpRequest@ object).+    exposeHeaders :: Prelude.Maybe [Prelude.Text],+    -- | Unique identifier for the rule. The value cannot be longer than 255+    -- characters.+    id :: Prelude.Maybe Prelude.Text,+    -- | The time in seconds that your browser is to cache the preflight response+    -- for the specified resource.+    maxAgeSeconds :: Prelude.Maybe Prelude.Int,+    -- | An HTTP method that you allow the origin to execute. Valid values are+    -- @GET@, @PUT@, @HEAD@, @POST@, and @DELETE@.+    allowedMethods :: [Prelude.Text],+    -- | One or more origins you want customers to be able to access the bucket+    -- from.+    allowedOrigins :: [Prelude.Text]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CORSRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowedHeaders', 'cORSRule_allowedHeaders' - Headers that are specified in the @Access-Control-Request-Headers@+-- header. These headers are allowed in a preflight OPTIONS request. In+-- response to any preflight OPTIONS request, Amazon S3 returns any+-- requested headers that are allowed.+--+-- 'exposeHeaders', 'cORSRule_exposeHeaders' - One or more headers in the response that you want customers to be able+-- to access from their applications (for example, from a JavaScript+-- @XMLHttpRequest@ object).+--+-- 'id', 'cORSRule_id' - Unique identifier for the rule. The value cannot be longer than 255+-- characters.+--+-- 'maxAgeSeconds', 'cORSRule_maxAgeSeconds' - The time in seconds that your browser is to cache the preflight response+-- for the specified resource.+--+-- 'allowedMethods', 'cORSRule_allowedMethods' - An HTTP method that you allow the origin to execute. Valid values are+-- @GET@, @PUT@, @HEAD@, @POST@, and @DELETE@.+--+-- 'allowedOrigins', 'cORSRule_allowedOrigins' - One or more origins you want customers to be able to access the bucket+-- from.+newCORSRule ::+  CORSRule+newCORSRule =+  CORSRule'+    { allowedHeaders = Prelude.Nothing,+      exposeHeaders = Prelude.Nothing,+      id = Prelude.Nothing,+      maxAgeSeconds = Prelude.Nothing,+      allowedMethods = Prelude.mempty,+      allowedOrigins = Prelude.mempty+    }++-- | Headers that are specified in the @Access-Control-Request-Headers@+-- header. These headers are allowed in a preflight OPTIONS request. In+-- response to any preflight OPTIONS request, Amazon S3 returns any+-- requested headers that are allowed.+cORSRule_allowedHeaders :: Lens.Lens' CORSRule (Prelude.Maybe [Prelude.Text])+cORSRule_allowedHeaders = Lens.lens (\CORSRule' {allowedHeaders} -> allowedHeaders) (\s@CORSRule' {} a -> s {allowedHeaders = a} :: CORSRule) Prelude.. Lens.mapping Lens.coerced++-- | One or more headers in the response that you want customers to be able+-- to access from their applications (for example, from a JavaScript+-- @XMLHttpRequest@ object).+cORSRule_exposeHeaders :: Lens.Lens' CORSRule (Prelude.Maybe [Prelude.Text])+cORSRule_exposeHeaders = Lens.lens (\CORSRule' {exposeHeaders} -> exposeHeaders) (\s@CORSRule' {} a -> s {exposeHeaders = a} :: CORSRule) Prelude.. Lens.mapping Lens.coerced++-- | Unique identifier for the rule. The value cannot be longer than 255+-- characters.+cORSRule_id :: Lens.Lens' CORSRule (Prelude.Maybe Prelude.Text)+cORSRule_id = Lens.lens (\CORSRule' {id} -> id) (\s@CORSRule' {} a -> s {id = a} :: CORSRule)++-- | The time in seconds that your browser is to cache the preflight response+-- for the specified resource.+cORSRule_maxAgeSeconds :: Lens.Lens' CORSRule (Prelude.Maybe Prelude.Int)+cORSRule_maxAgeSeconds = Lens.lens (\CORSRule' {maxAgeSeconds} -> maxAgeSeconds) (\s@CORSRule' {} a -> s {maxAgeSeconds = a} :: CORSRule)++-- | An HTTP method that you allow the origin to execute. Valid values are+-- @GET@, @PUT@, @HEAD@, @POST@, and @DELETE@.+cORSRule_allowedMethods :: Lens.Lens' CORSRule [Prelude.Text]+cORSRule_allowedMethods = Lens.lens (\CORSRule' {allowedMethods} -> allowedMethods) (\s@CORSRule' {} a -> s {allowedMethods = a} :: CORSRule) Prelude.. Lens.coerced++-- | One or more origins you want customers to be able to access the bucket+-- from.+cORSRule_allowedOrigins :: Lens.Lens' CORSRule [Prelude.Text]+cORSRule_allowedOrigins = Lens.lens (\CORSRule' {allowedOrigins} -> allowedOrigins) (\s@CORSRule' {} a -> s {allowedOrigins = a} :: CORSRule) Prelude.. Lens.coerced++instance Data.FromXML CORSRule where+  parseXML x =+    CORSRule'+      Prelude.<$> (Core.may (Data.parseXMLList "AllowedHeader") x)+      Prelude.<*> (Core.may (Data.parseXMLList "ExposeHeader") x)+      Prelude.<*> (x Data..@? "ID")+      Prelude.<*> (x Data..@? "MaxAgeSeconds")+      Prelude.<*> (Data.parseXMLList "AllowedMethod" x)+      Prelude.<*> (Data.parseXMLList "AllowedOrigin" x)++instance Prelude.Hashable CORSRule where+  hashWithSalt _salt CORSRule' {..} =+    _salt+      `Prelude.hashWithSalt` allowedHeaders+      `Prelude.hashWithSalt` exposeHeaders+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` maxAgeSeconds+      `Prelude.hashWithSalt` allowedMethods+      `Prelude.hashWithSalt` allowedOrigins++instance Prelude.NFData CORSRule where+  rnf CORSRule' {..} =+    Prelude.rnf allowedHeaders+      `Prelude.seq` Prelude.rnf exposeHeaders+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf maxAgeSeconds+      `Prelude.seq` Prelude.rnf allowedMethods+      `Prelude.seq` Prelude.rnf allowedOrigins++instance Data.ToXML CORSRule where+  toXML CORSRule' {..} =+    Prelude.mconcat+      [ Data.toXML+          ( Data.toXMLList "AllowedHeader"+              Prelude.<$> allowedHeaders+          ),+        Data.toXML+          ( Data.toXMLList "ExposeHeader"+              Prelude.<$> exposeHeaders+          ),+        "ID" Data.@= id,+        "MaxAgeSeconds" Data.@= maxAgeSeconds,+        Data.toXMLList "AllowedMethod" allowedMethods,+        Data.toXMLList "AllowedOrigin" allowedOrigins+      ]
+ gen/Amazonka/S3/Types/CSVInput.hs view
@@ -0,0 +1,224 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CSVInput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CSVInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.FileHeaderInfo++-- | Describes how an uncompressed comma-separated values (CSV)-formatted+-- input object is formatted.+--+-- /See:/ 'newCSVInput' smart constructor.+data CSVInput = CSVInput'+  { -- | Specifies that CSV field values may contain quoted record delimiters and+    -- such records should be allowed. Default value is FALSE. Setting this+    -- value to TRUE may lower performance.+    allowQuotedRecordDelimiter :: Prelude.Maybe Prelude.Bool,+    -- | A single character used to indicate that a row should be ignored when+    -- the character is present at the start of that row. You can specify any+    -- character to indicate a comment line.+    comments :: Prelude.Maybe Prelude.Text,+    -- | A single character used to separate individual fields in a record. You+    -- can specify an arbitrary delimiter.+    fieldDelimiter :: Prelude.Maybe Prelude.Text,+    -- | Describes the first line of input. Valid values are:+    --+    -- -   @NONE@: First line is not a header.+    --+    -- -   @IGNORE@: First line is a header, but you can\'t use the header+    --     values to indicate the column in an expression. You can use column+    --     position (such as _1, _2, …) to indicate the column+    --     (@SELECT s._1 FROM OBJECT s@).+    --+    -- -   @Use@: First line is a header, and you can use the header value to+    --     identify a column in an expression (@SELECT \"name\" FROM OBJECT@).+    fileHeaderInfo :: Prelude.Maybe FileHeaderInfo,+    -- | A single character used for escaping when the field delimiter is part of+    -- the value. For example, if the value is @a, b@, Amazon S3 wraps this+    -- field value in quotation marks, as follows: @\" a , b \"@.+    --+    -- Type: String+    --+    -- Default: @\"@+    --+    -- Ancestors: @CSV@+    quoteCharacter :: Prelude.Maybe Prelude.Text,+    -- | A single character used for escaping the quotation mark character inside+    -- an already escaped value. For example, the value @\"\"\" a , b \"\"\"@+    -- is parsed as @\" a , b \"@.+    quoteEscapeCharacter :: Prelude.Maybe Prelude.Text,+    -- | A single character used to separate individual records in the input.+    -- Instead of the default value, you can specify an arbitrary delimiter.+    recordDelimiter :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CSVInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'allowQuotedRecordDelimiter', 'cSVInput_allowQuotedRecordDelimiter' - Specifies that CSV field values may contain quoted record delimiters and+-- such records should be allowed. Default value is FALSE. Setting this+-- value to TRUE may lower performance.+--+-- 'comments', 'cSVInput_comments' - A single character used to indicate that a row should be ignored when+-- the character is present at the start of that row. You can specify any+-- character to indicate a comment line.+--+-- 'fieldDelimiter', 'cSVInput_fieldDelimiter' - A single character used to separate individual fields in a record. You+-- can specify an arbitrary delimiter.+--+-- 'fileHeaderInfo', 'cSVInput_fileHeaderInfo' - Describes the first line of input. Valid values are:+--+-- -   @NONE@: First line is not a header.+--+-- -   @IGNORE@: First line is a header, but you can\'t use the header+--     values to indicate the column in an expression. You can use column+--     position (such as _1, _2, …) to indicate the column+--     (@SELECT s._1 FROM OBJECT s@).+--+-- -   @Use@: First line is a header, and you can use the header value to+--     identify a column in an expression (@SELECT \"name\" FROM OBJECT@).+--+-- 'quoteCharacter', 'cSVInput_quoteCharacter' - A single character used for escaping when the field delimiter is part of+-- the value. For example, if the value is @a, b@, Amazon S3 wraps this+-- field value in quotation marks, as follows: @\" a , b \"@.+--+-- Type: String+--+-- Default: @\"@+--+-- Ancestors: @CSV@+--+-- 'quoteEscapeCharacter', 'cSVInput_quoteEscapeCharacter' - A single character used for escaping the quotation mark character inside+-- an already escaped value. For example, the value @\"\"\" a , b \"\"\"@+-- is parsed as @\" a , b \"@.+--+-- 'recordDelimiter', 'cSVInput_recordDelimiter' - A single character used to separate individual records in the input.+-- Instead of the default value, you can specify an arbitrary delimiter.+newCSVInput ::+  CSVInput+newCSVInput =+  CSVInput'+    { allowQuotedRecordDelimiter =+        Prelude.Nothing,+      comments = Prelude.Nothing,+      fieldDelimiter = Prelude.Nothing,+      fileHeaderInfo = Prelude.Nothing,+      quoteCharacter = Prelude.Nothing,+      quoteEscapeCharacter = Prelude.Nothing,+      recordDelimiter = Prelude.Nothing+    }++-- | Specifies that CSV field values may contain quoted record delimiters and+-- such records should be allowed. Default value is FALSE. Setting this+-- value to TRUE may lower performance.+cSVInput_allowQuotedRecordDelimiter :: Lens.Lens' CSVInput (Prelude.Maybe Prelude.Bool)+cSVInput_allowQuotedRecordDelimiter = Lens.lens (\CSVInput' {allowQuotedRecordDelimiter} -> allowQuotedRecordDelimiter) (\s@CSVInput' {} a -> s {allowQuotedRecordDelimiter = a} :: CSVInput)++-- | A single character used to indicate that a row should be ignored when+-- the character is present at the start of that row. You can specify any+-- character to indicate a comment line.+cSVInput_comments :: Lens.Lens' CSVInput (Prelude.Maybe Prelude.Text)+cSVInput_comments = Lens.lens (\CSVInput' {comments} -> comments) (\s@CSVInput' {} a -> s {comments = a} :: CSVInput)++-- | A single character used to separate individual fields in a record. You+-- can specify an arbitrary delimiter.+cSVInput_fieldDelimiter :: Lens.Lens' CSVInput (Prelude.Maybe Prelude.Text)+cSVInput_fieldDelimiter = Lens.lens (\CSVInput' {fieldDelimiter} -> fieldDelimiter) (\s@CSVInput' {} a -> s {fieldDelimiter = a} :: CSVInput)++-- | Describes the first line of input. Valid values are:+--+-- -   @NONE@: First line is not a header.+--+-- -   @IGNORE@: First line is a header, but you can\'t use the header+--     values to indicate the column in an expression. You can use column+--     position (such as _1, _2, …) to indicate the column+--     (@SELECT s._1 FROM OBJECT s@).+--+-- -   @Use@: First line is a header, and you can use the header value to+--     identify a column in an expression (@SELECT \"name\" FROM OBJECT@).+cSVInput_fileHeaderInfo :: Lens.Lens' CSVInput (Prelude.Maybe FileHeaderInfo)+cSVInput_fileHeaderInfo = Lens.lens (\CSVInput' {fileHeaderInfo} -> fileHeaderInfo) (\s@CSVInput' {} a -> s {fileHeaderInfo = a} :: CSVInput)++-- | A single character used for escaping when the field delimiter is part of+-- the value. For example, if the value is @a, b@, Amazon S3 wraps this+-- field value in quotation marks, as follows: @\" a , b \"@.+--+-- Type: String+--+-- Default: @\"@+--+-- Ancestors: @CSV@+cSVInput_quoteCharacter :: Lens.Lens' CSVInput (Prelude.Maybe Prelude.Text)+cSVInput_quoteCharacter = Lens.lens (\CSVInput' {quoteCharacter} -> quoteCharacter) (\s@CSVInput' {} a -> s {quoteCharacter = a} :: CSVInput)++-- | A single character used for escaping the quotation mark character inside+-- an already escaped value. For example, the value @\"\"\" a , b \"\"\"@+-- is parsed as @\" a , b \"@.+cSVInput_quoteEscapeCharacter :: Lens.Lens' CSVInput (Prelude.Maybe Prelude.Text)+cSVInput_quoteEscapeCharacter = Lens.lens (\CSVInput' {quoteEscapeCharacter} -> quoteEscapeCharacter) (\s@CSVInput' {} a -> s {quoteEscapeCharacter = a} :: CSVInput)++-- | A single character used to separate individual records in the input.+-- Instead of the default value, you can specify an arbitrary delimiter.+cSVInput_recordDelimiter :: Lens.Lens' CSVInput (Prelude.Maybe Prelude.Text)+cSVInput_recordDelimiter = Lens.lens (\CSVInput' {recordDelimiter} -> recordDelimiter) (\s@CSVInput' {} a -> s {recordDelimiter = a} :: CSVInput)++instance Prelude.Hashable CSVInput where+  hashWithSalt _salt CSVInput' {..} =+    _salt+      `Prelude.hashWithSalt` allowQuotedRecordDelimiter+      `Prelude.hashWithSalt` comments+      `Prelude.hashWithSalt` fieldDelimiter+      `Prelude.hashWithSalt` fileHeaderInfo+      `Prelude.hashWithSalt` quoteCharacter+      `Prelude.hashWithSalt` quoteEscapeCharacter+      `Prelude.hashWithSalt` recordDelimiter++instance Prelude.NFData CSVInput where+  rnf CSVInput' {..} =+    Prelude.rnf allowQuotedRecordDelimiter+      `Prelude.seq` Prelude.rnf comments+      `Prelude.seq` Prelude.rnf fieldDelimiter+      `Prelude.seq` Prelude.rnf fileHeaderInfo+      `Prelude.seq` Prelude.rnf quoteCharacter+      `Prelude.seq` Prelude.rnf quoteEscapeCharacter+      `Prelude.seq` Prelude.rnf recordDelimiter++instance Data.ToXML CSVInput where+  toXML CSVInput' {..} =+    Prelude.mconcat+      [ "AllowQuotedRecordDelimiter"+          Data.@= allowQuotedRecordDelimiter,+        "Comments" Data.@= comments,+        "FieldDelimiter" Data.@= fieldDelimiter,+        "FileHeaderInfo" Data.@= fileHeaderInfo,+        "QuoteCharacter" Data.@= quoteCharacter,+        "QuoteEscapeCharacter" Data.@= quoteEscapeCharacter,+        "RecordDelimiter" Data.@= recordDelimiter+      ]
+ gen/Amazonka/S3/Types/CSVOutput.hs view
@@ -0,0 +1,147 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CSVOutput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CSVOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.QuoteFields++-- | Describes how uncompressed comma-separated values (CSV)-formatted+-- results are formatted.+--+-- /See:/ 'newCSVOutput' smart constructor.+data CSVOutput = CSVOutput'+  { -- | The value used to separate individual fields in a record. You can+    -- specify an arbitrary delimiter.+    fieldDelimiter :: Prelude.Maybe Prelude.Text,+    -- | A single character used for escaping when the field delimiter is part of+    -- the value. For example, if the value is @a, b@, Amazon S3 wraps this+    -- field value in quotation marks, as follows: @\" a , b \"@.+    quoteCharacter :: Prelude.Maybe Prelude.Text,+    -- | The single character used for escaping the quote character inside an+    -- already escaped value.+    quoteEscapeCharacter :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether to use quotation marks around output fields.+    --+    -- -   @ALWAYS@: Always use quotation marks for output fields.+    --+    -- -   @ASNEEDED@: Use quotation marks for output fields when needed.+    quoteFields :: Prelude.Maybe QuoteFields,+    -- | A single character used to separate individual records in the output.+    -- Instead of the default value, you can specify an arbitrary delimiter.+    recordDelimiter :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CSVOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'fieldDelimiter', 'cSVOutput_fieldDelimiter' - The value used to separate individual fields in a record. You can+-- specify an arbitrary delimiter.+--+-- 'quoteCharacter', 'cSVOutput_quoteCharacter' - A single character used for escaping when the field delimiter is part of+-- the value. For example, if the value is @a, b@, Amazon S3 wraps this+-- field value in quotation marks, as follows: @\" a , b \"@.+--+-- 'quoteEscapeCharacter', 'cSVOutput_quoteEscapeCharacter' - The single character used for escaping the quote character inside an+-- already escaped value.+--+-- 'quoteFields', 'cSVOutput_quoteFields' - Indicates whether to use quotation marks around output fields.+--+-- -   @ALWAYS@: Always use quotation marks for output fields.+--+-- -   @ASNEEDED@: Use quotation marks for output fields when needed.+--+-- 'recordDelimiter', 'cSVOutput_recordDelimiter' - A single character used to separate individual records in the output.+-- Instead of the default value, you can specify an arbitrary delimiter.+newCSVOutput ::+  CSVOutput+newCSVOutput =+  CSVOutput'+    { fieldDelimiter = Prelude.Nothing,+      quoteCharacter = Prelude.Nothing,+      quoteEscapeCharacter = Prelude.Nothing,+      quoteFields = Prelude.Nothing,+      recordDelimiter = Prelude.Nothing+    }++-- | The value used to separate individual fields in a record. You can+-- specify an arbitrary delimiter.+cSVOutput_fieldDelimiter :: Lens.Lens' CSVOutput (Prelude.Maybe Prelude.Text)+cSVOutput_fieldDelimiter = Lens.lens (\CSVOutput' {fieldDelimiter} -> fieldDelimiter) (\s@CSVOutput' {} a -> s {fieldDelimiter = a} :: CSVOutput)++-- | A single character used for escaping when the field delimiter is part of+-- the value. For example, if the value is @a, b@, Amazon S3 wraps this+-- field value in quotation marks, as follows: @\" a , b \"@.+cSVOutput_quoteCharacter :: Lens.Lens' CSVOutput (Prelude.Maybe Prelude.Text)+cSVOutput_quoteCharacter = Lens.lens (\CSVOutput' {quoteCharacter} -> quoteCharacter) (\s@CSVOutput' {} a -> s {quoteCharacter = a} :: CSVOutput)++-- | The single character used for escaping the quote character inside an+-- already escaped value.+cSVOutput_quoteEscapeCharacter :: Lens.Lens' CSVOutput (Prelude.Maybe Prelude.Text)+cSVOutput_quoteEscapeCharacter = Lens.lens (\CSVOutput' {quoteEscapeCharacter} -> quoteEscapeCharacter) (\s@CSVOutput' {} a -> s {quoteEscapeCharacter = a} :: CSVOutput)++-- | Indicates whether to use quotation marks around output fields.+--+-- -   @ALWAYS@: Always use quotation marks for output fields.+--+-- -   @ASNEEDED@: Use quotation marks for output fields when needed.+cSVOutput_quoteFields :: Lens.Lens' CSVOutput (Prelude.Maybe QuoteFields)+cSVOutput_quoteFields = Lens.lens (\CSVOutput' {quoteFields} -> quoteFields) (\s@CSVOutput' {} a -> s {quoteFields = a} :: CSVOutput)++-- | A single character used to separate individual records in the output.+-- Instead of the default value, you can specify an arbitrary delimiter.+cSVOutput_recordDelimiter :: Lens.Lens' CSVOutput (Prelude.Maybe Prelude.Text)+cSVOutput_recordDelimiter = Lens.lens (\CSVOutput' {recordDelimiter} -> recordDelimiter) (\s@CSVOutput' {} a -> s {recordDelimiter = a} :: CSVOutput)++instance Prelude.Hashable CSVOutput where+  hashWithSalt _salt CSVOutput' {..} =+    _salt+      `Prelude.hashWithSalt` fieldDelimiter+      `Prelude.hashWithSalt` quoteCharacter+      `Prelude.hashWithSalt` quoteEscapeCharacter+      `Prelude.hashWithSalt` quoteFields+      `Prelude.hashWithSalt` recordDelimiter++instance Prelude.NFData CSVOutput where+  rnf CSVOutput' {..} =+    Prelude.rnf fieldDelimiter+      `Prelude.seq` Prelude.rnf quoteCharacter+      `Prelude.seq` Prelude.rnf quoteEscapeCharacter+      `Prelude.seq` Prelude.rnf quoteFields+      `Prelude.seq` Prelude.rnf recordDelimiter++instance Data.ToXML CSVOutput where+  toXML CSVOutput' {..} =+    Prelude.mconcat+      [ "FieldDelimiter" Data.@= fieldDelimiter,+        "QuoteCharacter" Data.@= quoteCharacter,+        "QuoteEscapeCharacter" Data.@= quoteEscapeCharacter,+        "QuoteFields" Data.@= quoteFields,+        "RecordDelimiter" Data.@= recordDelimiter+      ]
+ gen/Amazonka/S3/Types/Checksum.hs view
@@ -0,0 +1,165 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Checksum+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Checksum where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Contains all the possible checksum or digest values for an object.+--+-- /See:/ 'newChecksum' smart constructor.+data Checksum = Checksum'+  { -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Checksum' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'checksum_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'checksum_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'checksum_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'checksum_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+newChecksum ::+  Checksum+newChecksum =+  Checksum'+    { checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing+    }++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+checksum_checksumCRC32 :: Lens.Lens' Checksum (Prelude.Maybe Prelude.Text)+checksum_checksumCRC32 = Lens.lens (\Checksum' {checksumCRC32} -> checksumCRC32) (\s@Checksum' {} a -> s {checksumCRC32 = a} :: Checksum)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+checksum_checksumCRC32C :: Lens.Lens' Checksum (Prelude.Maybe Prelude.Text)+checksum_checksumCRC32C = Lens.lens (\Checksum' {checksumCRC32C} -> checksumCRC32C) (\s@Checksum' {} a -> s {checksumCRC32C = a} :: Checksum)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+checksum_checksumSHA1 :: Lens.Lens' Checksum (Prelude.Maybe Prelude.Text)+checksum_checksumSHA1 = Lens.lens (\Checksum' {checksumSHA1} -> checksumSHA1) (\s@Checksum' {} a -> s {checksumSHA1 = a} :: Checksum)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+checksum_checksumSHA256 :: Lens.Lens' Checksum (Prelude.Maybe Prelude.Text)+checksum_checksumSHA256 = Lens.lens (\Checksum' {checksumSHA256} -> checksumSHA256) (\s@Checksum' {} a -> s {checksumSHA256 = a} :: Checksum)++instance Data.FromXML Checksum where+  parseXML x =+    Checksum'+      Prelude.<$> (x Data..@? "ChecksumCRC32")+      Prelude.<*> (x Data..@? "ChecksumCRC32C")+      Prelude.<*> (x Data..@? "ChecksumSHA1")+      Prelude.<*> (x Data..@? "ChecksumSHA256")++instance Prelude.Hashable Checksum where+  hashWithSalt _salt Checksum' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256++instance Prelude.NFData Checksum where+  rnf Checksum' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256
+ gen/Amazonka/S3/Types/ChecksumAlgorithm.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ChecksumAlgorithm+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ChecksumAlgorithm+  ( ChecksumAlgorithm+      ( ..,+        ChecksumAlgorithm_CRC32,+        ChecksumAlgorithm_CRC32C,+        ChecksumAlgorithm_SHA1,+        ChecksumAlgorithm_SHA256+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ChecksumAlgorithm = ChecksumAlgorithm'+  { fromChecksumAlgorithm ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ChecksumAlgorithm_CRC32 :: ChecksumAlgorithm+pattern ChecksumAlgorithm_CRC32 = ChecksumAlgorithm' "CRC32"++pattern ChecksumAlgorithm_CRC32C :: ChecksumAlgorithm+pattern ChecksumAlgorithm_CRC32C = ChecksumAlgorithm' "CRC32C"++pattern ChecksumAlgorithm_SHA1 :: ChecksumAlgorithm+pattern ChecksumAlgorithm_SHA1 = ChecksumAlgorithm' "SHA1"++pattern ChecksumAlgorithm_SHA256 :: ChecksumAlgorithm+pattern ChecksumAlgorithm_SHA256 = ChecksumAlgorithm' "SHA256"++{-# COMPLETE+  ChecksumAlgorithm_CRC32,+  ChecksumAlgorithm_CRC32C,+  ChecksumAlgorithm_SHA1,+  ChecksumAlgorithm_SHA256,+  ChecksumAlgorithm'+  #-}
+ gen/Amazonka/S3/Types/ChecksumMode.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ChecksumMode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ChecksumMode+  ( ChecksumMode+      ( ..,+        ChecksumMode_ENABLED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ChecksumMode = ChecksumMode'+  { fromChecksumMode ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ChecksumMode_ENABLED :: ChecksumMode+pattern ChecksumMode_ENABLED = ChecksumMode' "ENABLED"++{-# COMPLETE+  ChecksumMode_ENABLED,+  ChecksumMode'+  #-}
+ gen/Amazonka/S3/Types/CommonPrefix.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CommonPrefix+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CommonPrefix where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for all (if there are any) keys between Prefix and the next+-- occurrence of the string specified by a delimiter. CommonPrefixes lists+-- keys that act like subdirectories in the directory specified by Prefix.+-- For example, if the prefix is notes\/ and the delimiter is a slash (\/)+-- as in notes\/summer\/july, the common prefix is notes\/summer\/.+--+-- /See:/ 'newCommonPrefix' smart constructor.+data CommonPrefix = CommonPrefix'+  { -- | Container for the specified common prefix.+    prefix :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CommonPrefix' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prefix', 'commonPrefix_prefix' - Container for the specified common prefix.+newCommonPrefix ::+  CommonPrefix+newCommonPrefix =+  CommonPrefix' {prefix = Prelude.Nothing}++-- | Container for the specified common prefix.+commonPrefix_prefix :: Lens.Lens' CommonPrefix (Prelude.Maybe Prelude.Text)+commonPrefix_prefix = Lens.lens (\CommonPrefix' {prefix} -> prefix) (\s@CommonPrefix' {} a -> s {prefix = a} :: CommonPrefix)++instance Data.FromXML CommonPrefix where+  parseXML x =+    CommonPrefix' Prelude.<$> (x Data..@? "Prefix")++instance Prelude.Hashable CommonPrefix where+  hashWithSalt _salt CommonPrefix' {..} =+    _salt `Prelude.hashWithSalt` prefix++instance Prelude.NFData CommonPrefix where+  rnf CommonPrefix' {..} = Prelude.rnf prefix
+ gen/Amazonka/S3/Types/CompletedMultipartUpload.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CompletedMultipartUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CompletedMultipartUpload where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.CompletedPart++-- | The container for the completed multipart upload details.+--+-- /See:/ 'newCompletedMultipartUpload' smart constructor.+data CompletedMultipartUpload = CompletedMultipartUpload'+  { -- | Array of CompletedPart data types.+    --+    -- If you do not supply a valid @Part@ with your request, the service sends+    -- back an HTTP 400 response.+    parts :: Prelude.Maybe (Prelude.NonEmpty CompletedPart)+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompletedMultipartUpload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'parts', 'completedMultipartUpload_parts' - Array of CompletedPart data types.+--+-- If you do not supply a valid @Part@ with your request, the service sends+-- back an HTTP 400 response.+newCompletedMultipartUpload ::+  CompletedMultipartUpload+newCompletedMultipartUpload =+  CompletedMultipartUpload' {parts = Prelude.Nothing}++-- | Array of CompletedPart data types.+--+-- If you do not supply a valid @Part@ with your request, the service sends+-- back an HTTP 400 response.+completedMultipartUpload_parts :: Lens.Lens' CompletedMultipartUpload (Prelude.Maybe (Prelude.NonEmpty CompletedPart))+completedMultipartUpload_parts = Lens.lens (\CompletedMultipartUpload' {parts} -> parts) (\s@CompletedMultipartUpload' {} a -> s {parts = a} :: CompletedMultipartUpload) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable CompletedMultipartUpload where+  hashWithSalt _salt CompletedMultipartUpload' {..} =+    _salt `Prelude.hashWithSalt` parts++instance Prelude.NFData CompletedMultipartUpload where+  rnf CompletedMultipartUpload' {..} = Prelude.rnf parts++instance Data.ToXML CompletedMultipartUpload where+  toXML CompletedMultipartUpload' {..} =+    Prelude.mconcat+      [ Data.toXML+          (Data.toXMLList "Part" Prelude.<$> parts)+      ]
+ gen/Amazonka/S3/Types/CompletedPart.hs view
@@ -0,0 +1,197 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CompletedPart+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CompletedPart where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Details of the parts that were uploaded.+--+-- /See:/ 'newCompletedPart' smart constructor.+data CompletedPart = CompletedPart'+  { -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Part number that identifies the part. This is a positive integer between+    -- 1 and 10,000.+    partNumber :: Prelude.Int,+    -- | Entity tag returned when the part was uploaded.+    eTag :: ETag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CompletedPart' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'completedPart_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'completedPart_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'completedPart_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'completedPart_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'partNumber', 'completedPart_partNumber' - Part number that identifies the part. This is a positive integer between+-- 1 and 10,000.+--+-- 'eTag', 'completedPart_eTag' - Entity tag returned when the part was uploaded.+newCompletedPart ::+  -- | 'partNumber'+  Prelude.Int ->+  -- | 'eTag'+  ETag ->+  CompletedPart+newCompletedPart pPartNumber_ pETag_ =+  CompletedPart'+    { checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      partNumber = pPartNumber_,+      eTag = pETag_+    }++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completedPart_checksumCRC32 :: Lens.Lens' CompletedPart (Prelude.Maybe Prelude.Text)+completedPart_checksumCRC32 = Lens.lens (\CompletedPart' {checksumCRC32} -> checksumCRC32) (\s@CompletedPart' {} a -> s {checksumCRC32 = a} :: CompletedPart)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completedPart_checksumCRC32C :: Lens.Lens' CompletedPart (Prelude.Maybe Prelude.Text)+completedPart_checksumCRC32C = Lens.lens (\CompletedPart' {checksumCRC32C} -> checksumCRC32C) (\s@CompletedPart' {} a -> s {checksumCRC32C = a} :: CompletedPart)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completedPart_checksumSHA1 :: Lens.Lens' CompletedPart (Prelude.Maybe Prelude.Text)+completedPart_checksumSHA1 = Lens.lens (\CompletedPart' {checksumSHA1} -> checksumSHA1) (\s@CompletedPart' {} a -> s {checksumSHA1 = a} :: CompletedPart)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+completedPart_checksumSHA256 :: Lens.Lens' CompletedPart (Prelude.Maybe Prelude.Text)+completedPart_checksumSHA256 = Lens.lens (\CompletedPart' {checksumSHA256} -> checksumSHA256) (\s@CompletedPart' {} a -> s {checksumSHA256 = a} :: CompletedPart)++-- | Part number that identifies the part. This is a positive integer between+-- 1 and 10,000.+completedPart_partNumber :: Lens.Lens' CompletedPart Prelude.Int+completedPart_partNumber = Lens.lens (\CompletedPart' {partNumber} -> partNumber) (\s@CompletedPart' {} a -> s {partNumber = a} :: CompletedPart)++-- | Entity tag returned when the part was uploaded.+completedPart_eTag :: Lens.Lens' CompletedPart ETag+completedPart_eTag = Lens.lens (\CompletedPart' {eTag} -> eTag) (\s@CompletedPart' {} a -> s {eTag = a} :: CompletedPart)++instance Prelude.Hashable CompletedPart where+  hashWithSalt _salt CompletedPart' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256+      `Prelude.hashWithSalt` partNumber+      `Prelude.hashWithSalt` eTag++instance Prelude.NFData CompletedPart where+  rnf CompletedPart' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf partNumber+      `Prelude.seq` Prelude.rnf eTag++instance Data.ToXML CompletedPart where+  toXML CompletedPart' {..} =+    Prelude.mconcat+      [ "ChecksumCRC32" Data.@= checksumCRC32,+        "ChecksumCRC32C" Data.@= checksumCRC32C,+        "ChecksumSHA1" Data.@= checksumSHA1,+        "ChecksumSHA256" Data.@= checksumSHA256,+        "PartNumber" Data.@= partNumber,+        "ETag" Data.@= eTag+      ]
+ gen/Amazonka/S3/Types/CompressionType.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CompressionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CompressionType+  ( CompressionType+      ( ..,+        CompressionType_BZIP2,+        CompressionType_GZIP,+        CompressionType_NONE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype CompressionType = CompressionType'+  { fromCompressionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern CompressionType_BZIP2 :: CompressionType+pattern CompressionType_BZIP2 = CompressionType' "BZIP2"++pattern CompressionType_GZIP :: CompressionType+pattern CompressionType_GZIP = CompressionType' "GZIP"++pattern CompressionType_NONE :: CompressionType+pattern CompressionType_NONE = CompressionType' "NONE"++{-# COMPLETE+  CompressionType_BZIP2,+  CompressionType_GZIP,+  CompressionType_NONE,+  CompressionType'+  #-}
+ gen/Amazonka/S3/Types/Condition.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Condition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Condition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A container for describing a condition that must be met for the+-- specified redirect to apply. For example, 1. If request is for pages in+-- the @\/docs@ folder, redirect to the @\/documents@ folder. 2. If request+-- results in HTTP error 4xx, redirect request to another host where you+-- might process the error.+--+-- /See:/ 'newCondition' smart constructor.+data Condition = Condition'+  { -- | The HTTP error code when the redirect is applied. In the event of an+    -- error, if the error code equals this value, then the specified redirect+    -- is applied. Required when parent element @Condition@ is specified and+    -- sibling @KeyPrefixEquals@ is not specified. If both are specified, then+    -- both must be true for the redirect to be applied.+    httpErrorCodeReturnedEquals :: Prelude.Maybe Prelude.Text,+    -- | The object key name prefix when the redirect is applied. For example, to+    -- redirect requests for @ExamplePage.html@, the key prefix will be+    -- @ExamplePage.html@. To redirect request for all pages with the prefix+    -- @docs\/@, the key prefix will be @\/docs@, which identifies all objects+    -- in the @docs\/@ folder. Required when the parent element @Condition@ is+    -- specified and sibling @HttpErrorCodeReturnedEquals@ is not specified. If+    -- both conditions are specified, both must be true for the redirect to be+    -- applied.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    keyPrefixEquals :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Condition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'httpErrorCodeReturnedEquals', 'condition_httpErrorCodeReturnedEquals' - The HTTP error code when the redirect is applied. In the event of an+-- error, if the error code equals this value, then the specified redirect+-- is applied. Required when parent element @Condition@ is specified and+-- sibling @KeyPrefixEquals@ is not specified. If both are specified, then+-- both must be true for the redirect to be applied.+--+-- 'keyPrefixEquals', 'condition_keyPrefixEquals' - The object key name prefix when the redirect is applied. For example, to+-- redirect requests for @ExamplePage.html@, the key prefix will be+-- @ExamplePage.html@. To redirect request for all pages with the prefix+-- @docs\/@, the key prefix will be @\/docs@, which identifies all objects+-- in the @docs\/@ folder. Required when the parent element @Condition@ is+-- specified and sibling @HttpErrorCodeReturnedEquals@ is not specified. If+-- both conditions are specified, both must be true for the redirect to be+-- applied.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+newCondition ::+  Condition+newCondition =+  Condition'+    { httpErrorCodeReturnedEquals =+        Prelude.Nothing,+      keyPrefixEquals = Prelude.Nothing+    }++-- | The HTTP error code when the redirect is applied. In the event of an+-- error, if the error code equals this value, then the specified redirect+-- is applied. Required when parent element @Condition@ is specified and+-- sibling @KeyPrefixEquals@ is not specified. If both are specified, then+-- both must be true for the redirect to be applied.+condition_httpErrorCodeReturnedEquals :: Lens.Lens' Condition (Prelude.Maybe Prelude.Text)+condition_httpErrorCodeReturnedEquals = Lens.lens (\Condition' {httpErrorCodeReturnedEquals} -> httpErrorCodeReturnedEquals) (\s@Condition' {} a -> s {httpErrorCodeReturnedEquals = a} :: Condition)++-- | The object key name prefix when the redirect is applied. For example, to+-- redirect requests for @ExamplePage.html@, the key prefix will be+-- @ExamplePage.html@. To redirect request for all pages with the prefix+-- @docs\/@, the key prefix will be @\/docs@, which identifies all objects+-- in the @docs\/@ folder. Required when the parent element @Condition@ is+-- specified and sibling @HttpErrorCodeReturnedEquals@ is not specified. If+-- both conditions are specified, both must be true for the redirect to be+-- applied.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+condition_keyPrefixEquals :: Lens.Lens' Condition (Prelude.Maybe Prelude.Text)+condition_keyPrefixEquals = Lens.lens (\Condition' {keyPrefixEquals} -> keyPrefixEquals) (\s@Condition' {} a -> s {keyPrefixEquals = a} :: Condition)++instance Data.FromXML Condition where+  parseXML x =+    Condition'+      Prelude.<$> (x Data..@? "HttpErrorCodeReturnedEquals")+      Prelude.<*> (x Data..@? "KeyPrefixEquals")++instance Prelude.Hashable Condition where+  hashWithSalt _salt Condition' {..} =+    _salt+      `Prelude.hashWithSalt` httpErrorCodeReturnedEquals+      `Prelude.hashWithSalt` keyPrefixEquals++instance Prelude.NFData Condition where+  rnf Condition' {..} =+    Prelude.rnf httpErrorCodeReturnedEquals+      `Prelude.seq` Prelude.rnf keyPrefixEquals++instance Data.ToXML Condition where+  toXML Condition' {..} =+    Prelude.mconcat+      [ "HttpErrorCodeReturnedEquals"+          Data.@= httpErrorCodeReturnedEquals,+        "KeyPrefixEquals" Data.@= keyPrefixEquals+      ]
+ gen/Amazonka/S3/Types/ContinuationEvent.hs view
@@ -0,0 +1,53 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ContinuationEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ContinuationEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- |+--+-- /See:/ 'newContinuationEvent' smart constructor.+data ContinuationEvent = ContinuationEvent'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ContinuationEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newContinuationEvent ::+  ContinuationEvent+newContinuationEvent = ContinuationEvent'++instance Data.FromXML ContinuationEvent where+  parseXML =+    Prelude.const (Prelude.pure ContinuationEvent')++instance Prelude.Hashable ContinuationEvent where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData ContinuationEvent where+  rnf _ = ()
+ gen/Amazonka/S3/Types/CopyObjectResult.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CopyObjectResult+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CopyObjectResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for all response elements.+--+-- /See:/ 'newCopyObjectResult' smart constructor.+data CopyObjectResult = CopyObjectResult'+  { -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Returns the ETag of the new object. The ETag reflects only changes to+    -- the contents of an object, not its metadata.+    eTag :: Prelude.Maybe ETag,+    -- | Creation date of the object.+    lastModified :: Prelude.Maybe Data.RFC822+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyObjectResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'copyObjectResult_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'copyObjectResult_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'copyObjectResult_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'copyObjectResult_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'eTag', 'copyObjectResult_eTag' - Returns the ETag of the new object. The ETag reflects only changes to+-- the contents of an object, not its metadata.+--+-- 'lastModified', 'copyObjectResult_lastModified' - Creation date of the object.+newCopyObjectResult ::+  CopyObjectResult+newCopyObjectResult =+  CopyObjectResult'+    { checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      eTag = Prelude.Nothing,+      lastModified = Prelude.Nothing+    }++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyObjectResult_checksumCRC32 :: Lens.Lens' CopyObjectResult (Prelude.Maybe Prelude.Text)+copyObjectResult_checksumCRC32 = Lens.lens (\CopyObjectResult' {checksumCRC32} -> checksumCRC32) (\s@CopyObjectResult' {} a -> s {checksumCRC32 = a} :: CopyObjectResult)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyObjectResult_checksumCRC32C :: Lens.Lens' CopyObjectResult (Prelude.Maybe Prelude.Text)+copyObjectResult_checksumCRC32C = Lens.lens (\CopyObjectResult' {checksumCRC32C} -> checksumCRC32C) (\s@CopyObjectResult' {} a -> s {checksumCRC32C = a} :: CopyObjectResult)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyObjectResult_checksumSHA1 :: Lens.Lens' CopyObjectResult (Prelude.Maybe Prelude.Text)+copyObjectResult_checksumSHA1 = Lens.lens (\CopyObjectResult' {checksumSHA1} -> checksumSHA1) (\s@CopyObjectResult' {} a -> s {checksumSHA1 = a} :: CopyObjectResult)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyObjectResult_checksumSHA256 :: Lens.Lens' CopyObjectResult (Prelude.Maybe Prelude.Text)+copyObjectResult_checksumSHA256 = Lens.lens (\CopyObjectResult' {checksumSHA256} -> checksumSHA256) (\s@CopyObjectResult' {} a -> s {checksumSHA256 = a} :: CopyObjectResult)++-- | Returns the ETag of the new object. The ETag reflects only changes to+-- the contents of an object, not its metadata.+copyObjectResult_eTag :: Lens.Lens' CopyObjectResult (Prelude.Maybe ETag)+copyObjectResult_eTag = Lens.lens (\CopyObjectResult' {eTag} -> eTag) (\s@CopyObjectResult' {} a -> s {eTag = a} :: CopyObjectResult)++-- | Creation date of the object.+copyObjectResult_lastModified :: Lens.Lens' CopyObjectResult (Prelude.Maybe Prelude.UTCTime)+copyObjectResult_lastModified = Lens.lens (\CopyObjectResult' {lastModified} -> lastModified) (\s@CopyObjectResult' {} a -> s {lastModified = a} :: CopyObjectResult) Prelude.. Lens.mapping Data._Time++instance Data.FromXML CopyObjectResult where+  parseXML x =+    CopyObjectResult'+      Prelude.<$> (x Data..@? "ChecksumCRC32")+      Prelude.<*> (x Data..@? "ChecksumCRC32C")+      Prelude.<*> (x Data..@? "ChecksumSHA1")+      Prelude.<*> (x Data..@? "ChecksumSHA256")+      Prelude.<*> (x Data..@? "ETag")+      Prelude.<*> (x Data..@? "LastModified")++instance Prelude.Hashable CopyObjectResult where+  hashWithSalt _salt CopyObjectResult' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256+      `Prelude.hashWithSalt` eTag+      `Prelude.hashWithSalt` lastModified++instance Prelude.NFData CopyObjectResult where+  rnf CopyObjectResult' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf lastModified
+ gen/Amazonka/S3/Types/CopyPartResult.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CopyPartResult+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CopyPartResult where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for all response elements.+--+-- /See:/ 'newCopyPartResult' smart constructor.+data CopyPartResult = CopyPartResult'+  { -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Entity tag of the object.+    eTag :: Prelude.Maybe ETag,+    -- | Date and time at which the object was uploaded.+    lastModified :: Prelude.Maybe Data.RFC822+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CopyPartResult' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'copyPartResult_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'copyPartResult_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'copyPartResult_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'copyPartResult_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'eTag', 'copyPartResult_eTag' - Entity tag of the object.+--+-- 'lastModified', 'copyPartResult_lastModified' - Date and time at which the object was uploaded.+newCopyPartResult ::+  CopyPartResult+newCopyPartResult =+  CopyPartResult'+    { checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      eTag = Prelude.Nothing,+      lastModified = Prelude.Nothing+    }++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyPartResult_checksumCRC32 :: Lens.Lens' CopyPartResult (Prelude.Maybe Prelude.Text)+copyPartResult_checksumCRC32 = Lens.lens (\CopyPartResult' {checksumCRC32} -> checksumCRC32) (\s@CopyPartResult' {} a -> s {checksumCRC32 = a} :: CopyPartResult)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyPartResult_checksumCRC32C :: Lens.Lens' CopyPartResult (Prelude.Maybe Prelude.Text)+copyPartResult_checksumCRC32C = Lens.lens (\CopyPartResult' {checksumCRC32C} -> checksumCRC32C) (\s@CopyPartResult' {} a -> s {checksumCRC32C = a} :: CopyPartResult)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyPartResult_checksumSHA1 :: Lens.Lens' CopyPartResult (Prelude.Maybe Prelude.Text)+copyPartResult_checksumSHA1 = Lens.lens (\CopyPartResult' {checksumSHA1} -> checksumSHA1) (\s@CopyPartResult' {} a -> s {checksumSHA1 = a} :: CopyPartResult)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+copyPartResult_checksumSHA256 :: Lens.Lens' CopyPartResult (Prelude.Maybe Prelude.Text)+copyPartResult_checksumSHA256 = Lens.lens (\CopyPartResult' {checksumSHA256} -> checksumSHA256) (\s@CopyPartResult' {} a -> s {checksumSHA256 = a} :: CopyPartResult)++-- | Entity tag of the object.+copyPartResult_eTag :: Lens.Lens' CopyPartResult (Prelude.Maybe ETag)+copyPartResult_eTag = Lens.lens (\CopyPartResult' {eTag} -> eTag) (\s@CopyPartResult' {} a -> s {eTag = a} :: CopyPartResult)++-- | Date and time at which the object was uploaded.+copyPartResult_lastModified :: Lens.Lens' CopyPartResult (Prelude.Maybe Prelude.UTCTime)+copyPartResult_lastModified = Lens.lens (\CopyPartResult' {lastModified} -> lastModified) (\s@CopyPartResult' {} a -> s {lastModified = a} :: CopyPartResult) Prelude.. Lens.mapping Data._Time++instance Data.FromXML CopyPartResult where+  parseXML x =+    CopyPartResult'+      Prelude.<$> (x Data..@? "ChecksumCRC32")+      Prelude.<*> (x Data..@? "ChecksumCRC32C")+      Prelude.<*> (x Data..@? "ChecksumSHA1")+      Prelude.<*> (x Data..@? "ChecksumSHA256")+      Prelude.<*> (x Data..@? "ETag")+      Prelude.<*> (x Data..@? "LastModified")++instance Prelude.Hashable CopyPartResult where+  hashWithSalt _salt CopyPartResult' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256+      `Prelude.hashWithSalt` eTag+      `Prelude.hashWithSalt` lastModified++instance Prelude.NFData CopyPartResult where+  rnf CopyPartResult' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf lastModified
+ gen/Amazonka/S3/Types/CreateBucketConfiguration.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.CreateBucketConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.CreateBucketConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The configuration information for the bucket.+--+-- /See:/ 'newCreateBucketConfiguration' smart constructor.+data CreateBucketConfiguration = CreateBucketConfiguration'+  { -- | Specifies the Region where the bucket will be created. If you don\'t+    -- specify a Region, the bucket is created in the US East (N. Virginia)+    -- Region (us-east-1).+    locationConstraint :: Prelude.Maybe LocationConstraint+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'CreateBucketConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'locationConstraint', 'createBucketConfiguration_locationConstraint' - Specifies the Region where the bucket will be created. If you don\'t+-- specify a Region, the bucket is created in the US East (N. Virginia)+-- Region (us-east-1).+newCreateBucketConfiguration ::+  CreateBucketConfiguration+newCreateBucketConfiguration =+  CreateBucketConfiguration'+    { locationConstraint =+        Prelude.Nothing+    }++-- | Specifies the Region where the bucket will be created. If you don\'t+-- specify a Region, the bucket is created in the US East (N. Virginia)+-- Region (us-east-1).+createBucketConfiguration_locationConstraint :: Lens.Lens' CreateBucketConfiguration (Prelude.Maybe LocationConstraint)+createBucketConfiguration_locationConstraint = Lens.lens (\CreateBucketConfiguration' {locationConstraint} -> locationConstraint) (\s@CreateBucketConfiguration' {} a -> s {locationConstraint = a} :: CreateBucketConfiguration)++instance Prelude.Hashable CreateBucketConfiguration where+  hashWithSalt _salt CreateBucketConfiguration' {..} =+    _salt `Prelude.hashWithSalt` locationConstraint++instance Prelude.NFData CreateBucketConfiguration where+  rnf CreateBucketConfiguration' {..} =+    Prelude.rnf locationConstraint++instance Data.ToXML CreateBucketConfiguration where+  toXML CreateBucketConfiguration' {..} =+    Prelude.mconcat+      ["LocationConstraint" Data.@= locationConstraint]
+ gen/Amazonka/S3/Types/DefaultRetention.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.DefaultRetention+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.DefaultRetention where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectLockRetentionMode++-- | The container element for specifying the default Object Lock retention+-- settings for new objects placed in the specified bucket.+--+-- -   The @DefaultRetention@ settings require both a mode and a period.+--+-- -   The @DefaultRetention@ period can be either @Days@ or @Years@ but+--     you must select one. You cannot specify @Days@ and @Years@ at the+--     same time.+--+-- /See:/ 'newDefaultRetention' smart constructor.+data DefaultRetention = DefaultRetention'+  { -- | The number of days that you want to specify for the default retention+    -- period. Must be used with @Mode@.+    days :: Prelude.Maybe Prelude.Int,+    -- | The default Object Lock retention mode you want to apply to new objects+    -- placed in the specified bucket. Must be used with either @Days@ or+    -- @Years@.+    mode :: Prelude.Maybe ObjectLockRetentionMode,+    -- | The number of years that you want to specify for the default retention+    -- period. Must be used with @Mode@.+    years :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DefaultRetention' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'days', 'defaultRetention_days' - The number of days that you want to specify for the default retention+-- period. Must be used with @Mode@.+--+-- 'mode', 'defaultRetention_mode' - The default Object Lock retention mode you want to apply to new objects+-- placed in the specified bucket. Must be used with either @Days@ or+-- @Years@.+--+-- 'years', 'defaultRetention_years' - The number of years that you want to specify for the default retention+-- period. Must be used with @Mode@.+newDefaultRetention ::+  DefaultRetention+newDefaultRetention =+  DefaultRetention'+    { days = Prelude.Nothing,+      mode = Prelude.Nothing,+      years = Prelude.Nothing+    }++-- | The number of days that you want to specify for the default retention+-- period. Must be used with @Mode@.+defaultRetention_days :: Lens.Lens' DefaultRetention (Prelude.Maybe Prelude.Int)+defaultRetention_days = Lens.lens (\DefaultRetention' {days} -> days) (\s@DefaultRetention' {} a -> s {days = a} :: DefaultRetention)++-- | The default Object Lock retention mode you want to apply to new objects+-- placed in the specified bucket. Must be used with either @Days@ or+-- @Years@.+defaultRetention_mode :: Lens.Lens' DefaultRetention (Prelude.Maybe ObjectLockRetentionMode)+defaultRetention_mode = Lens.lens (\DefaultRetention' {mode} -> mode) (\s@DefaultRetention' {} a -> s {mode = a} :: DefaultRetention)++-- | The number of years that you want to specify for the default retention+-- period. Must be used with @Mode@.+defaultRetention_years :: Lens.Lens' DefaultRetention (Prelude.Maybe Prelude.Int)+defaultRetention_years = Lens.lens (\DefaultRetention' {years} -> years) (\s@DefaultRetention' {} a -> s {years = a} :: DefaultRetention)++instance Data.FromXML DefaultRetention where+  parseXML x =+    DefaultRetention'+      Prelude.<$> (x Data..@? "Days")+      Prelude.<*> (x Data..@? "Mode")+      Prelude.<*> (x Data..@? "Years")++instance Prelude.Hashable DefaultRetention where+  hashWithSalt _salt DefaultRetention' {..} =+    _salt+      `Prelude.hashWithSalt` days+      `Prelude.hashWithSalt` mode+      `Prelude.hashWithSalt` years++instance Prelude.NFData DefaultRetention where+  rnf DefaultRetention' {..} =+    Prelude.rnf days+      `Prelude.seq` Prelude.rnf mode+      `Prelude.seq` Prelude.rnf years++instance Data.ToXML DefaultRetention where+  toXML DefaultRetention' {..} =+    Prelude.mconcat+      [ "Days" Data.@= days,+        "Mode" Data.@= mode,+        "Years" Data.@= years+      ]
+ gen/Amazonka/S3/Types/Delete.hs view
@@ -0,0 +1,85 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Delete+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Delete where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectIdentifier++-- | Container for the objects to delete.+--+-- /See:/ 'newDelete' smart constructor.+data Delete = Delete'+  { -- | Element to enable quiet mode for the request. When you add this element,+    -- you must set its value to true.+    quiet :: Prelude.Maybe Prelude.Bool,+    -- | The objects to delete.+    objects :: [ObjectIdentifier]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Delete' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'quiet', 'delete_quiet' - Element to enable quiet mode for the request. When you add this element,+-- you must set its value to true.+--+-- 'objects', 'delete_objects' - The objects to delete.+newDelete ::+  Delete+newDelete =+  Delete'+    { quiet = Prelude.Nothing,+      objects = Prelude.mempty+    }++-- | Element to enable quiet mode for the request. When you add this element,+-- you must set its value to true.+delete_quiet :: Lens.Lens' Delete (Prelude.Maybe Prelude.Bool)+delete_quiet = Lens.lens (\Delete' {quiet} -> quiet) (\s@Delete' {} a -> s {quiet = a} :: Delete)++-- | The objects to delete.+delete_objects :: Lens.Lens' Delete [ObjectIdentifier]+delete_objects = Lens.lens (\Delete' {objects} -> objects) (\s@Delete' {} a -> s {objects = a} :: Delete) Prelude.. Lens.coerced++instance Prelude.Hashable Delete where+  hashWithSalt _salt Delete' {..} =+    _salt+      `Prelude.hashWithSalt` quiet+      `Prelude.hashWithSalt` objects++instance Prelude.NFData Delete where+  rnf Delete' {..} =+    Prelude.rnf quiet `Prelude.seq` Prelude.rnf objects++instance Data.ToXML Delete where+  toXML Delete' {..} =+    Prelude.mconcat+      [ "Quiet" Data.@= quiet,+        Data.toXMLList "Object" objects+      ]
+ gen/Amazonka/S3/Types/DeleteMarkerEntry.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.DeleteMarkerEntry+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.DeleteMarkerEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Owner++-- | Information about the delete marker.+--+-- /See:/ 'newDeleteMarkerEntry' smart constructor.+data DeleteMarkerEntry = DeleteMarkerEntry'+  { -- | Specifies whether the object is (true) or is not (false) the latest+    -- version of an object.+    isLatest :: Prelude.Maybe Prelude.Bool,+    -- | The object key.+    key :: Prelude.Maybe ObjectKey,+    -- | Date and time the object was last modified.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | The account that created the delete marker.>+    owner :: Prelude.Maybe Owner,+    -- | Version ID of an object.+    versionId :: Prelude.Maybe ObjectVersionId+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMarkerEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isLatest', 'deleteMarkerEntry_isLatest' - Specifies whether the object is (true) or is not (false) the latest+-- version of an object.+--+-- 'key', 'deleteMarkerEntry_key' - The object key.+--+-- 'lastModified', 'deleteMarkerEntry_lastModified' - Date and time the object was last modified.+--+-- 'owner', 'deleteMarkerEntry_owner' - The account that created the delete marker.>+--+-- 'versionId', 'deleteMarkerEntry_versionId' - Version ID of an object.+newDeleteMarkerEntry ::+  DeleteMarkerEntry+newDeleteMarkerEntry =+  DeleteMarkerEntry'+    { isLatest = Prelude.Nothing,+      key = Prelude.Nothing,+      lastModified = Prelude.Nothing,+      owner = Prelude.Nothing,+      versionId = Prelude.Nothing+    }++-- | Specifies whether the object is (true) or is not (false) the latest+-- version of an object.+deleteMarkerEntry_isLatest :: Lens.Lens' DeleteMarkerEntry (Prelude.Maybe Prelude.Bool)+deleteMarkerEntry_isLatest = Lens.lens (\DeleteMarkerEntry' {isLatest} -> isLatest) (\s@DeleteMarkerEntry' {} a -> s {isLatest = a} :: DeleteMarkerEntry)++-- | The object key.+deleteMarkerEntry_key :: Lens.Lens' DeleteMarkerEntry (Prelude.Maybe ObjectKey)+deleteMarkerEntry_key = Lens.lens (\DeleteMarkerEntry' {key} -> key) (\s@DeleteMarkerEntry' {} a -> s {key = a} :: DeleteMarkerEntry)++-- | Date and time the object was last modified.+deleteMarkerEntry_lastModified :: Lens.Lens' DeleteMarkerEntry (Prelude.Maybe Prelude.UTCTime)+deleteMarkerEntry_lastModified = Lens.lens (\DeleteMarkerEntry' {lastModified} -> lastModified) (\s@DeleteMarkerEntry' {} a -> s {lastModified = a} :: DeleteMarkerEntry) Prelude.. Lens.mapping Data._Time++-- | The account that created the delete marker.>+deleteMarkerEntry_owner :: Lens.Lens' DeleteMarkerEntry (Prelude.Maybe Owner)+deleteMarkerEntry_owner = Lens.lens (\DeleteMarkerEntry' {owner} -> owner) (\s@DeleteMarkerEntry' {} a -> s {owner = a} :: DeleteMarkerEntry)++-- | Version ID of an object.+deleteMarkerEntry_versionId :: Lens.Lens' DeleteMarkerEntry (Prelude.Maybe ObjectVersionId)+deleteMarkerEntry_versionId = Lens.lens (\DeleteMarkerEntry' {versionId} -> versionId) (\s@DeleteMarkerEntry' {} a -> s {versionId = a} :: DeleteMarkerEntry)++instance Data.FromXML DeleteMarkerEntry where+  parseXML x =+    DeleteMarkerEntry'+      Prelude.<$> (x Data..@? "IsLatest")+      Prelude.<*> (x Data..@? "Key")+      Prelude.<*> (x Data..@? "LastModified")+      Prelude.<*> (x Data..@? "Owner")+      Prelude.<*> (x Data..@? "VersionId")++instance Prelude.Hashable DeleteMarkerEntry where+  hashWithSalt _salt DeleteMarkerEntry' {..} =+    _salt+      `Prelude.hashWithSalt` isLatest+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` lastModified+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` versionId++instance Prelude.NFData DeleteMarkerEntry where+  rnf DeleteMarkerEntry' {..} =+    Prelude.rnf isLatest+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf lastModified+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf versionId
+ gen/Amazonka/S3/Types/DeleteMarkerReplication.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.DeleteMarkerReplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.DeleteMarkerReplication where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.DeleteMarkerReplicationStatus++-- | Specifies whether Amazon S3 replicates delete markers. If you specify a+-- @Filter@ in your replication configuration, you must also include a+-- @DeleteMarkerReplication@ element. If your @Filter@ includes a @Tag@+-- element, the @DeleteMarkerReplication@ @Status@ must be set to Disabled,+-- because Amazon S3 does not support replicating delete markers for+-- tag-based rules. For an example configuration, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-config-min-rule-config Basic Rule Configuration>.+--+-- For more information about delete marker replication, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/delete-marker-replication.html Basic Rule Configuration>.+--+-- If you are using an earlier version of the replication configuration,+-- Amazon S3 handles replication of delete markers differently. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations Backward Compatibility>.+--+-- /See:/ 'newDeleteMarkerReplication' smart constructor.+data DeleteMarkerReplication = DeleteMarkerReplication'+  { -- | Indicates whether to replicate delete markers.+    --+    -- Indicates whether to replicate delete markers.+    status :: Prelude.Maybe DeleteMarkerReplicationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeleteMarkerReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'deleteMarkerReplication_status' - Indicates whether to replicate delete markers.+--+-- Indicates whether to replicate delete markers.+newDeleteMarkerReplication ::+  DeleteMarkerReplication+newDeleteMarkerReplication =+  DeleteMarkerReplication' {status = Prelude.Nothing}++-- | Indicates whether to replicate delete markers.+--+-- Indicates whether to replicate delete markers.+deleteMarkerReplication_status :: Lens.Lens' DeleteMarkerReplication (Prelude.Maybe DeleteMarkerReplicationStatus)+deleteMarkerReplication_status = Lens.lens (\DeleteMarkerReplication' {status} -> status) (\s@DeleteMarkerReplication' {} a -> s {status = a} :: DeleteMarkerReplication)++instance Data.FromXML DeleteMarkerReplication where+  parseXML x =+    DeleteMarkerReplication'+      Prelude.<$> (x Data..@? "Status")++instance Prelude.Hashable DeleteMarkerReplication where+  hashWithSalt _salt DeleteMarkerReplication' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData DeleteMarkerReplication where+  rnf DeleteMarkerReplication' {..} = Prelude.rnf status++instance Data.ToXML DeleteMarkerReplication where+  toXML DeleteMarkerReplication' {..} =+    Prelude.mconcat ["Status" Data.@= status]
+ gen/Amazonka/S3/Types/DeleteMarkerReplicationStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.DeleteMarkerReplicationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.DeleteMarkerReplicationStatus+  ( DeleteMarkerReplicationStatus+      ( ..,+        DeleteMarkerReplicationStatus_Disabled,+        DeleteMarkerReplicationStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype DeleteMarkerReplicationStatus = DeleteMarkerReplicationStatus'+  { fromDeleteMarkerReplicationStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern DeleteMarkerReplicationStatus_Disabled :: DeleteMarkerReplicationStatus+pattern DeleteMarkerReplicationStatus_Disabled = DeleteMarkerReplicationStatus' "Disabled"++pattern DeleteMarkerReplicationStatus_Enabled :: DeleteMarkerReplicationStatus+pattern DeleteMarkerReplicationStatus_Enabled = DeleteMarkerReplicationStatus' "Enabled"++{-# COMPLETE+  DeleteMarkerReplicationStatus_Disabled,+  DeleteMarkerReplicationStatus_Enabled,+  DeleteMarkerReplicationStatus'+  #-}
+ gen/Amazonka/S3/Types/DeletedObject.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.DeletedObject+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.DeletedObject where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Information about the deleted object.+--+-- /See:/ 'newDeletedObject' smart constructor.+data DeletedObject = DeletedObject'+  { -- | Specifies whether the versioned object that was permanently deleted was+    -- (true) or was not (false) a delete marker. In a simple DELETE, this+    -- header indicates whether (true) or not (false) a delete marker was+    -- created.+    deleteMarker :: Prelude.Maybe Prelude.Bool,+    -- | The version ID of the delete marker created as a result of the DELETE+    -- operation. If you delete a specific object version, the value returned+    -- by this header is the version ID of the object version deleted.+    deleteMarkerVersionId :: Prelude.Maybe Prelude.Text,+    -- | The name of the deleted object.+    key :: Prelude.Maybe ObjectKey,+    -- | The version ID of the deleted object.+    versionId :: Prelude.Maybe ObjectVersionId+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'DeletedObject' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteMarker', 'deletedObject_deleteMarker' - Specifies whether the versioned object that was permanently deleted was+-- (true) or was not (false) a delete marker. In a simple DELETE, this+-- header indicates whether (true) or not (false) a delete marker was+-- created.+--+-- 'deleteMarkerVersionId', 'deletedObject_deleteMarkerVersionId' - The version ID of the delete marker created as a result of the DELETE+-- operation. If you delete a specific object version, the value returned+-- by this header is the version ID of the object version deleted.+--+-- 'key', 'deletedObject_key' - The name of the deleted object.+--+-- 'versionId', 'deletedObject_versionId' - The version ID of the deleted object.+newDeletedObject ::+  DeletedObject+newDeletedObject =+  DeletedObject'+    { deleteMarker = Prelude.Nothing,+      deleteMarkerVersionId = Prelude.Nothing,+      key = Prelude.Nothing,+      versionId = Prelude.Nothing+    }++-- | Specifies whether the versioned object that was permanently deleted was+-- (true) or was not (false) a delete marker. In a simple DELETE, this+-- header indicates whether (true) or not (false) a delete marker was+-- created.+deletedObject_deleteMarker :: Lens.Lens' DeletedObject (Prelude.Maybe Prelude.Bool)+deletedObject_deleteMarker = Lens.lens (\DeletedObject' {deleteMarker} -> deleteMarker) (\s@DeletedObject' {} a -> s {deleteMarker = a} :: DeletedObject)++-- | The version ID of the delete marker created as a result of the DELETE+-- operation. If you delete a specific object version, the value returned+-- by this header is the version ID of the object version deleted.+deletedObject_deleteMarkerVersionId :: Lens.Lens' DeletedObject (Prelude.Maybe Prelude.Text)+deletedObject_deleteMarkerVersionId = Lens.lens (\DeletedObject' {deleteMarkerVersionId} -> deleteMarkerVersionId) (\s@DeletedObject' {} a -> s {deleteMarkerVersionId = a} :: DeletedObject)++-- | The name of the deleted object.+deletedObject_key :: Lens.Lens' DeletedObject (Prelude.Maybe ObjectKey)+deletedObject_key = Lens.lens (\DeletedObject' {key} -> key) (\s@DeletedObject' {} a -> s {key = a} :: DeletedObject)++-- | The version ID of the deleted object.+deletedObject_versionId :: Lens.Lens' DeletedObject (Prelude.Maybe ObjectVersionId)+deletedObject_versionId = Lens.lens (\DeletedObject' {versionId} -> versionId) (\s@DeletedObject' {} a -> s {versionId = a} :: DeletedObject)++instance Data.FromXML DeletedObject where+  parseXML x =+    DeletedObject'+      Prelude.<$> (x Data..@? "DeleteMarker")+      Prelude.<*> (x Data..@? "DeleteMarkerVersionId")+      Prelude.<*> (x Data..@? "Key")+      Prelude.<*> (x Data..@? "VersionId")++instance Prelude.Hashable DeletedObject where+  hashWithSalt _salt DeletedObject' {..} =+    _salt+      `Prelude.hashWithSalt` deleteMarker+      `Prelude.hashWithSalt` deleteMarkerVersionId+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` versionId++instance Prelude.NFData DeletedObject where+  rnf DeletedObject' {..} =+    Prelude.rnf deleteMarker+      `Prelude.seq` Prelude.rnf deleteMarkerVersionId+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf versionId
+ gen/Amazonka/S3/Types/Destination.hs view
@@ -0,0 +1,234 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Destination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Destination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AccessControlTranslation+import Amazonka.S3.Types.EncryptionConfiguration+import Amazonka.S3.Types.Metrics+import Amazonka.S3.Types.ReplicationTime+import Amazonka.S3.Types.StorageClass++-- | Specifies information about where to publish analysis or configuration+-- results for an Amazon S3 bucket and S3 Replication Time Control (S3+-- RTC).+--+-- /See:/ 'newDestination' smart constructor.+data Destination = Destination'+  { -- | Specify this only in a cross-account scenario (where source and+    -- destination bucket owners are not the same), and you want to change+    -- replica ownership to the Amazon Web Services account that owns the+    -- destination bucket. If this is not specified in the replication+    -- configuration, the replicas are owned by same Amazon Web Services+    -- account that owns the source object.+    accessControlTranslation :: Prelude.Maybe AccessControlTranslation,+    -- | Destination bucket owner account ID. In a cross-account scenario, if you+    -- direct Amazon S3 to change replica ownership to the Amazon Web Services+    -- account that owns the destination bucket by specifying the+    -- @AccessControlTranslation@ property, this is the account ID of the+    -- destination bucket owner. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html Replication Additional Configuration: Changing the Replica Owner>+    -- in the /Amazon S3 User Guide/.+    account :: Prelude.Maybe Prelude.Text,+    -- | A container that provides information about encryption. If+    -- @SourceSelectionCriteria@ is specified, you must specify this element.+    encryptionConfiguration :: Prelude.Maybe EncryptionConfiguration,+    -- | A container specifying replication metrics-related settings enabling+    -- replication metrics and events.+    metrics :: Prelude.Maybe Metrics,+    -- | A container specifying S3 Replication Time Control (S3 RTC), including+    -- whether S3 RTC is enabled and the time when all objects and operations+    -- on objects must be replicated. Must be specified together with a+    -- @Metrics@ block.+    replicationTime :: Prelude.Maybe ReplicationTime,+    -- | The storage class to use when replicating objects, such as S3 Standard+    -- or reduced redundancy. By default, Amazon S3 uses the storage class of+    -- the source object to create the object replica.+    --+    -- For valid values, see the @StorageClass@ element of the+    -- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html PUT Bucket replication>+    -- action in the /Amazon S3 API Reference/.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to+    -- store the results.+    bucket :: BucketName+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Destination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessControlTranslation', 'destination_accessControlTranslation' - Specify this only in a cross-account scenario (where source and+-- destination bucket owners are not the same), and you want to change+-- replica ownership to the Amazon Web Services account that owns the+-- destination bucket. If this is not specified in the replication+-- configuration, the replicas are owned by same Amazon Web Services+-- account that owns the source object.+--+-- 'account', 'destination_account' - Destination bucket owner account ID. In a cross-account scenario, if you+-- direct Amazon S3 to change replica ownership to the Amazon Web Services+-- account that owns the destination bucket by specifying the+-- @AccessControlTranslation@ property, this is the account ID of the+-- destination bucket owner. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html Replication Additional Configuration: Changing the Replica Owner>+-- in the /Amazon S3 User Guide/.+--+-- 'encryptionConfiguration', 'destination_encryptionConfiguration' - A container that provides information about encryption. If+-- @SourceSelectionCriteria@ is specified, you must specify this element.+--+-- 'metrics', 'destination_metrics' - A container specifying replication metrics-related settings enabling+-- replication metrics and events.+--+-- 'replicationTime', 'destination_replicationTime' - A container specifying S3 Replication Time Control (S3 RTC), including+-- whether S3 RTC is enabled and the time when all objects and operations+-- on objects must be replicated. Must be specified together with a+-- @Metrics@ block.+--+-- 'storageClass', 'destination_storageClass' - The storage class to use when replicating objects, such as S3 Standard+-- or reduced redundancy. By default, Amazon S3 uses the storage class of+-- the source object to create the object replica.+--+-- For valid values, see the @StorageClass@ element of the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html PUT Bucket replication>+-- action in the /Amazon S3 API Reference/.+--+-- 'bucket', 'destination_bucket' - The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to+-- store the results.+newDestination ::+  -- | 'bucket'+  BucketName ->+  Destination+newDestination pBucket_ =+  Destination'+    { accessControlTranslation =+        Prelude.Nothing,+      account = Prelude.Nothing,+      encryptionConfiguration = Prelude.Nothing,+      metrics = Prelude.Nothing,+      replicationTime = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      bucket = pBucket_+    }++-- | Specify this only in a cross-account scenario (where source and+-- destination bucket owners are not the same), and you want to change+-- replica ownership to the Amazon Web Services account that owns the+-- destination bucket. If this is not specified in the replication+-- configuration, the replicas are owned by same Amazon Web Services+-- account that owns the source object.+destination_accessControlTranslation :: Lens.Lens' Destination (Prelude.Maybe AccessControlTranslation)+destination_accessControlTranslation = Lens.lens (\Destination' {accessControlTranslation} -> accessControlTranslation) (\s@Destination' {} a -> s {accessControlTranslation = a} :: Destination)++-- | Destination bucket owner account ID. In a cross-account scenario, if you+-- direct Amazon S3 to change replica ownership to the Amazon Web Services+-- account that owns the destination bucket by specifying the+-- @AccessControlTranslation@ property, this is the account ID of the+-- destination bucket owner. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-change-owner.html Replication Additional Configuration: Changing the Replica Owner>+-- in the /Amazon S3 User Guide/.+destination_account :: Lens.Lens' Destination (Prelude.Maybe Prelude.Text)+destination_account = Lens.lens (\Destination' {account} -> account) (\s@Destination' {} a -> s {account = a} :: Destination)++-- | A container that provides information about encryption. If+-- @SourceSelectionCriteria@ is specified, you must specify this element.+destination_encryptionConfiguration :: Lens.Lens' Destination (Prelude.Maybe EncryptionConfiguration)+destination_encryptionConfiguration = Lens.lens (\Destination' {encryptionConfiguration} -> encryptionConfiguration) (\s@Destination' {} a -> s {encryptionConfiguration = a} :: Destination)++-- | A container specifying replication metrics-related settings enabling+-- replication metrics and events.+destination_metrics :: Lens.Lens' Destination (Prelude.Maybe Metrics)+destination_metrics = Lens.lens (\Destination' {metrics} -> metrics) (\s@Destination' {} a -> s {metrics = a} :: Destination)++-- | A container specifying S3 Replication Time Control (S3 RTC), including+-- whether S3 RTC is enabled and the time when all objects and operations+-- on objects must be replicated. Must be specified together with a+-- @Metrics@ block.+destination_replicationTime :: Lens.Lens' Destination (Prelude.Maybe ReplicationTime)+destination_replicationTime = Lens.lens (\Destination' {replicationTime} -> replicationTime) (\s@Destination' {} a -> s {replicationTime = a} :: Destination)++-- | The storage class to use when replicating objects, such as S3 Standard+-- or reduced redundancy. By default, Amazon S3 uses the storage class of+-- the source object to create the object replica.+--+-- For valid values, see the @StorageClass@ element of the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html PUT Bucket replication>+-- action in the /Amazon S3 API Reference/.+destination_storageClass :: Lens.Lens' Destination (Prelude.Maybe StorageClass)+destination_storageClass = Lens.lens (\Destination' {storageClass} -> storageClass) (\s@Destination' {} a -> s {storageClass = a} :: Destination)++-- | The Amazon Resource Name (ARN) of the bucket where you want Amazon S3 to+-- store the results.+destination_bucket :: Lens.Lens' Destination BucketName+destination_bucket = Lens.lens (\Destination' {bucket} -> bucket) (\s@Destination' {} a -> s {bucket = a} :: Destination)++instance Data.FromXML Destination where+  parseXML x =+    Destination'+      Prelude.<$> (x Data..@? "AccessControlTranslation")+      Prelude.<*> (x Data..@? "Account")+      Prelude.<*> (x Data..@? "EncryptionConfiguration")+      Prelude.<*> (x Data..@? "Metrics")+      Prelude.<*> (x Data..@? "ReplicationTime")+      Prelude.<*> (x Data..@? "StorageClass")+      Prelude.<*> (x Data..@ "Bucket")++instance Prelude.Hashable Destination where+  hashWithSalt _salt Destination' {..} =+    _salt+      `Prelude.hashWithSalt` accessControlTranslation+      `Prelude.hashWithSalt` account+      `Prelude.hashWithSalt` encryptionConfiguration+      `Prelude.hashWithSalt` metrics+      `Prelude.hashWithSalt` replicationTime+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` bucket++instance Prelude.NFData Destination where+  rnf Destination' {..} =+    Prelude.rnf accessControlTranslation+      `Prelude.seq` Prelude.rnf account+      `Prelude.seq` Prelude.rnf encryptionConfiguration+      `Prelude.seq` Prelude.rnf metrics+      `Prelude.seq` Prelude.rnf replicationTime+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf bucket++instance Data.ToXML Destination where+  toXML Destination' {..} =+    Prelude.mconcat+      [ "AccessControlTranslation"+          Data.@= accessControlTranslation,+        "Account" Data.@= account,+        "EncryptionConfiguration"+          Data.@= encryptionConfiguration,+        "Metrics" Data.@= metrics,+        "ReplicationTime" Data.@= replicationTime,+        "StorageClass" Data.@= storageClass,+        "Bucket" Data.@= bucket+      ]
+ gen/Amazonka/S3/Types/EncodingType.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.EncodingType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.EncodingType+  ( EncodingType+      ( ..,+        EncodingType_Url+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Requests Amazon S3 to encode the object keys in the response and+-- specifies the encoding method to use. An object key may contain any+-- Unicode character; however, XML 1.0 parser cannot parse some characters,+-- such as characters with an ASCII value from 0 to 10. For characters that+-- are not supported in XML 1.0, you can add this parameter to request that+-- Amazon S3 encode the keys in the response.+newtype EncodingType = EncodingType'+  { fromEncodingType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern EncodingType_Url :: EncodingType+pattern EncodingType_Url = EncodingType' "url"++{-# COMPLETE+  EncodingType_Url,+  EncodingType'+  #-}
+ gen/Amazonka/S3/Types/Encryption.hs view
@@ -0,0 +1,118 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Encryption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Encryption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ServerSideEncryption++-- | Contains the type of server-side encryption used.+--+-- /See:/ 'newEncryption' smart constructor.+data Encryption = Encryption'+  { -- | If the encryption type is @aws:kms@, this optional value can be used to+    -- specify the encryption context for the restore results.+    kmsContext :: Prelude.Maybe Prelude.Text,+    -- | If the encryption type is @aws:kms@, this optional value specifies the+    -- ID of the symmetric customer managed key to use for encryption of job+    -- results. Amazon S3 only supports symmetric keys. For more information,+    -- see+    -- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+    -- in the /Amazon Web Services Key Management Service Developer Guide/.+    kmsKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing job results in+    -- Amazon S3 (for example, AES256, aws:kms).+    encryptionType :: ServerSideEncryption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Encryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsContext', 'encryption_kmsContext' - If the encryption type is @aws:kms@, this optional value can be used to+-- specify the encryption context for the restore results.+--+-- 'kmsKeyId', 'encryption_kmsKeyId' - If the encryption type is @aws:kms@, this optional value specifies the+-- ID of the symmetric customer managed key to use for encryption of job+-- results. Amazon S3 only supports symmetric keys. For more information,+-- see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Amazon Web Services Key Management Service Developer Guide/.+--+-- 'encryptionType', 'encryption_encryptionType' - The server-side encryption algorithm used when storing job results in+-- Amazon S3 (for example, AES256, aws:kms).+newEncryption ::+  -- | 'encryptionType'+  ServerSideEncryption ->+  Encryption+newEncryption pEncryptionType_ =+  Encryption'+    { kmsContext = Prelude.Nothing,+      kmsKeyId = Prelude.Nothing,+      encryptionType = pEncryptionType_+    }++-- | If the encryption type is @aws:kms@, this optional value can be used to+-- specify the encryption context for the restore results.+encryption_kmsContext :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_kmsContext = Lens.lens (\Encryption' {kmsContext} -> kmsContext) (\s@Encryption' {} a -> s {kmsContext = a} :: Encryption)++-- | If the encryption type is @aws:kms@, this optional value specifies the+-- ID of the symmetric customer managed key to use for encryption of job+-- results. Amazon S3 only supports symmetric keys. For more information,+-- see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Amazon Web Services Key Management Service Developer Guide/.+encryption_kmsKeyId :: Lens.Lens' Encryption (Prelude.Maybe Prelude.Text)+encryption_kmsKeyId = Lens.lens (\Encryption' {kmsKeyId} -> kmsKeyId) (\s@Encryption' {} a -> s {kmsKeyId = a} :: Encryption) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing job results in+-- Amazon S3 (for example, AES256, aws:kms).+encryption_encryptionType :: Lens.Lens' Encryption ServerSideEncryption+encryption_encryptionType = Lens.lens (\Encryption' {encryptionType} -> encryptionType) (\s@Encryption' {} a -> s {encryptionType = a} :: Encryption)++instance Prelude.Hashable Encryption where+  hashWithSalt _salt Encryption' {..} =+    _salt+      `Prelude.hashWithSalt` kmsContext+      `Prelude.hashWithSalt` kmsKeyId+      `Prelude.hashWithSalt` encryptionType++instance Prelude.NFData Encryption where+  rnf Encryption' {..} =+    Prelude.rnf kmsContext+      `Prelude.seq` Prelude.rnf kmsKeyId+      `Prelude.seq` Prelude.rnf encryptionType++instance Data.ToXML Encryption where+  toXML Encryption' {..} =+    Prelude.mconcat+      [ "KMSContext" Data.@= kmsContext,+        "KMSKeyId" Data.@= kmsKeyId,+        "EncryptionType" Data.@= encryptionType+      ]
+ gen/Amazonka/S3/Types/EncryptionConfiguration.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.EncryptionConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.EncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies encryption-related information for an Amazon S3 bucket that is+-- a destination for replicated objects.+--+-- /See:/ 'newEncryptionConfiguration' smart constructor.+data EncryptionConfiguration = EncryptionConfiguration'+  { -- | Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon+    -- Web Services KMS key stored in Amazon Web Services Key Management+    -- Service (KMS) for the destination bucket. Amazon S3 uses this key to+    -- encrypt replica objects. Amazon S3 only supports symmetric, customer+    -- managed KMS keys. For more information, see+    -- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+    -- in the /Amazon Web Services Key Management Service Developer Guide/.+    replicaKmsKeyID :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'replicaKmsKeyID', 'encryptionConfiguration_replicaKmsKeyID' - Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon+-- Web Services KMS key stored in Amazon Web Services Key Management+-- Service (KMS) for the destination bucket. Amazon S3 uses this key to+-- encrypt replica objects. Amazon S3 only supports symmetric, customer+-- managed KMS keys. For more information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Amazon Web Services Key Management Service Developer Guide/.+newEncryptionConfiguration ::+  EncryptionConfiguration+newEncryptionConfiguration =+  EncryptionConfiguration'+    { replicaKmsKeyID =+        Prelude.Nothing+    }++-- | Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon+-- Web Services KMS key stored in Amazon Web Services Key Management+-- Service (KMS) for the destination bucket. Amazon S3 uses this key to+-- encrypt replica objects. Amazon S3 only supports symmetric, customer+-- managed KMS keys. For more information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Amazon Web Services Key Management Service Developer Guide/.+encryptionConfiguration_replicaKmsKeyID :: Lens.Lens' EncryptionConfiguration (Prelude.Maybe Prelude.Text)+encryptionConfiguration_replicaKmsKeyID = Lens.lens (\EncryptionConfiguration' {replicaKmsKeyID} -> replicaKmsKeyID) (\s@EncryptionConfiguration' {} a -> s {replicaKmsKeyID = a} :: EncryptionConfiguration)++instance Data.FromXML EncryptionConfiguration where+  parseXML x =+    EncryptionConfiguration'+      Prelude.<$> (x Data..@? "ReplicaKmsKeyID")++instance Prelude.Hashable EncryptionConfiguration where+  hashWithSalt _salt EncryptionConfiguration' {..} =+    _salt `Prelude.hashWithSalt` replicaKmsKeyID++instance Prelude.NFData EncryptionConfiguration where+  rnf EncryptionConfiguration' {..} =+    Prelude.rnf replicaKmsKeyID++instance Data.ToXML EncryptionConfiguration where+  toXML EncryptionConfiguration' {..} =+    Prelude.mconcat+      ["ReplicaKmsKeyID" Data.@= replicaKmsKeyID]
+ gen/Amazonka/S3/Types/EndEvent.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.EndEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.EndEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A message that indicates the request is complete and no more messages+-- will be sent. You should not assume that the request is complete until+-- the client receives an @EndEvent@.+--+-- /See:/ 'newEndEvent' smart constructor.+data EndEvent = EndEvent'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EndEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newEndEvent ::+  EndEvent+newEndEvent = EndEvent'++instance Data.FromXML EndEvent where+  parseXML = Prelude.const (Prelude.pure EndEvent')++instance Prelude.Hashable EndEvent where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData EndEvent where+  rnf _ = ()
+ gen/Amazonka/S3/Types/ErrorDocument.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ErrorDocument+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ErrorDocument where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The error information.+--+-- /See:/ 'newErrorDocument' smart constructor.+data ErrorDocument = ErrorDocument'+  { -- | The object key name to use when a 4XX class error occurs.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ErrorDocument' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'errorDocument_key' - The object key name to use when a 4XX class error occurs.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+newErrorDocument ::+  -- | 'key'+  ObjectKey ->+  ErrorDocument+newErrorDocument pKey_ = ErrorDocument' {key = pKey_}++-- | The object key name to use when a 4XX class error occurs.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+errorDocument_key :: Lens.Lens' ErrorDocument ObjectKey+errorDocument_key = Lens.lens (\ErrorDocument' {key} -> key) (\s@ErrorDocument' {} a -> s {key = a} :: ErrorDocument)++instance Data.FromXML ErrorDocument where+  parseXML x =+    ErrorDocument' Prelude.<$> (x Data..@ "Key")++instance Prelude.Hashable ErrorDocument where+  hashWithSalt _salt ErrorDocument' {..} =+    _salt `Prelude.hashWithSalt` key++instance Prelude.NFData ErrorDocument where+  rnf ErrorDocument' {..} = Prelude.rnf key++instance Data.ToXML ErrorDocument where+  toXML ErrorDocument' {..} =+    Prelude.mconcat ["Key" Data.@= key]
+ gen/Amazonka/S3/Types/Event.hs view
@@ -0,0 +1,195 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Event+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Event+  ( Event+      ( ..,+        Event_S3_IntelligentTiering,+        Event_S3_LifecycleExpiration_Delete,+        Event_S3_LifecycleExpiration_DeleteMarkerCreated,+        Event_S3_LifecycleExpiration__,+        Event_S3_LifecycleTransition,+        Event_S3_ObjectAcl_Put,+        Event_S3_ObjectCreated_CompleteMultipartUpload,+        Event_S3_ObjectCreated_Copy,+        Event_S3_ObjectCreated_Post,+        Event_S3_ObjectCreated_Put,+        Event_S3_ObjectCreated__,+        Event_S3_ObjectRemoved_Delete,+        Event_S3_ObjectRemoved_DeleteMarkerCreated,+        Event_S3_ObjectRemoved__,+        Event_S3_ObjectRestore_Completed,+        Event_S3_ObjectRestore_Delete,+        Event_S3_ObjectRestore_Post,+        Event_S3_ObjectRestore__,+        Event_S3_ObjectTagging_Delete,+        Event_S3_ObjectTagging_Put,+        Event_S3_ObjectTagging__,+        Event_S3_ReducedRedundancyLostObject,+        Event_S3_Replication_OperationFailedReplication,+        Event_S3_Replication_OperationMissedThreshold,+        Event_S3_Replication_OperationNotTracked,+        Event_S3_Replication_OperationReplicatedAfterThreshold,+        Event_S3_Replication__+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The bucket event for which to send notifications.+newtype Event = Event' {fromEvent :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Event_S3_IntelligentTiering :: Event+pattern Event_S3_IntelligentTiering = Event' "s3:IntelligentTiering"++pattern Event_S3_LifecycleExpiration_Delete :: Event+pattern Event_S3_LifecycleExpiration_Delete = Event' "s3:LifecycleExpiration:Delete"++pattern Event_S3_LifecycleExpiration_DeleteMarkerCreated :: Event+pattern Event_S3_LifecycleExpiration_DeleteMarkerCreated = Event' "s3:LifecycleExpiration:DeleteMarkerCreated"++pattern Event_S3_LifecycleExpiration__ :: Event+pattern Event_S3_LifecycleExpiration__ = Event' "s3:LifecycleExpiration:*"++pattern Event_S3_LifecycleTransition :: Event+pattern Event_S3_LifecycleTransition = Event' "s3:LifecycleTransition"++pattern Event_S3_ObjectAcl_Put :: Event+pattern Event_S3_ObjectAcl_Put = Event' "s3:ObjectAcl:Put"++pattern Event_S3_ObjectCreated_CompleteMultipartUpload :: Event+pattern Event_S3_ObjectCreated_CompleteMultipartUpload = Event' "s3:ObjectCreated:CompleteMultipartUpload"++pattern Event_S3_ObjectCreated_Copy :: Event+pattern Event_S3_ObjectCreated_Copy = Event' "s3:ObjectCreated:Copy"++pattern Event_S3_ObjectCreated_Post :: Event+pattern Event_S3_ObjectCreated_Post = Event' "s3:ObjectCreated:Post"++pattern Event_S3_ObjectCreated_Put :: Event+pattern Event_S3_ObjectCreated_Put = Event' "s3:ObjectCreated:Put"++pattern Event_S3_ObjectCreated__ :: Event+pattern Event_S3_ObjectCreated__ = Event' "s3:ObjectCreated:*"++pattern Event_S3_ObjectRemoved_Delete :: Event+pattern Event_S3_ObjectRemoved_Delete = Event' "s3:ObjectRemoved:Delete"++pattern Event_S3_ObjectRemoved_DeleteMarkerCreated :: Event+pattern Event_S3_ObjectRemoved_DeleteMarkerCreated = Event' "s3:ObjectRemoved:DeleteMarkerCreated"++pattern Event_S3_ObjectRemoved__ :: Event+pattern Event_S3_ObjectRemoved__ = Event' "s3:ObjectRemoved:*"++pattern Event_S3_ObjectRestore_Completed :: Event+pattern Event_S3_ObjectRestore_Completed = Event' "s3:ObjectRestore:Completed"++pattern Event_S3_ObjectRestore_Delete :: Event+pattern Event_S3_ObjectRestore_Delete = Event' "s3:ObjectRestore:Delete"++pattern Event_S3_ObjectRestore_Post :: Event+pattern Event_S3_ObjectRestore_Post = Event' "s3:ObjectRestore:Post"++pattern Event_S3_ObjectRestore__ :: Event+pattern Event_S3_ObjectRestore__ = Event' "s3:ObjectRestore:*"++pattern Event_S3_ObjectTagging_Delete :: Event+pattern Event_S3_ObjectTagging_Delete = Event' "s3:ObjectTagging:Delete"++pattern Event_S3_ObjectTagging_Put :: Event+pattern Event_S3_ObjectTagging_Put = Event' "s3:ObjectTagging:Put"++pattern Event_S3_ObjectTagging__ :: Event+pattern Event_S3_ObjectTagging__ = Event' "s3:ObjectTagging:*"++pattern Event_S3_ReducedRedundancyLostObject :: Event+pattern Event_S3_ReducedRedundancyLostObject = Event' "s3:ReducedRedundancyLostObject"++pattern Event_S3_Replication_OperationFailedReplication :: Event+pattern Event_S3_Replication_OperationFailedReplication = Event' "s3:Replication:OperationFailedReplication"++pattern Event_S3_Replication_OperationMissedThreshold :: Event+pattern Event_S3_Replication_OperationMissedThreshold = Event' "s3:Replication:OperationMissedThreshold"++pattern Event_S3_Replication_OperationNotTracked :: Event+pattern Event_S3_Replication_OperationNotTracked = Event' "s3:Replication:OperationNotTracked"++pattern Event_S3_Replication_OperationReplicatedAfterThreshold :: Event+pattern Event_S3_Replication_OperationReplicatedAfterThreshold = Event' "s3:Replication:OperationReplicatedAfterThreshold"++pattern Event_S3_Replication__ :: Event+pattern Event_S3_Replication__ = Event' "s3:Replication:*"++{-# COMPLETE+  Event_S3_IntelligentTiering,+  Event_S3_LifecycleExpiration_Delete,+  Event_S3_LifecycleExpiration_DeleteMarkerCreated,+  Event_S3_LifecycleExpiration__,+  Event_S3_LifecycleTransition,+  Event_S3_ObjectAcl_Put,+  Event_S3_ObjectCreated_CompleteMultipartUpload,+  Event_S3_ObjectCreated_Copy,+  Event_S3_ObjectCreated_Post,+  Event_S3_ObjectCreated_Put,+  Event_S3_ObjectCreated__,+  Event_S3_ObjectRemoved_Delete,+  Event_S3_ObjectRemoved_DeleteMarkerCreated,+  Event_S3_ObjectRemoved__,+  Event_S3_ObjectRestore_Completed,+  Event_S3_ObjectRestore_Delete,+  Event_S3_ObjectRestore_Post,+  Event_S3_ObjectRestore__,+  Event_S3_ObjectTagging_Delete,+  Event_S3_ObjectTagging_Put,+  Event_S3_ObjectTagging__,+  Event_S3_ReducedRedundancyLostObject,+  Event_S3_Replication_OperationFailedReplication,+  Event_S3_Replication_OperationMissedThreshold,+  Event_S3_Replication_OperationNotTracked,+  Event_S3_Replication_OperationReplicatedAfterThreshold,+  Event_S3_Replication__,+  Event'+  #-}
+ gen/Amazonka/S3/Types/EventBridgeConfiguration.hs view
@@ -0,0 +1,58 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.EventBridgeConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.EventBridgeConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A container for specifying the configuration for Amazon EventBridge.+--+-- /See:/ 'newEventBridgeConfiguration' smart constructor.+data EventBridgeConfiguration = EventBridgeConfiguration'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'EventBridgeConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newEventBridgeConfiguration ::+  EventBridgeConfiguration+newEventBridgeConfiguration =+  EventBridgeConfiguration'++instance Data.FromXML EventBridgeConfiguration where+  parseXML =+    Prelude.const+      (Prelude.pure EventBridgeConfiguration')++instance Prelude.Hashable EventBridgeConfiguration where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData EventBridgeConfiguration where+  rnf _ = ()++instance Data.ToXML EventBridgeConfiguration where+  toXML = Prelude.const Prelude.mempty
+ gen/Amazonka/S3/Types/ExistingObjectReplication.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ExistingObjectReplication+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ExistingObjectReplication where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ExistingObjectReplicationStatus++-- | Optional configuration to replicate existing source bucket objects. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication Replicating Existing Objects>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newExistingObjectReplication' smart constructor.+data ExistingObjectReplication = ExistingObjectReplication'+  { status :: ExistingObjectReplicationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ExistingObjectReplication' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'existingObjectReplication_status' -+newExistingObjectReplication ::+  -- | 'status'+  ExistingObjectReplicationStatus ->+  ExistingObjectReplication+newExistingObjectReplication pStatus_ =+  ExistingObjectReplication' {status = pStatus_}++existingObjectReplication_status :: Lens.Lens' ExistingObjectReplication ExistingObjectReplicationStatus+existingObjectReplication_status = Lens.lens (\ExistingObjectReplication' {status} -> status) (\s@ExistingObjectReplication' {} a -> s {status = a} :: ExistingObjectReplication)++instance Data.FromXML ExistingObjectReplication where+  parseXML x =+    ExistingObjectReplication'+      Prelude.<$> (x Data..@ "Status")++instance Prelude.Hashable ExistingObjectReplication where+  hashWithSalt _salt ExistingObjectReplication' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData ExistingObjectReplication where+  rnf ExistingObjectReplication' {..} =+    Prelude.rnf status++instance Data.ToXML ExistingObjectReplication where+  toXML ExistingObjectReplication' {..} =+    Prelude.mconcat ["Status" Data.@= status]
+ gen/Amazonka/S3/Types/ExistingObjectReplicationStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ExistingObjectReplicationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ExistingObjectReplicationStatus+  ( ExistingObjectReplicationStatus+      ( ..,+        ExistingObjectReplicationStatus_Disabled,+        ExistingObjectReplicationStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ExistingObjectReplicationStatus = ExistingObjectReplicationStatus'+  { fromExistingObjectReplicationStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ExistingObjectReplicationStatus_Disabled :: ExistingObjectReplicationStatus+pattern ExistingObjectReplicationStatus_Disabled = ExistingObjectReplicationStatus' "Disabled"++pattern ExistingObjectReplicationStatus_Enabled :: ExistingObjectReplicationStatus+pattern ExistingObjectReplicationStatus_Enabled = ExistingObjectReplicationStatus' "Enabled"++{-# COMPLETE+  ExistingObjectReplicationStatus_Disabled,+  ExistingObjectReplicationStatus_Enabled,+  ExistingObjectReplicationStatus'+  #-}
+ gen/Amazonka/S3/Types/ExpirationStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ExpirationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ExpirationStatus+  ( ExpirationStatus+      ( ..,+        ExpirationStatus_Disabled,+        ExpirationStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ExpirationStatus = ExpirationStatus'+  { fromExpirationStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ExpirationStatus_Disabled :: ExpirationStatus+pattern ExpirationStatus_Disabled = ExpirationStatus' "Disabled"++pattern ExpirationStatus_Enabled :: ExpirationStatus+pattern ExpirationStatus_Enabled = ExpirationStatus' "Enabled"++{-# COMPLETE+  ExpirationStatus_Disabled,+  ExpirationStatus_Enabled,+  ExpirationStatus'+  #-}
+ gen/Amazonka/S3/Types/ExpressionType.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ExpressionType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ExpressionType+  ( ExpressionType+      ( ..,+        ExpressionType_SQL+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ExpressionType = ExpressionType'+  { fromExpressionType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ExpressionType_SQL :: ExpressionType+pattern ExpressionType_SQL = ExpressionType' "SQL"++{-# COMPLETE+  ExpressionType_SQL,+  ExpressionType'+  #-}
+ gen/Amazonka/S3/Types/FileHeaderInfo.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.FileHeaderInfo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.FileHeaderInfo+  ( FileHeaderInfo+      ( ..,+        FileHeaderInfo_IGNORE,+        FileHeaderInfo_NONE,+        FileHeaderInfo_USE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype FileHeaderInfo = FileHeaderInfo'+  { fromFileHeaderInfo ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FileHeaderInfo_IGNORE :: FileHeaderInfo+pattern FileHeaderInfo_IGNORE = FileHeaderInfo' "IGNORE"++pattern FileHeaderInfo_NONE :: FileHeaderInfo+pattern FileHeaderInfo_NONE = FileHeaderInfo' "NONE"++pattern FileHeaderInfo_USE :: FileHeaderInfo+pattern FileHeaderInfo_USE = FileHeaderInfo' "USE"++{-# COMPLETE+  FileHeaderInfo_IGNORE,+  FileHeaderInfo_NONE,+  FileHeaderInfo_USE,+  FileHeaderInfo'+  #-}
+ gen/Amazonka/S3/Types/FilterRule.hs view
@@ -0,0 +1,102 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.FilterRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.FilterRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.FilterRuleName++-- | Specifies the Amazon S3 object key name to filter on and whether to+-- filter on the suffix or prefix of the key name.+--+-- /See:/ 'newFilterRule' smart constructor.+data FilterRule = FilterRule'+  { -- | The object key name prefix or suffix identifying one or more objects to+    -- which the filtering rule applies. The maximum length is 1,024+    -- characters. Overlapping prefixes and suffixes are not supported. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>+    -- in the /Amazon S3 User Guide/.+    name :: Prelude.Maybe FilterRuleName,+    -- | The value that the filter searches for in object key names.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'FilterRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'filterRule_name' - The object key name prefix or suffix identifying one or more objects to+-- which the filtering rule applies. The maximum length is 1,024+-- characters. Overlapping prefixes and suffixes are not supported. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>+-- in the /Amazon S3 User Guide/.+--+-- 'value', 'filterRule_value' - The value that the filter searches for in object key names.+newFilterRule ::+  FilterRule+newFilterRule =+  FilterRule'+    { name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | The object key name prefix or suffix identifying one or more objects to+-- which the filtering rule applies. The maximum length is 1,024+-- characters. Overlapping prefixes and suffixes are not supported. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>+-- in the /Amazon S3 User Guide/.+filterRule_name :: Lens.Lens' FilterRule (Prelude.Maybe FilterRuleName)+filterRule_name = Lens.lens (\FilterRule' {name} -> name) (\s@FilterRule' {} a -> s {name = a} :: FilterRule)++-- | The value that the filter searches for in object key names.+filterRule_value :: Lens.Lens' FilterRule (Prelude.Maybe Prelude.Text)+filterRule_value = Lens.lens (\FilterRule' {value} -> value) (\s@FilterRule' {} a -> s {value = a} :: FilterRule)++instance Data.FromXML FilterRule where+  parseXML x =+    FilterRule'+      Prelude.<$> (x Data..@? "Name")+      Prelude.<*> (x Data..@? "Value")++instance Prelude.Hashable FilterRule where+  hashWithSalt _salt FilterRule' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData FilterRule where+  rnf FilterRule' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToXML FilterRule where+  toXML FilterRule' {..} =+    Prelude.mconcat+      ["Name" Data.@= name, "Value" Data.@= value]
+ gen/Amazonka/S3/Types/FilterRuleName.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.FilterRuleName+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.FilterRuleName+  ( FilterRuleName+      ( ..,+        FilterRuleName_Prefix,+        FilterRuleName_Suffix+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype FilterRuleName = FilterRuleName'+  { fromFilterRuleName ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern FilterRuleName_Prefix :: FilterRuleName+pattern FilterRuleName_Prefix = FilterRuleName' "prefix"++pattern FilterRuleName_Suffix :: FilterRuleName+pattern FilterRuleName_Suffix = FilterRuleName' "suffix"++{-# COMPLETE+  FilterRuleName_Prefix,+  FilterRuleName_Suffix,+  FilterRuleName'+  #-}
+ gen/Amazonka/S3/Types/GetObjectAttributesParts.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.GetObjectAttributesParts+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.GetObjectAttributesParts where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectPart++-- | A collection of parts associated with a multipart upload.+--+-- /See:/ 'newGetObjectAttributesParts' smart constructor.+data GetObjectAttributesParts = GetObjectAttributesParts'+  { -- | Indicates whether the returned list of parts is truncated. A value of+    -- @true@ indicates that the list was truncated. A list can be truncated if+    -- the number of parts exceeds the limit returned in the @MaxParts@+    -- element.+    isTruncated :: Prelude.Maybe Prelude.Bool,+    -- | The maximum number of parts allowed in the response.+    maxParts :: Prelude.Maybe Prelude.Int,+    -- | When a list is truncated, this element specifies the last part in the+    -- list, as well as the value to use for the @PartNumberMarker@ request+    -- parameter in a subsequent request.+    nextPartNumberMarker :: Prelude.Maybe Prelude.Int,+    -- | The marker for the current part.+    partNumberMarker :: Prelude.Maybe Prelude.Int,+    -- | A container for elements related to a particular part. A response can+    -- contain zero or more @Parts@ elements.+    parts :: Prelude.Maybe [ObjectPart],+    -- | The total number of parts.+    totalPartsCount :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GetObjectAttributesParts' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isTruncated', 'getObjectAttributesParts_isTruncated' - Indicates whether the returned list of parts is truncated. A value of+-- @true@ indicates that the list was truncated. A list can be truncated if+-- the number of parts exceeds the limit returned in the @MaxParts@+-- element.+--+-- 'maxParts', 'getObjectAttributesParts_maxParts' - The maximum number of parts allowed in the response.+--+-- 'nextPartNumberMarker', 'getObjectAttributesParts_nextPartNumberMarker' - When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the @PartNumberMarker@ request+-- parameter in a subsequent request.+--+-- 'partNumberMarker', 'getObjectAttributesParts_partNumberMarker' - The marker for the current part.+--+-- 'parts', 'getObjectAttributesParts_parts' - A container for elements related to a particular part. A response can+-- contain zero or more @Parts@ elements.+--+-- 'totalPartsCount', 'getObjectAttributesParts_totalPartsCount' - The total number of parts.+newGetObjectAttributesParts ::+  GetObjectAttributesParts+newGetObjectAttributesParts =+  GetObjectAttributesParts'+    { isTruncated =+        Prelude.Nothing,+      maxParts = Prelude.Nothing,+      nextPartNumberMarker = Prelude.Nothing,+      partNumberMarker = Prelude.Nothing,+      parts = Prelude.Nothing,+      totalPartsCount = Prelude.Nothing+    }++-- | Indicates whether the returned list of parts is truncated. A value of+-- @true@ indicates that the list was truncated. A list can be truncated if+-- the number of parts exceeds the limit returned in the @MaxParts@+-- element.+getObjectAttributesParts_isTruncated :: Lens.Lens' GetObjectAttributesParts (Prelude.Maybe Prelude.Bool)+getObjectAttributesParts_isTruncated = Lens.lens (\GetObjectAttributesParts' {isTruncated} -> isTruncated) (\s@GetObjectAttributesParts' {} a -> s {isTruncated = a} :: GetObjectAttributesParts)++-- | The maximum number of parts allowed in the response.+getObjectAttributesParts_maxParts :: Lens.Lens' GetObjectAttributesParts (Prelude.Maybe Prelude.Int)+getObjectAttributesParts_maxParts = Lens.lens (\GetObjectAttributesParts' {maxParts} -> maxParts) (\s@GetObjectAttributesParts' {} a -> s {maxParts = a} :: GetObjectAttributesParts)++-- | When a list is truncated, this element specifies the last part in the+-- list, as well as the value to use for the @PartNumberMarker@ request+-- parameter in a subsequent request.+getObjectAttributesParts_nextPartNumberMarker :: Lens.Lens' GetObjectAttributesParts (Prelude.Maybe Prelude.Int)+getObjectAttributesParts_nextPartNumberMarker = Lens.lens (\GetObjectAttributesParts' {nextPartNumberMarker} -> nextPartNumberMarker) (\s@GetObjectAttributesParts' {} a -> s {nextPartNumberMarker = a} :: GetObjectAttributesParts)++-- | The marker for the current part.+getObjectAttributesParts_partNumberMarker :: Lens.Lens' GetObjectAttributesParts (Prelude.Maybe Prelude.Int)+getObjectAttributesParts_partNumberMarker = Lens.lens (\GetObjectAttributesParts' {partNumberMarker} -> partNumberMarker) (\s@GetObjectAttributesParts' {} a -> s {partNumberMarker = a} :: GetObjectAttributesParts)++-- | A container for elements related to a particular part. A response can+-- contain zero or more @Parts@ elements.+getObjectAttributesParts_parts :: Lens.Lens' GetObjectAttributesParts (Prelude.Maybe [ObjectPart])+getObjectAttributesParts_parts = Lens.lens (\GetObjectAttributesParts' {parts} -> parts) (\s@GetObjectAttributesParts' {} a -> s {parts = a} :: GetObjectAttributesParts) Prelude.. Lens.mapping Lens.coerced++-- | The total number of parts.+getObjectAttributesParts_totalPartsCount :: Lens.Lens' GetObjectAttributesParts (Prelude.Maybe Prelude.Int)+getObjectAttributesParts_totalPartsCount = Lens.lens (\GetObjectAttributesParts' {totalPartsCount} -> totalPartsCount) (\s@GetObjectAttributesParts' {} a -> s {totalPartsCount = a} :: GetObjectAttributesParts)++instance Data.FromXML GetObjectAttributesParts where+  parseXML x =+    GetObjectAttributesParts'+      Prelude.<$> (x Data..@? "IsTruncated")+      Prelude.<*> (x Data..@? "MaxParts")+      Prelude.<*> (x Data..@? "NextPartNumberMarker")+      Prelude.<*> (x Data..@? "PartNumberMarker")+      Prelude.<*> (Core.may (Data.parseXMLList "Part") x)+      Prelude.<*> (x Data..@? "PartsCount")++instance Prelude.Hashable GetObjectAttributesParts where+  hashWithSalt _salt GetObjectAttributesParts' {..} =+    _salt+      `Prelude.hashWithSalt` isTruncated+      `Prelude.hashWithSalt` maxParts+      `Prelude.hashWithSalt` nextPartNumberMarker+      `Prelude.hashWithSalt` partNumberMarker+      `Prelude.hashWithSalt` parts+      `Prelude.hashWithSalt` totalPartsCount++instance Prelude.NFData GetObjectAttributesParts where+  rnf GetObjectAttributesParts' {..} =+    Prelude.rnf isTruncated+      `Prelude.seq` Prelude.rnf maxParts+      `Prelude.seq` Prelude.rnf nextPartNumberMarker+      `Prelude.seq` Prelude.rnf partNumberMarker+      `Prelude.seq` Prelude.rnf parts+      `Prelude.seq` Prelude.rnf totalPartsCount
+ gen/Amazonka/S3/Types/GlacierJobParameters.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.GlacierJobParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.GlacierJobParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tier++-- | Container for S3 Glacier job parameters.+--+-- /See:/ 'newGlacierJobParameters' smart constructor.+data GlacierJobParameters = GlacierJobParameters'+  { -- | Retrieval tier at which the restore will be processed.+    tier :: Tier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'GlacierJobParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tier', 'glacierJobParameters_tier' - Retrieval tier at which the restore will be processed.+newGlacierJobParameters ::+  -- | 'tier'+  Tier ->+  GlacierJobParameters+newGlacierJobParameters pTier_ =+  GlacierJobParameters' {tier = pTier_}++-- | Retrieval tier at which the restore will be processed.+glacierJobParameters_tier :: Lens.Lens' GlacierJobParameters Tier+glacierJobParameters_tier = Lens.lens (\GlacierJobParameters' {tier} -> tier) (\s@GlacierJobParameters' {} a -> s {tier = a} :: GlacierJobParameters)++instance Prelude.Hashable GlacierJobParameters where+  hashWithSalt _salt GlacierJobParameters' {..} =+    _salt `Prelude.hashWithSalt` tier++instance Prelude.NFData GlacierJobParameters where+  rnf GlacierJobParameters' {..} = Prelude.rnf tier++instance Data.ToXML GlacierJobParameters where+  toXML GlacierJobParameters' {..} =+    Prelude.mconcat ["Tier" Data.@= tier]
+ gen/Amazonka/S3/Types/Grant.hs view
@@ -0,0 +1,90 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Grant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Grant where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Grantee+import Amazonka.S3.Types.Permission++-- | Container for grant information.+--+-- /See:/ 'newGrant' smart constructor.+data Grant = Grant'+  { -- | The person being granted permissions.+    grantee :: Prelude.Maybe Grantee,+    -- | Specifies the permission given to the grantee.+    permission :: Prelude.Maybe Permission+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Grant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantee', 'grant_grantee' - The person being granted permissions.+--+-- 'permission', 'grant_permission' - Specifies the permission given to the grantee.+newGrant ::+  Grant+newGrant =+  Grant'+    { grantee = Prelude.Nothing,+      permission = Prelude.Nothing+    }++-- | The person being granted permissions.+grant_grantee :: Lens.Lens' Grant (Prelude.Maybe Grantee)+grant_grantee = Lens.lens (\Grant' {grantee} -> grantee) (\s@Grant' {} a -> s {grantee = a} :: Grant)++-- | Specifies the permission given to the grantee.+grant_permission :: Lens.Lens' Grant (Prelude.Maybe Permission)+grant_permission = Lens.lens (\Grant' {permission} -> permission) (\s@Grant' {} a -> s {permission = a} :: Grant)++instance Data.FromXML Grant where+  parseXML x =+    Grant'+      Prelude.<$> (x Data..@? "Grantee")+      Prelude.<*> (x Data..@? "Permission")++instance Prelude.Hashable Grant where+  hashWithSalt _salt Grant' {..} =+    _salt+      `Prelude.hashWithSalt` grantee+      `Prelude.hashWithSalt` permission++instance Prelude.NFData Grant where+  rnf Grant' {..} =+    Prelude.rnf grantee+      `Prelude.seq` Prelude.rnf permission++instance Data.ToXML Grant where+  toXML Grant' {..} =+    Prelude.mconcat+      [ "Grantee" Data.@= grantee,+        "Permission" Data.@= permission+      ]
+ gen/Amazonka/S3/Types/Grantee.hs view
@@ -0,0 +1,199 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Grantee+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Grantee where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Type++-- | Container for the person being granted permissions.+--+-- /See:/ 'newGrantee' smart constructor.+data Grantee = Grantee'+  { -- | Screen name of the grantee.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | Email address of the grantee.+    --+    -- Using email addresses to specify a grantee is only supported in the+    -- following Amazon Web Services Regions:+    --+    -- -   US East (N. Virginia)+    --+    -- -   US West (N. California)+    --+    -- -   US West (Oregon)+    --+    -- -   Asia Pacific (Singapore)+    --+    -- -   Asia Pacific (Sydney)+    --+    -- -   Asia Pacific (Tokyo)+    --+    -- -   Europe (Ireland)+    --+    -- -   South America (São Paulo)+    --+    -- For a list of all the Amazon S3 supported Regions and endpoints, see+    -- <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+    -- in the Amazon Web Services General Reference.+    emailAddress :: Prelude.Maybe Prelude.Text,+    -- | The canonical user ID of the grantee.+    id :: Prelude.Maybe Prelude.Text,+    -- | URI of the grantee group.+    uri :: Prelude.Maybe Prelude.Text,+    -- | Type of grantee+    type' :: Type+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Grantee' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayName', 'grantee_displayName' - Screen name of the grantee.+--+-- 'emailAddress', 'grantee_emailAddress' - Email address of the grantee.+--+-- Using email addresses to specify a grantee is only supported in the+-- following Amazon Web Services Regions:+--+-- -   US East (N. Virginia)+--+-- -   US West (N. California)+--+-- -   US West (Oregon)+--+-- -   Asia Pacific (Singapore)+--+-- -   Asia Pacific (Sydney)+--+-- -   Asia Pacific (Tokyo)+--+-- -   Europe (Ireland)+--+-- -   South America (São Paulo)+--+-- For a list of all the Amazon S3 supported Regions and endpoints, see+-- <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+-- in the Amazon Web Services General Reference.+--+-- 'id', 'grantee_id' - The canonical user ID of the grantee.+--+-- 'uri', 'grantee_uri' - URI of the grantee group.+--+-- 'type'', 'grantee_type' - Type of grantee+newGrantee ::+  -- | 'type''+  Type ->+  Grantee+newGrantee pType_ =+  Grantee'+    { displayName = Prelude.Nothing,+      emailAddress = Prelude.Nothing,+      id = Prelude.Nothing,+      uri = Prelude.Nothing,+      type' = pType_+    }++-- | Screen name of the grantee.+grantee_displayName :: Lens.Lens' Grantee (Prelude.Maybe Prelude.Text)+grantee_displayName = Lens.lens (\Grantee' {displayName} -> displayName) (\s@Grantee' {} a -> s {displayName = a} :: Grantee)++-- | Email address of the grantee.+--+-- Using email addresses to specify a grantee is only supported in the+-- following Amazon Web Services Regions:+--+-- -   US East (N. Virginia)+--+-- -   US West (N. California)+--+-- -   US West (Oregon)+--+-- -   Asia Pacific (Singapore)+--+-- -   Asia Pacific (Sydney)+--+-- -   Asia Pacific (Tokyo)+--+-- -   Europe (Ireland)+--+-- -   South America (São Paulo)+--+-- For a list of all the Amazon S3 supported Regions and endpoints, see+-- <https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region Regions and Endpoints>+-- in the Amazon Web Services General Reference.+grantee_emailAddress :: Lens.Lens' Grantee (Prelude.Maybe Prelude.Text)+grantee_emailAddress = Lens.lens (\Grantee' {emailAddress} -> emailAddress) (\s@Grantee' {} a -> s {emailAddress = a} :: Grantee)++-- | The canonical user ID of the grantee.+grantee_id :: Lens.Lens' Grantee (Prelude.Maybe Prelude.Text)+grantee_id = Lens.lens (\Grantee' {id} -> id) (\s@Grantee' {} a -> s {id = a} :: Grantee)++-- | URI of the grantee group.+grantee_uri :: Lens.Lens' Grantee (Prelude.Maybe Prelude.Text)+grantee_uri = Lens.lens (\Grantee' {uri} -> uri) (\s@Grantee' {} a -> s {uri = a} :: Grantee)++-- | Type of grantee+grantee_type :: Lens.Lens' Grantee Type+grantee_type = Lens.lens (\Grantee' {type'} -> type') (\s@Grantee' {} a -> s {type' = a} :: Grantee)++instance Data.FromXML Grantee where+  parseXML x =+    Grantee'+      Prelude.<$> (x Data..@? "DisplayName")+      Prelude.<*> (x Data..@? "EmailAddress")+      Prelude.<*> (x Data..@? "ID")+      Prelude.<*> (x Data..@? "URI")+      Prelude.<*> (x Data..@ "xsi:type")++instance Prelude.Hashable Grantee where+  hashWithSalt _salt Grantee' {..} =+    _salt+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` emailAddress+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` uri+      `Prelude.hashWithSalt` type'++instance Prelude.NFData Grantee where+  rnf Grantee' {..} =+    Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf emailAddress+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf uri+      `Prelude.seq` Prelude.rnf type'++instance Data.ToXML Grantee where+  toXML Grantee' {..} =+    Prelude.mconcat+      [ "DisplayName" Data.@= displayName,+        "EmailAddress" Data.@= emailAddress,+        "ID" Data.@= id,+        "URI" Data.@= uri,+        "xsi:type" Data.@@= type'+      ]
+ gen/Amazonka/S3/Types/IndexDocument.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.IndexDocument+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.IndexDocument where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for the @Suffix@ element.+--+-- /See:/ 'newIndexDocument' smart constructor.+data IndexDocument = IndexDocument'+  { -- | A suffix that is appended to a request that is for a directory on the+    -- website endpoint (for example,if the suffix is index.html and you make a+    -- request to samplebucket\/images\/ the data that is returned will be for+    -- the object with the key name images\/index.html) The suffix must not be+    -- empty and must not include a slash character.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    suffix :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IndexDocument' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'suffix', 'indexDocument_suffix' - A suffix that is appended to a request that is for a directory on the+-- website endpoint (for example,if the suffix is index.html and you make a+-- request to samplebucket\/images\/ the data that is returned will be for+-- the object with the key name images\/index.html) The suffix must not be+-- empty and must not include a slash character.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+newIndexDocument ::+  -- | 'suffix'+  Prelude.Text ->+  IndexDocument+newIndexDocument pSuffix_ =+  IndexDocument' {suffix = pSuffix_}++-- | A suffix that is appended to a request that is for a directory on the+-- website endpoint (for example,if the suffix is index.html and you make a+-- request to samplebucket\/images\/ the data that is returned will be for+-- the object with the key name images\/index.html) The suffix must not be+-- empty and must not include a slash character.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+indexDocument_suffix :: Lens.Lens' IndexDocument Prelude.Text+indexDocument_suffix = Lens.lens (\IndexDocument' {suffix} -> suffix) (\s@IndexDocument' {} a -> s {suffix = a} :: IndexDocument)++instance Data.FromXML IndexDocument where+  parseXML x =+    IndexDocument' Prelude.<$> (x Data..@ "Suffix")++instance Prelude.Hashable IndexDocument where+  hashWithSalt _salt IndexDocument' {..} =+    _salt `Prelude.hashWithSalt` suffix++instance Prelude.NFData IndexDocument where+  rnf IndexDocument' {..} = Prelude.rnf suffix++instance Data.ToXML IndexDocument where+  toXML IndexDocument' {..} =+    Prelude.mconcat ["Suffix" Data.@= suffix]
+ gen/Amazonka/S3/Types/Initiator.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Initiator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Initiator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container element that identifies who initiated the multipart upload.+--+-- /See:/ 'newInitiator' smart constructor.+data Initiator = Initiator'+  { -- | Name of the Principal.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | If the principal is an Amazon Web Services account, it provides the+    -- Canonical User ID. If the principal is an IAM User, it provides a user+    -- ARN value.+    id :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Initiator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayName', 'initiator_displayName' - Name of the Principal.+--+-- 'id', 'initiator_id' - If the principal is an Amazon Web Services account, it provides the+-- Canonical User ID. If the principal is an IAM User, it provides a user+-- ARN value.+newInitiator ::+  Initiator+newInitiator =+  Initiator'+    { displayName = Prelude.Nothing,+      id = Prelude.Nothing+    }++-- | Name of the Principal.+initiator_displayName :: Lens.Lens' Initiator (Prelude.Maybe Prelude.Text)+initiator_displayName = Lens.lens (\Initiator' {displayName} -> displayName) (\s@Initiator' {} a -> s {displayName = a} :: Initiator)++-- | If the principal is an Amazon Web Services account, it provides the+-- Canonical User ID. If the principal is an IAM User, it provides a user+-- ARN value.+initiator_id :: Lens.Lens' Initiator (Prelude.Maybe Prelude.Text)+initiator_id = Lens.lens (\Initiator' {id} -> id) (\s@Initiator' {} a -> s {id = a} :: Initiator)++instance Data.FromXML Initiator where+  parseXML x =+    Initiator'+      Prelude.<$> (x Data..@? "DisplayName")+      Prelude.<*> (x Data..@? "ID")++instance Prelude.Hashable Initiator where+  hashWithSalt _salt Initiator' {..} =+    _salt+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` id++instance Prelude.NFData Initiator where+  rnf Initiator' {..} =+    Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf id
+ gen/Amazonka/S3/Types/InputSerialization.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InputSerialization+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InputSerialization where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.CSVInput+import Amazonka.S3.Types.CompressionType+import Amazonka.S3.Types.JSONInput+import Amazonka.S3.Types.ParquetInput++-- | Describes the serialization format of the object.+--+-- /See:/ 'newInputSerialization' smart constructor.+data InputSerialization = InputSerialization'+  { -- | Describes the serialization of a CSV-encoded object.+    csv :: Prelude.Maybe CSVInput,+    -- | Specifies object\'s compression format. Valid values: NONE, GZIP, BZIP2.+    -- Default Value: NONE.+    compressionType :: Prelude.Maybe CompressionType,+    -- | Specifies JSON as object\'s input serialization format.+    json :: Prelude.Maybe JSONInput,+    -- | Specifies Parquet as object\'s input serialization format.+    parquet :: Prelude.Maybe ParquetInput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InputSerialization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'csv', 'inputSerialization_csv' - Describes the serialization of a CSV-encoded object.+--+-- 'compressionType', 'inputSerialization_compressionType' - Specifies object\'s compression format. Valid values: NONE, GZIP, BZIP2.+-- Default Value: NONE.+--+-- 'json', 'inputSerialization_json' - Specifies JSON as object\'s input serialization format.+--+-- 'parquet', 'inputSerialization_parquet' - Specifies Parquet as object\'s input serialization format.+newInputSerialization ::+  InputSerialization+newInputSerialization =+  InputSerialization'+    { csv = Prelude.Nothing,+      compressionType = Prelude.Nothing,+      json = Prelude.Nothing,+      parquet = Prelude.Nothing+    }++-- | Describes the serialization of a CSV-encoded object.+inputSerialization_csv :: Lens.Lens' InputSerialization (Prelude.Maybe CSVInput)+inputSerialization_csv = Lens.lens (\InputSerialization' {csv} -> csv) (\s@InputSerialization' {} a -> s {csv = a} :: InputSerialization)++-- | Specifies object\'s compression format. Valid values: NONE, GZIP, BZIP2.+-- Default Value: NONE.+inputSerialization_compressionType :: Lens.Lens' InputSerialization (Prelude.Maybe CompressionType)+inputSerialization_compressionType = Lens.lens (\InputSerialization' {compressionType} -> compressionType) (\s@InputSerialization' {} a -> s {compressionType = a} :: InputSerialization)++-- | Specifies JSON as object\'s input serialization format.+inputSerialization_json :: Lens.Lens' InputSerialization (Prelude.Maybe JSONInput)+inputSerialization_json = Lens.lens (\InputSerialization' {json} -> json) (\s@InputSerialization' {} a -> s {json = a} :: InputSerialization)++-- | Specifies Parquet as object\'s input serialization format.+inputSerialization_parquet :: Lens.Lens' InputSerialization (Prelude.Maybe ParquetInput)+inputSerialization_parquet = Lens.lens (\InputSerialization' {parquet} -> parquet) (\s@InputSerialization' {} a -> s {parquet = a} :: InputSerialization)++instance Prelude.Hashable InputSerialization where+  hashWithSalt _salt InputSerialization' {..} =+    _salt+      `Prelude.hashWithSalt` csv+      `Prelude.hashWithSalt` compressionType+      `Prelude.hashWithSalt` json+      `Prelude.hashWithSalt` parquet++instance Prelude.NFData InputSerialization where+  rnf InputSerialization' {..} =+    Prelude.rnf csv+      `Prelude.seq` Prelude.rnf compressionType+      `Prelude.seq` Prelude.rnf json+      `Prelude.seq` Prelude.rnf parquet++instance Data.ToXML InputSerialization where+  toXML InputSerialization' {..} =+    Prelude.mconcat+      [ "CSV" Data.@= csv,+        "CompressionType" Data.@= compressionType,+        "JSON" Data.@= json,+        "Parquet" Data.@= parquet+      ]
+ gen/Amazonka/S3/Types/IntelligentTieringAccessTier.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.IntelligentTieringAccessTier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.IntelligentTieringAccessTier+  ( IntelligentTieringAccessTier+      ( ..,+        IntelligentTieringAccessTier_ARCHIVE_ACCESS,+        IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype IntelligentTieringAccessTier = IntelligentTieringAccessTier'+  { fromIntelligentTieringAccessTier ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern IntelligentTieringAccessTier_ARCHIVE_ACCESS :: IntelligentTieringAccessTier+pattern IntelligentTieringAccessTier_ARCHIVE_ACCESS = IntelligentTieringAccessTier' "ARCHIVE_ACCESS"++pattern IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS :: IntelligentTieringAccessTier+pattern IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS = IntelligentTieringAccessTier' "DEEP_ARCHIVE_ACCESS"++{-# COMPLETE+  IntelligentTieringAccessTier_ARCHIVE_ACCESS,+  IntelligentTieringAccessTier_DEEP_ARCHIVE_ACCESS,+  IntelligentTieringAccessTier'+  #-}
+ gen/Amazonka/S3/Types/IntelligentTieringAndOperator.hs view
@@ -0,0 +1,104 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.IntelligentTieringAndOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.IntelligentTieringAndOperator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tag++-- | A container for specifying S3 Intelligent-Tiering filters. The filters+-- determine the subset of objects to which the rule applies.+--+-- /See:/ 'newIntelligentTieringAndOperator' smart constructor.+data IntelligentTieringAndOperator = IntelligentTieringAndOperator'+  { -- | An object key name prefix that identifies the subset of objects to which+    -- the configuration applies.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | All of these tags must exist in the object\'s tag set in order for the+    -- configuration to apply.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntelligentTieringAndOperator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prefix', 'intelligentTieringAndOperator_prefix' - An object key name prefix that identifies the subset of objects to which+-- the configuration applies.+--+-- 'tags', 'intelligentTieringAndOperator_tags' - All of these tags must exist in the object\'s tag set in order for the+-- configuration to apply.+newIntelligentTieringAndOperator ::+  IntelligentTieringAndOperator+newIntelligentTieringAndOperator =+  IntelligentTieringAndOperator'+    { prefix =+        Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | An object key name prefix that identifies the subset of objects to which+-- the configuration applies.+intelligentTieringAndOperator_prefix :: Lens.Lens' IntelligentTieringAndOperator (Prelude.Maybe Prelude.Text)+intelligentTieringAndOperator_prefix = Lens.lens (\IntelligentTieringAndOperator' {prefix} -> prefix) (\s@IntelligentTieringAndOperator' {} a -> s {prefix = a} :: IntelligentTieringAndOperator)++-- | All of these tags must exist in the object\'s tag set in order for the+-- configuration to apply.+intelligentTieringAndOperator_tags :: Lens.Lens' IntelligentTieringAndOperator (Prelude.Maybe [Tag])+intelligentTieringAndOperator_tags = Lens.lens (\IntelligentTieringAndOperator' {tags} -> tags) (\s@IntelligentTieringAndOperator' {} a -> s {tags = a} :: IntelligentTieringAndOperator) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML IntelligentTieringAndOperator where+  parseXML x =+    IntelligentTieringAndOperator'+      Prelude.<$> (x Data..@? "Prefix")+      Prelude.<*> ( x+                      Data..@? "Tag"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Tag")+                  )++instance+  Prelude.Hashable+    IntelligentTieringAndOperator+  where+  hashWithSalt _salt IntelligentTieringAndOperator' {..} =+    _salt+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tags++instance Prelude.NFData IntelligentTieringAndOperator where+  rnf IntelligentTieringAndOperator' {..} =+    Prelude.rnf prefix `Prelude.seq` Prelude.rnf tags++instance Data.ToXML IntelligentTieringAndOperator where+  toXML IntelligentTieringAndOperator' {..} =+    Prelude.mconcat+      [ "Prefix" Data.@= prefix,+        "Tag"+          Data.@= Data.toXML (Data.toXMLList "Tag" Prelude.<$> tags)+      ]
+ gen/Amazonka/S3/Types/IntelligentTieringConfiguration.hs view
@@ -0,0 +1,140 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.IntelligentTieringConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.IntelligentTieringConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.IntelligentTieringFilter+import Amazonka.S3.Types.IntelligentTieringStatus+import Amazonka.S3.Types.Tiering++-- | Specifies the S3 Intelligent-Tiering configuration for an Amazon S3+-- bucket.+--+-- For information about the S3 Intelligent-Tiering storage class, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>.+--+-- /See:/ 'newIntelligentTieringConfiguration' smart constructor.+data IntelligentTieringConfiguration = IntelligentTieringConfiguration'+  { -- | Specifies a bucket filter. The configuration only includes objects that+    -- meet the filter\'s criteria.+    filter' :: Prelude.Maybe IntelligentTieringFilter,+    -- | The ID used to identify the S3 Intelligent-Tiering configuration.+    id :: Prelude.Text,+    -- | Specifies the status of the configuration.+    status :: IntelligentTieringStatus,+    -- | Specifies the S3 Intelligent-Tiering storage class tier of the+    -- configuration.+    tierings :: [Tiering]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntelligentTieringConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'intelligentTieringConfiguration_filter' - Specifies a bucket filter. The configuration only includes objects that+-- meet the filter\'s criteria.+--+-- 'id', 'intelligentTieringConfiguration_id' - The ID used to identify the S3 Intelligent-Tiering configuration.+--+-- 'status', 'intelligentTieringConfiguration_status' - Specifies the status of the configuration.+--+-- 'tierings', 'intelligentTieringConfiguration_tierings' - Specifies the S3 Intelligent-Tiering storage class tier of the+-- configuration.+newIntelligentTieringConfiguration ::+  -- | 'id'+  Prelude.Text ->+  -- | 'status'+  IntelligentTieringStatus ->+  IntelligentTieringConfiguration+newIntelligentTieringConfiguration pId_ pStatus_ =+  IntelligentTieringConfiguration'+    { filter' =+        Prelude.Nothing,+      id = pId_,+      status = pStatus_,+      tierings = Prelude.mempty+    }++-- | Specifies a bucket filter. The configuration only includes objects that+-- meet the filter\'s criteria.+intelligentTieringConfiguration_filter :: Lens.Lens' IntelligentTieringConfiguration (Prelude.Maybe IntelligentTieringFilter)+intelligentTieringConfiguration_filter = Lens.lens (\IntelligentTieringConfiguration' {filter'} -> filter') (\s@IntelligentTieringConfiguration' {} a -> s {filter' = a} :: IntelligentTieringConfiguration)++-- | The ID used to identify the S3 Intelligent-Tiering configuration.+intelligentTieringConfiguration_id :: Lens.Lens' IntelligentTieringConfiguration Prelude.Text+intelligentTieringConfiguration_id = Lens.lens (\IntelligentTieringConfiguration' {id} -> id) (\s@IntelligentTieringConfiguration' {} a -> s {id = a} :: IntelligentTieringConfiguration)++-- | Specifies the status of the configuration.+intelligentTieringConfiguration_status :: Lens.Lens' IntelligentTieringConfiguration IntelligentTieringStatus+intelligentTieringConfiguration_status = Lens.lens (\IntelligentTieringConfiguration' {status} -> status) (\s@IntelligentTieringConfiguration' {} a -> s {status = a} :: IntelligentTieringConfiguration)++-- | Specifies the S3 Intelligent-Tiering storage class tier of the+-- configuration.+intelligentTieringConfiguration_tierings :: Lens.Lens' IntelligentTieringConfiguration [Tiering]+intelligentTieringConfiguration_tierings = Lens.lens (\IntelligentTieringConfiguration' {tierings} -> tierings) (\s@IntelligentTieringConfiguration' {} a -> s {tierings = a} :: IntelligentTieringConfiguration) Prelude.. Lens.coerced++instance Data.FromXML IntelligentTieringConfiguration where+  parseXML x =+    IntelligentTieringConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> (x Data..@ "Id")+      Prelude.<*> (x Data..@ "Status")+      Prelude.<*> (Data.parseXMLList "Tiering" x)++instance+  Prelude.Hashable+    IntelligentTieringConfiguration+  where+  hashWithSalt+    _salt+    IntelligentTieringConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` filter'+        `Prelude.hashWithSalt` id+        `Prelude.hashWithSalt` status+        `Prelude.hashWithSalt` tierings++instance+  Prelude.NFData+    IntelligentTieringConfiguration+  where+  rnf IntelligentTieringConfiguration' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf tierings++instance Data.ToXML IntelligentTieringConfiguration where+  toXML IntelligentTieringConfiguration' {..} =+    Prelude.mconcat+      [ "Filter" Data.@= filter',+        "Id" Data.@= id,+        "Status" Data.@= status,+        Data.toXMLList "Tiering" tierings+      ]
+ gen/Amazonka/S3/Types/IntelligentTieringFilter.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.IntelligentTieringFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.IntelligentTieringFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.IntelligentTieringAndOperator+import Amazonka.S3.Types.Tag++-- | The @Filter@ is used to identify objects that the S3 Intelligent-Tiering+-- configuration applies to.+--+-- /See:/ 'newIntelligentTieringFilter' smart constructor.+data IntelligentTieringFilter = IntelligentTieringFilter'+  { -- | A conjunction (logical AND) of predicates, which is used in evaluating a+    -- metrics filter. The operator must have at least two predicates, and an+    -- object must match all of the predicates in order for the filter to+    -- apply.+    and :: Prelude.Maybe IntelligentTieringAndOperator,+    -- | An object key name prefix that identifies the subset of objects to which+    -- the rule applies.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    prefix :: Prelude.Maybe Prelude.Text,+    tag :: Prelude.Maybe Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'IntelligentTieringFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'and', 'intelligentTieringFilter_and' - A conjunction (logical AND) of predicates, which is used in evaluating a+-- metrics filter. The operator must have at least two predicates, and an+-- object must match all of the predicates in order for the filter to+-- apply.+--+-- 'prefix', 'intelligentTieringFilter_prefix' - An object key name prefix that identifies the subset of objects to which+-- the rule applies.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+--+-- 'tag', 'intelligentTieringFilter_tag' - Undocumented member.+newIntelligentTieringFilter ::+  IntelligentTieringFilter+newIntelligentTieringFilter =+  IntelligentTieringFilter'+    { and = Prelude.Nothing,+      prefix = Prelude.Nothing,+      tag = Prelude.Nothing+    }++-- | A conjunction (logical AND) of predicates, which is used in evaluating a+-- metrics filter. The operator must have at least two predicates, and an+-- object must match all of the predicates in order for the filter to+-- apply.+intelligentTieringFilter_and :: Lens.Lens' IntelligentTieringFilter (Prelude.Maybe IntelligentTieringAndOperator)+intelligentTieringFilter_and = Lens.lens (\IntelligentTieringFilter' {and} -> and) (\s@IntelligentTieringFilter' {} a -> s {and = a} :: IntelligentTieringFilter)++-- | An object key name prefix that identifies the subset of objects to which+-- the rule applies.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+intelligentTieringFilter_prefix :: Lens.Lens' IntelligentTieringFilter (Prelude.Maybe Prelude.Text)+intelligentTieringFilter_prefix = Lens.lens (\IntelligentTieringFilter' {prefix} -> prefix) (\s@IntelligentTieringFilter' {} a -> s {prefix = a} :: IntelligentTieringFilter)++-- | Undocumented member.+intelligentTieringFilter_tag :: Lens.Lens' IntelligentTieringFilter (Prelude.Maybe Tag)+intelligentTieringFilter_tag = Lens.lens (\IntelligentTieringFilter' {tag} -> tag) (\s@IntelligentTieringFilter' {} a -> s {tag = a} :: IntelligentTieringFilter)++instance Data.FromXML IntelligentTieringFilter where+  parseXML x =+    IntelligentTieringFilter'+      Prelude.<$> (x Data..@? "And")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@? "Tag")++instance Prelude.Hashable IntelligentTieringFilter where+  hashWithSalt _salt IntelligentTieringFilter' {..} =+    _salt+      `Prelude.hashWithSalt` and+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tag++instance Prelude.NFData IntelligentTieringFilter where+  rnf IntelligentTieringFilter' {..} =+    Prelude.rnf and+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tag++instance Data.ToXML IntelligentTieringFilter where+  toXML IntelligentTieringFilter' {..} =+    Prelude.mconcat+      [ "And" Data.@= and,+        "Prefix" Data.@= prefix,+        "Tag" Data.@= tag+      ]
+ gen/Amazonka/S3/Types/IntelligentTieringStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.IntelligentTieringStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.IntelligentTieringStatus+  ( IntelligentTieringStatus+      ( ..,+        IntelligentTieringStatus_Disabled,+        IntelligentTieringStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype IntelligentTieringStatus = IntelligentTieringStatus'+  { fromIntelligentTieringStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern IntelligentTieringStatus_Disabled :: IntelligentTieringStatus+pattern IntelligentTieringStatus_Disabled = IntelligentTieringStatus' "Disabled"++pattern IntelligentTieringStatus_Enabled :: IntelligentTieringStatus+pattern IntelligentTieringStatus_Enabled = IntelligentTieringStatus' "Enabled"++{-# COMPLETE+  IntelligentTieringStatus_Disabled,+  IntelligentTieringStatus_Enabled,+  IntelligentTieringStatus'+  #-}
+ gen/Amazonka/S3/Types/InventoryConfiguration.hs view
@@ -0,0 +1,201 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.InventoryDestination+import Amazonka.S3.Types.InventoryFilter+import Amazonka.S3.Types.InventoryIncludedObjectVersions+import Amazonka.S3.Types.InventoryOptionalField+import Amazonka.S3.Types.InventorySchedule++-- | Specifies the inventory configuration for an Amazon S3 bucket. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETInventoryConfig.html GET Bucket inventory>+-- in the /Amazon S3 API Reference/.+--+-- /See:/ 'newInventoryConfiguration' smart constructor.+data InventoryConfiguration = InventoryConfiguration'+  { -- | Specifies an inventory filter. The inventory only includes objects that+    -- meet the filter\'s criteria.+    filter' :: Prelude.Maybe InventoryFilter,+    -- | Contains the optional fields that are included in the inventory results.+    optionalFields :: Prelude.Maybe [InventoryOptionalField],+    -- | Contains information about where to publish the inventory results.+    destination :: InventoryDestination,+    -- | Specifies whether the inventory is enabled or disabled. If set to+    -- @True@, an inventory list is generated. If set to @False@, no inventory+    -- list is generated.+    isEnabled :: Prelude.Bool,+    -- | The ID used to identify the inventory configuration.+    id :: Prelude.Text,+    -- | Object versions to include in the inventory list. If set to @All@, the+    -- list includes all the object versions, which adds the version-related+    -- fields @VersionId@, @IsLatest@, and @DeleteMarker@ to the list. If set+    -- to @Current@, the list does not contain these version-related fields.+    includedObjectVersions :: InventoryIncludedObjectVersions,+    -- | Specifies the schedule for generating inventory results.+    schedule :: InventorySchedule+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventoryConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'inventoryConfiguration_filter' - Specifies an inventory filter. The inventory only includes objects that+-- meet the filter\'s criteria.+--+-- 'optionalFields', 'inventoryConfiguration_optionalFields' - Contains the optional fields that are included in the inventory results.+--+-- 'destination', 'inventoryConfiguration_destination' - Contains information about where to publish the inventory results.+--+-- 'isEnabled', 'inventoryConfiguration_isEnabled' - Specifies whether the inventory is enabled or disabled. If set to+-- @True@, an inventory list is generated. If set to @False@, no inventory+-- list is generated.+--+-- 'id', 'inventoryConfiguration_id' - The ID used to identify the inventory configuration.+--+-- 'includedObjectVersions', 'inventoryConfiguration_includedObjectVersions' - Object versions to include in the inventory list. If set to @All@, the+-- list includes all the object versions, which adds the version-related+-- fields @VersionId@, @IsLatest@, and @DeleteMarker@ to the list. If set+-- to @Current@, the list does not contain these version-related fields.+--+-- 'schedule', 'inventoryConfiguration_schedule' - Specifies the schedule for generating inventory results.+newInventoryConfiguration ::+  -- | 'destination'+  InventoryDestination ->+  -- | 'isEnabled'+  Prelude.Bool ->+  -- | 'id'+  Prelude.Text ->+  -- | 'includedObjectVersions'+  InventoryIncludedObjectVersions ->+  -- | 'schedule'+  InventorySchedule ->+  InventoryConfiguration+newInventoryConfiguration+  pDestination_+  pIsEnabled_+  pId_+  pIncludedObjectVersions_+  pSchedule_ =+    InventoryConfiguration'+      { filter' = Prelude.Nothing,+        optionalFields = Prelude.Nothing,+        destination = pDestination_,+        isEnabled = pIsEnabled_,+        id = pId_,+        includedObjectVersions = pIncludedObjectVersions_,+        schedule = pSchedule_+      }++-- | Specifies an inventory filter. The inventory only includes objects that+-- meet the filter\'s criteria.+inventoryConfiguration_filter :: Lens.Lens' InventoryConfiguration (Prelude.Maybe InventoryFilter)+inventoryConfiguration_filter = Lens.lens (\InventoryConfiguration' {filter'} -> filter') (\s@InventoryConfiguration' {} a -> s {filter' = a} :: InventoryConfiguration)++-- | Contains the optional fields that are included in the inventory results.+inventoryConfiguration_optionalFields :: Lens.Lens' InventoryConfiguration (Prelude.Maybe [InventoryOptionalField])+inventoryConfiguration_optionalFields = Lens.lens (\InventoryConfiguration' {optionalFields} -> optionalFields) (\s@InventoryConfiguration' {} a -> s {optionalFields = a} :: InventoryConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | Contains information about where to publish the inventory results.+inventoryConfiguration_destination :: Lens.Lens' InventoryConfiguration InventoryDestination+inventoryConfiguration_destination = Lens.lens (\InventoryConfiguration' {destination} -> destination) (\s@InventoryConfiguration' {} a -> s {destination = a} :: InventoryConfiguration)++-- | Specifies whether the inventory is enabled or disabled. If set to+-- @True@, an inventory list is generated. If set to @False@, no inventory+-- list is generated.+inventoryConfiguration_isEnabled :: Lens.Lens' InventoryConfiguration Prelude.Bool+inventoryConfiguration_isEnabled = Lens.lens (\InventoryConfiguration' {isEnabled} -> isEnabled) (\s@InventoryConfiguration' {} a -> s {isEnabled = a} :: InventoryConfiguration)++-- | The ID used to identify the inventory configuration.+inventoryConfiguration_id :: Lens.Lens' InventoryConfiguration Prelude.Text+inventoryConfiguration_id = Lens.lens (\InventoryConfiguration' {id} -> id) (\s@InventoryConfiguration' {} a -> s {id = a} :: InventoryConfiguration)++-- | Object versions to include in the inventory list. If set to @All@, the+-- list includes all the object versions, which adds the version-related+-- fields @VersionId@, @IsLatest@, and @DeleteMarker@ to the list. If set+-- to @Current@, the list does not contain these version-related fields.+inventoryConfiguration_includedObjectVersions :: Lens.Lens' InventoryConfiguration InventoryIncludedObjectVersions+inventoryConfiguration_includedObjectVersions = Lens.lens (\InventoryConfiguration' {includedObjectVersions} -> includedObjectVersions) (\s@InventoryConfiguration' {} a -> s {includedObjectVersions = a} :: InventoryConfiguration)++-- | Specifies the schedule for generating inventory results.+inventoryConfiguration_schedule :: Lens.Lens' InventoryConfiguration InventorySchedule+inventoryConfiguration_schedule = Lens.lens (\InventoryConfiguration' {schedule} -> schedule) (\s@InventoryConfiguration' {} a -> s {schedule = a} :: InventoryConfiguration)++instance Data.FromXML InventoryConfiguration where+  parseXML x =+    InventoryConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> ( x+                      Data..@? "OptionalFields"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Field")+                  )+      Prelude.<*> (x Data..@ "Destination")+      Prelude.<*> (x Data..@ "IsEnabled")+      Prelude.<*> (x Data..@ "Id")+      Prelude.<*> (x Data..@ "IncludedObjectVersions")+      Prelude.<*> (x Data..@ "Schedule")++instance Prelude.Hashable InventoryConfiguration where+  hashWithSalt _salt InventoryConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` optionalFields+      `Prelude.hashWithSalt` destination+      `Prelude.hashWithSalt` isEnabled+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` includedObjectVersions+      `Prelude.hashWithSalt` schedule++instance Prelude.NFData InventoryConfiguration where+  rnf InventoryConfiguration' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf optionalFields+      `Prelude.seq` Prelude.rnf destination+      `Prelude.seq` Prelude.rnf isEnabled+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf includedObjectVersions+      `Prelude.seq` Prelude.rnf schedule++instance Data.ToXML InventoryConfiguration where+  toXML InventoryConfiguration' {..} =+    Prelude.mconcat+      [ "Filter" Data.@= filter',+        "OptionalFields"+          Data.@= Data.toXML+            (Data.toXMLList "Field" Prelude.<$> optionalFields),+        "Destination" Data.@= destination,+        "IsEnabled" Data.@= isEnabled,+        "Id" Data.@= id,+        "IncludedObjectVersions"+          Data.@= includedObjectVersions,+        "Schedule" Data.@= schedule+      ]
+ gen/Amazonka/S3/Types/InventoryDestination.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryDestination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.InventoryS3BucketDestination++-- | Specifies the inventory configuration for an Amazon S3 bucket.+--+-- /See:/ 'newInventoryDestination' smart constructor.+data InventoryDestination = InventoryDestination'+  { -- | Contains the bucket name, file format, bucket owner (optional), and+    -- prefix (optional) where inventory results are published.+    s3BucketDestination :: InventoryS3BucketDestination+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventoryDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3BucketDestination', 'inventoryDestination_s3BucketDestination' - Contains the bucket name, file format, bucket owner (optional), and+-- prefix (optional) where inventory results are published.+newInventoryDestination ::+  -- | 's3BucketDestination'+  InventoryS3BucketDestination ->+  InventoryDestination+newInventoryDestination pS3BucketDestination_ =+  InventoryDestination'+    { s3BucketDestination =+        pS3BucketDestination_+    }++-- | Contains the bucket name, file format, bucket owner (optional), and+-- prefix (optional) where inventory results are published.+inventoryDestination_s3BucketDestination :: Lens.Lens' InventoryDestination InventoryS3BucketDestination+inventoryDestination_s3BucketDestination = Lens.lens (\InventoryDestination' {s3BucketDestination} -> s3BucketDestination) (\s@InventoryDestination' {} a -> s {s3BucketDestination = a} :: InventoryDestination)++instance Data.FromXML InventoryDestination where+  parseXML x =+    InventoryDestination'+      Prelude.<$> (x Data..@ "S3BucketDestination")++instance Prelude.Hashable InventoryDestination where+  hashWithSalt _salt InventoryDestination' {..} =+    _salt `Prelude.hashWithSalt` s3BucketDestination++instance Prelude.NFData InventoryDestination where+  rnf InventoryDestination' {..} =+    Prelude.rnf s3BucketDestination++instance Data.ToXML InventoryDestination where+  toXML InventoryDestination' {..} =+    Prelude.mconcat+      ["S3BucketDestination" Data.@= s3BucketDestination]
+ gen/Amazonka/S3/Types/InventoryEncryption.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryEncryption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryEncryption where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.SSEKMS+import Amazonka.S3.Types.SSES3++-- | Contains the type of server-side encryption used to encrypt the+-- inventory results.+--+-- /See:/ 'newInventoryEncryption' smart constructor.+data InventoryEncryption = InventoryEncryption'+  { -- | Specifies the use of SSE-KMS to encrypt delivered inventory reports.+    ssekms :: Prelude.Maybe SSEKMS,+    -- | Specifies the use of SSE-S3 to encrypt delivered inventory reports.+    sses3 :: Prelude.Maybe SSES3+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventoryEncryption' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'ssekms', 'inventoryEncryption_ssekms' - Specifies the use of SSE-KMS to encrypt delivered inventory reports.+--+-- 'sses3', 'inventoryEncryption_sses3' - Specifies the use of SSE-S3 to encrypt delivered inventory reports.+newInventoryEncryption ::+  InventoryEncryption+newInventoryEncryption =+  InventoryEncryption'+    { ssekms = Prelude.Nothing,+      sses3 = Prelude.Nothing+    }++-- | Specifies the use of SSE-KMS to encrypt delivered inventory reports.+inventoryEncryption_ssekms :: Lens.Lens' InventoryEncryption (Prelude.Maybe SSEKMS)+inventoryEncryption_ssekms = Lens.lens (\InventoryEncryption' {ssekms} -> ssekms) (\s@InventoryEncryption' {} a -> s {ssekms = a} :: InventoryEncryption)++-- | Specifies the use of SSE-S3 to encrypt delivered inventory reports.+inventoryEncryption_sses3 :: Lens.Lens' InventoryEncryption (Prelude.Maybe SSES3)+inventoryEncryption_sses3 = Lens.lens (\InventoryEncryption' {sses3} -> sses3) (\s@InventoryEncryption' {} a -> s {sses3 = a} :: InventoryEncryption)++instance Data.FromXML InventoryEncryption where+  parseXML x =+    InventoryEncryption'+      Prelude.<$> (x Data..@? "SSE-KMS")+      Prelude.<*> (x Data..@? "SSE-S3")++instance Prelude.Hashable InventoryEncryption where+  hashWithSalt _salt InventoryEncryption' {..} =+    _salt+      `Prelude.hashWithSalt` ssekms+      `Prelude.hashWithSalt` sses3++instance Prelude.NFData InventoryEncryption where+  rnf InventoryEncryption' {..} =+    Prelude.rnf ssekms `Prelude.seq` Prelude.rnf sses3++instance Data.ToXML InventoryEncryption where+  toXML InventoryEncryption' {..} =+    Prelude.mconcat+      ["SSE-KMS" Data.@= ssekms, "SSE-S3" Data.@= sses3]
+ gen/Amazonka/S3/Types/InventoryFilter.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies an inventory filter. The inventory only includes objects that+-- meet the filter\'s criteria.+--+-- /See:/ 'newInventoryFilter' smart constructor.+data InventoryFilter = InventoryFilter'+  { -- | The prefix that an object must have to be included in the inventory+    -- results.+    prefix :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventoryFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prefix', 'inventoryFilter_prefix' - The prefix that an object must have to be included in the inventory+-- results.+newInventoryFilter ::+  -- | 'prefix'+  Prelude.Text ->+  InventoryFilter+newInventoryFilter pPrefix_ =+  InventoryFilter' {prefix = pPrefix_}++-- | The prefix that an object must have to be included in the inventory+-- results.+inventoryFilter_prefix :: Lens.Lens' InventoryFilter Prelude.Text+inventoryFilter_prefix = Lens.lens (\InventoryFilter' {prefix} -> prefix) (\s@InventoryFilter' {} a -> s {prefix = a} :: InventoryFilter)++instance Data.FromXML InventoryFilter where+  parseXML x =+    InventoryFilter' Prelude.<$> (x Data..@ "Prefix")++instance Prelude.Hashable InventoryFilter where+  hashWithSalt _salt InventoryFilter' {..} =+    _salt `Prelude.hashWithSalt` prefix++instance Prelude.NFData InventoryFilter where+  rnf InventoryFilter' {..} = Prelude.rnf prefix++instance Data.ToXML InventoryFilter where+  toXML InventoryFilter' {..} =+    Prelude.mconcat ["Prefix" Data.@= prefix]
+ gen/Amazonka/S3/Types/InventoryFormat.hs view
@@ -0,0 +1,77 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryFormat+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryFormat+  ( InventoryFormat+      ( ..,+        InventoryFormat_CSV,+        InventoryFormat_ORC,+        InventoryFormat_Parquet+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype InventoryFormat = InventoryFormat'+  { fromInventoryFormat ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern InventoryFormat_CSV :: InventoryFormat+pattern InventoryFormat_CSV = InventoryFormat' "CSV"++pattern InventoryFormat_ORC :: InventoryFormat+pattern InventoryFormat_ORC = InventoryFormat' "ORC"++pattern InventoryFormat_Parquet :: InventoryFormat+pattern InventoryFormat_Parquet = InventoryFormat' "Parquet"++{-# COMPLETE+  InventoryFormat_CSV,+  InventoryFormat_ORC,+  InventoryFormat_Parquet,+  InventoryFormat'+  #-}
+ gen/Amazonka/S3/Types/InventoryFrequency.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryFrequency+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryFrequency+  ( InventoryFrequency+      ( ..,+        InventoryFrequency_Daily,+        InventoryFrequency_Weekly+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype InventoryFrequency = InventoryFrequency'+  { fromInventoryFrequency ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern InventoryFrequency_Daily :: InventoryFrequency+pattern InventoryFrequency_Daily = InventoryFrequency' "Daily"++pattern InventoryFrequency_Weekly :: InventoryFrequency+pattern InventoryFrequency_Weekly = InventoryFrequency' "Weekly"++{-# COMPLETE+  InventoryFrequency_Daily,+  InventoryFrequency_Weekly,+  InventoryFrequency'+  #-}
+ gen/Amazonka/S3/Types/InventoryIncludedObjectVersions.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryIncludedObjectVersions+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryIncludedObjectVersions+  ( InventoryIncludedObjectVersions+      ( ..,+        InventoryIncludedObjectVersions_All,+        InventoryIncludedObjectVersions_Current+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype InventoryIncludedObjectVersions = InventoryIncludedObjectVersions'+  { fromInventoryIncludedObjectVersions ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern InventoryIncludedObjectVersions_All :: InventoryIncludedObjectVersions+pattern InventoryIncludedObjectVersions_All = InventoryIncludedObjectVersions' "All"++pattern InventoryIncludedObjectVersions_Current :: InventoryIncludedObjectVersions+pattern InventoryIncludedObjectVersions_Current = InventoryIncludedObjectVersions' "Current"++{-# COMPLETE+  InventoryIncludedObjectVersions_All,+  InventoryIncludedObjectVersions_Current,+  InventoryIncludedObjectVersions'+  #-}
+ gen/Amazonka/S3/Types/InventoryOptionalField.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryOptionalField+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryOptionalField+  ( InventoryOptionalField+      ( ..,+        InventoryOptionalField_BucketKeyStatus,+        InventoryOptionalField_ChecksumAlgorithm,+        InventoryOptionalField_ETag,+        InventoryOptionalField_EncryptionStatus,+        InventoryOptionalField_IntelligentTieringAccessTier,+        InventoryOptionalField_IsMultipartUploaded,+        InventoryOptionalField_LastModifiedDate,+        InventoryOptionalField_ObjectLockLegalHoldStatus,+        InventoryOptionalField_ObjectLockMode,+        InventoryOptionalField_ObjectLockRetainUntilDate,+        InventoryOptionalField_ReplicationStatus,+        InventoryOptionalField_Size,+        InventoryOptionalField_StorageClass+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype InventoryOptionalField = InventoryOptionalField'+  { fromInventoryOptionalField ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern InventoryOptionalField_BucketKeyStatus :: InventoryOptionalField+pattern InventoryOptionalField_BucketKeyStatus = InventoryOptionalField' "BucketKeyStatus"++pattern InventoryOptionalField_ChecksumAlgorithm :: InventoryOptionalField+pattern InventoryOptionalField_ChecksumAlgorithm = InventoryOptionalField' "ChecksumAlgorithm"++pattern InventoryOptionalField_ETag :: InventoryOptionalField+pattern InventoryOptionalField_ETag = InventoryOptionalField' "ETag"++pattern InventoryOptionalField_EncryptionStatus :: InventoryOptionalField+pattern InventoryOptionalField_EncryptionStatus = InventoryOptionalField' "EncryptionStatus"++pattern InventoryOptionalField_IntelligentTieringAccessTier :: InventoryOptionalField+pattern InventoryOptionalField_IntelligentTieringAccessTier = InventoryOptionalField' "IntelligentTieringAccessTier"++pattern InventoryOptionalField_IsMultipartUploaded :: InventoryOptionalField+pattern InventoryOptionalField_IsMultipartUploaded = InventoryOptionalField' "IsMultipartUploaded"++pattern InventoryOptionalField_LastModifiedDate :: InventoryOptionalField+pattern InventoryOptionalField_LastModifiedDate = InventoryOptionalField' "LastModifiedDate"++pattern InventoryOptionalField_ObjectLockLegalHoldStatus :: InventoryOptionalField+pattern InventoryOptionalField_ObjectLockLegalHoldStatus = InventoryOptionalField' "ObjectLockLegalHoldStatus"++pattern InventoryOptionalField_ObjectLockMode :: InventoryOptionalField+pattern InventoryOptionalField_ObjectLockMode = InventoryOptionalField' "ObjectLockMode"++pattern InventoryOptionalField_ObjectLockRetainUntilDate :: InventoryOptionalField+pattern InventoryOptionalField_ObjectLockRetainUntilDate = InventoryOptionalField' "ObjectLockRetainUntilDate"++pattern InventoryOptionalField_ReplicationStatus :: InventoryOptionalField+pattern InventoryOptionalField_ReplicationStatus = InventoryOptionalField' "ReplicationStatus"++pattern InventoryOptionalField_Size :: InventoryOptionalField+pattern InventoryOptionalField_Size = InventoryOptionalField' "Size"++pattern InventoryOptionalField_StorageClass :: InventoryOptionalField+pattern InventoryOptionalField_StorageClass = InventoryOptionalField' "StorageClass"++{-# COMPLETE+  InventoryOptionalField_BucketKeyStatus,+  InventoryOptionalField_ChecksumAlgorithm,+  InventoryOptionalField_ETag,+  InventoryOptionalField_EncryptionStatus,+  InventoryOptionalField_IntelligentTieringAccessTier,+  InventoryOptionalField_IsMultipartUploaded,+  InventoryOptionalField_LastModifiedDate,+  InventoryOptionalField_ObjectLockLegalHoldStatus,+  InventoryOptionalField_ObjectLockMode,+  InventoryOptionalField_ObjectLockRetainUntilDate,+  InventoryOptionalField_ReplicationStatus,+  InventoryOptionalField_Size,+  InventoryOptionalField_StorageClass,+  InventoryOptionalField'+  #-}
+ gen/Amazonka/S3/Types/InventoryS3BucketDestination.hs view
@@ -0,0 +1,156 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventoryS3BucketDestination+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventoryS3BucketDestination where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.InventoryEncryption+import Amazonka.S3.Types.InventoryFormat++-- | Contains the bucket name, file format, bucket owner (optional), and+-- prefix (optional) where inventory results are published.+--+-- /See:/ 'newInventoryS3BucketDestination' smart constructor.+data InventoryS3BucketDestination = InventoryS3BucketDestination'+  { -- | The account ID that owns the destination S3 bucket. If no account ID is+    -- provided, the owner is not validated before exporting data.+    --+    -- Although this value is optional, we strongly recommend that you set it+    -- to help prevent problems if the destination bucket ownership changes.+    accountId :: Prelude.Maybe Prelude.Text,+    -- | Contains the type of server-side encryption used to encrypt the+    -- inventory results.+    encryption :: Prelude.Maybe InventoryEncryption,+    -- | The prefix that is prepended to all inventory results.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the bucket where inventory results+    -- will be published.+    bucket :: BucketName,+    -- | Specifies the output format of the inventory results.+    format :: InventoryFormat+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventoryS3BucketDestination' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accountId', 'inventoryS3BucketDestination_accountId' - The account ID that owns the destination S3 bucket. If no account ID is+-- provided, the owner is not validated before exporting data.+--+-- Although this value is optional, we strongly recommend that you set it+-- to help prevent problems if the destination bucket ownership changes.+--+-- 'encryption', 'inventoryS3BucketDestination_encryption' - Contains the type of server-side encryption used to encrypt the+-- inventory results.+--+-- 'prefix', 'inventoryS3BucketDestination_prefix' - The prefix that is prepended to all inventory results.+--+-- 'bucket', 'inventoryS3BucketDestination_bucket' - The Amazon Resource Name (ARN) of the bucket where inventory results+-- will be published.+--+-- 'format', 'inventoryS3BucketDestination_format' - Specifies the output format of the inventory results.+newInventoryS3BucketDestination ::+  -- | 'bucket'+  BucketName ->+  -- | 'format'+  InventoryFormat ->+  InventoryS3BucketDestination+newInventoryS3BucketDestination pBucket_ pFormat_ =+  InventoryS3BucketDestination'+    { accountId =+        Prelude.Nothing,+      encryption = Prelude.Nothing,+      prefix = Prelude.Nothing,+      bucket = pBucket_,+      format = pFormat_+    }++-- | The account ID that owns the destination S3 bucket. If no account ID is+-- provided, the owner is not validated before exporting data.+--+-- Although this value is optional, we strongly recommend that you set it+-- to help prevent problems if the destination bucket ownership changes.+inventoryS3BucketDestination_accountId :: Lens.Lens' InventoryS3BucketDestination (Prelude.Maybe Prelude.Text)+inventoryS3BucketDestination_accountId = Lens.lens (\InventoryS3BucketDestination' {accountId} -> accountId) (\s@InventoryS3BucketDestination' {} a -> s {accountId = a} :: InventoryS3BucketDestination)++-- | Contains the type of server-side encryption used to encrypt the+-- inventory results.+inventoryS3BucketDestination_encryption :: Lens.Lens' InventoryS3BucketDestination (Prelude.Maybe InventoryEncryption)+inventoryS3BucketDestination_encryption = Lens.lens (\InventoryS3BucketDestination' {encryption} -> encryption) (\s@InventoryS3BucketDestination' {} a -> s {encryption = a} :: InventoryS3BucketDestination)++-- | The prefix that is prepended to all inventory results.+inventoryS3BucketDestination_prefix :: Lens.Lens' InventoryS3BucketDestination (Prelude.Maybe Prelude.Text)+inventoryS3BucketDestination_prefix = Lens.lens (\InventoryS3BucketDestination' {prefix} -> prefix) (\s@InventoryS3BucketDestination' {} a -> s {prefix = a} :: InventoryS3BucketDestination)++-- | The Amazon Resource Name (ARN) of the bucket where inventory results+-- will be published.+inventoryS3BucketDestination_bucket :: Lens.Lens' InventoryS3BucketDestination BucketName+inventoryS3BucketDestination_bucket = Lens.lens (\InventoryS3BucketDestination' {bucket} -> bucket) (\s@InventoryS3BucketDestination' {} a -> s {bucket = a} :: InventoryS3BucketDestination)++-- | Specifies the output format of the inventory results.+inventoryS3BucketDestination_format :: Lens.Lens' InventoryS3BucketDestination InventoryFormat+inventoryS3BucketDestination_format = Lens.lens (\InventoryS3BucketDestination' {format} -> format) (\s@InventoryS3BucketDestination' {} a -> s {format = a} :: InventoryS3BucketDestination)++instance Data.FromXML InventoryS3BucketDestination where+  parseXML x =+    InventoryS3BucketDestination'+      Prelude.<$> (x Data..@? "AccountId")+      Prelude.<*> (x Data..@? "Encryption")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@ "Bucket")+      Prelude.<*> (x Data..@ "Format")++instance+  Prelude.Hashable+    InventoryS3BucketDestination+  where+  hashWithSalt _salt InventoryS3BucketDestination' {..} =+    _salt+      `Prelude.hashWithSalt` accountId+      `Prelude.hashWithSalt` encryption+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` format++instance Prelude.NFData InventoryS3BucketDestination where+  rnf InventoryS3BucketDestination' {..} =+    Prelude.rnf accountId+      `Prelude.seq` Prelude.rnf encryption+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf format++instance Data.ToXML InventoryS3BucketDestination where+  toXML InventoryS3BucketDestination' {..} =+    Prelude.mconcat+      [ "AccountId" Data.@= accountId,+        "Encryption" Data.@= encryption,+        "Prefix" Data.@= prefix,+        "Bucket" Data.@= bucket,+        "Format" Data.@= format+      ]
+ gen/Amazonka/S3/Types/InventorySchedule.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.InventorySchedule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.InventorySchedule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.InventoryFrequency++-- | Specifies the schedule for generating inventory results.+--+-- /See:/ 'newInventorySchedule' smart constructor.+data InventorySchedule = InventorySchedule'+  { -- | Specifies how frequently inventory results are produced.+    frequency :: InventoryFrequency+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'InventorySchedule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'frequency', 'inventorySchedule_frequency' - Specifies how frequently inventory results are produced.+newInventorySchedule ::+  -- | 'frequency'+  InventoryFrequency ->+  InventorySchedule+newInventorySchedule pFrequency_ =+  InventorySchedule' {frequency = pFrequency_}++-- | Specifies how frequently inventory results are produced.+inventorySchedule_frequency :: Lens.Lens' InventorySchedule InventoryFrequency+inventorySchedule_frequency = Lens.lens (\InventorySchedule' {frequency} -> frequency) (\s@InventorySchedule' {} a -> s {frequency = a} :: InventorySchedule)++instance Data.FromXML InventorySchedule where+  parseXML x =+    InventorySchedule'+      Prelude.<$> (x Data..@ "Frequency")++instance Prelude.Hashable InventorySchedule where+  hashWithSalt _salt InventorySchedule' {..} =+    _salt `Prelude.hashWithSalt` frequency++instance Prelude.NFData InventorySchedule where+  rnf InventorySchedule' {..} = Prelude.rnf frequency++instance Data.ToXML InventorySchedule where+  toXML InventorySchedule' {..} =+    Prelude.mconcat ["Frequency" Data.@= frequency]
+ gen/Amazonka/S3/Types/JSONInput.hs view
@@ -0,0 +1,64 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.JSONInput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.JSONInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.JSONType++-- | Specifies JSON as object\'s input serialization format.+--+-- /See:/ 'newJSONInput' smart constructor.+data JSONInput = JSONInput'+  { -- | The type of JSON. Valid values: Document, Lines.+    type' :: Prelude.Maybe JSONType+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JSONInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'type'', 'jSONInput_type' - The type of JSON. Valid values: Document, Lines.+newJSONInput ::+  JSONInput+newJSONInput = JSONInput' {type' = Prelude.Nothing}++-- | The type of JSON. Valid values: Document, Lines.+jSONInput_type :: Lens.Lens' JSONInput (Prelude.Maybe JSONType)+jSONInput_type = Lens.lens (\JSONInput' {type'} -> type') (\s@JSONInput' {} a -> s {type' = a} :: JSONInput)++instance Prelude.Hashable JSONInput where+  hashWithSalt _salt JSONInput' {..} =+    _salt `Prelude.hashWithSalt` type'++instance Prelude.NFData JSONInput where+  rnf JSONInput' {..} = Prelude.rnf type'++instance Data.ToXML JSONInput where+  toXML JSONInput' {..} =+    Prelude.mconcat ["Type" Data.@= type']
+ gen/Amazonka/S3/Types/JSONOutput.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.JSONOutput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.JSONOutput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies JSON as request\'s output serialization format.+--+-- /See:/ 'newJSONOutput' smart constructor.+data JSONOutput = JSONOutput'+  { -- | The value used to separate individual records in the output. If no value+    -- is specified, Amazon S3 uses a newline character (\'\\n\').+    recordDelimiter :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'JSONOutput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'recordDelimiter', 'jSONOutput_recordDelimiter' - The value used to separate individual records in the output. If no value+-- is specified, Amazon S3 uses a newline character (\'\\n\').+newJSONOutput ::+  JSONOutput+newJSONOutput =+  JSONOutput' {recordDelimiter = Prelude.Nothing}++-- | The value used to separate individual records in the output. If no value+-- is specified, Amazon S3 uses a newline character (\'\\n\').+jSONOutput_recordDelimiter :: Lens.Lens' JSONOutput (Prelude.Maybe Prelude.Text)+jSONOutput_recordDelimiter = Lens.lens (\JSONOutput' {recordDelimiter} -> recordDelimiter) (\s@JSONOutput' {} a -> s {recordDelimiter = a} :: JSONOutput)++instance Prelude.Hashable JSONOutput where+  hashWithSalt _salt JSONOutput' {..} =+    _salt `Prelude.hashWithSalt` recordDelimiter++instance Prelude.NFData JSONOutput where+  rnf JSONOutput' {..} = Prelude.rnf recordDelimiter++instance Data.ToXML JSONOutput where+  toXML JSONOutput' {..} =+    Prelude.mconcat+      ["RecordDelimiter" Data.@= recordDelimiter]
+ gen/Amazonka/S3/Types/JSONType.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.JSONType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.JSONType+  ( JSONType+      ( ..,+        JSONType_DOCUMENT,+        JSONType_LINES+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype JSONType = JSONType'+  { fromJSONType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern JSONType_DOCUMENT :: JSONType+pattern JSONType_DOCUMENT = JSONType' "DOCUMENT"++pattern JSONType_LINES :: JSONType+pattern JSONType_LINES = JSONType' "LINES"++{-# COMPLETE+  JSONType_DOCUMENT,+  JSONType_LINES,+  JSONType'+  #-}
+ gen/Amazonka/S3/Types/LambdaFunctionConfiguration.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.LambdaFunctionConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.LambdaFunctionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Event+import Amazonka.S3.Types.NotificationConfigurationFilter++-- | A container for specifying the configuration for Lambda notifications.+--+-- /See:/ 'newLambdaFunctionConfiguration' smart constructor.+data LambdaFunctionConfiguration = LambdaFunctionConfiguration'+  { filter' :: Prelude.Maybe NotificationConfigurationFilter,+    id :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Lambda function that Amazon S3+    -- invokes when the specified event type occurs.+    lambdaFunctionArn :: Prelude.Text,+    -- | The Amazon S3 bucket event for which to invoke the Lambda function. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Supported Event Types>+    -- in the /Amazon S3 User Guide/.+    events :: [Event]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LambdaFunctionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'lambdaFunctionConfiguration_filter' - Undocumented member.+--+-- 'id', 'lambdaFunctionConfiguration_id' - Undocumented member.+--+-- 'lambdaFunctionArn', 'lambdaFunctionConfiguration_lambdaFunctionArn' - The Amazon Resource Name (ARN) of the Lambda function that Amazon S3+-- invokes when the specified event type occurs.+--+-- 'events', 'lambdaFunctionConfiguration_events' - The Amazon S3 bucket event for which to invoke the Lambda function. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Supported Event Types>+-- in the /Amazon S3 User Guide/.+newLambdaFunctionConfiguration ::+  -- | 'lambdaFunctionArn'+  Prelude.Text ->+  LambdaFunctionConfiguration+newLambdaFunctionConfiguration pLambdaFunctionArn_ =+  LambdaFunctionConfiguration'+    { filter' =+        Prelude.Nothing,+      id = Prelude.Nothing,+      lambdaFunctionArn = pLambdaFunctionArn_,+      events = Prelude.mempty+    }++-- | Undocumented member.+lambdaFunctionConfiguration_filter :: Lens.Lens' LambdaFunctionConfiguration (Prelude.Maybe NotificationConfigurationFilter)+lambdaFunctionConfiguration_filter = Lens.lens (\LambdaFunctionConfiguration' {filter'} -> filter') (\s@LambdaFunctionConfiguration' {} a -> s {filter' = a} :: LambdaFunctionConfiguration)++-- | Undocumented member.+lambdaFunctionConfiguration_id :: Lens.Lens' LambdaFunctionConfiguration (Prelude.Maybe Prelude.Text)+lambdaFunctionConfiguration_id = Lens.lens (\LambdaFunctionConfiguration' {id} -> id) (\s@LambdaFunctionConfiguration' {} a -> s {id = a} :: LambdaFunctionConfiguration)++-- | The Amazon Resource Name (ARN) of the Lambda function that Amazon S3+-- invokes when the specified event type occurs.+lambdaFunctionConfiguration_lambdaFunctionArn :: Lens.Lens' LambdaFunctionConfiguration Prelude.Text+lambdaFunctionConfiguration_lambdaFunctionArn = Lens.lens (\LambdaFunctionConfiguration' {lambdaFunctionArn} -> lambdaFunctionArn) (\s@LambdaFunctionConfiguration' {} a -> s {lambdaFunctionArn = a} :: LambdaFunctionConfiguration)++-- | The Amazon S3 bucket event for which to invoke the Lambda function. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Supported Event Types>+-- in the /Amazon S3 User Guide/.+lambdaFunctionConfiguration_events :: Lens.Lens' LambdaFunctionConfiguration [Event]+lambdaFunctionConfiguration_events = Lens.lens (\LambdaFunctionConfiguration' {events} -> events) (\s@LambdaFunctionConfiguration' {} a -> s {events = a} :: LambdaFunctionConfiguration) Prelude.. Lens.coerced++instance Data.FromXML LambdaFunctionConfiguration where+  parseXML x =+    LambdaFunctionConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> (x Data..@? "Id")+      Prelude.<*> (x Data..@ "CloudFunction")+      Prelude.<*> (Data.parseXMLList "Event" x)++instance Prelude.Hashable LambdaFunctionConfiguration where+  hashWithSalt _salt LambdaFunctionConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` lambdaFunctionArn+      `Prelude.hashWithSalt` events++instance Prelude.NFData LambdaFunctionConfiguration where+  rnf LambdaFunctionConfiguration' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf lambdaFunctionArn+      `Prelude.seq` Prelude.rnf events++instance Data.ToXML LambdaFunctionConfiguration where+  toXML LambdaFunctionConfiguration' {..} =+    Prelude.mconcat+      [ "Filter" Data.@= filter',+        "Id" Data.@= id,+        "CloudFunction" Data.@= lambdaFunctionArn,+        Data.toXMLList "Event" events+      ]
+ gen/Amazonka/S3/Types/LifecycleExpiration.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.LifecycleExpiration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.LifecycleExpiration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for the expiration for the lifecycle of the object.+--+-- /See:/ 'newLifecycleExpiration' smart constructor.+data LifecycleExpiration = LifecycleExpiration'+  { -- | Indicates at what date the object is to be moved or deleted. Should be+    -- in GMT ISO 8601 Format.+    date :: Prelude.Maybe Data.ISO8601,+    -- | Indicates the lifetime, in days, of the objects that are subject to the+    -- rule. The value must be a non-zero positive integer.+    days :: Prelude.Maybe Prelude.Int,+    -- | Indicates whether Amazon S3 will remove a delete marker with no+    -- noncurrent versions. If set to true, the delete marker will be expired;+    -- if set to false the policy takes no action. This cannot be specified+    -- with Days or Date in a Lifecycle Expiration Policy.+    expiredObjectDeleteMarker :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifecycleExpiration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'date', 'lifecycleExpiration_date' - Indicates at what date the object is to be moved or deleted. Should be+-- in GMT ISO 8601 Format.+--+-- 'days', 'lifecycleExpiration_days' - Indicates the lifetime, in days, of the objects that are subject to the+-- rule. The value must be a non-zero positive integer.+--+-- 'expiredObjectDeleteMarker', 'lifecycleExpiration_expiredObjectDeleteMarker' - Indicates whether Amazon S3 will remove a delete marker with no+-- noncurrent versions. If set to true, the delete marker will be expired;+-- if set to false the policy takes no action. This cannot be specified+-- with Days or Date in a Lifecycle Expiration Policy.+newLifecycleExpiration ::+  LifecycleExpiration+newLifecycleExpiration =+  LifecycleExpiration'+    { date = Prelude.Nothing,+      days = Prelude.Nothing,+      expiredObjectDeleteMarker = Prelude.Nothing+    }++-- | Indicates at what date the object is to be moved or deleted. Should be+-- in GMT ISO 8601 Format.+lifecycleExpiration_date :: Lens.Lens' LifecycleExpiration (Prelude.Maybe Prelude.UTCTime)+lifecycleExpiration_date = Lens.lens (\LifecycleExpiration' {date} -> date) (\s@LifecycleExpiration' {} a -> s {date = a} :: LifecycleExpiration) Prelude.. Lens.mapping Data._Time++-- | Indicates the lifetime, in days, of the objects that are subject to the+-- rule. The value must be a non-zero positive integer.+lifecycleExpiration_days :: Lens.Lens' LifecycleExpiration (Prelude.Maybe Prelude.Int)+lifecycleExpiration_days = Lens.lens (\LifecycleExpiration' {days} -> days) (\s@LifecycleExpiration' {} a -> s {days = a} :: LifecycleExpiration)++-- | Indicates whether Amazon S3 will remove a delete marker with no+-- noncurrent versions. If set to true, the delete marker will be expired;+-- if set to false the policy takes no action. This cannot be specified+-- with Days or Date in a Lifecycle Expiration Policy.+lifecycleExpiration_expiredObjectDeleteMarker :: Lens.Lens' LifecycleExpiration (Prelude.Maybe Prelude.Bool)+lifecycleExpiration_expiredObjectDeleteMarker = Lens.lens (\LifecycleExpiration' {expiredObjectDeleteMarker} -> expiredObjectDeleteMarker) (\s@LifecycleExpiration' {} a -> s {expiredObjectDeleteMarker = a} :: LifecycleExpiration)++instance Data.FromXML LifecycleExpiration where+  parseXML x =+    LifecycleExpiration'+      Prelude.<$> (x Data..@? "Date")+      Prelude.<*> (x Data..@? "Days")+      Prelude.<*> (x Data..@? "ExpiredObjectDeleteMarker")++instance Prelude.Hashable LifecycleExpiration where+  hashWithSalt _salt LifecycleExpiration' {..} =+    _salt+      `Prelude.hashWithSalt` date+      `Prelude.hashWithSalt` days+      `Prelude.hashWithSalt` expiredObjectDeleteMarker++instance Prelude.NFData LifecycleExpiration where+  rnf LifecycleExpiration' {..} =+    Prelude.rnf date+      `Prelude.seq` Prelude.rnf days+      `Prelude.seq` Prelude.rnf expiredObjectDeleteMarker++instance Data.ToXML LifecycleExpiration where+  toXML LifecycleExpiration' {..} =+    Prelude.mconcat+      [ "Date" Data.@= date,+        "Days" Data.@= days,+        "ExpiredObjectDeleteMarker"+          Data.@= expiredObjectDeleteMarker+      ]
+ gen/Amazonka/S3/Types/LifecycleRule.hs view
@@ -0,0 +1,252 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.LifecycleRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.LifecycleRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AbortIncompleteMultipartUpload+import Amazonka.S3.Types.ExpirationStatus+import Amazonka.S3.Types.LifecycleExpiration+import Amazonka.S3.Types.LifecycleRuleFilter+import Amazonka.S3.Types.NoncurrentVersionExpiration+import Amazonka.S3.Types.NoncurrentVersionTransition+import Amazonka.S3.Types.Transition++-- | A lifecycle rule for individual objects in an Amazon S3 bucket.+--+-- /See:/ 'newLifecycleRule' smart constructor.+data LifecycleRule = LifecycleRule'+  { abortIncompleteMultipartUpload :: Prelude.Maybe AbortIncompleteMultipartUpload,+    -- | Specifies the expiration for the lifecycle of the object in the form of+    -- date, days and, whether the object has a delete marker.+    expiration :: Prelude.Maybe LifecycleExpiration,+    -- | The @Filter@ is used to identify objects that a Lifecycle Rule applies+    -- to. A @Filter@ must have exactly one of @Prefix@, @Tag@, or @And@+    -- specified. @Filter@ is required if the @LifecycleRule@ does not contain+    -- a @Prefix@ element.+    filter' :: Prelude.Maybe LifecycleRuleFilter,+    -- | Unique identifier for the rule. The value cannot be longer than 255+    -- characters.+    id :: Prelude.Maybe Prelude.Text,+    noncurrentVersionExpiration :: Prelude.Maybe NoncurrentVersionExpiration,+    -- | Specifies the transition rule for the lifecycle rule that describes when+    -- noncurrent objects transition to a specific storage class. If your+    -- bucket is versioning-enabled (or versioning is suspended), you can set+    -- this action to request that Amazon S3 transition noncurrent object+    -- versions to a specific storage class at a set period in the object\'s+    -- lifetime.+    noncurrentVersionTransitions :: Prelude.Maybe [NoncurrentVersionTransition],+    -- | Prefix identifying one or more objects to which the rule applies. This+    -- is no longer used; use @Filter@ instead.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | Specifies when an Amazon S3 object transitions to a specified storage+    -- class.+    transitions :: Prelude.Maybe [Transition],+    -- | If \'Enabled\', the rule is currently being applied. If \'Disabled\',+    -- the rule is not currently being applied.+    status :: ExpirationStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifecycleRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'abortIncompleteMultipartUpload', 'lifecycleRule_abortIncompleteMultipartUpload' - Undocumented member.+--+-- 'expiration', 'lifecycleRule_expiration' - Specifies the expiration for the lifecycle of the object in the form of+-- date, days and, whether the object has a delete marker.+--+-- 'filter'', 'lifecycleRule_filter' - The @Filter@ is used to identify objects that a Lifecycle Rule applies+-- to. A @Filter@ must have exactly one of @Prefix@, @Tag@, or @And@+-- specified. @Filter@ is required if the @LifecycleRule@ does not contain+-- a @Prefix@ element.+--+-- 'id', 'lifecycleRule_id' - Unique identifier for the rule. The value cannot be longer than 255+-- characters.+--+-- 'noncurrentVersionExpiration', 'lifecycleRule_noncurrentVersionExpiration' - Undocumented member.+--+-- 'noncurrentVersionTransitions', 'lifecycleRule_noncurrentVersionTransitions' - Specifies the transition rule for the lifecycle rule that describes when+-- noncurrent objects transition to a specific storage class. If your+-- bucket is versioning-enabled (or versioning is suspended), you can set+-- this action to request that Amazon S3 transition noncurrent object+-- versions to a specific storage class at a set period in the object\'s+-- lifetime.+--+-- 'prefix', 'lifecycleRule_prefix' - Prefix identifying one or more objects to which the rule applies. This+-- is no longer used; use @Filter@ instead.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+--+-- 'transitions', 'lifecycleRule_transitions' - Specifies when an Amazon S3 object transitions to a specified storage+-- class.+--+-- 'status', 'lifecycleRule_status' - If \'Enabled\', the rule is currently being applied. If \'Disabled\',+-- the rule is not currently being applied.+newLifecycleRule ::+  -- | 'status'+  ExpirationStatus ->+  LifecycleRule+newLifecycleRule pStatus_ =+  LifecycleRule'+    { abortIncompleteMultipartUpload =+        Prelude.Nothing,+      expiration = Prelude.Nothing,+      filter' = Prelude.Nothing,+      id = Prelude.Nothing,+      noncurrentVersionExpiration = Prelude.Nothing,+      noncurrentVersionTransitions = Prelude.Nothing,+      prefix = Prelude.Nothing,+      transitions = Prelude.Nothing,+      status = pStatus_+    }++-- | Undocumented member.+lifecycleRule_abortIncompleteMultipartUpload :: Lens.Lens' LifecycleRule (Prelude.Maybe AbortIncompleteMultipartUpload)+lifecycleRule_abortIncompleteMultipartUpload = Lens.lens (\LifecycleRule' {abortIncompleteMultipartUpload} -> abortIncompleteMultipartUpload) (\s@LifecycleRule' {} a -> s {abortIncompleteMultipartUpload = a} :: LifecycleRule)++-- | Specifies the expiration for the lifecycle of the object in the form of+-- date, days and, whether the object has a delete marker.+lifecycleRule_expiration :: Lens.Lens' LifecycleRule (Prelude.Maybe LifecycleExpiration)+lifecycleRule_expiration = Lens.lens (\LifecycleRule' {expiration} -> expiration) (\s@LifecycleRule' {} a -> s {expiration = a} :: LifecycleRule)++-- | The @Filter@ is used to identify objects that a Lifecycle Rule applies+-- to. A @Filter@ must have exactly one of @Prefix@, @Tag@, or @And@+-- specified. @Filter@ is required if the @LifecycleRule@ does not contain+-- a @Prefix@ element.+lifecycleRule_filter :: Lens.Lens' LifecycleRule (Prelude.Maybe LifecycleRuleFilter)+lifecycleRule_filter = Lens.lens (\LifecycleRule' {filter'} -> filter') (\s@LifecycleRule' {} a -> s {filter' = a} :: LifecycleRule)++-- | Unique identifier for the rule. The value cannot be longer than 255+-- characters.+lifecycleRule_id :: Lens.Lens' LifecycleRule (Prelude.Maybe Prelude.Text)+lifecycleRule_id = Lens.lens (\LifecycleRule' {id} -> id) (\s@LifecycleRule' {} a -> s {id = a} :: LifecycleRule)++-- | Undocumented member.+lifecycleRule_noncurrentVersionExpiration :: Lens.Lens' LifecycleRule (Prelude.Maybe NoncurrentVersionExpiration)+lifecycleRule_noncurrentVersionExpiration = Lens.lens (\LifecycleRule' {noncurrentVersionExpiration} -> noncurrentVersionExpiration) (\s@LifecycleRule' {} a -> s {noncurrentVersionExpiration = a} :: LifecycleRule)++-- | Specifies the transition rule for the lifecycle rule that describes when+-- noncurrent objects transition to a specific storage class. If your+-- bucket is versioning-enabled (or versioning is suspended), you can set+-- this action to request that Amazon S3 transition noncurrent object+-- versions to a specific storage class at a set period in the object\'s+-- lifetime.+lifecycleRule_noncurrentVersionTransitions :: Lens.Lens' LifecycleRule (Prelude.Maybe [NoncurrentVersionTransition])+lifecycleRule_noncurrentVersionTransitions = Lens.lens (\LifecycleRule' {noncurrentVersionTransitions} -> noncurrentVersionTransitions) (\s@LifecycleRule' {} a -> s {noncurrentVersionTransitions = a} :: LifecycleRule) Prelude.. Lens.mapping Lens.coerced++-- | Prefix identifying one or more objects to which the rule applies. This+-- is no longer used; use @Filter@ instead.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+lifecycleRule_prefix :: Lens.Lens' LifecycleRule (Prelude.Maybe Prelude.Text)+lifecycleRule_prefix = Lens.lens (\LifecycleRule' {prefix} -> prefix) (\s@LifecycleRule' {} a -> s {prefix = a} :: LifecycleRule)++-- | Specifies when an Amazon S3 object transitions to a specified storage+-- class.+lifecycleRule_transitions :: Lens.Lens' LifecycleRule (Prelude.Maybe [Transition])+lifecycleRule_transitions = Lens.lens (\LifecycleRule' {transitions} -> transitions) (\s@LifecycleRule' {} a -> s {transitions = a} :: LifecycleRule) Prelude.. Lens.mapping Lens.coerced++-- | If \'Enabled\', the rule is currently being applied. If \'Disabled\',+-- the rule is not currently being applied.+lifecycleRule_status :: Lens.Lens' LifecycleRule ExpirationStatus+lifecycleRule_status = Lens.lens (\LifecycleRule' {status} -> status) (\s@LifecycleRule' {} a -> s {status = a} :: LifecycleRule)++instance Data.FromXML LifecycleRule where+  parseXML x =+    LifecycleRule'+      Prelude.<$> (x Data..@? "AbortIncompleteMultipartUpload")+      Prelude.<*> (x Data..@? "Expiration")+      Prelude.<*> (x Data..@? "Filter")+      Prelude.<*> (x Data..@? "ID")+      Prelude.<*> (x Data..@? "NoncurrentVersionExpiration")+      Prelude.<*> ( Core.may+                      (Data.parseXMLList "NoncurrentVersionTransition")+                      x+                  )+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (Core.may (Data.parseXMLList "Transition") x)+      Prelude.<*> (x Data..@ "Status")++instance Prelude.Hashable LifecycleRule where+  hashWithSalt _salt LifecycleRule' {..} =+    _salt+      `Prelude.hashWithSalt` abortIncompleteMultipartUpload+      `Prelude.hashWithSalt` expiration+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` noncurrentVersionExpiration+      `Prelude.hashWithSalt` noncurrentVersionTransitions+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` transitions+      `Prelude.hashWithSalt` status++instance Prelude.NFData LifecycleRule where+  rnf LifecycleRule' {..} =+    Prelude.rnf abortIncompleteMultipartUpload+      `Prelude.seq` Prelude.rnf expiration+      `Prelude.seq` Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf noncurrentVersionExpiration+      `Prelude.seq` Prelude.rnf noncurrentVersionTransitions+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf transitions+      `Prelude.seq` Prelude.rnf status++instance Data.ToXML LifecycleRule where+  toXML LifecycleRule' {..} =+    Prelude.mconcat+      [ "AbortIncompleteMultipartUpload"+          Data.@= abortIncompleteMultipartUpload,+        "Expiration" Data.@= expiration,+        "Filter" Data.@= filter',+        "ID" Data.@= id,+        "NoncurrentVersionExpiration"+          Data.@= noncurrentVersionExpiration,+        Data.toXML+          ( Data.toXMLList "NoncurrentVersionTransition"+              Prelude.<$> noncurrentVersionTransitions+          ),+        "Prefix" Data.@= prefix,+        Data.toXML+          ( Data.toXMLList "Transition"+              Prelude.<$> transitions+          ),+        "Status" Data.@= status+      ]
+ gen/Amazonka/S3/Types/LifecycleRuleAndOperator.hs view
@@ -0,0 +1,127 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.LifecycleRuleAndOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.LifecycleRuleAndOperator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tag++-- | This is used in a Lifecycle Rule Filter to apply a logical AND to two or+-- more predicates. The Lifecycle Rule will apply to any object matching+-- all of the predicates configured inside the And operator.+--+-- /See:/ 'newLifecycleRuleAndOperator' smart constructor.+data LifecycleRuleAndOperator = LifecycleRuleAndOperator'+  { -- | Minimum object size to which the rule applies.+    objectSizeGreaterThan :: Prelude.Maybe Prelude.Integer,+    -- | Maximum object size to which the rule applies.+    objectSizeLessThan :: Prelude.Maybe Prelude.Integer,+    -- | Prefix identifying one or more objects to which the rule applies.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | All of these tags must exist in the object\'s tag set in order for the+    -- rule to apply.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifecycleRuleAndOperator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectSizeGreaterThan', 'lifecycleRuleAndOperator_objectSizeGreaterThan' - Minimum object size to which the rule applies.+--+-- 'objectSizeLessThan', 'lifecycleRuleAndOperator_objectSizeLessThan' - Maximum object size to which the rule applies.+--+-- 'prefix', 'lifecycleRuleAndOperator_prefix' - Prefix identifying one or more objects to which the rule applies.+--+-- 'tags', 'lifecycleRuleAndOperator_tags' - All of these tags must exist in the object\'s tag set in order for the+-- rule to apply.+newLifecycleRuleAndOperator ::+  LifecycleRuleAndOperator+newLifecycleRuleAndOperator =+  LifecycleRuleAndOperator'+    { objectSizeGreaterThan =+        Prelude.Nothing,+      objectSizeLessThan = Prelude.Nothing,+      prefix = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | Minimum object size to which the rule applies.+lifecycleRuleAndOperator_objectSizeGreaterThan :: Lens.Lens' LifecycleRuleAndOperator (Prelude.Maybe Prelude.Integer)+lifecycleRuleAndOperator_objectSizeGreaterThan = Lens.lens (\LifecycleRuleAndOperator' {objectSizeGreaterThan} -> objectSizeGreaterThan) (\s@LifecycleRuleAndOperator' {} a -> s {objectSizeGreaterThan = a} :: LifecycleRuleAndOperator)++-- | Maximum object size to which the rule applies.+lifecycleRuleAndOperator_objectSizeLessThan :: Lens.Lens' LifecycleRuleAndOperator (Prelude.Maybe Prelude.Integer)+lifecycleRuleAndOperator_objectSizeLessThan = Lens.lens (\LifecycleRuleAndOperator' {objectSizeLessThan} -> objectSizeLessThan) (\s@LifecycleRuleAndOperator' {} a -> s {objectSizeLessThan = a} :: LifecycleRuleAndOperator)++-- | Prefix identifying one or more objects to which the rule applies.+lifecycleRuleAndOperator_prefix :: Lens.Lens' LifecycleRuleAndOperator (Prelude.Maybe Prelude.Text)+lifecycleRuleAndOperator_prefix = Lens.lens (\LifecycleRuleAndOperator' {prefix} -> prefix) (\s@LifecycleRuleAndOperator' {} a -> s {prefix = a} :: LifecycleRuleAndOperator)++-- | All of these tags must exist in the object\'s tag set in order for the+-- rule to apply.+lifecycleRuleAndOperator_tags :: Lens.Lens' LifecycleRuleAndOperator (Prelude.Maybe [Tag])+lifecycleRuleAndOperator_tags = Lens.lens (\LifecycleRuleAndOperator' {tags} -> tags) (\s@LifecycleRuleAndOperator' {} a -> s {tags = a} :: LifecycleRuleAndOperator) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML LifecycleRuleAndOperator where+  parseXML x =+    LifecycleRuleAndOperator'+      Prelude.<$> (x Data..@? "ObjectSizeGreaterThan")+      Prelude.<*> (x Data..@? "ObjectSizeLessThan")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> ( x+                      Data..@? "Tag"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Tag")+                  )++instance Prelude.Hashable LifecycleRuleAndOperator where+  hashWithSalt _salt LifecycleRuleAndOperator' {..} =+    _salt+      `Prelude.hashWithSalt` objectSizeGreaterThan+      `Prelude.hashWithSalt` objectSizeLessThan+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tags++instance Prelude.NFData LifecycleRuleAndOperator where+  rnf LifecycleRuleAndOperator' {..} =+    Prelude.rnf objectSizeGreaterThan+      `Prelude.seq` Prelude.rnf objectSizeLessThan+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tags++instance Data.ToXML LifecycleRuleAndOperator where+  toXML LifecycleRuleAndOperator' {..} =+    Prelude.mconcat+      [ "ObjectSizeGreaterThan"+          Data.@= objectSizeGreaterThan,+        "ObjectSizeLessThan" Data.@= objectSizeLessThan,+        "Prefix" Data.@= prefix,+        "Tag"+          Data.@= Data.toXML (Data.toXMLList "Tag" Prelude.<$> tags)+      ]
+ gen/Amazonka/S3/Types/LifecycleRuleFilter.hs view
@@ -0,0 +1,149 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.LifecycleRuleFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.LifecycleRuleFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.LifecycleRuleAndOperator+import Amazonka.S3.Types.Tag++-- | The @Filter@ is used to identify objects that a Lifecycle Rule applies+-- to. A @Filter@ must have exactly one of @Prefix@, @Tag@, or @And@+-- specified.+--+-- /See:/ 'newLifecycleRuleFilter' smart constructor.+data LifecycleRuleFilter = LifecycleRuleFilter'+  { and :: Prelude.Maybe LifecycleRuleAndOperator,+    -- | Minimum object size to which the rule applies.+    objectSizeGreaterThan :: Prelude.Maybe Prelude.Integer,+    -- | Maximum object size to which the rule applies.+    objectSizeLessThan :: Prelude.Maybe Prelude.Integer,+    -- | Prefix identifying one or more objects to which the rule applies.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | This tag must exist in the object\'s tag set in order for the rule to+    -- apply.+    tag :: Prelude.Maybe Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LifecycleRuleFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'and', 'lifecycleRuleFilter_and' - Undocumented member.+--+-- 'objectSizeGreaterThan', 'lifecycleRuleFilter_objectSizeGreaterThan' - Minimum object size to which the rule applies.+--+-- 'objectSizeLessThan', 'lifecycleRuleFilter_objectSizeLessThan' - Maximum object size to which the rule applies.+--+-- 'prefix', 'lifecycleRuleFilter_prefix' - Prefix identifying one or more objects to which the rule applies.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+--+-- 'tag', 'lifecycleRuleFilter_tag' - This tag must exist in the object\'s tag set in order for the rule to+-- apply.+newLifecycleRuleFilter ::+  LifecycleRuleFilter+newLifecycleRuleFilter =+  LifecycleRuleFilter'+    { and = Prelude.Nothing,+      objectSizeGreaterThan = Prelude.Nothing,+      objectSizeLessThan = Prelude.Nothing,+      prefix = Prelude.Nothing,+      tag = Prelude.Nothing+    }++-- | Undocumented member.+lifecycleRuleFilter_and :: Lens.Lens' LifecycleRuleFilter (Prelude.Maybe LifecycleRuleAndOperator)+lifecycleRuleFilter_and = Lens.lens (\LifecycleRuleFilter' {and} -> and) (\s@LifecycleRuleFilter' {} a -> s {and = a} :: LifecycleRuleFilter)++-- | Minimum object size to which the rule applies.+lifecycleRuleFilter_objectSizeGreaterThan :: Lens.Lens' LifecycleRuleFilter (Prelude.Maybe Prelude.Integer)+lifecycleRuleFilter_objectSizeGreaterThan = Lens.lens (\LifecycleRuleFilter' {objectSizeGreaterThan} -> objectSizeGreaterThan) (\s@LifecycleRuleFilter' {} a -> s {objectSizeGreaterThan = a} :: LifecycleRuleFilter)++-- | Maximum object size to which the rule applies.+lifecycleRuleFilter_objectSizeLessThan :: Lens.Lens' LifecycleRuleFilter (Prelude.Maybe Prelude.Integer)+lifecycleRuleFilter_objectSizeLessThan = Lens.lens (\LifecycleRuleFilter' {objectSizeLessThan} -> objectSizeLessThan) (\s@LifecycleRuleFilter' {} a -> s {objectSizeLessThan = a} :: LifecycleRuleFilter)++-- | Prefix identifying one or more objects to which the rule applies.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+lifecycleRuleFilter_prefix :: Lens.Lens' LifecycleRuleFilter (Prelude.Maybe Prelude.Text)+lifecycleRuleFilter_prefix = Lens.lens (\LifecycleRuleFilter' {prefix} -> prefix) (\s@LifecycleRuleFilter' {} a -> s {prefix = a} :: LifecycleRuleFilter)++-- | This tag must exist in the object\'s tag set in order for the rule to+-- apply.+lifecycleRuleFilter_tag :: Lens.Lens' LifecycleRuleFilter (Prelude.Maybe Tag)+lifecycleRuleFilter_tag = Lens.lens (\LifecycleRuleFilter' {tag} -> tag) (\s@LifecycleRuleFilter' {} a -> s {tag = a} :: LifecycleRuleFilter)++instance Data.FromXML LifecycleRuleFilter where+  parseXML x =+    LifecycleRuleFilter'+      Prelude.<$> (x Data..@? "And")+      Prelude.<*> (x Data..@? "ObjectSizeGreaterThan")+      Prelude.<*> (x Data..@? "ObjectSizeLessThan")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@? "Tag")++instance Prelude.Hashable LifecycleRuleFilter where+  hashWithSalt _salt LifecycleRuleFilter' {..} =+    _salt+      `Prelude.hashWithSalt` and+      `Prelude.hashWithSalt` objectSizeGreaterThan+      `Prelude.hashWithSalt` objectSizeLessThan+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tag++instance Prelude.NFData LifecycleRuleFilter where+  rnf LifecycleRuleFilter' {..} =+    Prelude.rnf and+      `Prelude.seq` Prelude.rnf objectSizeGreaterThan+      `Prelude.seq` Prelude.rnf objectSizeLessThan+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tag++instance Data.ToXML LifecycleRuleFilter where+  toXML LifecycleRuleFilter' {..} =+    Prelude.mconcat+      [ "And" Data.@= and,+        "ObjectSizeGreaterThan"+          Data.@= objectSizeGreaterThan,+        "ObjectSizeLessThan" Data.@= objectSizeLessThan,+        "Prefix" Data.@= prefix,+        "Tag" Data.@= tag+      ]
+ gen/Amazonka/S3/Types/LoggingEnabled.hs view
@@ -0,0 +1,151 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.LoggingEnabled+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.LoggingEnabled where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.TargetGrant++-- | Describes where logs are stored and the prefix that Amazon S3 assigns to+-- all log object keys for a bucket. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html PUT Bucket logging>+-- in the /Amazon S3 API Reference/.+--+-- /See:/ 'newLoggingEnabled' smart constructor.+data LoggingEnabled = LoggingEnabled'+  { -- | Container for granting information.+    --+    -- Buckets that use the bucket owner enforced setting for Object Ownership+    -- don\'t support target grants. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general Permissions for server access log delivery>+    -- in the /Amazon S3 User Guide/.+    targetGrants :: Prelude.Maybe [TargetGrant],+    -- | Specifies the bucket where you want Amazon S3 to store server access+    -- logs. You can have your logs delivered to any bucket that you own,+    -- including the same bucket that is being logged. You can also configure+    -- multiple buckets to deliver their logs to the same target bucket. In+    -- this case, you should choose a different @TargetPrefix@ for each source+    -- bucket so that the delivered log files can be distinguished by key.+    targetBucket :: Prelude.Text,+    -- | A prefix for all log object keys. If you store log files from multiple+    -- Amazon S3 buckets in a single bucket, you can use a prefix to+    -- distinguish which log files came from which bucket.+    targetPrefix :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'LoggingEnabled' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'targetGrants', 'loggingEnabled_targetGrants' - Container for granting information.+--+-- Buckets that use the bucket owner enforced setting for Object Ownership+-- don\'t support target grants. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general Permissions for server access log delivery>+-- in the /Amazon S3 User Guide/.+--+-- 'targetBucket', 'loggingEnabled_targetBucket' - Specifies the bucket where you want Amazon S3 to store server access+-- logs. You can have your logs delivered to any bucket that you own,+-- including the same bucket that is being logged. You can also configure+-- multiple buckets to deliver their logs to the same target bucket. In+-- this case, you should choose a different @TargetPrefix@ for each source+-- bucket so that the delivered log files can be distinguished by key.+--+-- 'targetPrefix', 'loggingEnabled_targetPrefix' - A prefix for all log object keys. If you store log files from multiple+-- Amazon S3 buckets in a single bucket, you can use a prefix to+-- distinguish which log files came from which bucket.+newLoggingEnabled ::+  -- | 'targetBucket'+  Prelude.Text ->+  -- | 'targetPrefix'+  Prelude.Text ->+  LoggingEnabled+newLoggingEnabled pTargetBucket_ pTargetPrefix_ =+  LoggingEnabled'+    { targetGrants = Prelude.Nothing,+      targetBucket = pTargetBucket_,+      targetPrefix = pTargetPrefix_+    }++-- | Container for granting information.+--+-- Buckets that use the bucket owner enforced setting for Object Ownership+-- don\'t support target grants. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general Permissions for server access log delivery>+-- in the /Amazon S3 User Guide/.+loggingEnabled_targetGrants :: Lens.Lens' LoggingEnabled (Prelude.Maybe [TargetGrant])+loggingEnabled_targetGrants = Lens.lens (\LoggingEnabled' {targetGrants} -> targetGrants) (\s@LoggingEnabled' {} a -> s {targetGrants = a} :: LoggingEnabled) Prelude.. Lens.mapping Lens.coerced++-- | Specifies the bucket where you want Amazon S3 to store server access+-- logs. You can have your logs delivered to any bucket that you own,+-- including the same bucket that is being logged. You can also configure+-- multiple buckets to deliver their logs to the same target bucket. In+-- this case, you should choose a different @TargetPrefix@ for each source+-- bucket so that the delivered log files can be distinguished by key.+loggingEnabled_targetBucket :: Lens.Lens' LoggingEnabled Prelude.Text+loggingEnabled_targetBucket = Lens.lens (\LoggingEnabled' {targetBucket} -> targetBucket) (\s@LoggingEnabled' {} a -> s {targetBucket = a} :: LoggingEnabled)++-- | A prefix for all log object keys. If you store log files from multiple+-- Amazon S3 buckets in a single bucket, you can use a prefix to+-- distinguish which log files came from which bucket.+loggingEnabled_targetPrefix :: Lens.Lens' LoggingEnabled Prelude.Text+loggingEnabled_targetPrefix = Lens.lens (\LoggingEnabled' {targetPrefix} -> targetPrefix) (\s@LoggingEnabled' {} a -> s {targetPrefix = a} :: LoggingEnabled)++instance Data.FromXML LoggingEnabled where+  parseXML x =+    LoggingEnabled'+      Prelude.<$> ( x+                      Data..@? "TargetGrants"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Grant")+                  )+      Prelude.<*> (x Data..@ "TargetBucket")+      Prelude.<*> (x Data..@ "TargetPrefix")++instance Prelude.Hashable LoggingEnabled where+  hashWithSalt _salt LoggingEnabled' {..} =+    _salt+      `Prelude.hashWithSalt` targetGrants+      `Prelude.hashWithSalt` targetBucket+      `Prelude.hashWithSalt` targetPrefix++instance Prelude.NFData LoggingEnabled where+  rnf LoggingEnabled' {..} =+    Prelude.rnf targetGrants+      `Prelude.seq` Prelude.rnf targetBucket+      `Prelude.seq` Prelude.rnf targetPrefix++instance Data.ToXML LoggingEnabled where+  toXML LoggingEnabled' {..} =+    Prelude.mconcat+      [ "TargetGrants"+          Data.@= Data.toXML+            (Data.toXMLList "Grant" Prelude.<$> targetGrants),+        "TargetBucket" Data.@= targetBucket,+        "TargetPrefix" Data.@= targetPrefix+      ]
+ gen/Amazonka/S3/Types/MFADelete.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MFADelete+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MFADelete+  ( MFADelete+      ( ..,+        MFADelete_Disabled,+        MFADelete_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype MFADelete = MFADelete'+  { fromMFADelete ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MFADelete_Disabled :: MFADelete+pattern MFADelete_Disabled = MFADelete' "Disabled"++pattern MFADelete_Enabled :: MFADelete+pattern MFADelete_Enabled = MFADelete' "Enabled"++{-# COMPLETE+  MFADelete_Disabled,+  MFADelete_Enabled,+  MFADelete'+  #-}
+ gen/Amazonka/S3/Types/MFADeleteStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MFADeleteStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MFADeleteStatus+  ( MFADeleteStatus+      ( ..,+        MFADeleteStatus_Disabled,+        MFADeleteStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype MFADeleteStatus = MFADeleteStatus'+  { fromMFADeleteStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MFADeleteStatus_Disabled :: MFADeleteStatus+pattern MFADeleteStatus_Disabled = MFADeleteStatus' "Disabled"++pattern MFADeleteStatus_Enabled :: MFADeleteStatus+pattern MFADeleteStatus_Enabled = MFADeleteStatus' "Enabled"++{-# COMPLETE+  MFADeleteStatus_Disabled,+  MFADeleteStatus_Enabled,+  MFADeleteStatus'+  #-}
+ gen/Amazonka/S3/Types/MetadataDirective.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MetadataDirective+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MetadataDirective+  ( MetadataDirective+      ( ..,+        MetadataDirective_COPY,+        MetadataDirective_REPLACE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype MetadataDirective = MetadataDirective'+  { fromMetadataDirective ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MetadataDirective_COPY :: MetadataDirective+pattern MetadataDirective_COPY = MetadataDirective' "COPY"++pattern MetadataDirective_REPLACE :: MetadataDirective+pattern MetadataDirective_REPLACE = MetadataDirective' "REPLACE"++{-# COMPLETE+  MetadataDirective_COPY,+  MetadataDirective_REPLACE,+  MetadataDirective'+  #-}
+ gen/Amazonka/S3/Types/MetadataEntry.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MetadataEntry+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MetadataEntry where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A metadata key-value pair to store with an object.+--+-- /See:/ 'newMetadataEntry' smart constructor.+data MetadataEntry = MetadataEntry'+  { -- | Name of the Object.+    name :: Prelude.Maybe Prelude.Text,+    -- | Value of the Object.+    value :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetadataEntry' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'name', 'metadataEntry_name' - Name of the Object.+--+-- 'value', 'metadataEntry_value' - Value of the Object.+newMetadataEntry ::+  MetadataEntry+newMetadataEntry =+  MetadataEntry'+    { name = Prelude.Nothing,+      value = Prelude.Nothing+    }++-- | Name of the Object.+metadataEntry_name :: Lens.Lens' MetadataEntry (Prelude.Maybe Prelude.Text)+metadataEntry_name = Lens.lens (\MetadataEntry' {name} -> name) (\s@MetadataEntry' {} a -> s {name = a} :: MetadataEntry)++-- | Value of the Object.+metadataEntry_value :: Lens.Lens' MetadataEntry (Prelude.Maybe Prelude.Text)+metadataEntry_value = Lens.lens (\MetadataEntry' {value} -> value) (\s@MetadataEntry' {} a -> s {value = a} :: MetadataEntry)++instance Prelude.Hashable MetadataEntry where+  hashWithSalt _salt MetadataEntry' {..} =+    _salt+      `Prelude.hashWithSalt` name+      `Prelude.hashWithSalt` value++instance Prelude.NFData MetadataEntry where+  rnf MetadataEntry' {..} =+    Prelude.rnf name `Prelude.seq` Prelude.rnf value++instance Data.ToXML MetadataEntry where+  toXML MetadataEntry' {..} =+    Prelude.mconcat+      ["Name" Data.@= name, "Value" Data.@= value]
+ gen/Amazonka/S3/Types/Metrics.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Metrics+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Metrics where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.MetricsStatus+import Amazonka.S3.Types.ReplicationTimeValue++-- | A container specifying replication metrics-related settings enabling+-- replication metrics and events.+--+-- /See:/ 'newMetrics' smart constructor.+data Metrics = Metrics'+  { -- | A container specifying the time threshold for emitting the+    -- @s3:Replication:OperationMissedThreshold@ event.+    eventThreshold :: Prelude.Maybe ReplicationTimeValue,+    -- | Specifies whether the replication metrics are enabled.+    status :: MetricsStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Metrics' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventThreshold', 'metrics_eventThreshold' - A container specifying the time threshold for emitting the+-- @s3:Replication:OperationMissedThreshold@ event.+--+-- 'status', 'metrics_status' - Specifies whether the replication metrics are enabled.+newMetrics ::+  -- | 'status'+  MetricsStatus ->+  Metrics+newMetrics pStatus_ =+  Metrics'+    { eventThreshold = Prelude.Nothing,+      status = pStatus_+    }++-- | A container specifying the time threshold for emitting the+-- @s3:Replication:OperationMissedThreshold@ event.+metrics_eventThreshold :: Lens.Lens' Metrics (Prelude.Maybe ReplicationTimeValue)+metrics_eventThreshold = Lens.lens (\Metrics' {eventThreshold} -> eventThreshold) (\s@Metrics' {} a -> s {eventThreshold = a} :: Metrics)++-- | Specifies whether the replication metrics are enabled.+metrics_status :: Lens.Lens' Metrics MetricsStatus+metrics_status = Lens.lens (\Metrics' {status} -> status) (\s@Metrics' {} a -> s {status = a} :: Metrics)++instance Data.FromXML Metrics where+  parseXML x =+    Metrics'+      Prelude.<$> (x Data..@? "EventThreshold")+      Prelude.<*> (x Data..@ "Status")++instance Prelude.Hashable Metrics where+  hashWithSalt _salt Metrics' {..} =+    _salt+      `Prelude.hashWithSalt` eventThreshold+      `Prelude.hashWithSalt` status++instance Prelude.NFData Metrics where+  rnf Metrics' {..} =+    Prelude.rnf eventThreshold+      `Prelude.seq` Prelude.rnf status++instance Data.ToXML Metrics where+  toXML Metrics' {..} =+    Prelude.mconcat+      [ "EventThreshold" Data.@= eventThreshold,+        "Status" Data.@= status+      ]
+ gen/Amazonka/S3/Types/MetricsAndOperator.hs view
@@ -0,0 +1,111 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MetricsAndOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MetricsAndOperator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tag++-- | A conjunction (logical AND) of predicates, which is used in evaluating a+-- metrics filter. The operator must have at least two predicates, and an+-- object must match all of the predicates in order for the filter to+-- apply.+--+-- /See:/ 'newMetricsAndOperator' smart constructor.+data MetricsAndOperator = MetricsAndOperator'+  { -- | The access point ARN used when evaluating an @AND@ predicate.+    accessPointArn :: Prelude.Maybe Prelude.Text,+    -- | The prefix used when evaluating an AND predicate.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The list of tags used when evaluating an AND predicate.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricsAndOperator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPointArn', 'metricsAndOperator_accessPointArn' - The access point ARN used when evaluating an @AND@ predicate.+--+-- 'prefix', 'metricsAndOperator_prefix' - The prefix used when evaluating an AND predicate.+--+-- 'tags', 'metricsAndOperator_tags' - The list of tags used when evaluating an AND predicate.+newMetricsAndOperator ::+  MetricsAndOperator+newMetricsAndOperator =+  MetricsAndOperator'+    { accessPointArn =+        Prelude.Nothing,+      prefix = Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | The access point ARN used when evaluating an @AND@ predicate.+metricsAndOperator_accessPointArn :: Lens.Lens' MetricsAndOperator (Prelude.Maybe Prelude.Text)+metricsAndOperator_accessPointArn = Lens.lens (\MetricsAndOperator' {accessPointArn} -> accessPointArn) (\s@MetricsAndOperator' {} a -> s {accessPointArn = a} :: MetricsAndOperator)++-- | The prefix used when evaluating an AND predicate.+metricsAndOperator_prefix :: Lens.Lens' MetricsAndOperator (Prelude.Maybe Prelude.Text)+metricsAndOperator_prefix = Lens.lens (\MetricsAndOperator' {prefix} -> prefix) (\s@MetricsAndOperator' {} a -> s {prefix = a} :: MetricsAndOperator)++-- | The list of tags used when evaluating an AND predicate.+metricsAndOperator_tags :: Lens.Lens' MetricsAndOperator (Prelude.Maybe [Tag])+metricsAndOperator_tags = Lens.lens (\MetricsAndOperator' {tags} -> tags) (\s@MetricsAndOperator' {} a -> s {tags = a} :: MetricsAndOperator) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML MetricsAndOperator where+  parseXML x =+    MetricsAndOperator'+      Prelude.<$> (x Data..@? "AccessPointArn")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> ( x+                      Data..@? "Tag"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Tag")+                  )++instance Prelude.Hashable MetricsAndOperator where+  hashWithSalt _salt MetricsAndOperator' {..} =+    _salt+      `Prelude.hashWithSalt` accessPointArn+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tags++instance Prelude.NFData MetricsAndOperator where+  rnf MetricsAndOperator' {..} =+    Prelude.rnf accessPointArn+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tags++instance Data.ToXML MetricsAndOperator where+  toXML MetricsAndOperator' {..} =+    Prelude.mconcat+      [ "AccessPointArn" Data.@= accessPointArn,+        "Prefix" Data.@= prefix,+        "Tag"+          Data.@= Data.toXML (Data.toXMLList "Tag" Prelude.<$> tags)+      ]
+ gen/Amazonka/S3/Types/MetricsConfiguration.hs view
@@ -0,0 +1,103 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MetricsConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MetricsConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.MetricsFilter++-- | Specifies a metrics configuration for the CloudWatch request metrics+-- (specified by the metrics configuration ID) from an Amazon S3 bucket. If+-- you\'re updating an existing metrics configuration, note that this is a+-- full replacement of the existing metrics configuration. If you don\'t+-- include the elements you want to keep, they are erased. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html PutBucketMetricsConfiguration>.+--+-- /See:/ 'newMetricsConfiguration' smart constructor.+data MetricsConfiguration = MetricsConfiguration'+  { -- | Specifies a metrics configuration filter. The metrics configuration will+    -- only include objects that meet the filter\'s criteria. A filter must be+    -- a prefix, an object tag, an access point ARN, or a conjunction+    -- (MetricsAndOperator).+    filter' :: Prelude.Maybe MetricsFilter,+    -- | The ID used to identify the metrics configuration.+    id :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricsConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'metricsConfiguration_filter' - Specifies a metrics configuration filter. The metrics configuration will+-- only include objects that meet the filter\'s criteria. A filter must be+-- a prefix, an object tag, an access point ARN, or a conjunction+-- (MetricsAndOperator).+--+-- 'id', 'metricsConfiguration_id' - The ID used to identify the metrics configuration.+newMetricsConfiguration ::+  -- | 'id'+  Prelude.Text ->+  MetricsConfiguration+newMetricsConfiguration pId_ =+  MetricsConfiguration'+    { filter' = Prelude.Nothing,+      id = pId_+    }++-- | Specifies a metrics configuration filter. The metrics configuration will+-- only include objects that meet the filter\'s criteria. A filter must be+-- a prefix, an object tag, an access point ARN, or a conjunction+-- (MetricsAndOperator).+metricsConfiguration_filter :: Lens.Lens' MetricsConfiguration (Prelude.Maybe MetricsFilter)+metricsConfiguration_filter = Lens.lens (\MetricsConfiguration' {filter'} -> filter') (\s@MetricsConfiguration' {} a -> s {filter' = a} :: MetricsConfiguration)++-- | The ID used to identify the metrics configuration.+metricsConfiguration_id :: Lens.Lens' MetricsConfiguration Prelude.Text+metricsConfiguration_id = Lens.lens (\MetricsConfiguration' {id} -> id) (\s@MetricsConfiguration' {} a -> s {id = a} :: MetricsConfiguration)++instance Data.FromXML MetricsConfiguration where+  parseXML x =+    MetricsConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> (x Data..@ "Id")++instance Prelude.Hashable MetricsConfiguration where+  hashWithSalt _salt MetricsConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id++instance Prelude.NFData MetricsConfiguration where+  rnf MetricsConfiguration' {..} =+    Prelude.rnf filter' `Prelude.seq` Prelude.rnf id++instance Data.ToXML MetricsConfiguration where+  toXML MetricsConfiguration' {..} =+    Prelude.mconcat+      ["Filter" Data.@= filter', "Id" Data.@= id]
+ gen/Amazonka/S3/Types/MetricsFilter.hs view
@@ -0,0 +1,129 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MetricsFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MetricsFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.MetricsAndOperator+import Amazonka.S3.Types.Tag++-- | Specifies a metrics configuration filter. The metrics configuration only+-- includes objects that meet the filter\'s criteria. A filter must be a+-- prefix, an object tag, an access point ARN, or a conjunction+-- (MetricsAndOperator). For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html PutBucketMetricsConfiguration>.+--+-- /See:/ 'newMetricsFilter' smart constructor.+data MetricsFilter = MetricsFilter'+  { -- | The access point ARN used when evaluating a metrics filter.+    accessPointArn :: Prelude.Maybe Prelude.Text,+    -- | A conjunction (logical AND) of predicates, which is used in evaluating a+    -- metrics filter. The operator must have at least two predicates, and an+    -- object must match all of the predicates in order for the filter to+    -- apply.+    and :: Prelude.Maybe MetricsAndOperator,+    -- | The prefix used when evaluating a metrics filter.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The tag used when evaluating a metrics filter.+    tag :: Prelude.Maybe Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MetricsFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessPointArn', 'metricsFilter_accessPointArn' - The access point ARN used when evaluating a metrics filter.+--+-- 'and', 'metricsFilter_and' - A conjunction (logical AND) of predicates, which is used in evaluating a+-- metrics filter. The operator must have at least two predicates, and an+-- object must match all of the predicates in order for the filter to+-- apply.+--+-- 'prefix', 'metricsFilter_prefix' - The prefix used when evaluating a metrics filter.+--+-- 'tag', 'metricsFilter_tag' - The tag used when evaluating a metrics filter.+newMetricsFilter ::+  MetricsFilter+newMetricsFilter =+  MetricsFilter'+    { accessPointArn = Prelude.Nothing,+      and = Prelude.Nothing,+      prefix = Prelude.Nothing,+      tag = Prelude.Nothing+    }++-- | The access point ARN used when evaluating a metrics filter.+metricsFilter_accessPointArn :: Lens.Lens' MetricsFilter (Prelude.Maybe Prelude.Text)+metricsFilter_accessPointArn = Lens.lens (\MetricsFilter' {accessPointArn} -> accessPointArn) (\s@MetricsFilter' {} a -> s {accessPointArn = a} :: MetricsFilter)++-- | A conjunction (logical AND) of predicates, which is used in evaluating a+-- metrics filter. The operator must have at least two predicates, and an+-- object must match all of the predicates in order for the filter to+-- apply.+metricsFilter_and :: Lens.Lens' MetricsFilter (Prelude.Maybe MetricsAndOperator)+metricsFilter_and = Lens.lens (\MetricsFilter' {and} -> and) (\s@MetricsFilter' {} a -> s {and = a} :: MetricsFilter)++-- | The prefix used when evaluating a metrics filter.+metricsFilter_prefix :: Lens.Lens' MetricsFilter (Prelude.Maybe Prelude.Text)+metricsFilter_prefix = Lens.lens (\MetricsFilter' {prefix} -> prefix) (\s@MetricsFilter' {} a -> s {prefix = a} :: MetricsFilter)++-- | The tag used when evaluating a metrics filter.+metricsFilter_tag :: Lens.Lens' MetricsFilter (Prelude.Maybe Tag)+metricsFilter_tag = Lens.lens (\MetricsFilter' {tag} -> tag) (\s@MetricsFilter' {} a -> s {tag = a} :: MetricsFilter)++instance Data.FromXML MetricsFilter where+  parseXML x =+    MetricsFilter'+      Prelude.<$> (x Data..@? "AccessPointArn")+      Prelude.<*> (x Data..@? "And")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@? "Tag")++instance Prelude.Hashable MetricsFilter where+  hashWithSalt _salt MetricsFilter' {..} =+    _salt+      `Prelude.hashWithSalt` accessPointArn+      `Prelude.hashWithSalt` and+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tag++instance Prelude.NFData MetricsFilter where+  rnf MetricsFilter' {..} =+    Prelude.rnf accessPointArn+      `Prelude.seq` Prelude.rnf and+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tag++instance Data.ToXML MetricsFilter where+  toXML MetricsFilter' {..} =+    Prelude.mconcat+      [ "AccessPointArn" Data.@= accessPointArn,+        "And" Data.@= and,+        "Prefix" Data.@= prefix,+        "Tag" Data.@= tag+      ]
+ gen/Amazonka/S3/Types/MetricsStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MetricsStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MetricsStatus+  ( MetricsStatus+      ( ..,+        MetricsStatus_Disabled,+        MetricsStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype MetricsStatus = MetricsStatus'+  { fromMetricsStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern MetricsStatus_Disabled :: MetricsStatus+pattern MetricsStatus_Disabled = MetricsStatus' "Disabled"++pattern MetricsStatus_Enabled :: MetricsStatus+pattern MetricsStatus_Enabled = MetricsStatus' "Enabled"++{-# COMPLETE+  MetricsStatus_Disabled,+  MetricsStatus_Enabled,+  MetricsStatus'+  #-}
+ gen/Amazonka/S3/Types/MultipartUpload.hs view
@@ -0,0 +1,146 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.MultipartUpload+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.MultipartUpload where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ChecksumAlgorithm+import Amazonka.S3.Types.Initiator+import Amazonka.S3.Types.Owner+import Amazonka.S3.Types.StorageClass++-- | Container for the @MultipartUpload@ for the Amazon S3 object.+--+-- /See:/ 'newMultipartUpload' smart constructor.+data MultipartUpload = MultipartUpload'+  { -- | The algorithm that was used to create a checksum of the object.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | Date and time at which the multipart upload was initiated.+    initiated :: Prelude.Maybe Data.ISO8601,+    -- | Identifies who initiated the multipart upload.+    initiator :: Prelude.Maybe Initiator,+    -- | Key of the object for which the multipart upload was initiated.+    key :: Prelude.Maybe ObjectKey,+    -- | Specifies the owner of the object that is part of the multipart upload.+    owner :: Prelude.Maybe Owner,+    -- | The class of storage used to store the object.+    storageClass :: Prelude.Maybe StorageClass,+    -- | Upload ID that identifies the multipart upload.+    uploadId :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'MultipartUpload' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'multipartUpload_checksumAlgorithm' - The algorithm that was used to create a checksum of the object.+--+-- 'initiated', 'multipartUpload_initiated' - Date and time at which the multipart upload was initiated.+--+-- 'initiator', 'multipartUpload_initiator' - Identifies who initiated the multipart upload.+--+-- 'key', 'multipartUpload_key' - Key of the object for which the multipart upload was initiated.+--+-- 'owner', 'multipartUpload_owner' - Specifies the owner of the object that is part of the multipart upload.+--+-- 'storageClass', 'multipartUpload_storageClass' - The class of storage used to store the object.+--+-- 'uploadId', 'multipartUpload_uploadId' - Upload ID that identifies the multipart upload.+newMultipartUpload ::+  MultipartUpload+newMultipartUpload =+  MultipartUpload'+    { checksumAlgorithm =+        Prelude.Nothing,+      initiated = Prelude.Nothing,+      initiator = Prelude.Nothing,+      key = Prelude.Nothing,+      owner = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      uploadId = Prelude.Nothing+    }++-- | The algorithm that was used to create a checksum of the object.+multipartUpload_checksumAlgorithm :: Lens.Lens' MultipartUpload (Prelude.Maybe ChecksumAlgorithm)+multipartUpload_checksumAlgorithm = Lens.lens (\MultipartUpload' {checksumAlgorithm} -> checksumAlgorithm) (\s@MultipartUpload' {} a -> s {checksumAlgorithm = a} :: MultipartUpload)++-- | Date and time at which the multipart upload was initiated.+multipartUpload_initiated :: Lens.Lens' MultipartUpload (Prelude.Maybe Prelude.UTCTime)+multipartUpload_initiated = Lens.lens (\MultipartUpload' {initiated} -> initiated) (\s@MultipartUpload' {} a -> s {initiated = a} :: MultipartUpload) Prelude.. Lens.mapping Data._Time++-- | Identifies who initiated the multipart upload.+multipartUpload_initiator :: Lens.Lens' MultipartUpload (Prelude.Maybe Initiator)+multipartUpload_initiator = Lens.lens (\MultipartUpload' {initiator} -> initiator) (\s@MultipartUpload' {} a -> s {initiator = a} :: MultipartUpload)++-- | Key of the object for which the multipart upload was initiated.+multipartUpload_key :: Lens.Lens' MultipartUpload (Prelude.Maybe ObjectKey)+multipartUpload_key = Lens.lens (\MultipartUpload' {key} -> key) (\s@MultipartUpload' {} a -> s {key = a} :: MultipartUpload)++-- | Specifies the owner of the object that is part of the multipart upload.+multipartUpload_owner :: Lens.Lens' MultipartUpload (Prelude.Maybe Owner)+multipartUpload_owner = Lens.lens (\MultipartUpload' {owner} -> owner) (\s@MultipartUpload' {} a -> s {owner = a} :: MultipartUpload)++-- | The class of storage used to store the object.+multipartUpload_storageClass :: Lens.Lens' MultipartUpload (Prelude.Maybe StorageClass)+multipartUpload_storageClass = Lens.lens (\MultipartUpload' {storageClass} -> storageClass) (\s@MultipartUpload' {} a -> s {storageClass = a} :: MultipartUpload)++-- | Upload ID that identifies the multipart upload.+multipartUpload_uploadId :: Lens.Lens' MultipartUpload (Prelude.Maybe Prelude.Text)+multipartUpload_uploadId = Lens.lens (\MultipartUpload' {uploadId} -> uploadId) (\s@MultipartUpload' {} a -> s {uploadId = a} :: MultipartUpload)++instance Data.FromXML MultipartUpload where+  parseXML x =+    MultipartUpload'+      Prelude.<$> (x Data..@? "ChecksumAlgorithm")+      Prelude.<*> (x Data..@? "Initiated")+      Prelude.<*> (x Data..@? "Initiator")+      Prelude.<*> (x Data..@? "Key")+      Prelude.<*> (x Data..@? "Owner")+      Prelude.<*> (x Data..@? "StorageClass")+      Prelude.<*> (x Data..@? "UploadId")++instance Prelude.Hashable MultipartUpload where+  hashWithSalt _salt MultipartUpload' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` initiated+      `Prelude.hashWithSalt` initiator+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` uploadId++instance Prelude.NFData MultipartUpload where+  rnf MultipartUpload' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf initiated+      `Prelude.seq` Prelude.rnf initiator+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf uploadId
+ gen/Amazonka/S3/Types/NoncurrentVersionExpiration.hs view
@@ -0,0 +1,120 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.NoncurrentVersionExpiration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.NoncurrentVersionExpiration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies when noncurrent object versions expire. Upon expiration,+-- Amazon S3 permanently deletes the noncurrent object versions. You set+-- this lifecycle configuration action on a bucket that has versioning+-- enabled (or suspended) to request that Amazon S3 delete noncurrent+-- object versions at a specific period in the object\'s lifetime.+--+-- /See:/ 'newNoncurrentVersionExpiration' smart constructor.+data NoncurrentVersionExpiration = NoncurrentVersionExpiration'+  { -- | Specifies how many noncurrent versions Amazon S3 will retain. If there+    -- are this many more recent noncurrent versions, Amazon S3 will take the+    -- associated action. For more information about noncurrent versions, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html Lifecycle configuration elements>+    -- in the /Amazon S3 User Guide/.+    newerNoncurrentVersions' :: Prelude.Maybe Prelude.Int,+    -- | Specifies the number of days an object is noncurrent before Amazon S3+    -- can perform the associated action. The value must be a non-zero positive+    -- integer. For information about the noncurrent days calculations, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations How Amazon S3 Calculates When an Object Became Noncurrent>+    -- in the /Amazon S3 User Guide/.+    noncurrentDays :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NoncurrentVersionExpiration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'newerNoncurrentVersions'', 'noncurrentVersionExpiration_newerNoncurrentVersions' - Specifies how many noncurrent versions Amazon S3 will retain. If there+-- are this many more recent noncurrent versions, Amazon S3 will take the+-- associated action. For more information about noncurrent versions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html Lifecycle configuration elements>+-- in the /Amazon S3 User Guide/.+--+-- 'noncurrentDays', 'noncurrentVersionExpiration_noncurrentDays' - Specifies the number of days an object is noncurrent before Amazon S3+-- can perform the associated action. The value must be a non-zero positive+-- integer. For information about the noncurrent days calculations, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations How Amazon S3 Calculates When an Object Became Noncurrent>+-- in the /Amazon S3 User Guide/.+newNoncurrentVersionExpiration ::+  -- | 'noncurrentDays'+  Prelude.Int ->+  NoncurrentVersionExpiration+newNoncurrentVersionExpiration pNoncurrentDays_ =+  NoncurrentVersionExpiration'+    { newerNoncurrentVersions' =+        Prelude.Nothing,+      noncurrentDays = pNoncurrentDays_+    }++-- | Specifies how many noncurrent versions Amazon S3 will retain. If there+-- are this many more recent noncurrent versions, Amazon S3 will take the+-- associated action. For more information about noncurrent versions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html Lifecycle configuration elements>+-- in the /Amazon S3 User Guide/.+noncurrentVersionExpiration_newerNoncurrentVersions :: Lens.Lens' NoncurrentVersionExpiration (Prelude.Maybe Prelude.Int)+noncurrentVersionExpiration_newerNoncurrentVersions = Lens.lens (\NoncurrentVersionExpiration' {newerNoncurrentVersions'} -> newerNoncurrentVersions') (\s@NoncurrentVersionExpiration' {} a -> s {newerNoncurrentVersions' = a} :: NoncurrentVersionExpiration)++-- | Specifies the number of days an object is noncurrent before Amazon S3+-- can perform the associated action. The value must be a non-zero positive+-- integer. For information about the noncurrent days calculations, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations How Amazon S3 Calculates When an Object Became Noncurrent>+-- in the /Amazon S3 User Guide/.+noncurrentVersionExpiration_noncurrentDays :: Lens.Lens' NoncurrentVersionExpiration Prelude.Int+noncurrentVersionExpiration_noncurrentDays = Lens.lens (\NoncurrentVersionExpiration' {noncurrentDays} -> noncurrentDays) (\s@NoncurrentVersionExpiration' {} a -> s {noncurrentDays = a} :: NoncurrentVersionExpiration)++instance Data.FromXML NoncurrentVersionExpiration where+  parseXML x =+    NoncurrentVersionExpiration'+      Prelude.<$> (x Data..@? "NewerNoncurrentVersions")+      Prelude.<*> (x Data..@ "NoncurrentDays")++instance Prelude.Hashable NoncurrentVersionExpiration where+  hashWithSalt _salt NoncurrentVersionExpiration' {..} =+    _salt+      `Prelude.hashWithSalt` newerNoncurrentVersions'+      `Prelude.hashWithSalt` noncurrentDays++instance Prelude.NFData NoncurrentVersionExpiration where+  rnf NoncurrentVersionExpiration' {..} =+    Prelude.rnf newerNoncurrentVersions'+      `Prelude.seq` Prelude.rnf noncurrentDays++instance Data.ToXML NoncurrentVersionExpiration where+  toXML NoncurrentVersionExpiration' {..} =+    Prelude.mconcat+      [ "NewerNoncurrentVersions"+          Data.@= newerNoncurrentVersions',+        "NoncurrentDays" Data.@= noncurrentDays+      ]
+ gen/Amazonka/S3/Types/NoncurrentVersionTransition.hs view
@@ -0,0 +1,141 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.NoncurrentVersionTransition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.NoncurrentVersionTransition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.TransitionStorageClass++-- | Container for the transition rule that describes when noncurrent objects+-- transition to the @STANDARD_IA@, @ONEZONE_IA@, @INTELLIGENT_TIERING@,+-- @GLACIER_IR@, @GLACIER@, or @DEEP_ARCHIVE@ storage class. If your bucket+-- is versioning-enabled (or versioning is suspended), you can set this+-- action to request that Amazon S3 transition noncurrent object versions+-- to the @STANDARD_IA@, @ONEZONE_IA@, @INTELLIGENT_TIERING@, @GLACIER_IR@,+-- @GLACIER@, or @DEEP_ARCHIVE@ storage class at a specific period in the+-- object\'s lifetime.+--+-- /See:/ 'newNoncurrentVersionTransition' smart constructor.+data NoncurrentVersionTransition = NoncurrentVersionTransition'+  { -- | Specifies how many noncurrent versions Amazon S3 will retain. If there+    -- are this many more recent noncurrent versions, Amazon S3 will take the+    -- associated action. For more information about noncurrent versions, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html Lifecycle configuration elements>+    -- in the /Amazon S3 User Guide/.+    newerNoncurrentVersions' :: Prelude.Maybe Prelude.Int,+    -- | Specifies the number of days an object is noncurrent before Amazon S3+    -- can perform the associated action. For information about the noncurrent+    -- days calculations, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations How Amazon S3 Calculates How Long an Object Has Been Noncurrent>+    -- in the /Amazon S3 User Guide/.+    noncurrentDays :: Prelude.Int,+    -- | The class of storage used to store the object.+    storageClass :: TransitionStorageClass+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NoncurrentVersionTransition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'newerNoncurrentVersions'', 'noncurrentVersionTransition_newerNoncurrentVersions' - Specifies how many noncurrent versions Amazon S3 will retain. If there+-- are this many more recent noncurrent versions, Amazon S3 will take the+-- associated action. For more information about noncurrent versions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html Lifecycle configuration elements>+-- in the /Amazon S3 User Guide/.+--+-- 'noncurrentDays', 'noncurrentVersionTransition_noncurrentDays' - Specifies the number of days an object is noncurrent before Amazon S3+-- can perform the associated action. For information about the noncurrent+-- days calculations, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations How Amazon S3 Calculates How Long an Object Has Been Noncurrent>+-- in the /Amazon S3 User Guide/.+--+-- 'storageClass', 'noncurrentVersionTransition_storageClass' - The class of storage used to store the object.+newNoncurrentVersionTransition ::+  -- | 'noncurrentDays'+  Prelude.Int ->+  -- | 'storageClass'+  TransitionStorageClass ->+  NoncurrentVersionTransition+newNoncurrentVersionTransition+  pNoncurrentDays_+  pStorageClass_ =+    NoncurrentVersionTransition'+      { newerNoncurrentVersions' =+          Prelude.Nothing,+        noncurrentDays = pNoncurrentDays_,+        storageClass = pStorageClass_+      }++-- | Specifies how many noncurrent versions Amazon S3 will retain. If there+-- are this many more recent noncurrent versions, Amazon S3 will take the+-- associated action. For more information about noncurrent versions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html Lifecycle configuration elements>+-- in the /Amazon S3 User Guide/.+noncurrentVersionTransition_newerNoncurrentVersions :: Lens.Lens' NoncurrentVersionTransition (Prelude.Maybe Prelude.Int)+noncurrentVersionTransition_newerNoncurrentVersions = Lens.lens (\NoncurrentVersionTransition' {newerNoncurrentVersions'} -> newerNoncurrentVersions') (\s@NoncurrentVersionTransition' {} a -> s {newerNoncurrentVersions' = a} :: NoncurrentVersionTransition)++-- | Specifies the number of days an object is noncurrent before Amazon S3+-- can perform the associated action. For information about the noncurrent+-- days calculations, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations How Amazon S3 Calculates How Long an Object Has Been Noncurrent>+-- in the /Amazon S3 User Guide/.+noncurrentVersionTransition_noncurrentDays :: Lens.Lens' NoncurrentVersionTransition Prelude.Int+noncurrentVersionTransition_noncurrentDays = Lens.lens (\NoncurrentVersionTransition' {noncurrentDays} -> noncurrentDays) (\s@NoncurrentVersionTransition' {} a -> s {noncurrentDays = a} :: NoncurrentVersionTransition)++-- | The class of storage used to store the object.+noncurrentVersionTransition_storageClass :: Lens.Lens' NoncurrentVersionTransition TransitionStorageClass+noncurrentVersionTransition_storageClass = Lens.lens (\NoncurrentVersionTransition' {storageClass} -> storageClass) (\s@NoncurrentVersionTransition' {} a -> s {storageClass = a} :: NoncurrentVersionTransition)++instance Data.FromXML NoncurrentVersionTransition where+  parseXML x =+    NoncurrentVersionTransition'+      Prelude.<$> (x Data..@? "NewerNoncurrentVersions")+      Prelude.<*> (x Data..@ "NoncurrentDays")+      Prelude.<*> (x Data..@ "StorageClass")++instance Prelude.Hashable NoncurrentVersionTransition where+  hashWithSalt _salt NoncurrentVersionTransition' {..} =+    _salt+      `Prelude.hashWithSalt` newerNoncurrentVersions'+      `Prelude.hashWithSalt` noncurrentDays+      `Prelude.hashWithSalt` storageClass++instance Prelude.NFData NoncurrentVersionTransition where+  rnf NoncurrentVersionTransition' {..} =+    Prelude.rnf newerNoncurrentVersions'+      `Prelude.seq` Prelude.rnf noncurrentDays+      `Prelude.seq` Prelude.rnf storageClass++instance Data.ToXML NoncurrentVersionTransition where+  toXML NoncurrentVersionTransition' {..} =+    Prelude.mconcat+      [ "NewerNoncurrentVersions"+          Data.@= newerNoncurrentVersions',+        "NoncurrentDays" Data.@= noncurrentDays,+        "StorageClass" Data.@= storageClass+      ]
+ gen/Amazonka/S3/Types/NotificationConfiguration.hs view
@@ -0,0 +1,142 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.NotificationConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.NotificationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.EventBridgeConfiguration+import Amazonka.S3.Types.LambdaFunctionConfiguration+import Amazonka.S3.Types.QueueConfiguration+import Amazonka.S3.Types.TopicConfiguration++-- | A container for specifying the notification configuration of the bucket.+-- If this element is empty, notifications are turned off for the bucket.+--+-- /See:/ 'newNotificationConfiguration' smart constructor.+data NotificationConfiguration = NotificationConfiguration'+  { -- | Enables delivery of events to Amazon EventBridge.+    eventBridgeConfiguration :: Prelude.Maybe EventBridgeConfiguration,+    -- | Describes the Lambda functions to invoke and the events for which to+    -- invoke them.+    lambdaFunctionConfigurations :: Prelude.Maybe [LambdaFunctionConfiguration],+    -- | The Amazon Simple Queue Service queues to publish messages to and the+    -- events for which to publish messages.+    queueConfigurations :: Prelude.Maybe [QueueConfiguration],+    -- | The topic to which notifications are sent and the events for which+    -- notifications are generated.+    topicConfigurations :: Prelude.Maybe [TopicConfiguration]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'eventBridgeConfiguration', 'notificationConfiguration_eventBridgeConfiguration' - Enables delivery of events to Amazon EventBridge.+--+-- 'lambdaFunctionConfigurations', 'notificationConfiguration_lambdaFunctionConfigurations' - Describes the Lambda functions to invoke and the events for which to+-- invoke them.+--+-- 'queueConfigurations', 'notificationConfiguration_queueConfigurations' - The Amazon Simple Queue Service queues to publish messages to and the+-- events for which to publish messages.+--+-- 'topicConfigurations', 'notificationConfiguration_topicConfigurations' - The topic to which notifications are sent and the events for which+-- notifications are generated.+newNotificationConfiguration ::+  NotificationConfiguration+newNotificationConfiguration =+  NotificationConfiguration'+    { eventBridgeConfiguration =+        Prelude.Nothing,+      lambdaFunctionConfigurations = Prelude.Nothing,+      queueConfigurations = Prelude.Nothing,+      topicConfigurations = Prelude.Nothing+    }++-- | Enables delivery of events to Amazon EventBridge.+notificationConfiguration_eventBridgeConfiguration :: Lens.Lens' NotificationConfiguration (Prelude.Maybe EventBridgeConfiguration)+notificationConfiguration_eventBridgeConfiguration = Lens.lens (\NotificationConfiguration' {eventBridgeConfiguration} -> eventBridgeConfiguration) (\s@NotificationConfiguration' {} a -> s {eventBridgeConfiguration = a} :: NotificationConfiguration)++-- | Describes the Lambda functions to invoke and the events for which to+-- invoke them.+notificationConfiguration_lambdaFunctionConfigurations :: Lens.Lens' NotificationConfiguration (Prelude.Maybe [LambdaFunctionConfiguration])+notificationConfiguration_lambdaFunctionConfigurations = Lens.lens (\NotificationConfiguration' {lambdaFunctionConfigurations} -> lambdaFunctionConfigurations) (\s@NotificationConfiguration' {} a -> s {lambdaFunctionConfigurations = a} :: NotificationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The Amazon Simple Queue Service queues to publish messages to and the+-- events for which to publish messages.+notificationConfiguration_queueConfigurations :: Lens.Lens' NotificationConfiguration (Prelude.Maybe [QueueConfiguration])+notificationConfiguration_queueConfigurations = Lens.lens (\NotificationConfiguration' {queueConfigurations} -> queueConfigurations) (\s@NotificationConfiguration' {} a -> s {queueConfigurations = a} :: NotificationConfiguration) Prelude.. Lens.mapping Lens.coerced++-- | The topic to which notifications are sent and the events for which+-- notifications are generated.+notificationConfiguration_topicConfigurations :: Lens.Lens' NotificationConfiguration (Prelude.Maybe [TopicConfiguration])+notificationConfiguration_topicConfigurations = Lens.lens (\NotificationConfiguration' {topicConfigurations} -> topicConfigurations) (\s@NotificationConfiguration' {} a -> s {topicConfigurations = a} :: NotificationConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML NotificationConfiguration where+  parseXML x =+    NotificationConfiguration'+      Prelude.<$> (x Data..@? "EventBridgeConfiguration")+      Prelude.<*> ( Core.may+                      (Data.parseXMLList "CloudFunctionConfiguration")+                      x+                  )+      Prelude.<*> (Core.may (Data.parseXMLList "QueueConfiguration") x)+      Prelude.<*> (Core.may (Data.parseXMLList "TopicConfiguration") x)++instance Prelude.Hashable NotificationConfiguration where+  hashWithSalt _salt NotificationConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` eventBridgeConfiguration+      `Prelude.hashWithSalt` lambdaFunctionConfigurations+      `Prelude.hashWithSalt` queueConfigurations+      `Prelude.hashWithSalt` topicConfigurations++instance Prelude.NFData NotificationConfiguration where+  rnf NotificationConfiguration' {..} =+    Prelude.rnf eventBridgeConfiguration+      `Prelude.seq` Prelude.rnf lambdaFunctionConfigurations+      `Prelude.seq` Prelude.rnf queueConfigurations+      `Prelude.seq` Prelude.rnf topicConfigurations++instance Data.ToXML NotificationConfiguration where+  toXML NotificationConfiguration' {..} =+    Prelude.mconcat+      [ "EventBridgeConfiguration"+          Data.@= eventBridgeConfiguration,+        Data.toXML+          ( Data.toXMLList "CloudFunctionConfiguration"+              Prelude.<$> lambdaFunctionConfigurations+          ),+        Data.toXML+          ( Data.toXMLList "QueueConfiguration"+              Prelude.<$> queueConfigurations+          ),+        Data.toXML+          ( Data.toXMLList "TopicConfiguration"+              Prelude.<$> topicConfigurations+          )+      ]
+ gen/Amazonka/S3/Types/NotificationConfigurationFilter.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.NotificationConfigurationFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.NotificationConfigurationFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.S3KeyFilter++-- | Specifies object key name filtering rules. For information about key+-- name filtering, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newNotificationConfigurationFilter' smart constructor.+data NotificationConfigurationFilter = NotificationConfigurationFilter'+  { key :: Prelude.Maybe S3KeyFilter+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'NotificationConfigurationFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'notificationConfigurationFilter_key' - Undocumented member.+newNotificationConfigurationFilter ::+  NotificationConfigurationFilter+newNotificationConfigurationFilter =+  NotificationConfigurationFilter'+    { key =+        Prelude.Nothing+    }++-- | Undocumented member.+notificationConfigurationFilter_key :: Lens.Lens' NotificationConfigurationFilter (Prelude.Maybe S3KeyFilter)+notificationConfigurationFilter_key = Lens.lens (\NotificationConfigurationFilter' {key} -> key) (\s@NotificationConfigurationFilter' {} a -> s {key = a} :: NotificationConfigurationFilter)++instance Data.FromXML NotificationConfigurationFilter where+  parseXML x =+    NotificationConfigurationFilter'+      Prelude.<$> (x Data..@? "S3Key")++instance+  Prelude.Hashable+    NotificationConfigurationFilter+  where+  hashWithSalt+    _salt+    NotificationConfigurationFilter' {..} =+      _salt `Prelude.hashWithSalt` key++instance+  Prelude.NFData+    NotificationConfigurationFilter+  where+  rnf NotificationConfigurationFilter' {..} =+    Prelude.rnf key++instance Data.ToXML NotificationConfigurationFilter where+  toXML NotificationConfigurationFilter' {..} =+    Prelude.mconcat ["S3Key" Data.@= key]
+ gen/Amazonka/S3/Types/Object.hs view
@@ -0,0 +1,219 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Object+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Object where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ChecksumAlgorithm+import Amazonka.S3.Types.ObjectStorageClass+import Amazonka.S3.Types.Owner++-- | An object consists of data and its descriptive metadata.+--+-- /See:/ 'newObject' smart constructor.+data Object = Object'+  { -- | The algorithm that was used to create a checksum of the object.+    checksumAlgorithm :: Prelude.Maybe [ChecksumAlgorithm],+    -- | The owner of the object+    owner :: Prelude.Maybe Owner,+    -- | The entity tag is a hash of the object. The ETag reflects changes only+    -- to the contents of an object, not its metadata. The ETag may or may not+    -- be an MD5 digest of the object data. Whether or not it is depends on how+    -- the object was created and how it is encrypted as described below:+    --+    -- -   Objects created by the PUT Object, POST Object, or Copy operation,+    --     or through the Amazon Web Services Management Console, and are+    --     encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest+    --     of their object data.+    --+    -- -   Objects created by the PUT Object, POST Object, or Copy operation,+    --     or through the Amazon Web Services Management Console, and are+    --     encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest+    --     of their object data.+    --+    -- -   If an object is created by either the Multipart Upload or Part Copy+    --     operation, the ETag is not an MD5 digest, regardless of the method+    --     of encryption. If an object is larger than 16 MB, the Amazon Web+    --     Services Management Console will upload or copy that object as a+    --     Multipart Upload, and therefore the ETag will not be an MD5 digest.+    eTag :: ETag,+    -- | Size in bytes of the object+    size :: Prelude.Integer,+    -- | The name that you assign to an object. You use the object key to+    -- retrieve the object.+    key :: ObjectKey,+    -- | The class of storage used to store the object.+    storageClass :: ObjectStorageClass,+    -- | Creation date of the object.+    lastModified :: Data.RFC822+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Object' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'object_checksumAlgorithm' - The algorithm that was used to create a checksum of the object.+--+-- 'owner', 'object_owner' - The owner of the object+--+-- 'eTag', 'object_eTag' - The entity tag is a hash of the object. The ETag reflects changes only+-- to the contents of an object, not its metadata. The ETag may or may not+-- be an MD5 digest of the object data. Whether or not it is depends on how+-- the object was created and how it is encrypted as described below:+--+-- -   Objects created by the PUT Object, POST Object, or Copy operation,+--     or through the Amazon Web Services Management Console, and are+--     encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest+--     of their object data.+--+-- -   Objects created by the PUT Object, POST Object, or Copy operation,+--     or through the Amazon Web Services Management Console, and are+--     encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest+--     of their object data.+--+-- -   If an object is created by either the Multipart Upload or Part Copy+--     operation, the ETag is not an MD5 digest, regardless of the method+--     of encryption. If an object is larger than 16 MB, the Amazon Web+--     Services Management Console will upload or copy that object as a+--     Multipart Upload, and therefore the ETag will not be an MD5 digest.+--+-- 'size', 'object_size' - Size in bytes of the object+--+-- 'key', 'object_key' - The name that you assign to an object. You use the object key to+-- retrieve the object.+--+-- 'storageClass', 'object_storageClass' - The class of storage used to store the object.+--+-- 'lastModified', 'object_lastModified' - Creation date of the object.+newObject ::+  -- | 'eTag'+  ETag ->+  -- | 'size'+  Prelude.Integer ->+  -- | 'key'+  ObjectKey ->+  -- | 'storageClass'+  ObjectStorageClass ->+  -- | 'lastModified'+  Prelude.UTCTime ->+  Object+newObject+  pETag_+  pSize_+  pKey_+  pStorageClass_+  pLastModified_ =+    Object'+      { checksumAlgorithm = Prelude.Nothing,+        owner = Prelude.Nothing,+        eTag = pETag_,+        size = pSize_,+        key = pKey_,+        storageClass = pStorageClass_,+        lastModified = Data._Time Lens.# pLastModified_+      }++-- | The algorithm that was used to create a checksum of the object.+object_checksumAlgorithm :: Lens.Lens' Object (Prelude.Maybe [ChecksumAlgorithm])+object_checksumAlgorithm = Lens.lens (\Object' {checksumAlgorithm} -> checksumAlgorithm) (\s@Object' {} a -> s {checksumAlgorithm = a} :: Object) Prelude.. Lens.mapping Lens.coerced++-- | The owner of the object+object_owner :: Lens.Lens' Object (Prelude.Maybe Owner)+object_owner = Lens.lens (\Object' {owner} -> owner) (\s@Object' {} a -> s {owner = a} :: Object)++-- | The entity tag is a hash of the object. The ETag reflects changes only+-- to the contents of an object, not its metadata. The ETag may or may not+-- be an MD5 digest of the object data. Whether or not it is depends on how+-- the object was created and how it is encrypted as described below:+--+-- -   Objects created by the PUT Object, POST Object, or Copy operation,+--     or through the Amazon Web Services Management Console, and are+--     encrypted by SSE-S3 or plaintext, have ETags that are an MD5 digest+--     of their object data.+--+-- -   Objects created by the PUT Object, POST Object, or Copy operation,+--     or through the Amazon Web Services Management Console, and are+--     encrypted by SSE-C or SSE-KMS, have ETags that are not an MD5 digest+--     of their object data.+--+-- -   If an object is created by either the Multipart Upload or Part Copy+--     operation, the ETag is not an MD5 digest, regardless of the method+--     of encryption. If an object is larger than 16 MB, the Amazon Web+--     Services Management Console will upload or copy that object as a+--     Multipart Upload, and therefore the ETag will not be an MD5 digest.+object_eTag :: Lens.Lens' Object ETag+object_eTag = Lens.lens (\Object' {eTag} -> eTag) (\s@Object' {} a -> s {eTag = a} :: Object)++-- | Size in bytes of the object+object_size :: Lens.Lens' Object Prelude.Integer+object_size = Lens.lens (\Object' {size} -> size) (\s@Object' {} a -> s {size = a} :: Object)++-- | The name that you assign to an object. You use the object key to+-- retrieve the object.+object_key :: Lens.Lens' Object ObjectKey+object_key = Lens.lens (\Object' {key} -> key) (\s@Object' {} a -> s {key = a} :: Object)++-- | The class of storage used to store the object.+object_storageClass :: Lens.Lens' Object ObjectStorageClass+object_storageClass = Lens.lens (\Object' {storageClass} -> storageClass) (\s@Object' {} a -> s {storageClass = a} :: Object)++-- | Creation date of the object.+object_lastModified :: Lens.Lens' Object Prelude.UTCTime+object_lastModified = Lens.lens (\Object' {lastModified} -> lastModified) (\s@Object' {} a -> s {lastModified = a} :: Object) Prelude.. Data._Time++instance Data.FromXML Object where+  parseXML x =+    Object'+      Prelude.<$> (Core.may (Data.parseXMLList "ChecksumAlgorithm") x)+      Prelude.<*> (x Data..@? "Owner")+      Prelude.<*> (x Data..@ "ETag")+      Prelude.<*> (x Data..@ "Size")+      Prelude.<*> (x Data..@ "Key")+      Prelude.<*> (x Data..@ "StorageClass")+      Prelude.<*> (x Data..@ "LastModified")++instance Prelude.Hashable Object where+  hashWithSalt _salt Object' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` eTag+      `Prelude.hashWithSalt` size+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` lastModified++instance Prelude.NFData Object where+  rnf Object' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf size+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf lastModified
+ gen/Amazonka/S3/Types/ObjectAttributes.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectAttributes+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectAttributes+  ( ObjectAttributes+      ( ..,+        ObjectAttributes_Checksum,+        ObjectAttributes_ETag,+        ObjectAttributes_ObjectParts,+        ObjectAttributes_ObjectSize,+        ObjectAttributes_StorageClass+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectAttributes = ObjectAttributes'+  { fromObjectAttributes ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectAttributes_Checksum :: ObjectAttributes+pattern ObjectAttributes_Checksum = ObjectAttributes' "Checksum"++pattern ObjectAttributes_ETag :: ObjectAttributes+pattern ObjectAttributes_ETag = ObjectAttributes' "ETag"++pattern ObjectAttributes_ObjectParts :: ObjectAttributes+pattern ObjectAttributes_ObjectParts = ObjectAttributes' "ObjectParts"++pattern ObjectAttributes_ObjectSize :: ObjectAttributes+pattern ObjectAttributes_ObjectSize = ObjectAttributes' "ObjectSize"++pattern ObjectAttributes_StorageClass :: ObjectAttributes+pattern ObjectAttributes_StorageClass = ObjectAttributes' "StorageClass"++{-# COMPLETE+  ObjectAttributes_Checksum,+  ObjectAttributes_ETag,+  ObjectAttributes_ObjectParts,+  ObjectAttributes_ObjectSize,+  ObjectAttributes_StorageClass,+  ObjectAttributes'+  #-}
+ gen/Amazonka/S3/Types/ObjectCannedACL.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectCannedACL+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectCannedACL+  ( ObjectCannedACL+      ( ..,+        ObjectCannedACL_Authenticated_read,+        ObjectCannedACL_Aws_exec_read,+        ObjectCannedACL_Bucket_owner_full_control,+        ObjectCannedACL_Bucket_owner_read,+        ObjectCannedACL_Private,+        ObjectCannedACL_Public_read,+        ObjectCannedACL_Public_read_write+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectCannedACL = ObjectCannedACL'+  { fromObjectCannedACL ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectCannedACL_Authenticated_read :: ObjectCannedACL+pattern ObjectCannedACL_Authenticated_read = ObjectCannedACL' "authenticated-read"++pattern ObjectCannedACL_Aws_exec_read :: ObjectCannedACL+pattern ObjectCannedACL_Aws_exec_read = ObjectCannedACL' "aws-exec-read"++pattern ObjectCannedACL_Bucket_owner_full_control :: ObjectCannedACL+pattern ObjectCannedACL_Bucket_owner_full_control = ObjectCannedACL' "bucket-owner-full-control"++pattern ObjectCannedACL_Bucket_owner_read :: ObjectCannedACL+pattern ObjectCannedACL_Bucket_owner_read = ObjectCannedACL' "bucket-owner-read"++pattern ObjectCannedACL_Private :: ObjectCannedACL+pattern ObjectCannedACL_Private = ObjectCannedACL' "private"++pattern ObjectCannedACL_Public_read :: ObjectCannedACL+pattern ObjectCannedACL_Public_read = ObjectCannedACL' "public-read"++pattern ObjectCannedACL_Public_read_write :: ObjectCannedACL+pattern ObjectCannedACL_Public_read_write = ObjectCannedACL' "public-read-write"++{-# COMPLETE+  ObjectCannedACL_Authenticated_read,+  ObjectCannedACL_Aws_exec_read,+  ObjectCannedACL_Bucket_owner_full_control,+  ObjectCannedACL_Bucket_owner_read,+  ObjectCannedACL_Private,+  ObjectCannedACL_Public_read,+  ObjectCannedACL_Public_read_write,+  ObjectCannedACL'+  #-}
+ gen/Amazonka/S3/Types/ObjectIdentifier.hs view
@@ -0,0 +1,96 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectIdentifier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectIdentifier where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Object Identifier is unique value to identify objects.+--+-- /See:/ 'newObjectIdentifier' smart constructor.+data ObjectIdentifier = ObjectIdentifier'+  { -- | VersionId for the specific version of the object to delete.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | Key name of the object.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    key :: ObjectKey+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectIdentifier' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'versionId', 'objectIdentifier_versionId' - VersionId for the specific version of the object to delete.+--+-- 'key', 'objectIdentifier_key' - Key name of the object.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+newObjectIdentifier ::+  -- | 'key'+  ObjectKey ->+  ObjectIdentifier+newObjectIdentifier pKey_ =+  ObjectIdentifier'+    { versionId = Prelude.Nothing,+      key = pKey_+    }++-- | VersionId for the specific version of the object to delete.+objectIdentifier_versionId :: Lens.Lens' ObjectIdentifier (Prelude.Maybe ObjectVersionId)+objectIdentifier_versionId = Lens.lens (\ObjectIdentifier' {versionId} -> versionId) (\s@ObjectIdentifier' {} a -> s {versionId = a} :: ObjectIdentifier)++-- | Key name of the object.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+objectIdentifier_key :: Lens.Lens' ObjectIdentifier ObjectKey+objectIdentifier_key = Lens.lens (\ObjectIdentifier' {key} -> key) (\s@ObjectIdentifier' {} a -> s {key = a} :: ObjectIdentifier)++instance Prelude.Hashable ObjectIdentifier where+  hashWithSalt _salt ObjectIdentifier' {..} =+    _salt+      `Prelude.hashWithSalt` versionId+      `Prelude.hashWithSalt` key++instance Prelude.NFData ObjectIdentifier where+  rnf ObjectIdentifier' {..} =+    Prelude.rnf versionId `Prelude.seq` Prelude.rnf key++instance Data.ToXML ObjectIdentifier where+  toXML ObjectIdentifier' {..} =+    Prelude.mconcat+      ["VersionId" Data.@= versionId, "Key" Data.@= key]
+ gen/Amazonka/S3/Types/ObjectLockConfiguration.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectLockEnabled+import Amazonka.S3.Types.ObjectLockRule++-- | The container element for Object Lock configuration parameters.+--+-- /See:/ 'newObjectLockConfiguration' smart constructor.+data ObjectLockConfiguration = ObjectLockConfiguration'+  { -- | Indicates whether this bucket has an Object Lock configuration enabled.+    -- Enable @ObjectLockEnabled@ when you apply @ObjectLockConfiguration@ to a+    -- bucket.+    objectLockEnabled :: Prelude.Maybe ObjectLockEnabled,+    -- | Specifies the Object Lock rule for the specified object. Enable the this+    -- rule when you apply @ObjectLockConfiguration@ to a bucket. Bucket+    -- settings require both a mode and a period. The period can be either+    -- @Days@ or @Years@ but you must select one. You cannot specify @Days@ and+    -- @Years@ at the same time.+    rule :: Prelude.Maybe ObjectLockRule+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectLockConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectLockEnabled', 'objectLockConfiguration_objectLockEnabled' - Indicates whether this bucket has an Object Lock configuration enabled.+-- Enable @ObjectLockEnabled@ when you apply @ObjectLockConfiguration@ to a+-- bucket.+--+-- 'rule', 'objectLockConfiguration_rule' - Specifies the Object Lock rule for the specified object. Enable the this+-- rule when you apply @ObjectLockConfiguration@ to a bucket. Bucket+-- settings require both a mode and a period. The period can be either+-- @Days@ or @Years@ but you must select one. You cannot specify @Days@ and+-- @Years@ at the same time.+newObjectLockConfiguration ::+  ObjectLockConfiguration+newObjectLockConfiguration =+  ObjectLockConfiguration'+    { objectLockEnabled =+        Prelude.Nothing,+      rule = Prelude.Nothing+    }++-- | Indicates whether this bucket has an Object Lock configuration enabled.+-- Enable @ObjectLockEnabled@ when you apply @ObjectLockConfiguration@ to a+-- bucket.+objectLockConfiguration_objectLockEnabled :: Lens.Lens' ObjectLockConfiguration (Prelude.Maybe ObjectLockEnabled)+objectLockConfiguration_objectLockEnabled = Lens.lens (\ObjectLockConfiguration' {objectLockEnabled} -> objectLockEnabled) (\s@ObjectLockConfiguration' {} a -> s {objectLockEnabled = a} :: ObjectLockConfiguration)++-- | Specifies the Object Lock rule for the specified object. Enable the this+-- rule when you apply @ObjectLockConfiguration@ to a bucket. Bucket+-- settings require both a mode and a period. The period can be either+-- @Days@ or @Years@ but you must select one. You cannot specify @Days@ and+-- @Years@ at the same time.+objectLockConfiguration_rule :: Lens.Lens' ObjectLockConfiguration (Prelude.Maybe ObjectLockRule)+objectLockConfiguration_rule = Lens.lens (\ObjectLockConfiguration' {rule} -> rule) (\s@ObjectLockConfiguration' {} a -> s {rule = a} :: ObjectLockConfiguration)++instance Data.FromXML ObjectLockConfiguration where+  parseXML x =+    ObjectLockConfiguration'+      Prelude.<$> (x Data..@? "ObjectLockEnabled")+      Prelude.<*> (x Data..@? "Rule")++instance Prelude.Hashable ObjectLockConfiguration where+  hashWithSalt _salt ObjectLockConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` objectLockEnabled+      `Prelude.hashWithSalt` rule++instance Prelude.NFData ObjectLockConfiguration where+  rnf ObjectLockConfiguration' {..} =+    Prelude.rnf objectLockEnabled+      `Prelude.seq` Prelude.rnf rule++instance Data.ToXML ObjectLockConfiguration where+  toXML ObjectLockConfiguration' {..} =+    Prelude.mconcat+      [ "ObjectLockEnabled" Data.@= objectLockEnabled,+        "Rule" Data.@= rule+      ]
+ gen/Amazonka/S3/Types/ObjectLockEnabled.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockEnabled+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockEnabled+  ( ObjectLockEnabled+      ( ..,+        ObjectLockEnabled_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectLockEnabled = ObjectLockEnabled'+  { fromObjectLockEnabled ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectLockEnabled_Enabled :: ObjectLockEnabled+pattern ObjectLockEnabled_Enabled = ObjectLockEnabled' "Enabled"++{-# COMPLETE+  ObjectLockEnabled_Enabled,+  ObjectLockEnabled'+  #-}
+ gen/Amazonka/S3/Types/ObjectLockLegalHold.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockLegalHold+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockLegalHold where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectLockLegalHoldStatus++-- | A legal hold configuration for an object.+--+-- /See:/ 'newObjectLockLegalHold' smart constructor.+data ObjectLockLegalHold = ObjectLockLegalHold'+  { -- | Indicates whether the specified object has a legal hold in place.+    status :: Prelude.Maybe ObjectLockLegalHoldStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectLockLegalHold' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'objectLockLegalHold_status' - Indicates whether the specified object has a legal hold in place.+newObjectLockLegalHold ::+  ObjectLockLegalHold+newObjectLockLegalHold =+  ObjectLockLegalHold' {status = Prelude.Nothing}++-- | Indicates whether the specified object has a legal hold in place.+objectLockLegalHold_status :: Lens.Lens' ObjectLockLegalHold (Prelude.Maybe ObjectLockLegalHoldStatus)+objectLockLegalHold_status = Lens.lens (\ObjectLockLegalHold' {status} -> status) (\s@ObjectLockLegalHold' {} a -> s {status = a} :: ObjectLockLegalHold)++instance Data.FromXML ObjectLockLegalHold where+  parseXML x =+    ObjectLockLegalHold'+      Prelude.<$> (x Data..@? "Status")++instance Prelude.Hashable ObjectLockLegalHold where+  hashWithSalt _salt ObjectLockLegalHold' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData ObjectLockLegalHold where+  rnf ObjectLockLegalHold' {..} = Prelude.rnf status++instance Data.ToXML ObjectLockLegalHold where+  toXML ObjectLockLegalHold' {..} =+    Prelude.mconcat ["Status" Data.@= status]
+ gen/Amazonka/S3/Types/ObjectLockLegalHoldStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockLegalHoldStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockLegalHoldStatus+  ( ObjectLockLegalHoldStatus+      ( ..,+        ObjectLockLegalHoldStatus_OFF,+        ObjectLockLegalHoldStatus_ON+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectLockLegalHoldStatus = ObjectLockLegalHoldStatus'+  { fromObjectLockLegalHoldStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectLockLegalHoldStatus_OFF :: ObjectLockLegalHoldStatus+pattern ObjectLockLegalHoldStatus_OFF = ObjectLockLegalHoldStatus' "OFF"++pattern ObjectLockLegalHoldStatus_ON :: ObjectLockLegalHoldStatus+pattern ObjectLockLegalHoldStatus_ON = ObjectLockLegalHoldStatus' "ON"++{-# COMPLETE+  ObjectLockLegalHoldStatus_OFF,+  ObjectLockLegalHoldStatus_ON,+  ObjectLockLegalHoldStatus'+  #-}
+ gen/Amazonka/S3/Types/ObjectLockMode.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockMode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockMode+  ( ObjectLockMode+      ( ..,+        ObjectLockMode_COMPLIANCE,+        ObjectLockMode_GOVERNANCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectLockMode = ObjectLockMode'+  { fromObjectLockMode ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectLockMode_COMPLIANCE :: ObjectLockMode+pattern ObjectLockMode_COMPLIANCE = ObjectLockMode' "COMPLIANCE"++pattern ObjectLockMode_GOVERNANCE :: ObjectLockMode+pattern ObjectLockMode_GOVERNANCE = ObjectLockMode' "GOVERNANCE"++{-# COMPLETE+  ObjectLockMode_COMPLIANCE,+  ObjectLockMode_GOVERNANCE,+  ObjectLockMode'+  #-}
+ gen/Amazonka/S3/Types/ObjectLockRetention.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockRetention+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockRetention where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectLockRetentionMode++-- | A Retention configuration for an object.+--+-- /See:/ 'newObjectLockRetention' smart constructor.+data ObjectLockRetention = ObjectLockRetention'+  { -- | Indicates the Retention mode for the specified object.+    mode :: Prelude.Maybe ObjectLockRetentionMode,+    -- | The date on which this Object Lock Retention will expire.+    retainUntilDate :: Prelude.Maybe Data.ISO8601+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectLockRetention' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mode', 'objectLockRetention_mode' - Indicates the Retention mode for the specified object.+--+-- 'retainUntilDate', 'objectLockRetention_retainUntilDate' - The date on which this Object Lock Retention will expire.+newObjectLockRetention ::+  ObjectLockRetention+newObjectLockRetention =+  ObjectLockRetention'+    { mode = Prelude.Nothing,+      retainUntilDate = Prelude.Nothing+    }++-- | Indicates the Retention mode for the specified object.+objectLockRetention_mode :: Lens.Lens' ObjectLockRetention (Prelude.Maybe ObjectLockRetentionMode)+objectLockRetention_mode = Lens.lens (\ObjectLockRetention' {mode} -> mode) (\s@ObjectLockRetention' {} a -> s {mode = a} :: ObjectLockRetention)++-- | The date on which this Object Lock Retention will expire.+objectLockRetention_retainUntilDate :: Lens.Lens' ObjectLockRetention (Prelude.Maybe Prelude.UTCTime)+objectLockRetention_retainUntilDate = Lens.lens (\ObjectLockRetention' {retainUntilDate} -> retainUntilDate) (\s@ObjectLockRetention' {} a -> s {retainUntilDate = a} :: ObjectLockRetention) Prelude.. Lens.mapping Data._Time++instance Data.FromXML ObjectLockRetention where+  parseXML x =+    ObjectLockRetention'+      Prelude.<$> (x Data..@? "Mode")+      Prelude.<*> (x Data..@? "RetainUntilDate")++instance Prelude.Hashable ObjectLockRetention where+  hashWithSalt _salt ObjectLockRetention' {..} =+    _salt+      `Prelude.hashWithSalt` mode+      `Prelude.hashWithSalt` retainUntilDate++instance Prelude.NFData ObjectLockRetention where+  rnf ObjectLockRetention' {..} =+    Prelude.rnf mode+      `Prelude.seq` Prelude.rnf retainUntilDate++instance Data.ToXML ObjectLockRetention where+  toXML ObjectLockRetention' {..} =+    Prelude.mconcat+      [ "Mode" Data.@= mode,+        "RetainUntilDate" Data.@= retainUntilDate+      ]
+ gen/Amazonka/S3/Types/ObjectLockRetentionMode.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockRetentionMode+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockRetentionMode+  ( ObjectLockRetentionMode+      ( ..,+        ObjectLockRetentionMode_COMPLIANCE,+        ObjectLockRetentionMode_GOVERNANCE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectLockRetentionMode = ObjectLockRetentionMode'+  { fromObjectLockRetentionMode ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectLockRetentionMode_COMPLIANCE :: ObjectLockRetentionMode+pattern ObjectLockRetentionMode_COMPLIANCE = ObjectLockRetentionMode' "COMPLIANCE"++pattern ObjectLockRetentionMode_GOVERNANCE :: ObjectLockRetentionMode+pattern ObjectLockRetentionMode_GOVERNANCE = ObjectLockRetentionMode' "GOVERNANCE"++{-# COMPLETE+  ObjectLockRetentionMode_COMPLIANCE,+  ObjectLockRetentionMode_GOVERNANCE,+  ObjectLockRetentionMode'+  #-}
+ gen/Amazonka/S3/Types/ObjectLockRule.hs view
@@ -0,0 +1,84 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectLockRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectLockRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.DefaultRetention++-- | The container element for an Object Lock rule.+--+-- /See:/ 'newObjectLockRule' smart constructor.+data ObjectLockRule = ObjectLockRule'+  { -- | The default Object Lock retention mode and period that you want to apply+    -- to new objects placed in the specified bucket. Bucket settings require+    -- both a mode and a period. The period can be either @Days@ or @Years@ but+    -- you must select one. You cannot specify @Days@ and @Years@ at the same+    -- time.+    defaultRetention :: Prelude.Maybe DefaultRetention+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectLockRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'defaultRetention', 'objectLockRule_defaultRetention' - The default Object Lock retention mode and period that you want to apply+-- to new objects placed in the specified bucket. Bucket settings require+-- both a mode and a period. The period can be either @Days@ or @Years@ but+-- you must select one. You cannot specify @Days@ and @Years@ at the same+-- time.+newObjectLockRule ::+  ObjectLockRule+newObjectLockRule =+  ObjectLockRule' {defaultRetention = Prelude.Nothing}++-- | The default Object Lock retention mode and period that you want to apply+-- to new objects placed in the specified bucket. Bucket settings require+-- both a mode and a period. The period can be either @Days@ or @Years@ but+-- you must select one. You cannot specify @Days@ and @Years@ at the same+-- time.+objectLockRule_defaultRetention :: Lens.Lens' ObjectLockRule (Prelude.Maybe DefaultRetention)+objectLockRule_defaultRetention = Lens.lens (\ObjectLockRule' {defaultRetention} -> defaultRetention) (\s@ObjectLockRule' {} a -> s {defaultRetention = a} :: ObjectLockRule)++instance Data.FromXML ObjectLockRule where+  parseXML x =+    ObjectLockRule'+      Prelude.<$> (x Data..@? "DefaultRetention")++instance Prelude.Hashable ObjectLockRule where+  hashWithSalt _salt ObjectLockRule' {..} =+    _salt `Prelude.hashWithSalt` defaultRetention++instance Prelude.NFData ObjectLockRule where+  rnf ObjectLockRule' {..} =+    Prelude.rnf defaultRetention++instance Data.ToXML ObjectLockRule where+  toXML ObjectLockRule' {..} =+    Prelude.mconcat+      ["DefaultRetention" Data.@= defaultRetention]
+ gen/Amazonka/S3/Types/ObjectOwnership.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectOwnership+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectOwnership+  ( ObjectOwnership+      ( ..,+        ObjectOwnership_BucketOwnerEnforced,+        ObjectOwnership_BucketOwnerPreferred,+        ObjectOwnership_ObjectWriter+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The container element for object ownership for a bucket\'s ownership+-- controls.+--+-- BucketOwnerPreferred - Objects uploaded to the bucket change ownership+-- to the bucket owner if the objects are uploaded with the+-- @bucket-owner-full-control@ canned ACL.+--+-- ObjectWriter - The uploading account will own the object if the object+-- is uploaded with the @bucket-owner-full-control@ canned ACL.+--+-- BucketOwnerEnforced - Access control lists (ACLs) are disabled and no+-- longer affect permissions. The bucket owner automatically owns and has+-- full control over every object in the bucket. The bucket only accepts+-- PUT requests that don\'t specify an ACL or bucket owner full control+-- ACLs, such as the @bucket-owner-full-control@ canned ACL or an+-- equivalent form of this ACL expressed in the XML format.+newtype ObjectOwnership = ObjectOwnership'+  { fromObjectOwnership ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectOwnership_BucketOwnerEnforced :: ObjectOwnership+pattern ObjectOwnership_BucketOwnerEnforced = ObjectOwnership' "BucketOwnerEnforced"++pattern ObjectOwnership_BucketOwnerPreferred :: ObjectOwnership+pattern ObjectOwnership_BucketOwnerPreferred = ObjectOwnership' "BucketOwnerPreferred"++pattern ObjectOwnership_ObjectWriter :: ObjectOwnership+pattern ObjectOwnership_ObjectWriter = ObjectOwnership' "ObjectWriter"++{-# COMPLETE+  ObjectOwnership_BucketOwnerEnforced,+  ObjectOwnership_BucketOwnerPreferred,+  ObjectOwnership_ObjectWriter,+  ObjectOwnership'+  #-}
+ gen/Amazonka/S3/Types/ObjectPart.hs view
@@ -0,0 +1,192 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectPart+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectPart where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A container for elements related to an individual part.+--+-- /See:/ 'newObjectPart' smart constructor.+data ObjectPart = ObjectPart'+  { -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | The part number identifying the part. This value is a positive integer+    -- between 1 and 10,000.+    partNumber :: Prelude.Maybe Prelude.Int,+    -- | The size of the uploaded part in bytes.+    size :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectPart' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'objectPart_checksumCRC32' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'objectPart_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'objectPart_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'objectPart_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'partNumber', 'objectPart_partNumber' - The part number identifying the part. This value is a positive integer+-- between 1 and 10,000.+--+-- 'size', 'objectPart_size' - The size of the uploaded part in bytes.+newObjectPart ::+  ObjectPart+newObjectPart =+  ObjectPart'+    { checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      partNumber = Prelude.Nothing,+      size = Prelude.Nothing+    }++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+objectPart_checksumCRC32 :: Lens.Lens' ObjectPart (Prelude.Maybe Prelude.Text)+objectPart_checksumCRC32 = Lens.lens (\ObjectPart' {checksumCRC32} -> checksumCRC32) (\s@ObjectPart' {} a -> s {checksumCRC32 = a} :: ObjectPart)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+objectPart_checksumCRC32C :: Lens.Lens' ObjectPart (Prelude.Maybe Prelude.Text)+objectPart_checksumCRC32C = Lens.lens (\ObjectPart' {checksumCRC32C} -> checksumCRC32C) (\s@ObjectPart' {} a -> s {checksumCRC32C = a} :: ObjectPart)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+objectPart_checksumSHA1 :: Lens.Lens' ObjectPart (Prelude.Maybe Prelude.Text)+objectPart_checksumSHA1 = Lens.lens (\ObjectPart' {checksumSHA1} -> checksumSHA1) (\s@ObjectPart' {} a -> s {checksumSHA1 = a} :: ObjectPart)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+objectPart_checksumSHA256 :: Lens.Lens' ObjectPart (Prelude.Maybe Prelude.Text)+objectPart_checksumSHA256 = Lens.lens (\ObjectPart' {checksumSHA256} -> checksumSHA256) (\s@ObjectPart' {} a -> s {checksumSHA256 = a} :: ObjectPart)++-- | The part number identifying the part. This value is a positive integer+-- between 1 and 10,000.+objectPart_partNumber :: Lens.Lens' ObjectPart (Prelude.Maybe Prelude.Int)+objectPart_partNumber = Lens.lens (\ObjectPart' {partNumber} -> partNumber) (\s@ObjectPart' {} a -> s {partNumber = a} :: ObjectPart)++-- | The size of the uploaded part in bytes.+objectPart_size :: Lens.Lens' ObjectPart (Prelude.Maybe Prelude.Integer)+objectPart_size = Lens.lens (\ObjectPart' {size} -> size) (\s@ObjectPart' {} a -> s {size = a} :: ObjectPart)++instance Data.FromXML ObjectPart where+  parseXML x =+    ObjectPart'+      Prelude.<$> (x Data..@? "ChecksumCRC32")+      Prelude.<*> (x Data..@? "ChecksumCRC32C")+      Prelude.<*> (x Data..@? "ChecksumSHA1")+      Prelude.<*> (x Data..@? "ChecksumSHA256")+      Prelude.<*> (x Data..@? "PartNumber")+      Prelude.<*> (x Data..@? "Size")++instance Prelude.Hashable ObjectPart where+  hashWithSalt _salt ObjectPart' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256+      `Prelude.hashWithSalt` partNumber+      `Prelude.hashWithSalt` size++instance Prelude.NFData ObjectPart where+  rnf ObjectPart' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf partNumber+      `Prelude.seq` Prelude.rnf size
+ gen/Amazonka/S3/Types/ObjectStorageClass.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectStorageClass+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectStorageClass+  ( ObjectStorageClass+      ( ..,+        ObjectStorageClass_GLACIER,+        ObjectStorageClass_INTELLIGENT_TIERING,+        ObjectStorageClass_REDUCED_REDUNDANCY,+        ObjectStorageClass_STANDARD,+        ObjectStorageClass_STANDARD_IA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectStorageClass = ObjectStorageClass'+  { fromObjectStorageClass ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectStorageClass_GLACIER :: ObjectStorageClass+pattern ObjectStorageClass_GLACIER = ObjectStorageClass' "GLACIER"++pattern ObjectStorageClass_INTELLIGENT_TIERING :: ObjectStorageClass+pattern ObjectStorageClass_INTELLIGENT_TIERING = ObjectStorageClass' "INTELLIGENT_TIERING"++pattern ObjectStorageClass_REDUCED_REDUNDANCY :: ObjectStorageClass+pattern ObjectStorageClass_REDUCED_REDUNDANCY = ObjectStorageClass' "REDUCED_REDUNDANCY"++pattern ObjectStorageClass_STANDARD :: ObjectStorageClass+pattern ObjectStorageClass_STANDARD = ObjectStorageClass' "STANDARD"++pattern ObjectStorageClass_STANDARD_IA :: ObjectStorageClass+pattern ObjectStorageClass_STANDARD_IA = ObjectStorageClass' "STANDARD_IA"++{-# COMPLETE+  ObjectStorageClass_GLACIER,+  ObjectStorageClass_INTELLIGENT_TIERING,+  ObjectStorageClass_REDUCED_REDUNDANCY,+  ObjectStorageClass_STANDARD,+  ObjectStorageClass_STANDARD_IA,+  ObjectStorageClass'+  #-}
+ gen/Amazonka/S3/Types/ObjectVersion.hs view
@@ -0,0 +1,171 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectVersion where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ChecksumAlgorithm+import Amazonka.S3.Types.ObjectVersionStorageClass+import Amazonka.S3.Types.Owner++-- | The version of an object.+--+-- /See:/ 'newObjectVersion' smart constructor.+data ObjectVersion = ObjectVersion'+  { -- | The algorithm that was used to create a checksum of the object.+    checksumAlgorithm :: Prelude.Maybe [ChecksumAlgorithm],+    -- | The entity tag is an MD5 hash of that version of the object.+    eTag :: Prelude.Maybe ETag,+    -- | Specifies whether the object is (true) or is not (false) the latest+    -- version of an object.+    isLatest :: Prelude.Maybe Prelude.Bool,+    -- | The object key.+    key :: Prelude.Maybe ObjectKey,+    -- | Date and time the object was last modified.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | Specifies the owner of the object.+    owner :: Prelude.Maybe Owner,+    -- | Size in bytes of the object.+    size :: Prelude.Maybe Prelude.Integer,+    -- | The class of storage used to store the object.+    storageClass :: Prelude.Maybe ObjectVersionStorageClass,+    -- | Version ID of an object.+    versionId :: Prelude.Maybe ObjectVersionId+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ObjectVersion' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'objectVersion_checksumAlgorithm' - The algorithm that was used to create a checksum of the object.+--+-- 'eTag', 'objectVersion_eTag' - The entity tag is an MD5 hash of that version of the object.+--+-- 'isLatest', 'objectVersion_isLatest' - Specifies whether the object is (true) or is not (false) the latest+-- version of an object.+--+-- 'key', 'objectVersion_key' - The object key.+--+-- 'lastModified', 'objectVersion_lastModified' - Date and time the object was last modified.+--+-- 'owner', 'objectVersion_owner' - Specifies the owner of the object.+--+-- 'size', 'objectVersion_size' - Size in bytes of the object.+--+-- 'storageClass', 'objectVersion_storageClass' - The class of storage used to store the object.+--+-- 'versionId', 'objectVersion_versionId' - Version ID of an object.+newObjectVersion ::+  ObjectVersion+newObjectVersion =+  ObjectVersion'+    { checksumAlgorithm = Prelude.Nothing,+      eTag = Prelude.Nothing,+      isLatest = Prelude.Nothing,+      key = Prelude.Nothing,+      lastModified = Prelude.Nothing,+      owner = Prelude.Nothing,+      size = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      versionId = Prelude.Nothing+    }++-- | The algorithm that was used to create a checksum of the object.+objectVersion_checksumAlgorithm :: Lens.Lens' ObjectVersion (Prelude.Maybe [ChecksumAlgorithm])+objectVersion_checksumAlgorithm = Lens.lens (\ObjectVersion' {checksumAlgorithm} -> checksumAlgorithm) (\s@ObjectVersion' {} a -> s {checksumAlgorithm = a} :: ObjectVersion) Prelude.. Lens.mapping Lens.coerced++-- | The entity tag is an MD5 hash of that version of the object.+objectVersion_eTag :: Lens.Lens' ObjectVersion (Prelude.Maybe ETag)+objectVersion_eTag = Lens.lens (\ObjectVersion' {eTag} -> eTag) (\s@ObjectVersion' {} a -> s {eTag = a} :: ObjectVersion)++-- | Specifies whether the object is (true) or is not (false) the latest+-- version of an object.+objectVersion_isLatest :: Lens.Lens' ObjectVersion (Prelude.Maybe Prelude.Bool)+objectVersion_isLatest = Lens.lens (\ObjectVersion' {isLatest} -> isLatest) (\s@ObjectVersion' {} a -> s {isLatest = a} :: ObjectVersion)++-- | The object key.+objectVersion_key :: Lens.Lens' ObjectVersion (Prelude.Maybe ObjectKey)+objectVersion_key = Lens.lens (\ObjectVersion' {key} -> key) (\s@ObjectVersion' {} a -> s {key = a} :: ObjectVersion)++-- | Date and time the object was last modified.+objectVersion_lastModified :: Lens.Lens' ObjectVersion (Prelude.Maybe Prelude.UTCTime)+objectVersion_lastModified = Lens.lens (\ObjectVersion' {lastModified} -> lastModified) (\s@ObjectVersion' {} a -> s {lastModified = a} :: ObjectVersion) Prelude.. Lens.mapping Data._Time++-- | Specifies the owner of the object.+objectVersion_owner :: Lens.Lens' ObjectVersion (Prelude.Maybe Owner)+objectVersion_owner = Lens.lens (\ObjectVersion' {owner} -> owner) (\s@ObjectVersion' {} a -> s {owner = a} :: ObjectVersion)++-- | Size in bytes of the object.+objectVersion_size :: Lens.Lens' ObjectVersion (Prelude.Maybe Prelude.Integer)+objectVersion_size = Lens.lens (\ObjectVersion' {size} -> size) (\s@ObjectVersion' {} a -> s {size = a} :: ObjectVersion)++-- | The class of storage used to store the object.+objectVersion_storageClass :: Lens.Lens' ObjectVersion (Prelude.Maybe ObjectVersionStorageClass)+objectVersion_storageClass = Lens.lens (\ObjectVersion' {storageClass} -> storageClass) (\s@ObjectVersion' {} a -> s {storageClass = a} :: ObjectVersion)++-- | Version ID of an object.+objectVersion_versionId :: Lens.Lens' ObjectVersion (Prelude.Maybe ObjectVersionId)+objectVersion_versionId = Lens.lens (\ObjectVersion' {versionId} -> versionId) (\s@ObjectVersion' {} a -> s {versionId = a} :: ObjectVersion)++instance Data.FromXML ObjectVersion where+  parseXML x =+    ObjectVersion'+      Prelude.<$> (Core.may (Data.parseXMLList "ChecksumAlgorithm") x)+      Prelude.<*> (x Data..@? "ETag")+      Prelude.<*> (x Data..@? "IsLatest")+      Prelude.<*> (x Data..@? "Key")+      Prelude.<*> (x Data..@? "LastModified")+      Prelude.<*> (x Data..@? "Owner")+      Prelude.<*> (x Data..@? "Size")+      Prelude.<*> (x Data..@? "StorageClass")+      Prelude.<*> (x Data..@? "VersionId")++instance Prelude.Hashable ObjectVersion where+  hashWithSalt _salt ObjectVersion' {..} =+    _salt+      `Prelude.hashWithSalt` checksumAlgorithm+      `Prelude.hashWithSalt` eTag+      `Prelude.hashWithSalt` isLatest+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` lastModified+      `Prelude.hashWithSalt` owner+      `Prelude.hashWithSalt` size+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` versionId++instance Prelude.NFData ObjectVersion where+  rnf ObjectVersion' {..} =+    Prelude.rnf checksumAlgorithm+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf isLatest+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf lastModified+      `Prelude.seq` Prelude.rnf owner+      `Prelude.seq` Prelude.rnf size+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf versionId
+ gen/Amazonka/S3/Types/ObjectVersionStorageClass.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ObjectVersionStorageClass+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ObjectVersionStorageClass+  ( ObjectVersionStorageClass+      ( ..,+        ObjectVersionStorageClass_STANDARD+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ObjectVersionStorageClass = ObjectVersionStorageClass'+  { fromObjectVersionStorageClass ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ObjectVersionStorageClass_STANDARD :: ObjectVersionStorageClass+pattern ObjectVersionStorageClass_STANDARD = ObjectVersionStorageClass' "STANDARD"++{-# COMPLETE+  ObjectVersionStorageClass_STANDARD,+  ObjectVersionStorageClass'+  #-}
+ gen/Amazonka/S3/Types/OutputLocation.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.OutputLocation+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.OutputLocation where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.S3Location++-- | Describes the location where the restore job\'s output is stored.+--+-- /See:/ 'newOutputLocation' smart constructor.+data OutputLocation = OutputLocation'+  { -- | Describes an S3 location that will receive the results of the restore+    -- request.+    s3 :: Prelude.Maybe S3Location+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputLocation' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 's3', 'outputLocation_s3' - Describes an S3 location that will receive the results of the restore+-- request.+newOutputLocation ::+  OutputLocation+newOutputLocation =+  OutputLocation' {s3 = Prelude.Nothing}++-- | Describes an S3 location that will receive the results of the restore+-- request.+outputLocation_s3 :: Lens.Lens' OutputLocation (Prelude.Maybe S3Location)+outputLocation_s3 = Lens.lens (\OutputLocation' {s3} -> s3) (\s@OutputLocation' {} a -> s {s3 = a} :: OutputLocation)++instance Prelude.Hashable OutputLocation where+  hashWithSalt _salt OutputLocation' {..} =+    _salt `Prelude.hashWithSalt` s3++instance Prelude.NFData OutputLocation where+  rnf OutputLocation' {..} = Prelude.rnf s3++instance Data.ToXML OutputLocation where+  toXML OutputLocation' {..} =+    Prelude.mconcat ["S3" Data.@= s3]
+ gen/Amazonka/S3/Types/OutputSerialization.hs view
@@ -0,0 +1,81 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.OutputSerialization+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.OutputSerialization where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.CSVOutput+import Amazonka.S3.Types.JSONOutput++-- | Describes how results of the Select job are serialized.+--+-- /See:/ 'newOutputSerialization' smart constructor.+data OutputSerialization = OutputSerialization'+  { -- | Describes the serialization of CSV-encoded Select results.+    csv :: Prelude.Maybe CSVOutput,+    -- | Specifies JSON as request\'s output serialization format.+    json :: Prelude.Maybe JSONOutput+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OutputSerialization' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'csv', 'outputSerialization_csv' - Describes the serialization of CSV-encoded Select results.+--+-- 'json', 'outputSerialization_json' - Specifies JSON as request\'s output serialization format.+newOutputSerialization ::+  OutputSerialization+newOutputSerialization =+  OutputSerialization'+    { csv = Prelude.Nothing,+      json = Prelude.Nothing+    }++-- | Describes the serialization of CSV-encoded Select results.+outputSerialization_csv :: Lens.Lens' OutputSerialization (Prelude.Maybe CSVOutput)+outputSerialization_csv = Lens.lens (\OutputSerialization' {csv} -> csv) (\s@OutputSerialization' {} a -> s {csv = a} :: OutputSerialization)++-- | Specifies JSON as request\'s output serialization format.+outputSerialization_json :: Lens.Lens' OutputSerialization (Prelude.Maybe JSONOutput)+outputSerialization_json = Lens.lens (\OutputSerialization' {json} -> json) (\s@OutputSerialization' {} a -> s {json = a} :: OutputSerialization)++instance Prelude.Hashable OutputSerialization where+  hashWithSalt _salt OutputSerialization' {..} =+    _salt+      `Prelude.hashWithSalt` csv+      `Prelude.hashWithSalt` json++instance Prelude.NFData OutputSerialization where+  rnf OutputSerialization' {..} =+    Prelude.rnf csv `Prelude.seq` Prelude.rnf json++instance Data.ToXML OutputSerialization where+  toXML OutputSerialization' {..} =+    Prelude.mconcat+      ["CSV" Data.@= csv, "JSON" Data.@= json]
+ gen/Amazonka/S3/Types/Owner.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Owner+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Owner where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for the owner\'s display name and ID.+--+-- /See:/ 'newOwner' smart constructor.+data Owner = Owner'+  { -- | Container for the display name of the owner.+    displayName :: Prelude.Maybe Prelude.Text,+    -- | Container for the ID of the owner.+    id :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Owner' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'displayName', 'owner_displayName' - Container for the display name of the owner.+--+-- 'id', 'owner_id' - Container for the ID of the owner.+newOwner ::+  Owner+newOwner =+  Owner'+    { displayName = Prelude.Nothing,+      id = Prelude.Nothing+    }++-- | Container for the display name of the owner.+owner_displayName :: Lens.Lens' Owner (Prelude.Maybe Prelude.Text)+owner_displayName = Lens.lens (\Owner' {displayName} -> displayName) (\s@Owner' {} a -> s {displayName = a} :: Owner)++-- | Container for the ID of the owner.+owner_id :: Lens.Lens' Owner (Prelude.Maybe Prelude.Text)+owner_id = Lens.lens (\Owner' {id} -> id) (\s@Owner' {} a -> s {id = a} :: Owner)++instance Data.FromXML Owner where+  parseXML x =+    Owner'+      Prelude.<$> (x Data..@? "DisplayName")+      Prelude.<*> (x Data..@? "ID")++instance Prelude.Hashable Owner where+  hashWithSalt _salt Owner' {..} =+    _salt+      `Prelude.hashWithSalt` displayName+      `Prelude.hashWithSalt` id++instance Prelude.NFData Owner where+  rnf Owner' {..} =+    Prelude.rnf displayName+      `Prelude.seq` Prelude.rnf id++instance Data.ToXML Owner where+  toXML Owner' {..} =+    Prelude.mconcat+      ["DisplayName" Data.@= displayName, "ID" Data.@= id]
+ gen/Amazonka/S3/Types/OwnerOverride.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.OwnerOverride+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.OwnerOverride+  ( OwnerOverride+      ( ..,+        OwnerOverride_Destination+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype OwnerOverride = OwnerOverride'+  { fromOwnerOverride ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern OwnerOverride_Destination :: OwnerOverride+pattern OwnerOverride_Destination = OwnerOverride' "Destination"++{-# COMPLETE+  OwnerOverride_Destination,+  OwnerOverride'+  #-}
+ gen/Amazonka/S3/Types/OwnershipControls.hs view
@@ -0,0 +1,70 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.OwnershipControls+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.OwnershipControls where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.OwnershipControlsRule++-- | The container element for a bucket\'s ownership controls.+--+-- /See:/ 'newOwnershipControls' smart constructor.+data OwnershipControls = OwnershipControls'+  { -- | The container element for an ownership control rule.+    rules :: [OwnershipControlsRule]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OwnershipControls' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rules', 'ownershipControls_rules' - The container element for an ownership control rule.+newOwnershipControls ::+  OwnershipControls+newOwnershipControls =+  OwnershipControls' {rules = Prelude.mempty}++-- | The container element for an ownership control rule.+ownershipControls_rules :: Lens.Lens' OwnershipControls [OwnershipControlsRule]+ownershipControls_rules = Lens.lens (\OwnershipControls' {rules} -> rules) (\s@OwnershipControls' {} a -> s {rules = a} :: OwnershipControls) Prelude.. Lens.coerced++instance Data.FromXML OwnershipControls where+  parseXML x =+    OwnershipControls'+      Prelude.<$> (Data.parseXMLList "Rule" x)++instance Prelude.Hashable OwnershipControls where+  hashWithSalt _salt OwnershipControls' {..} =+    _salt `Prelude.hashWithSalt` rules++instance Prelude.NFData OwnershipControls where+  rnf OwnershipControls' {..} = Prelude.rnf rules++instance Data.ToXML OwnershipControls where+  toXML OwnershipControls' {..} =+    Prelude.mconcat [Data.toXMLList "Rule" rules]
+ gen/Amazonka/S3/Types/OwnershipControlsRule.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.OwnershipControlsRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.OwnershipControlsRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ObjectOwnership++-- | The container element for an ownership control rule.+--+-- /See:/ 'newOwnershipControlsRule' smart constructor.+data OwnershipControlsRule = OwnershipControlsRule'+  { objectOwnership :: ObjectOwnership+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'OwnershipControlsRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'objectOwnership', 'ownershipControlsRule_objectOwnership' - Undocumented member.+newOwnershipControlsRule ::+  -- | 'objectOwnership'+  ObjectOwnership ->+  OwnershipControlsRule+newOwnershipControlsRule pObjectOwnership_ =+  OwnershipControlsRule'+    { objectOwnership =+        pObjectOwnership_+    }++-- | Undocumented member.+ownershipControlsRule_objectOwnership :: Lens.Lens' OwnershipControlsRule ObjectOwnership+ownershipControlsRule_objectOwnership = Lens.lens (\OwnershipControlsRule' {objectOwnership} -> objectOwnership) (\s@OwnershipControlsRule' {} a -> s {objectOwnership = a} :: OwnershipControlsRule)++instance Data.FromXML OwnershipControlsRule where+  parseXML x =+    OwnershipControlsRule'+      Prelude.<$> (x Data..@ "ObjectOwnership")++instance Prelude.Hashable OwnershipControlsRule where+  hashWithSalt _salt OwnershipControlsRule' {..} =+    _salt `Prelude.hashWithSalt` objectOwnership++instance Prelude.NFData OwnershipControlsRule where+  rnf OwnershipControlsRule' {..} =+    Prelude.rnf objectOwnership++instance Data.ToXML OwnershipControlsRule where+  toXML OwnershipControlsRule' {..} =+    Prelude.mconcat+      ["ObjectOwnership" Data.@= objectOwnership]
+ gen/Amazonka/S3/Types/ParquetInput.hs view
@@ -0,0 +1,52 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ParquetInput+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ParquetInput where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for Parquet.+--+-- /See:/ 'newParquetInput' smart constructor.+data ParquetInput = ParquetInput'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ParquetInput' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newParquetInput ::+  ParquetInput+newParquetInput = ParquetInput'++instance Prelude.Hashable ParquetInput where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData ParquetInput where+  rnf _ = ()++instance Data.ToXML ParquetInput where+  toXML = Prelude.const Prelude.mempty
+ gen/Amazonka/S3/Types/Part.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Part+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Part where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for elements related to a part.+--+-- /See:/ 'newPart' smart constructor.+data Part = Part'+  { -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Entity tag returned when the part was uploaded.+    eTag :: Prelude.Maybe ETag,+    -- | Date and time at which the part was uploaded.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | Part number identifying the part. This is a positive integer between 1+    -- and 10,000.+    partNumber :: Prelude.Maybe Prelude.Int,+    -- | Size in bytes of the uploaded part data.+    size :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Part' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumCRC32', 'part_checksumCRC32' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'part_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'part_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'part_checksumSHA256' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'eTag', 'part_eTag' - Entity tag returned when the part was uploaded.+--+-- 'lastModified', 'part_lastModified' - Date and time at which the part was uploaded.+--+-- 'partNumber', 'part_partNumber' - Part number identifying the part. This is a positive integer between 1+-- and 10,000.+--+-- 'size', 'part_size' - Size in bytes of the uploaded part data.+newPart ::+  Part+newPart =+  Part'+    { checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      eTag = Prelude.Nothing,+      lastModified = Prelude.Nothing,+      partNumber = Prelude.Nothing,+      size = Prelude.Nothing+    }++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+part_checksumCRC32 :: Lens.Lens' Part (Prelude.Maybe Prelude.Text)+part_checksumCRC32 = Lens.lens (\Part' {checksumCRC32} -> checksumCRC32) (\s@Part' {} a -> s {checksumCRC32 = a} :: Part)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+part_checksumCRC32C :: Lens.Lens' Part (Prelude.Maybe Prelude.Text)+part_checksumCRC32C = Lens.lens (\Part' {checksumCRC32C} -> checksumCRC32C) (\s@Part' {} a -> s {checksumCRC32C = a} :: Part)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+part_checksumSHA1 :: Lens.Lens' Part (Prelude.Maybe Prelude.Text)+part_checksumSHA1 = Lens.lens (\Part' {checksumSHA1} -> checksumSHA1) (\s@Part' {} a -> s {checksumSHA1 = a} :: Part)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+part_checksumSHA256 :: Lens.Lens' Part (Prelude.Maybe Prelude.Text)+part_checksumSHA256 = Lens.lens (\Part' {checksumSHA256} -> checksumSHA256) (\s@Part' {} a -> s {checksumSHA256 = a} :: Part)++-- | Entity tag returned when the part was uploaded.+part_eTag :: Lens.Lens' Part (Prelude.Maybe ETag)+part_eTag = Lens.lens (\Part' {eTag} -> eTag) (\s@Part' {} a -> s {eTag = a} :: Part)++-- | Date and time at which the part was uploaded.+part_lastModified :: Lens.Lens' Part (Prelude.Maybe Prelude.UTCTime)+part_lastModified = Lens.lens (\Part' {lastModified} -> lastModified) (\s@Part' {} a -> s {lastModified = a} :: Part) Prelude.. Lens.mapping Data._Time++-- | Part number identifying the part. This is a positive integer between 1+-- and 10,000.+part_partNumber :: Lens.Lens' Part (Prelude.Maybe Prelude.Int)+part_partNumber = Lens.lens (\Part' {partNumber} -> partNumber) (\s@Part' {} a -> s {partNumber = a} :: Part)++-- | Size in bytes of the uploaded part data.+part_size :: Lens.Lens' Part (Prelude.Maybe Prelude.Integer)+part_size = Lens.lens (\Part' {size} -> size) (\s@Part' {} a -> s {size = a} :: Part)++instance Data.FromXML Part where+  parseXML x =+    Part'+      Prelude.<$> (x Data..@? "ChecksumCRC32")+      Prelude.<*> (x Data..@? "ChecksumCRC32C")+      Prelude.<*> (x Data..@? "ChecksumSHA1")+      Prelude.<*> (x Data..@? "ChecksumSHA256")+      Prelude.<*> (x Data..@? "ETag")+      Prelude.<*> (x Data..@? "LastModified")+      Prelude.<*> (x Data..@? "PartNumber")+      Prelude.<*> (x Data..@? "Size")++instance Prelude.Hashable Part where+  hashWithSalt _salt Part' {..} =+    _salt+      `Prelude.hashWithSalt` checksumCRC32+      `Prelude.hashWithSalt` checksumCRC32C+      `Prelude.hashWithSalt` checksumSHA1+      `Prelude.hashWithSalt` checksumSHA256+      `Prelude.hashWithSalt` eTag+      `Prelude.hashWithSalt` lastModified+      `Prelude.hashWithSalt` partNumber+      `Prelude.hashWithSalt` size++instance Prelude.NFData Part where+  rnf Part' {..} =+    Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf lastModified+      `Prelude.seq` Prelude.rnf partNumber+      `Prelude.seq` Prelude.rnf size
+ gen/Amazonka/S3/Types/Payer.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Payer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Payer+  ( Payer+      ( ..,+        Payer_BucketOwner,+        Payer_Requester+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype Payer = Payer' {fromPayer :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Payer_BucketOwner :: Payer+pattern Payer_BucketOwner = Payer' "BucketOwner"++pattern Payer_Requester :: Payer+pattern Payer_Requester = Payer' "Requester"++{-# COMPLETE+  Payer_BucketOwner,+  Payer_Requester,+  Payer'+  #-}
+ gen/Amazonka/S3/Types/Permission.hs view
@@ -0,0 +1,87 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Permission+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Permission+  ( Permission+      ( ..,+        Permission_FULL_CONTROL,+        Permission_READ,+        Permission_READ_ACP,+        Permission_WRITE,+        Permission_WRITE_ACP+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype Permission = Permission'+  { fromPermission ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Permission_FULL_CONTROL :: Permission+pattern Permission_FULL_CONTROL = Permission' "FULL_CONTROL"++pattern Permission_READ :: Permission+pattern Permission_READ = Permission' "READ"++pattern Permission_READ_ACP :: Permission+pattern Permission_READ_ACP = Permission' "READ_ACP"++pattern Permission_WRITE :: Permission+pattern Permission_WRITE = Permission' "WRITE"++pattern Permission_WRITE_ACP :: Permission+pattern Permission_WRITE_ACP = Permission' "WRITE_ACP"++{-# COMPLETE+  Permission_FULL_CONTROL,+  Permission_READ,+  Permission_READ_ACP,+  Permission_WRITE,+  Permission_WRITE_ACP,+  Permission'+  #-}
+ gen/Amazonka/S3/Types/PolicyStatus.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.PolicyStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.PolicyStatus where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The container element for a bucket\'s policy status.+--+-- /See:/ 'newPolicyStatus' smart constructor.+data PolicyStatus = PolicyStatus'+  { -- | The policy status for this bucket. @TRUE@ indicates that this bucket is+    -- public. @FALSE@ indicates that the bucket is not public.+    isPublic :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PolicyStatus' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'isPublic', 'policyStatus_isPublic' - The policy status for this bucket. @TRUE@ indicates that this bucket is+-- public. @FALSE@ indicates that the bucket is not public.+newPolicyStatus ::+  PolicyStatus+newPolicyStatus =+  PolicyStatus' {isPublic = Prelude.Nothing}++-- | The policy status for this bucket. @TRUE@ indicates that this bucket is+-- public. @FALSE@ indicates that the bucket is not public.+policyStatus_isPublic :: Lens.Lens' PolicyStatus (Prelude.Maybe Prelude.Bool)+policyStatus_isPublic = Lens.lens (\PolicyStatus' {isPublic} -> isPublic) (\s@PolicyStatus' {} a -> s {isPublic = a} :: PolicyStatus)++instance Data.FromXML PolicyStatus where+  parseXML x =+    PolicyStatus' Prelude.<$> (x Data..@? "IsPublic")++instance Prelude.Hashable PolicyStatus where+  hashWithSalt _salt PolicyStatus' {..} =+    _salt `Prelude.hashWithSalt` isPublic++instance Prelude.NFData PolicyStatus where+  rnf PolicyStatus' {..} = Prelude.rnf isPublic
+ gen/Amazonka/S3/Types/Progress.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Progress+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Progress where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | This data type contains information about progress of an operation.+--+-- /See:/ 'newProgress' smart constructor.+data Progress = Progress'+  { -- | The current number of uncompressed object bytes processed.+    bytesProcessed :: Prelude.Maybe Prelude.Integer,+    -- | The current number of bytes of records payload data returned.+    bytesReturned :: Prelude.Maybe Prelude.Integer,+    -- | The current number of object bytes scanned.+    bytesScanned :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Progress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bytesProcessed', 'progress_bytesProcessed' - The current number of uncompressed object bytes processed.+--+-- 'bytesReturned', 'progress_bytesReturned' - The current number of bytes of records payload data returned.+--+-- 'bytesScanned', 'progress_bytesScanned' - The current number of object bytes scanned.+newProgress ::+  Progress+newProgress =+  Progress'+    { bytesProcessed = Prelude.Nothing,+      bytesReturned = Prelude.Nothing,+      bytesScanned = Prelude.Nothing+    }++-- | The current number of uncompressed object bytes processed.+progress_bytesProcessed :: Lens.Lens' Progress (Prelude.Maybe Prelude.Integer)+progress_bytesProcessed = Lens.lens (\Progress' {bytesProcessed} -> bytesProcessed) (\s@Progress' {} a -> s {bytesProcessed = a} :: Progress)++-- | The current number of bytes of records payload data returned.+progress_bytesReturned :: Lens.Lens' Progress (Prelude.Maybe Prelude.Integer)+progress_bytesReturned = Lens.lens (\Progress' {bytesReturned} -> bytesReturned) (\s@Progress' {} a -> s {bytesReturned = a} :: Progress)++-- | The current number of object bytes scanned.+progress_bytesScanned :: Lens.Lens' Progress (Prelude.Maybe Prelude.Integer)+progress_bytesScanned = Lens.lens (\Progress' {bytesScanned} -> bytesScanned) (\s@Progress' {} a -> s {bytesScanned = a} :: Progress)++instance Data.FromXML Progress where+  parseXML x =+    Progress'+      Prelude.<$> (x Data..@? "BytesProcessed")+      Prelude.<*> (x Data..@? "BytesReturned")+      Prelude.<*> (x Data..@? "BytesScanned")++instance Prelude.Hashable Progress where+  hashWithSalt _salt Progress' {..} =+    _salt+      `Prelude.hashWithSalt` bytesProcessed+      `Prelude.hashWithSalt` bytesReturned+      `Prelude.hashWithSalt` bytesScanned++instance Prelude.NFData Progress where+  rnf Progress' {..} =+    Prelude.rnf bytesProcessed+      `Prelude.seq` Prelude.rnf bytesReturned+      `Prelude.seq` Prelude.rnf bytesScanned
+ gen/Amazonka/S3/Types/ProgressEvent.hs view
@@ -0,0 +1,66 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ProgressEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ProgressEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Progress++-- | This data type contains information about the progress event of an+-- operation.+--+-- /See:/ 'newProgressEvent' smart constructor.+data ProgressEvent = ProgressEvent'+  { -- | The Progress event details.+    details :: Prelude.Maybe Progress+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ProgressEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'details', 'progressEvent_details' - The Progress event details.+newProgressEvent ::+  ProgressEvent+newProgressEvent =+  ProgressEvent' {details = Prelude.Nothing}++-- | The Progress event details.+progressEvent_details :: Lens.Lens' ProgressEvent (Prelude.Maybe Progress)+progressEvent_details = Lens.lens (\ProgressEvent' {details} -> details) (\s@ProgressEvent' {} a -> s {details = a} :: ProgressEvent)++instance Data.FromXML ProgressEvent where+  parseXML x =+    ProgressEvent' Prelude.<$> (x Data..@? "Details")++instance Prelude.Hashable ProgressEvent where+  hashWithSalt _salt ProgressEvent' {..} =+    _salt `Prelude.hashWithSalt` details++instance Prelude.NFData ProgressEvent where+  rnf ProgressEvent' {..} = Prelude.rnf details
+ gen/Amazonka/S3/Types/Protocol.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Protocol+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Protocol+  ( Protocol+      ( ..,+        Protocol_Http,+        Protocol_Https+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype Protocol = Protocol'+  { fromProtocol ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Protocol_Http :: Protocol+pattern Protocol_Http = Protocol' "http"++pattern Protocol_Https :: Protocol+pattern Protocol_Https = Protocol' "https"++{-# COMPLETE+  Protocol_Http,+  Protocol_Https,+  Protocol'+  #-}
+ gen/Amazonka/S3/Types/PublicAccessBlockConfiguration.hs view
@@ -0,0 +1,216 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.PublicAccessBlockConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.PublicAccessBlockConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The PublicAccessBlock configuration that you want to apply to this+-- Amazon S3 bucket. You can enable the configuration options in any+-- combination. For more information about when Amazon S3 considers a+-- bucket or object public, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status The Meaning of \"Public\">+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newPublicAccessBlockConfiguration' smart constructor.+data PublicAccessBlockConfiguration = PublicAccessBlockConfiguration'+  { -- | Specifies whether Amazon S3 should block public access control lists+    -- (ACLs) for this bucket and objects in this bucket. Setting this element+    -- to @TRUE@ causes the following behavior:+    --+    -- -   PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is+    --     public.+    --+    -- -   PUT Object calls fail if the request includes a public ACL.+    --+    -- -   PUT Bucket calls fail if the request includes a public ACL.+    --+    -- Enabling this setting doesn\'t affect existing policies or ACLs.+    blockPublicAcls :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether Amazon S3 should block public bucket policies for this+    -- bucket. Setting this element to @TRUE@ causes Amazon S3 to reject calls+    -- to PUT Bucket policy if the specified bucket policy allows public+    -- access.+    --+    -- Enabling this setting doesn\'t affect existing bucket policies.+    blockPublicPolicy :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether Amazon S3 should ignore public ACLs for this bucket+    -- and objects in this bucket. Setting this element to @TRUE@ causes Amazon+    -- S3 to ignore all public ACLs on this bucket and objects in this bucket.+    --+    -- Enabling this setting doesn\'t affect the persistence of any existing+    -- ACLs and doesn\'t prevent new public ACLs from being set.+    ignorePublicAcls :: Prelude.Maybe Prelude.Bool,+    -- | Specifies whether Amazon S3 should restrict public bucket policies for+    -- this bucket. Setting this element to @TRUE@ restricts access to this+    -- bucket to only Amazon Web Service principals and authorized users within+    -- this account if the bucket has a public policy.+    --+    -- Enabling this setting doesn\'t affect previously stored bucket policies,+    -- except that public and cross-account access within any public bucket+    -- policy, including non-public delegation to specific accounts, is+    -- blocked.+    restrictPublicBuckets :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'PublicAccessBlockConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'blockPublicAcls', 'publicAccessBlockConfiguration_blockPublicAcls' - Specifies whether Amazon S3 should block public access control lists+-- (ACLs) for this bucket and objects in this bucket. Setting this element+-- to @TRUE@ causes the following behavior:+--+-- -   PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is+--     public.+--+-- -   PUT Object calls fail if the request includes a public ACL.+--+-- -   PUT Bucket calls fail if the request includes a public ACL.+--+-- Enabling this setting doesn\'t affect existing policies or ACLs.+--+-- 'blockPublicPolicy', 'publicAccessBlockConfiguration_blockPublicPolicy' - Specifies whether Amazon S3 should block public bucket policies for this+-- bucket. Setting this element to @TRUE@ causes Amazon S3 to reject calls+-- to PUT Bucket policy if the specified bucket policy allows public+-- access.+--+-- Enabling this setting doesn\'t affect existing bucket policies.+--+-- 'ignorePublicAcls', 'publicAccessBlockConfiguration_ignorePublicAcls' - Specifies whether Amazon S3 should ignore public ACLs for this bucket+-- and objects in this bucket. Setting this element to @TRUE@ causes Amazon+-- S3 to ignore all public ACLs on this bucket and objects in this bucket.+--+-- Enabling this setting doesn\'t affect the persistence of any existing+-- ACLs and doesn\'t prevent new public ACLs from being set.+--+-- 'restrictPublicBuckets', 'publicAccessBlockConfiguration_restrictPublicBuckets' - Specifies whether Amazon S3 should restrict public bucket policies for+-- this bucket. Setting this element to @TRUE@ restricts access to this+-- bucket to only Amazon Web Service principals and authorized users within+-- this account if the bucket has a public policy.+--+-- Enabling this setting doesn\'t affect previously stored bucket policies,+-- except that public and cross-account access within any public bucket+-- policy, including non-public delegation to specific accounts, is+-- blocked.+newPublicAccessBlockConfiguration ::+  PublicAccessBlockConfiguration+newPublicAccessBlockConfiguration =+  PublicAccessBlockConfiguration'+    { blockPublicAcls =+        Prelude.Nothing,+      blockPublicPolicy = Prelude.Nothing,+      ignorePublicAcls = Prelude.Nothing,+      restrictPublicBuckets = Prelude.Nothing+    }++-- | Specifies whether Amazon S3 should block public access control lists+-- (ACLs) for this bucket and objects in this bucket. Setting this element+-- to @TRUE@ causes the following behavior:+--+-- -   PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is+--     public.+--+-- -   PUT Object calls fail if the request includes a public ACL.+--+-- -   PUT Bucket calls fail if the request includes a public ACL.+--+-- Enabling this setting doesn\'t affect existing policies or ACLs.+publicAccessBlockConfiguration_blockPublicAcls :: Lens.Lens' PublicAccessBlockConfiguration (Prelude.Maybe Prelude.Bool)+publicAccessBlockConfiguration_blockPublicAcls = Lens.lens (\PublicAccessBlockConfiguration' {blockPublicAcls} -> blockPublicAcls) (\s@PublicAccessBlockConfiguration' {} a -> s {blockPublicAcls = a} :: PublicAccessBlockConfiguration)++-- | Specifies whether Amazon S3 should block public bucket policies for this+-- bucket. Setting this element to @TRUE@ causes Amazon S3 to reject calls+-- to PUT Bucket policy if the specified bucket policy allows public+-- access.+--+-- Enabling this setting doesn\'t affect existing bucket policies.+publicAccessBlockConfiguration_blockPublicPolicy :: Lens.Lens' PublicAccessBlockConfiguration (Prelude.Maybe Prelude.Bool)+publicAccessBlockConfiguration_blockPublicPolicy = Lens.lens (\PublicAccessBlockConfiguration' {blockPublicPolicy} -> blockPublicPolicy) (\s@PublicAccessBlockConfiguration' {} a -> s {blockPublicPolicy = a} :: PublicAccessBlockConfiguration)++-- | Specifies whether Amazon S3 should ignore public ACLs for this bucket+-- and objects in this bucket. Setting this element to @TRUE@ causes Amazon+-- S3 to ignore all public ACLs on this bucket and objects in this bucket.+--+-- Enabling this setting doesn\'t affect the persistence of any existing+-- ACLs and doesn\'t prevent new public ACLs from being set.+publicAccessBlockConfiguration_ignorePublicAcls :: Lens.Lens' PublicAccessBlockConfiguration (Prelude.Maybe Prelude.Bool)+publicAccessBlockConfiguration_ignorePublicAcls = Lens.lens (\PublicAccessBlockConfiguration' {ignorePublicAcls} -> ignorePublicAcls) (\s@PublicAccessBlockConfiguration' {} a -> s {ignorePublicAcls = a} :: PublicAccessBlockConfiguration)++-- | Specifies whether Amazon S3 should restrict public bucket policies for+-- this bucket. Setting this element to @TRUE@ restricts access to this+-- bucket to only Amazon Web Service principals and authorized users within+-- this account if the bucket has a public policy.+--+-- Enabling this setting doesn\'t affect previously stored bucket policies,+-- except that public and cross-account access within any public bucket+-- policy, including non-public delegation to specific accounts, is+-- blocked.+publicAccessBlockConfiguration_restrictPublicBuckets :: Lens.Lens' PublicAccessBlockConfiguration (Prelude.Maybe Prelude.Bool)+publicAccessBlockConfiguration_restrictPublicBuckets = Lens.lens (\PublicAccessBlockConfiguration' {restrictPublicBuckets} -> restrictPublicBuckets) (\s@PublicAccessBlockConfiguration' {} a -> s {restrictPublicBuckets = a} :: PublicAccessBlockConfiguration)++instance Data.FromXML PublicAccessBlockConfiguration where+  parseXML x =+    PublicAccessBlockConfiguration'+      Prelude.<$> (x Data..@? "BlockPublicAcls")+      Prelude.<*> (x Data..@? "BlockPublicPolicy")+      Prelude.<*> (x Data..@? "IgnorePublicAcls")+      Prelude.<*> (x Data..@? "RestrictPublicBuckets")++instance+  Prelude.Hashable+    PublicAccessBlockConfiguration+  where+  hashWithSalt+    _salt+    PublicAccessBlockConfiguration' {..} =+      _salt+        `Prelude.hashWithSalt` blockPublicAcls+        `Prelude.hashWithSalt` blockPublicPolicy+        `Prelude.hashWithSalt` ignorePublicAcls+        `Prelude.hashWithSalt` restrictPublicBuckets++instance+  Prelude.NFData+    PublicAccessBlockConfiguration+  where+  rnf PublicAccessBlockConfiguration' {..} =+    Prelude.rnf blockPublicAcls+      `Prelude.seq` Prelude.rnf blockPublicPolicy+      `Prelude.seq` Prelude.rnf ignorePublicAcls+      `Prelude.seq` Prelude.rnf restrictPublicBuckets++instance Data.ToXML PublicAccessBlockConfiguration where+  toXML PublicAccessBlockConfiguration' {..} =+    Prelude.mconcat+      [ "BlockPublicAcls" Data.@= blockPublicAcls,+        "BlockPublicPolicy" Data.@= blockPublicPolicy,+        "IgnorePublicAcls" Data.@= ignorePublicAcls,+        "RestrictPublicBuckets"+          Data.@= restrictPublicBuckets+      ]
+ gen/Amazonka/S3/Types/QueueConfiguration.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.QueueConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.QueueConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Event+import Amazonka.S3.Types.NotificationConfigurationFilter++-- | Specifies the configuration for publishing messages to an Amazon Simple+-- Queue Service (Amazon SQS) queue when Amazon S3 detects specified+-- events.+--+-- /See:/ 'newQueueConfiguration' smart constructor.+data QueueConfiguration = QueueConfiguration'+  { filter' :: Prelude.Maybe NotificationConfigurationFilter,+    id :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon+    -- S3 publishes a message when it detects events of the specified type.+    queueArn :: Prelude.Text,+    -- | A collection of bucket events for which to send notifications+    events :: [Event]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'QueueConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'queueConfiguration_filter' - Undocumented member.+--+-- 'id', 'queueConfiguration_id' - Undocumented member.+--+-- 'queueArn', 'queueConfiguration_queueArn' - The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon+-- S3 publishes a message when it detects events of the specified type.+--+-- 'events', 'queueConfiguration_events' - A collection of bucket events for which to send notifications+newQueueConfiguration ::+  -- | 'queueArn'+  Prelude.Text ->+  QueueConfiguration+newQueueConfiguration pQueueArn_ =+  QueueConfiguration'+    { filter' = Prelude.Nothing,+      id = Prelude.Nothing,+      queueArn = pQueueArn_,+      events = Prelude.mempty+    }++-- | Undocumented member.+queueConfiguration_filter :: Lens.Lens' QueueConfiguration (Prelude.Maybe NotificationConfigurationFilter)+queueConfiguration_filter = Lens.lens (\QueueConfiguration' {filter'} -> filter') (\s@QueueConfiguration' {} a -> s {filter' = a} :: QueueConfiguration)++-- | Undocumented member.+queueConfiguration_id :: Lens.Lens' QueueConfiguration (Prelude.Maybe Prelude.Text)+queueConfiguration_id = Lens.lens (\QueueConfiguration' {id} -> id) (\s@QueueConfiguration' {} a -> s {id = a} :: QueueConfiguration)++-- | The Amazon Resource Name (ARN) of the Amazon SQS queue to which Amazon+-- S3 publishes a message when it detects events of the specified type.+queueConfiguration_queueArn :: Lens.Lens' QueueConfiguration Prelude.Text+queueConfiguration_queueArn = Lens.lens (\QueueConfiguration' {queueArn} -> queueArn) (\s@QueueConfiguration' {} a -> s {queueArn = a} :: QueueConfiguration)++-- | A collection of bucket events for which to send notifications+queueConfiguration_events :: Lens.Lens' QueueConfiguration [Event]+queueConfiguration_events = Lens.lens (\QueueConfiguration' {events} -> events) (\s@QueueConfiguration' {} a -> s {events = a} :: QueueConfiguration) Prelude.. Lens.coerced++instance Data.FromXML QueueConfiguration where+  parseXML x =+    QueueConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> (x Data..@? "Id")+      Prelude.<*> (x Data..@ "Queue")+      Prelude.<*> (Data.parseXMLList "Event" x)++instance Prelude.Hashable QueueConfiguration where+  hashWithSalt _salt QueueConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` queueArn+      `Prelude.hashWithSalt` events++instance Prelude.NFData QueueConfiguration where+  rnf QueueConfiguration' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf queueArn+      `Prelude.seq` Prelude.rnf events++instance Data.ToXML QueueConfiguration where+  toXML QueueConfiguration' {..} =+    Prelude.mconcat+      [ "Filter" Data.@= filter',+        "Id" Data.@= id,+        "Queue" Data.@= queueArn,+        Data.toXMLList "Event" events+      ]
+ gen/Amazonka/S3/Types/QuoteFields.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.QuoteFields+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.QuoteFields+  ( QuoteFields+      ( ..,+        QuoteFields_ALWAYS,+        QuoteFields_ASNEEDED+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype QuoteFields = QuoteFields'+  { fromQuoteFields ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern QuoteFields_ALWAYS :: QuoteFields+pattern QuoteFields_ALWAYS = QuoteFields' "ALWAYS"++pattern QuoteFields_ASNEEDED :: QuoteFields+pattern QuoteFields_ASNEEDED = QuoteFields' "ASNEEDED"++{-# COMPLETE+  QuoteFields_ALWAYS,+  QuoteFields_ASNEEDED,+  QuoteFields'+  #-}
+ gen/Amazonka/S3/Types/RecordsEvent.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RecordsEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RecordsEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | The container for the records event.+--+-- /See:/ 'newRecordsEvent' smart constructor.+data RecordsEvent = RecordsEvent'+  { -- | The byte array of partial, one or more result records.+    payload :: Prelude.Maybe Data.Base64+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RecordsEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payload', 'recordsEvent_payload' - The byte array of partial, one or more result records.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+newRecordsEvent ::+  RecordsEvent+newRecordsEvent =+  RecordsEvent' {payload = Prelude.Nothing}++-- | The byte array of partial, one or more result records.--+-- -- /Note:/ This 'Lens' automatically encodes and decodes Base64 data.+-- -- The underlying isomorphism will encode to Base64 representation during+-- -- serialisation, and decode from Base64 representation during deserialisation.+-- -- This 'Lens' accepts and returns only raw unencoded data.+recordsEvent_payload :: Lens.Lens' RecordsEvent (Prelude.Maybe Prelude.ByteString)+recordsEvent_payload = Lens.lens (\RecordsEvent' {payload} -> payload) (\s@RecordsEvent' {} a -> s {payload = a} :: RecordsEvent) Prelude.. Lens.mapping Data._Base64++instance Data.FromXML RecordsEvent where+  parseXML x =+    RecordsEvent' Prelude.<$> (x Data..@? "Payload")++instance Prelude.Hashable RecordsEvent where+  hashWithSalt _salt RecordsEvent' {..} =+    _salt `Prelude.hashWithSalt` payload++instance Prelude.NFData RecordsEvent where+  rnf RecordsEvent' {..} = Prelude.rnf payload
+ gen/Amazonka/S3/Types/Redirect.hs view
@@ -0,0 +1,189 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Redirect+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Redirect where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Protocol++-- | Specifies how requests are redirected. In the event of an error, you can+-- specify a different error code to return.+--+-- /See:/ 'newRedirect' smart constructor.+data Redirect = Redirect'+  { -- | The host name to use in the redirect request.+    hostName :: Prelude.Maybe Prelude.Text,+    -- | The HTTP redirect code to use on the response. Not required if one of+    -- the siblings is present.+    httpRedirectCode :: Prelude.Maybe Prelude.Text,+    -- | Protocol to use when redirecting requests. The default is the protocol+    -- that is used in the original request.+    protocol :: Prelude.Maybe Protocol,+    -- | The object key prefix to use in the redirect request. For example, to+    -- redirect requests for all pages with prefix @docs\/@ (objects in the+    -- @docs\/@ folder) to @documents\/@, you can set a condition block with+    -- @KeyPrefixEquals@ set to @docs\/@ and in the Redirect set+    -- @ReplaceKeyPrefixWith@ to @\/documents@. Not required if one of the+    -- siblings is present. Can be present only if @ReplaceKeyWith@ is not+    -- provided.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    replaceKeyPrefixWith :: Prelude.Maybe Prelude.Text,+    -- | The specific object key to use in the redirect request. For example,+    -- redirect request to @error.html@. Not required if one of the siblings is+    -- present. Can be present only if @ReplaceKeyPrefixWith@ is not provided.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    replaceKeyWith :: Prelude.Maybe Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Redirect' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'hostName', 'redirect_hostName' - The host name to use in the redirect request.+--+-- 'httpRedirectCode', 'redirect_httpRedirectCode' - The HTTP redirect code to use on the response. Not required if one of+-- the siblings is present.+--+-- 'protocol', 'redirect_protocol' - Protocol to use when redirecting requests. The default is the protocol+-- that is used in the original request.+--+-- 'replaceKeyPrefixWith', 'redirect_replaceKeyPrefixWith' - The object key prefix to use in the redirect request. For example, to+-- redirect requests for all pages with prefix @docs\/@ (objects in the+-- @docs\/@ folder) to @documents\/@, you can set a condition block with+-- @KeyPrefixEquals@ set to @docs\/@ and in the Redirect set+-- @ReplaceKeyPrefixWith@ to @\/documents@. Not required if one of the+-- siblings is present. Can be present only if @ReplaceKeyWith@ is not+-- provided.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+--+-- 'replaceKeyWith', 'redirect_replaceKeyWith' - The specific object key to use in the redirect request. For example,+-- redirect request to @error.html@. Not required if one of the siblings is+-- present. Can be present only if @ReplaceKeyPrefixWith@ is not provided.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+newRedirect ::+  Redirect+newRedirect =+  Redirect'+    { hostName = Prelude.Nothing,+      httpRedirectCode = Prelude.Nothing,+      protocol = Prelude.Nothing,+      replaceKeyPrefixWith = Prelude.Nothing,+      replaceKeyWith = Prelude.Nothing+    }++-- | The host name to use in the redirect request.+redirect_hostName :: Lens.Lens' Redirect (Prelude.Maybe Prelude.Text)+redirect_hostName = Lens.lens (\Redirect' {hostName} -> hostName) (\s@Redirect' {} a -> s {hostName = a} :: Redirect)++-- | The HTTP redirect code to use on the response. Not required if one of+-- the siblings is present.+redirect_httpRedirectCode :: Lens.Lens' Redirect (Prelude.Maybe Prelude.Text)+redirect_httpRedirectCode = Lens.lens (\Redirect' {httpRedirectCode} -> httpRedirectCode) (\s@Redirect' {} a -> s {httpRedirectCode = a} :: Redirect)++-- | Protocol to use when redirecting requests. The default is the protocol+-- that is used in the original request.+redirect_protocol :: Lens.Lens' Redirect (Prelude.Maybe Protocol)+redirect_protocol = Lens.lens (\Redirect' {protocol} -> protocol) (\s@Redirect' {} a -> s {protocol = a} :: Redirect)++-- | The object key prefix to use in the redirect request. For example, to+-- redirect requests for all pages with prefix @docs\/@ (objects in the+-- @docs\/@ folder) to @documents\/@, you can set a condition block with+-- @KeyPrefixEquals@ set to @docs\/@ and in the Redirect set+-- @ReplaceKeyPrefixWith@ to @\/documents@. Not required if one of the+-- siblings is present. Can be present only if @ReplaceKeyWith@ is not+-- provided.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+redirect_replaceKeyPrefixWith :: Lens.Lens' Redirect (Prelude.Maybe Prelude.Text)+redirect_replaceKeyPrefixWith = Lens.lens (\Redirect' {replaceKeyPrefixWith} -> replaceKeyPrefixWith) (\s@Redirect' {} a -> s {replaceKeyPrefixWith = a} :: Redirect)++-- | The specific object key to use in the redirect request. For example,+-- redirect request to @error.html@. Not required if one of the siblings is+-- present. Can be present only if @ReplaceKeyPrefixWith@ is not provided.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+redirect_replaceKeyWith :: Lens.Lens' Redirect (Prelude.Maybe Prelude.Text)+redirect_replaceKeyWith = Lens.lens (\Redirect' {replaceKeyWith} -> replaceKeyWith) (\s@Redirect' {} a -> s {replaceKeyWith = a} :: Redirect)++instance Data.FromXML Redirect where+  parseXML x =+    Redirect'+      Prelude.<$> (x Data..@? "HostName")+      Prelude.<*> (x Data..@? "HttpRedirectCode")+      Prelude.<*> (x Data..@? "Protocol")+      Prelude.<*> (x Data..@? "ReplaceKeyPrefixWith")+      Prelude.<*> (x Data..@? "ReplaceKeyWith")++instance Prelude.Hashable Redirect where+  hashWithSalt _salt Redirect' {..} =+    _salt+      `Prelude.hashWithSalt` hostName+      `Prelude.hashWithSalt` httpRedirectCode+      `Prelude.hashWithSalt` protocol+      `Prelude.hashWithSalt` replaceKeyPrefixWith+      `Prelude.hashWithSalt` replaceKeyWith++instance Prelude.NFData Redirect where+  rnf Redirect' {..} =+    Prelude.rnf hostName+      `Prelude.seq` Prelude.rnf httpRedirectCode+      `Prelude.seq` Prelude.rnf protocol+      `Prelude.seq` Prelude.rnf replaceKeyPrefixWith+      `Prelude.seq` Prelude.rnf replaceKeyWith++instance Data.ToXML Redirect where+  toXML Redirect' {..} =+    Prelude.mconcat+      [ "HostName" Data.@= hostName,+        "HttpRedirectCode" Data.@= httpRedirectCode,+        "Protocol" Data.@= protocol,+        "ReplaceKeyPrefixWith" Data.@= replaceKeyPrefixWith,+        "ReplaceKeyWith" Data.@= replaceKeyWith+      ]
+ gen/Amazonka/S3/Types/RedirectAllRequestsTo.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RedirectAllRequestsTo+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RedirectAllRequestsTo where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Protocol++-- | Specifies the redirect behavior of all requests to a website endpoint of+-- an Amazon S3 bucket.+--+-- /See:/ 'newRedirectAllRequestsTo' smart constructor.+data RedirectAllRequestsTo = RedirectAllRequestsTo'+  { -- | Protocol to use when redirecting requests. The default is the protocol+    -- that is used in the original request.+    protocol :: Prelude.Maybe Protocol,+    -- | Name of the host where requests are redirected.+    hostName :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RedirectAllRequestsTo' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'protocol', 'redirectAllRequestsTo_protocol' - Protocol to use when redirecting requests. The default is the protocol+-- that is used in the original request.+--+-- 'hostName', 'redirectAllRequestsTo_hostName' - Name of the host where requests are redirected.+newRedirectAllRequestsTo ::+  -- | 'hostName'+  Prelude.Text ->+  RedirectAllRequestsTo+newRedirectAllRequestsTo pHostName_ =+  RedirectAllRequestsTo'+    { protocol = Prelude.Nothing,+      hostName = pHostName_+    }++-- | Protocol to use when redirecting requests. The default is the protocol+-- that is used in the original request.+redirectAllRequestsTo_protocol :: Lens.Lens' RedirectAllRequestsTo (Prelude.Maybe Protocol)+redirectAllRequestsTo_protocol = Lens.lens (\RedirectAllRequestsTo' {protocol} -> protocol) (\s@RedirectAllRequestsTo' {} a -> s {protocol = a} :: RedirectAllRequestsTo)++-- | Name of the host where requests are redirected.+redirectAllRequestsTo_hostName :: Lens.Lens' RedirectAllRequestsTo Prelude.Text+redirectAllRequestsTo_hostName = Lens.lens (\RedirectAllRequestsTo' {hostName} -> hostName) (\s@RedirectAllRequestsTo' {} a -> s {hostName = a} :: RedirectAllRequestsTo)++instance Data.FromXML RedirectAllRequestsTo where+  parseXML x =+    RedirectAllRequestsTo'+      Prelude.<$> (x Data..@? "Protocol")+      Prelude.<*> (x Data..@ "HostName")++instance Prelude.Hashable RedirectAllRequestsTo where+  hashWithSalt _salt RedirectAllRequestsTo' {..} =+    _salt+      `Prelude.hashWithSalt` protocol+      `Prelude.hashWithSalt` hostName++instance Prelude.NFData RedirectAllRequestsTo where+  rnf RedirectAllRequestsTo' {..} =+    Prelude.rnf protocol+      `Prelude.seq` Prelude.rnf hostName++instance Data.ToXML RedirectAllRequestsTo where+  toXML RedirectAllRequestsTo' {..} =+    Prelude.mconcat+      [ "Protocol" Data.@= protocol,+        "HostName" Data.@= hostName+      ]
+ gen/Amazonka/S3/Types/ReplicaModifications.hs view
@@ -0,0 +1,80 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicaModifications+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicaModifications where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ReplicaModificationsStatus++-- | A filter that you can specify for selection for modifications on+-- replicas. Amazon S3 doesn\'t replicate replica modifications by default.+-- In the latest version of replication configuration (when @Filter@ is+-- specified), you can specify this element and set the status to @Enabled@+-- to replicate modifications on replicas.+--+-- If you don\'t specify the @Filter@ element, Amazon S3 assumes that the+-- replication configuration is the earlier version, V1. In the earlier+-- version, this element is not allowed.+--+-- /See:/ 'newReplicaModifications' smart constructor.+data ReplicaModifications = ReplicaModifications'+  { -- | Specifies whether Amazon S3 replicates modifications on replicas.+    status :: ReplicaModificationsStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicaModifications' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'replicaModifications_status' - Specifies whether Amazon S3 replicates modifications on replicas.+newReplicaModifications ::+  -- | 'status'+  ReplicaModificationsStatus ->+  ReplicaModifications+newReplicaModifications pStatus_ =+  ReplicaModifications' {status = pStatus_}++-- | Specifies whether Amazon S3 replicates modifications on replicas.+replicaModifications_status :: Lens.Lens' ReplicaModifications ReplicaModificationsStatus+replicaModifications_status = Lens.lens (\ReplicaModifications' {status} -> status) (\s@ReplicaModifications' {} a -> s {status = a} :: ReplicaModifications)++instance Data.FromXML ReplicaModifications where+  parseXML x =+    ReplicaModifications'+      Prelude.<$> (x Data..@ "Status")++instance Prelude.Hashable ReplicaModifications where+  hashWithSalt _salt ReplicaModifications' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData ReplicaModifications where+  rnf ReplicaModifications' {..} = Prelude.rnf status++instance Data.ToXML ReplicaModifications where+  toXML ReplicaModifications' {..} =+    Prelude.mconcat ["Status" Data.@= status]
+ gen/Amazonka/S3/Types/ReplicaModificationsStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicaModificationsStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicaModificationsStatus+  ( ReplicaModificationsStatus+      ( ..,+        ReplicaModificationsStatus_Disabled,+        ReplicaModificationsStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ReplicaModificationsStatus = ReplicaModificationsStatus'+  { fromReplicaModificationsStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ReplicaModificationsStatus_Disabled :: ReplicaModificationsStatus+pattern ReplicaModificationsStatus_Disabled = ReplicaModificationsStatus' "Disabled"++pattern ReplicaModificationsStatus_Enabled :: ReplicaModificationsStatus+pattern ReplicaModificationsStatus_Enabled = ReplicaModificationsStatus' "Enabled"++{-# COMPLETE+  ReplicaModificationsStatus_Disabled,+  ReplicaModificationsStatus_Enabled,+  ReplicaModificationsStatus'+  #-}
+ gen/Amazonka/S3/Types/ReplicationConfiguration.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ReplicationRule++-- | A container for replication rules. You can add up to 1,000 rules. The+-- maximum size of a replication configuration is 2 MB.+--+-- /See:/ 'newReplicationConfiguration' smart constructor.+data ReplicationConfiguration = ReplicationConfiguration'+  { -- | The Amazon Resource Name (ARN) of the Identity and Access Management+    -- (IAM) role that Amazon S3 assumes when replicating objects. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html How to Set Up Replication>+    -- in the /Amazon S3 User Guide/.+    role' :: Prelude.Text,+    -- | A container for one or more replication rules. A replication+    -- configuration must have at least one rule and can contain a maximum of+    -- 1,000 rules.+    rules :: [ReplicationRule]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'role'', 'replicationConfiguration_role' - The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role that Amazon S3 assumes when replicating objects. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html How to Set Up Replication>+-- in the /Amazon S3 User Guide/.+--+-- 'rules', 'replicationConfiguration_rules' - A container for one or more replication rules. A replication+-- configuration must have at least one rule and can contain a maximum of+-- 1,000 rules.+newReplicationConfiguration ::+  -- | 'role''+  Prelude.Text ->+  ReplicationConfiguration+newReplicationConfiguration pRole_ =+  ReplicationConfiguration'+    { role' = pRole_,+      rules = Prelude.mempty+    }++-- | The Amazon Resource Name (ARN) of the Identity and Access Management+-- (IAM) role that Amazon S3 assumes when replicating objects. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-how-setup.html How to Set Up Replication>+-- in the /Amazon S3 User Guide/.+replicationConfiguration_role :: Lens.Lens' ReplicationConfiguration Prelude.Text+replicationConfiguration_role = Lens.lens (\ReplicationConfiguration' {role'} -> role') (\s@ReplicationConfiguration' {} a -> s {role' = a} :: ReplicationConfiguration)++-- | A container for one or more replication rules. A replication+-- configuration must have at least one rule and can contain a maximum of+-- 1,000 rules.+replicationConfiguration_rules :: Lens.Lens' ReplicationConfiguration [ReplicationRule]+replicationConfiguration_rules = Lens.lens (\ReplicationConfiguration' {rules} -> rules) (\s@ReplicationConfiguration' {} a -> s {rules = a} :: ReplicationConfiguration) Prelude.. Lens.coerced++instance Data.FromXML ReplicationConfiguration where+  parseXML x =+    ReplicationConfiguration'+      Prelude.<$> (x Data..@ "Role")+      Prelude.<*> (Data.parseXMLList "Rule" x)++instance Prelude.Hashable ReplicationConfiguration where+  hashWithSalt _salt ReplicationConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` role'+      `Prelude.hashWithSalt` rules++instance Prelude.NFData ReplicationConfiguration where+  rnf ReplicationConfiguration' {..} =+    Prelude.rnf role' `Prelude.seq` Prelude.rnf rules++instance Data.ToXML ReplicationConfiguration where+  toXML ReplicationConfiguration' {..} =+    Prelude.mconcat+      ["Role" Data.@= role', Data.toXMLList "Rule" rules]
+ gen/Amazonka/S3/Types/ReplicationRule.hs view
@@ -0,0 +1,259 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.DeleteMarkerReplication+import Amazonka.S3.Types.Destination+import Amazonka.S3.Types.ExistingObjectReplication+import Amazonka.S3.Types.ReplicationRuleFilter+import Amazonka.S3.Types.ReplicationRuleStatus+import Amazonka.S3.Types.SourceSelectionCriteria++-- | Specifies which Amazon S3 objects to replicate and where to store the+-- replicas.+--+-- /See:/ 'newReplicationRule' smart constructor.+data ReplicationRule = ReplicationRule'+  { deleteMarkerReplication :: Prelude.Maybe DeleteMarkerReplication,+    existingObjectReplication :: Prelude.Maybe ExistingObjectReplication,+    filter' :: Prelude.Maybe ReplicationRuleFilter,+    -- | A unique identifier for the rule. The maximum value is 255 characters.+    id :: Prelude.Maybe Prelude.Text,+    -- | An object key name prefix that identifies the object or objects to which+    -- the rule applies. The maximum prefix length is 1,024 characters. To+    -- include all objects in a bucket, specify an empty string.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | The priority indicates which rule has precedence whenever two or more+    -- replication rules conflict. Amazon S3 will attempt to replicate objects+    -- according to all replication rules. However, if there are two or more+    -- rules with the same destination bucket, then objects will be replicated+    -- according to the rule with the highest priority. The higher the number,+    -- the higher the priority.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html Replication>+    -- in the /Amazon S3 User Guide/.+    priority :: Prelude.Maybe Prelude.Int,+    -- | A container that describes additional filters for identifying the source+    -- objects that you want to replicate. You can choose to enable or disable+    -- the replication of these objects. Currently, Amazon S3 supports only the+    -- filter that you can specify for objects created with server-side+    -- encryption using a customer managed key stored in Amazon Web Services+    -- Key Management Service (SSE-KMS).+    sourceSelectionCriteria :: Prelude.Maybe SourceSelectionCriteria,+    -- | Specifies whether the rule is enabled.+    status :: ReplicationRuleStatus,+    -- | A container for information about the replication destination and its+    -- configurations including enabling the S3 Replication Time Control (S3+    -- RTC).+    destination :: Destination+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'deleteMarkerReplication', 'replicationRule_deleteMarkerReplication' - Undocumented member.+--+-- 'existingObjectReplication', 'replicationRule_existingObjectReplication' -+--+-- 'filter'', 'replicationRule_filter' - Undocumented member.+--+-- 'id', 'replicationRule_id' - A unique identifier for the rule. The maximum value is 255 characters.+--+-- 'prefix', 'replicationRule_prefix' - An object key name prefix that identifies the object or objects to which+-- the rule applies. The maximum prefix length is 1,024 characters. To+-- include all objects in a bucket, specify an empty string.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+--+-- 'priority', 'replicationRule_priority' - The priority indicates which rule has precedence whenever two or more+-- replication rules conflict. Amazon S3 will attempt to replicate objects+-- according to all replication rules. However, if there are two or more+-- rules with the same destination bucket, then objects will be replicated+-- according to the rule with the highest priority. The higher the number,+-- the higher the priority.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html Replication>+-- in the /Amazon S3 User Guide/.+--+-- 'sourceSelectionCriteria', 'replicationRule_sourceSelectionCriteria' - A container that describes additional filters for identifying the source+-- objects that you want to replicate. You can choose to enable or disable+-- the replication of these objects. Currently, Amazon S3 supports only the+-- filter that you can specify for objects created with server-side+-- encryption using a customer managed key stored in Amazon Web Services+-- Key Management Service (SSE-KMS).+--+-- 'status', 'replicationRule_status' - Specifies whether the rule is enabled.+--+-- 'destination', 'replicationRule_destination' - A container for information about the replication destination and its+-- configurations including enabling the S3 Replication Time Control (S3+-- RTC).+newReplicationRule ::+  -- | 'status'+  ReplicationRuleStatus ->+  -- | 'destination'+  Destination ->+  ReplicationRule+newReplicationRule pStatus_ pDestination_ =+  ReplicationRule'+    { deleteMarkerReplication =+        Prelude.Nothing,+      existingObjectReplication = Prelude.Nothing,+      filter' = Prelude.Nothing,+      id = Prelude.Nothing,+      prefix = Prelude.Nothing,+      priority = Prelude.Nothing,+      sourceSelectionCriteria = Prelude.Nothing,+      status = pStatus_,+      destination = pDestination_+    }++-- | Undocumented member.+replicationRule_deleteMarkerReplication :: Lens.Lens' ReplicationRule (Prelude.Maybe DeleteMarkerReplication)+replicationRule_deleteMarkerReplication = Lens.lens (\ReplicationRule' {deleteMarkerReplication} -> deleteMarkerReplication) (\s@ReplicationRule' {} a -> s {deleteMarkerReplication = a} :: ReplicationRule)++replicationRule_existingObjectReplication :: Lens.Lens' ReplicationRule (Prelude.Maybe ExistingObjectReplication)+replicationRule_existingObjectReplication = Lens.lens (\ReplicationRule' {existingObjectReplication} -> existingObjectReplication) (\s@ReplicationRule' {} a -> s {existingObjectReplication = a} :: ReplicationRule)++-- | Undocumented member.+replicationRule_filter :: Lens.Lens' ReplicationRule (Prelude.Maybe ReplicationRuleFilter)+replicationRule_filter = Lens.lens (\ReplicationRule' {filter'} -> filter') (\s@ReplicationRule' {} a -> s {filter' = a} :: ReplicationRule)++-- | A unique identifier for the rule. The maximum value is 255 characters.+replicationRule_id :: Lens.Lens' ReplicationRule (Prelude.Maybe Prelude.Text)+replicationRule_id = Lens.lens (\ReplicationRule' {id} -> id) (\s@ReplicationRule' {} a -> s {id = a} :: ReplicationRule)++-- | An object key name prefix that identifies the object or objects to which+-- the rule applies. The maximum prefix length is 1,024 characters. To+-- include all objects in a bucket, specify an empty string.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+replicationRule_prefix :: Lens.Lens' ReplicationRule (Prelude.Maybe Prelude.Text)+replicationRule_prefix = Lens.lens (\ReplicationRule' {prefix} -> prefix) (\s@ReplicationRule' {} a -> s {prefix = a} :: ReplicationRule)++-- | The priority indicates which rule has precedence whenever two or more+-- replication rules conflict. Amazon S3 will attempt to replicate objects+-- according to all replication rules. However, if there are two or more+-- rules with the same destination bucket, then objects will be replicated+-- according to the rule with the highest priority. The higher the number,+-- the higher the priority.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html Replication>+-- in the /Amazon S3 User Guide/.+replicationRule_priority :: Lens.Lens' ReplicationRule (Prelude.Maybe Prelude.Int)+replicationRule_priority = Lens.lens (\ReplicationRule' {priority} -> priority) (\s@ReplicationRule' {} a -> s {priority = a} :: ReplicationRule)++-- | A container that describes additional filters for identifying the source+-- objects that you want to replicate. You can choose to enable or disable+-- the replication of these objects. Currently, Amazon S3 supports only the+-- filter that you can specify for objects created with server-side+-- encryption using a customer managed key stored in Amazon Web Services+-- Key Management Service (SSE-KMS).+replicationRule_sourceSelectionCriteria :: Lens.Lens' ReplicationRule (Prelude.Maybe SourceSelectionCriteria)+replicationRule_sourceSelectionCriteria = Lens.lens (\ReplicationRule' {sourceSelectionCriteria} -> sourceSelectionCriteria) (\s@ReplicationRule' {} a -> s {sourceSelectionCriteria = a} :: ReplicationRule)++-- | Specifies whether the rule is enabled.+replicationRule_status :: Lens.Lens' ReplicationRule ReplicationRuleStatus+replicationRule_status = Lens.lens (\ReplicationRule' {status} -> status) (\s@ReplicationRule' {} a -> s {status = a} :: ReplicationRule)++-- | A container for information about the replication destination and its+-- configurations including enabling the S3 Replication Time Control (S3+-- RTC).+replicationRule_destination :: Lens.Lens' ReplicationRule Destination+replicationRule_destination = Lens.lens (\ReplicationRule' {destination} -> destination) (\s@ReplicationRule' {} a -> s {destination = a} :: ReplicationRule)++instance Data.FromXML ReplicationRule where+  parseXML x =+    ReplicationRule'+      Prelude.<$> (x Data..@? "DeleteMarkerReplication")+      Prelude.<*> (x Data..@? "ExistingObjectReplication")+      Prelude.<*> (x Data..@? "Filter")+      Prelude.<*> (x Data..@? "ID")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@? "Priority")+      Prelude.<*> (x Data..@? "SourceSelectionCriteria")+      Prelude.<*> (x Data..@ "Status")+      Prelude.<*> (x Data..@ "Destination")++instance Prelude.Hashable ReplicationRule where+  hashWithSalt _salt ReplicationRule' {..} =+    _salt+      `Prelude.hashWithSalt` deleteMarkerReplication+      `Prelude.hashWithSalt` existingObjectReplication+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` priority+      `Prelude.hashWithSalt` sourceSelectionCriteria+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` destination++instance Prelude.NFData ReplicationRule where+  rnf ReplicationRule' {..} =+    Prelude.rnf deleteMarkerReplication+      `Prelude.seq` Prelude.rnf existingObjectReplication+      `Prelude.seq` Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf priority+      `Prelude.seq` Prelude.rnf sourceSelectionCriteria+      `Prelude.seq` Prelude.rnf status+      `Prelude.seq` Prelude.rnf destination++instance Data.ToXML ReplicationRule where+  toXML ReplicationRule' {..} =+    Prelude.mconcat+      [ "DeleteMarkerReplication"+          Data.@= deleteMarkerReplication,+        "ExistingObjectReplication"+          Data.@= existingObjectReplication,+        "Filter" Data.@= filter',+        "ID" Data.@= id,+        "Prefix" Data.@= prefix,+        "Priority" Data.@= priority,+        "SourceSelectionCriteria"+          Data.@= sourceSelectionCriteria,+        "Status" Data.@= status,+        "Destination" Data.@= destination+      ]
+ gen/Amazonka/S3/Types/ReplicationRuleAndOperator.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationRuleAndOperator+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationRuleAndOperator where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tag++-- | A container for specifying rule filters. The filters determine the+-- subset of objects to which the rule applies. This element is required+-- only if you specify more than one filter.+--+-- For example:+--+-- -   If you specify both a @Prefix@ and a @Tag@ filter, wrap these+--     filters in an @And@ tag.+--+-- -   If you specify a filter based on multiple tags, wrap the @Tag@+--     elements in an @And@ tag.+--+-- /See:/ 'newReplicationRuleAndOperator' smart constructor.+data ReplicationRuleAndOperator = ReplicationRuleAndOperator'+  { -- | An object key name prefix that identifies the subset of objects to which+    -- the rule applies.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | An array of tags containing key and value pairs.+    tags :: Prelude.Maybe [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationRuleAndOperator' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'prefix', 'replicationRuleAndOperator_prefix' - An object key name prefix that identifies the subset of objects to which+-- the rule applies.+--+-- 'tags', 'replicationRuleAndOperator_tags' - An array of tags containing key and value pairs.+newReplicationRuleAndOperator ::+  ReplicationRuleAndOperator+newReplicationRuleAndOperator =+  ReplicationRuleAndOperator'+    { prefix =+        Prelude.Nothing,+      tags = Prelude.Nothing+    }++-- | An object key name prefix that identifies the subset of objects to which+-- the rule applies.+replicationRuleAndOperator_prefix :: Lens.Lens' ReplicationRuleAndOperator (Prelude.Maybe Prelude.Text)+replicationRuleAndOperator_prefix = Lens.lens (\ReplicationRuleAndOperator' {prefix} -> prefix) (\s@ReplicationRuleAndOperator' {} a -> s {prefix = a} :: ReplicationRuleAndOperator)++-- | An array of tags containing key and value pairs.+replicationRuleAndOperator_tags :: Lens.Lens' ReplicationRuleAndOperator (Prelude.Maybe [Tag])+replicationRuleAndOperator_tags = Lens.lens (\ReplicationRuleAndOperator' {tags} -> tags) (\s@ReplicationRuleAndOperator' {} a -> s {tags = a} :: ReplicationRuleAndOperator) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML ReplicationRuleAndOperator where+  parseXML x =+    ReplicationRuleAndOperator'+      Prelude.<$> (x Data..@? "Prefix")+      Prelude.<*> ( x+                      Data..@? "Tag"+                      Core..!@ Prelude.mempty+                      Prelude.>>= Core.may (Data.parseXMLList "Tag")+                  )++instance Prelude.Hashable ReplicationRuleAndOperator where+  hashWithSalt _salt ReplicationRuleAndOperator' {..} =+    _salt+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tags++instance Prelude.NFData ReplicationRuleAndOperator where+  rnf ReplicationRuleAndOperator' {..} =+    Prelude.rnf prefix `Prelude.seq` Prelude.rnf tags++instance Data.ToXML ReplicationRuleAndOperator where+  toXML ReplicationRuleAndOperator' {..} =+    Prelude.mconcat+      [ "Prefix" Data.@= prefix,+        "Tag"+          Data.@= Data.toXML (Data.toXMLList "Tag" Prelude.<$> tags)+      ]
+ gen/Amazonka/S3/Types/ReplicationRuleFilter.hs view
@@ -0,0 +1,153 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationRuleFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationRuleFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ReplicationRuleAndOperator+import Amazonka.S3.Types.Tag++-- | A filter that identifies the subset of objects to which the replication+-- rule applies. A @Filter@ must specify exactly one @Prefix@, @Tag@, or an+-- @And@ child element.+--+-- /See:/ 'newReplicationRuleFilter' smart constructor.+data ReplicationRuleFilter = ReplicationRuleFilter'+  { -- | A container for specifying rule filters. The filters determine the+    -- subset of objects to which the rule applies. This element is required+    -- only if you specify more than one filter. For example:+    --+    -- -   If you specify both a @Prefix@ and a @Tag@ filter, wrap these+    --     filters in an @And@ tag.+    --+    -- -   If you specify a filter based on multiple tags, wrap the @Tag@+    --     elements in an @And@ tag.+    and :: Prelude.Maybe ReplicationRuleAndOperator,+    -- | An object key name prefix that identifies the subset of objects to which+    -- the rule applies.+    --+    -- Replacement must be made for object keys containing special characters+    -- (such as carriage returns) when using XML requests. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+    prefix :: Prelude.Maybe Prelude.Text,+    -- | A container for specifying a tag key and value.+    --+    -- The rule applies only to objects that have the tag in their tag set.+    tag :: Prelude.Maybe Tag+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationRuleFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'and', 'replicationRuleFilter_and' - A container for specifying rule filters. The filters determine the+-- subset of objects to which the rule applies. This element is required+-- only if you specify more than one filter. For example:+--+-- -   If you specify both a @Prefix@ and a @Tag@ filter, wrap these+--     filters in an @And@ tag.+--+-- -   If you specify a filter based on multiple tags, wrap the @Tag@+--     elements in an @And@ tag.+--+-- 'prefix', 'replicationRuleFilter_prefix' - An object key name prefix that identifies the subset of objects to which+-- the rule applies.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+--+-- 'tag', 'replicationRuleFilter_tag' - A container for specifying a tag key and value.+--+-- The rule applies only to objects that have the tag in their tag set.+newReplicationRuleFilter ::+  ReplicationRuleFilter+newReplicationRuleFilter =+  ReplicationRuleFilter'+    { and = Prelude.Nothing,+      prefix = Prelude.Nothing,+      tag = Prelude.Nothing+    }++-- | A container for specifying rule filters. The filters determine the+-- subset of objects to which the rule applies. This element is required+-- only if you specify more than one filter. For example:+--+-- -   If you specify both a @Prefix@ and a @Tag@ filter, wrap these+--     filters in an @And@ tag.+--+-- -   If you specify a filter based on multiple tags, wrap the @Tag@+--     elements in an @And@ tag.+replicationRuleFilter_and :: Lens.Lens' ReplicationRuleFilter (Prelude.Maybe ReplicationRuleAndOperator)+replicationRuleFilter_and = Lens.lens (\ReplicationRuleFilter' {and} -> and) (\s@ReplicationRuleFilter' {} a -> s {and = a} :: ReplicationRuleFilter)++-- | An object key name prefix that identifies the subset of objects to which+-- the rule applies.+--+-- Replacement must be made for object keys containing special characters+-- (such as carriage returns) when using XML requests. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints XML related object key constraints>.+replicationRuleFilter_prefix :: Lens.Lens' ReplicationRuleFilter (Prelude.Maybe Prelude.Text)+replicationRuleFilter_prefix = Lens.lens (\ReplicationRuleFilter' {prefix} -> prefix) (\s@ReplicationRuleFilter' {} a -> s {prefix = a} :: ReplicationRuleFilter)++-- | A container for specifying a tag key and value.+--+-- The rule applies only to objects that have the tag in their tag set.+replicationRuleFilter_tag :: Lens.Lens' ReplicationRuleFilter (Prelude.Maybe Tag)+replicationRuleFilter_tag = Lens.lens (\ReplicationRuleFilter' {tag} -> tag) (\s@ReplicationRuleFilter' {} a -> s {tag = a} :: ReplicationRuleFilter)++instance Data.FromXML ReplicationRuleFilter where+  parseXML x =+    ReplicationRuleFilter'+      Prelude.<$> (x Data..@? "And")+      Prelude.<*> (x Data..@? "Prefix")+      Prelude.<*> (x Data..@? "Tag")++instance Prelude.Hashable ReplicationRuleFilter where+  hashWithSalt _salt ReplicationRuleFilter' {..} =+    _salt+      `Prelude.hashWithSalt` and+      `Prelude.hashWithSalt` prefix+      `Prelude.hashWithSalt` tag++instance Prelude.NFData ReplicationRuleFilter where+  rnf ReplicationRuleFilter' {..} =+    Prelude.rnf and+      `Prelude.seq` Prelude.rnf prefix+      `Prelude.seq` Prelude.rnf tag++instance Data.ToXML ReplicationRuleFilter where+  toXML ReplicationRuleFilter' {..} =+    Prelude.mconcat+      [ "And" Data.@= and,+        "Prefix" Data.@= prefix,+        "Tag" Data.@= tag+      ]
+ gen/Amazonka/S3/Types/ReplicationRuleStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationRuleStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationRuleStatus+  ( ReplicationRuleStatus+      ( ..,+        ReplicationRuleStatus_Disabled,+        ReplicationRuleStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ReplicationRuleStatus = ReplicationRuleStatus'+  { fromReplicationRuleStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ReplicationRuleStatus_Disabled :: ReplicationRuleStatus+pattern ReplicationRuleStatus_Disabled = ReplicationRuleStatus' "Disabled"++pattern ReplicationRuleStatus_Enabled :: ReplicationRuleStatus+pattern ReplicationRuleStatus_Enabled = ReplicationRuleStatus' "Enabled"++{-# COMPLETE+  ReplicationRuleStatus_Disabled,+  ReplicationRuleStatus_Enabled,+  ReplicationRuleStatus'+  #-}
+ gen/Amazonka/S3/Types/ReplicationStatus.hs view
@@ -0,0 +1,82 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationStatus+  ( ReplicationStatus+      ( ..,+        ReplicationStatus_COMPLETED,+        ReplicationStatus_FAILED,+        ReplicationStatus_PENDING,+        ReplicationStatus_REPLICA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ReplicationStatus = ReplicationStatus'+  { fromReplicationStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ReplicationStatus_COMPLETED :: ReplicationStatus+pattern ReplicationStatus_COMPLETED = ReplicationStatus' "COMPLETED"++pattern ReplicationStatus_FAILED :: ReplicationStatus+pattern ReplicationStatus_FAILED = ReplicationStatus' "FAILED"++pattern ReplicationStatus_PENDING :: ReplicationStatus+pattern ReplicationStatus_PENDING = ReplicationStatus' "PENDING"++pattern ReplicationStatus_REPLICA :: ReplicationStatus+pattern ReplicationStatus_REPLICA = ReplicationStatus' "REPLICA"++{-# COMPLETE+  ReplicationStatus_COMPLETED,+  ReplicationStatus_FAILED,+  ReplicationStatus_PENDING,+  ReplicationStatus_REPLICA,+  ReplicationStatus'+  #-}
+ gen/Amazonka/S3/Types/ReplicationTime.hs view
@@ -0,0 +1,94 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationTime+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationTime where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ReplicationTimeStatus+import Amazonka.S3.Types.ReplicationTimeValue++-- | A container specifying S3 Replication Time Control (S3 RTC) related+-- information, including whether S3 RTC is enabled and the time when all+-- objects and operations on objects must be replicated. Must be specified+-- together with a @Metrics@ block.+--+-- /See:/ 'newReplicationTime' smart constructor.+data ReplicationTime = ReplicationTime'+  { -- | Specifies whether the replication time is enabled.+    status :: ReplicationTimeStatus,+    -- | A container specifying the time by which replication should be complete+    -- for all objects and operations on objects.+    time :: ReplicationTimeValue+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationTime' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'replicationTime_status' - Specifies whether the replication time is enabled.+--+-- 'time', 'replicationTime_time' - A container specifying the time by which replication should be complete+-- for all objects and operations on objects.+newReplicationTime ::+  -- | 'status'+  ReplicationTimeStatus ->+  -- | 'time'+  ReplicationTimeValue ->+  ReplicationTime+newReplicationTime pStatus_ pTime_ =+  ReplicationTime' {status = pStatus_, time = pTime_}++-- | Specifies whether the replication time is enabled.+replicationTime_status :: Lens.Lens' ReplicationTime ReplicationTimeStatus+replicationTime_status = Lens.lens (\ReplicationTime' {status} -> status) (\s@ReplicationTime' {} a -> s {status = a} :: ReplicationTime)++-- | A container specifying the time by which replication should be complete+-- for all objects and operations on objects.+replicationTime_time :: Lens.Lens' ReplicationTime ReplicationTimeValue+replicationTime_time = Lens.lens (\ReplicationTime' {time} -> time) (\s@ReplicationTime' {} a -> s {time = a} :: ReplicationTime)++instance Data.FromXML ReplicationTime where+  parseXML x =+    ReplicationTime'+      Prelude.<$> (x Data..@ "Status")+      Prelude.<*> (x Data..@ "Time")++instance Prelude.Hashable ReplicationTime where+  hashWithSalt _salt ReplicationTime' {..} =+    _salt+      `Prelude.hashWithSalt` status+      `Prelude.hashWithSalt` time++instance Prelude.NFData ReplicationTime where+  rnf ReplicationTime' {..} =+    Prelude.rnf status `Prelude.seq` Prelude.rnf time++instance Data.ToXML ReplicationTime where+  toXML ReplicationTime' {..} =+    Prelude.mconcat+      ["Status" Data.@= status, "Time" Data.@= time]
+ gen/Amazonka/S3/Types/ReplicationTimeStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationTimeStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationTimeStatus+  ( ReplicationTimeStatus+      ( ..,+        ReplicationTimeStatus_Disabled,+        ReplicationTimeStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ReplicationTimeStatus = ReplicationTimeStatus'+  { fromReplicationTimeStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ReplicationTimeStatus_Disabled :: ReplicationTimeStatus+pattern ReplicationTimeStatus_Disabled = ReplicationTimeStatus' "Disabled"++pattern ReplicationTimeStatus_Enabled :: ReplicationTimeStatus+pattern ReplicationTimeStatus_Enabled = ReplicationTimeStatus' "Enabled"++{-# COMPLETE+  ReplicationTimeStatus_Disabled,+  ReplicationTimeStatus_Enabled,+  ReplicationTimeStatus'+  #-}
+ gen/Amazonka/S3/Types/ReplicationTimeValue.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ReplicationTimeValue+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ReplicationTimeValue where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A container specifying the time value for S3 Replication Time Control+-- (S3 RTC) and replication metrics @EventThreshold@.+--+-- /See:/ 'newReplicationTimeValue' smart constructor.+data ReplicationTimeValue = ReplicationTimeValue'+  { -- | Contains an integer specifying time in minutes.+    --+    -- Valid value: 15+    minutes :: Prelude.Maybe Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ReplicationTimeValue' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'minutes', 'replicationTimeValue_minutes' - Contains an integer specifying time in minutes.+--+-- Valid value: 15+newReplicationTimeValue ::+  ReplicationTimeValue+newReplicationTimeValue =+  ReplicationTimeValue' {minutes = Prelude.Nothing}++-- | Contains an integer specifying time in minutes.+--+-- Valid value: 15+replicationTimeValue_minutes :: Lens.Lens' ReplicationTimeValue (Prelude.Maybe Prelude.Int)+replicationTimeValue_minutes = Lens.lens (\ReplicationTimeValue' {minutes} -> minutes) (\s@ReplicationTimeValue' {} a -> s {minutes = a} :: ReplicationTimeValue)++instance Data.FromXML ReplicationTimeValue where+  parseXML x =+    ReplicationTimeValue'+      Prelude.<$> (x Data..@? "Minutes")++instance Prelude.Hashable ReplicationTimeValue where+  hashWithSalt _salt ReplicationTimeValue' {..} =+    _salt `Prelude.hashWithSalt` minutes++instance Prelude.NFData ReplicationTimeValue where+  rnf ReplicationTimeValue' {..} = Prelude.rnf minutes++instance Data.ToXML ReplicationTimeValue where+  toXML ReplicationTimeValue' {..} =+    Prelude.mconcat ["Minutes" Data.@= minutes]
+ gen/Amazonka/S3/Types/RequestCharged.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RequestCharged+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RequestCharged+  ( RequestCharged+      ( ..,+        RequestCharged_Requester+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | If present, indicates that the requester was successfully charged for+-- the request.+newtype RequestCharged = RequestCharged'+  { fromRequestCharged ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RequestCharged_Requester :: RequestCharged+pattern RequestCharged_Requester = RequestCharged' "requester"++{-# COMPLETE+  RequestCharged_Requester,+  RequestCharged'+  #-}
+ gen/Amazonka/S3/Types/RequestPayer.hs view
@@ -0,0 +1,73 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RequestPayer+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RequestPayer+  ( RequestPayer+      ( ..,+        RequestPayer_Requester+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Confirms that the requester knows that they will be charged for the+-- request. Bucket owners need not specify this parameter in their+-- requests. For information about downloading objects from Requester Pays+-- buckets, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html Downloading Objects in Requester Pays Buckets>+-- in the /Amazon S3 User Guide/.+newtype RequestPayer = RequestPayer'+  { fromRequestPayer ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RequestPayer_Requester :: RequestPayer+pattern RequestPayer_Requester = RequestPayer' "requester"++{-# COMPLETE+  RequestPayer_Requester,+  RequestPayer'+  #-}
+ gen/Amazonka/S3/Types/RequestPaymentConfiguration.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RequestPaymentConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RequestPaymentConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Payer++-- | Container for Payer.+--+-- /See:/ 'newRequestPaymentConfiguration' smart constructor.+data RequestPaymentConfiguration = RequestPaymentConfiguration'+  { -- | Specifies who pays for the download and request fees.+    payer :: Payer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RequestPaymentConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'payer', 'requestPaymentConfiguration_payer' - Specifies who pays for the download and request fees.+newRequestPaymentConfiguration ::+  -- | 'payer'+  Payer ->+  RequestPaymentConfiguration+newRequestPaymentConfiguration pPayer_ =+  RequestPaymentConfiguration' {payer = pPayer_}++-- | Specifies who pays for the download and request fees.+requestPaymentConfiguration_payer :: Lens.Lens' RequestPaymentConfiguration Payer+requestPaymentConfiguration_payer = Lens.lens (\RequestPaymentConfiguration' {payer} -> payer) (\s@RequestPaymentConfiguration' {} a -> s {payer = a} :: RequestPaymentConfiguration)++instance Prelude.Hashable RequestPaymentConfiguration where+  hashWithSalt _salt RequestPaymentConfiguration' {..} =+    _salt `Prelude.hashWithSalt` payer++instance Prelude.NFData RequestPaymentConfiguration where+  rnf RequestPaymentConfiguration' {..} =+    Prelude.rnf payer++instance Data.ToXML RequestPaymentConfiguration where+  toXML RequestPaymentConfiguration' {..} =+    Prelude.mconcat ["Payer" Data.@= payer]
+ gen/Amazonka/S3/Types/RequestProgress.hs view
@@ -0,0 +1,68 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RequestProgress+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RequestProgress where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for specifying if periodic @QueryProgress@ messages should be+-- sent.+--+-- /See:/ 'newRequestProgress' smart constructor.+data RequestProgress = RequestProgress'+  { -- | Specifies whether periodic QueryProgress frames should be sent. Valid+    -- values: TRUE, FALSE. Default value: FALSE.+    enabled :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RequestProgress' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'enabled', 'requestProgress_enabled' - Specifies whether periodic QueryProgress frames should be sent. Valid+-- values: TRUE, FALSE. Default value: FALSE.+newRequestProgress ::+  RequestProgress+newRequestProgress =+  RequestProgress' {enabled = Prelude.Nothing}++-- | Specifies whether periodic QueryProgress frames should be sent. Valid+-- values: TRUE, FALSE. Default value: FALSE.+requestProgress_enabled :: Lens.Lens' RequestProgress (Prelude.Maybe Prelude.Bool)+requestProgress_enabled = Lens.lens (\RequestProgress' {enabled} -> enabled) (\s@RequestProgress' {} a -> s {enabled = a} :: RequestProgress)++instance Prelude.Hashable RequestProgress where+  hashWithSalt _salt RequestProgress' {..} =+    _salt `Prelude.hashWithSalt` enabled++instance Prelude.NFData RequestProgress where+  rnf RequestProgress' {..} = Prelude.rnf enabled++instance Data.ToXML RequestProgress where+  toXML RequestProgress' {..} =+    Prelude.mconcat ["Enabled" Data.@= enabled]
+ gen/Amazonka/S3/Types/RestoreRequest.hs view
@@ -0,0 +1,162 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RestoreRequest+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RestoreRequest where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.GlacierJobParameters+import Amazonka.S3.Types.OutputLocation+import Amazonka.S3.Types.RestoreRequestType+import Amazonka.S3.Types.SelectParameters+import Amazonka.S3.Types.Tier++-- | Container for restore job parameters.+--+-- /See:/ 'newRestoreRequest' smart constructor.+data RestoreRequest = RestoreRequest'+  { -- | Lifetime of the active copy in days. Do not use with restores that+    -- specify @OutputLocation@.+    --+    -- The Days element is required for regular restores, and must not be+    -- provided for select requests.+    days :: Prelude.Maybe Prelude.Int,+    -- | The optional description for the job.+    description :: Prelude.Maybe Prelude.Text,+    -- | S3 Glacier related parameters pertaining to this job. Do not use with+    -- restores that specify @OutputLocation@.+    glacierJobParameters :: Prelude.Maybe GlacierJobParameters,+    -- | Describes the location where the restore job\'s output is stored.+    outputLocation :: Prelude.Maybe OutputLocation,+    -- | Describes the parameters for Select job types.+    selectParameters :: Prelude.Maybe SelectParameters,+    -- | Retrieval tier at which the restore will be processed.+    tier :: Prelude.Maybe Tier,+    -- | Type of restore request.+    type' :: Prelude.Maybe RestoreRequestType+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RestoreRequest' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'days', 'restoreRequest_days' - Lifetime of the active copy in days. Do not use with restores that+-- specify @OutputLocation@.+--+-- The Days element is required for regular restores, and must not be+-- provided for select requests.+--+-- 'description', 'restoreRequest_description' - The optional description for the job.+--+-- 'glacierJobParameters', 'restoreRequest_glacierJobParameters' - S3 Glacier related parameters pertaining to this job. Do not use with+-- restores that specify @OutputLocation@.+--+-- 'outputLocation', 'restoreRequest_outputLocation' - Describes the location where the restore job\'s output is stored.+--+-- 'selectParameters', 'restoreRequest_selectParameters' - Describes the parameters for Select job types.+--+-- 'tier', 'restoreRequest_tier' - Retrieval tier at which the restore will be processed.+--+-- 'type'', 'restoreRequest_type' - Type of restore request.+newRestoreRequest ::+  RestoreRequest+newRestoreRequest =+  RestoreRequest'+    { days = Prelude.Nothing,+      description = Prelude.Nothing,+      glacierJobParameters = Prelude.Nothing,+      outputLocation = Prelude.Nothing,+      selectParameters = Prelude.Nothing,+      tier = Prelude.Nothing,+      type' = Prelude.Nothing+    }++-- | Lifetime of the active copy in days. Do not use with restores that+-- specify @OutputLocation@.+--+-- The Days element is required for regular restores, and must not be+-- provided for select requests.+restoreRequest_days :: Lens.Lens' RestoreRequest (Prelude.Maybe Prelude.Int)+restoreRequest_days = Lens.lens (\RestoreRequest' {days} -> days) (\s@RestoreRequest' {} a -> s {days = a} :: RestoreRequest)++-- | The optional description for the job.+restoreRequest_description :: Lens.Lens' RestoreRequest (Prelude.Maybe Prelude.Text)+restoreRequest_description = Lens.lens (\RestoreRequest' {description} -> description) (\s@RestoreRequest' {} a -> s {description = a} :: RestoreRequest)++-- | S3 Glacier related parameters pertaining to this job. Do not use with+-- restores that specify @OutputLocation@.+restoreRequest_glacierJobParameters :: Lens.Lens' RestoreRequest (Prelude.Maybe GlacierJobParameters)+restoreRequest_glacierJobParameters = Lens.lens (\RestoreRequest' {glacierJobParameters} -> glacierJobParameters) (\s@RestoreRequest' {} a -> s {glacierJobParameters = a} :: RestoreRequest)++-- | Describes the location where the restore job\'s output is stored.+restoreRequest_outputLocation :: Lens.Lens' RestoreRequest (Prelude.Maybe OutputLocation)+restoreRequest_outputLocation = Lens.lens (\RestoreRequest' {outputLocation} -> outputLocation) (\s@RestoreRequest' {} a -> s {outputLocation = a} :: RestoreRequest)++-- | Describes the parameters for Select job types.+restoreRequest_selectParameters :: Lens.Lens' RestoreRequest (Prelude.Maybe SelectParameters)+restoreRequest_selectParameters = Lens.lens (\RestoreRequest' {selectParameters} -> selectParameters) (\s@RestoreRequest' {} a -> s {selectParameters = a} :: RestoreRequest)++-- | Retrieval tier at which the restore will be processed.+restoreRequest_tier :: Lens.Lens' RestoreRequest (Prelude.Maybe Tier)+restoreRequest_tier = Lens.lens (\RestoreRequest' {tier} -> tier) (\s@RestoreRequest' {} a -> s {tier = a} :: RestoreRequest)++-- | Type of restore request.+restoreRequest_type :: Lens.Lens' RestoreRequest (Prelude.Maybe RestoreRequestType)+restoreRequest_type = Lens.lens (\RestoreRequest' {type'} -> type') (\s@RestoreRequest' {} a -> s {type' = a} :: RestoreRequest)++instance Prelude.Hashable RestoreRequest where+  hashWithSalt _salt RestoreRequest' {..} =+    _salt+      `Prelude.hashWithSalt` days+      `Prelude.hashWithSalt` description+      `Prelude.hashWithSalt` glacierJobParameters+      `Prelude.hashWithSalt` outputLocation+      `Prelude.hashWithSalt` selectParameters+      `Prelude.hashWithSalt` tier+      `Prelude.hashWithSalt` type'++instance Prelude.NFData RestoreRequest where+  rnf RestoreRequest' {..} =+    Prelude.rnf days+      `Prelude.seq` Prelude.rnf description+      `Prelude.seq` Prelude.rnf glacierJobParameters+      `Prelude.seq` Prelude.rnf outputLocation+      `Prelude.seq` Prelude.rnf selectParameters+      `Prelude.seq` Prelude.rnf tier+      `Prelude.seq` Prelude.rnf type'++instance Data.ToXML RestoreRequest where+  toXML RestoreRequest' {..} =+    Prelude.mconcat+      [ "Days" Data.@= days,+        "Description" Data.@= description,+        "GlacierJobParameters" Data.@= glacierJobParameters,+        "OutputLocation" Data.@= outputLocation,+        "SelectParameters" Data.@= selectParameters,+        "Tier" Data.@= tier,+        "Type" Data.@= type'+      ]
+ gen/Amazonka/S3/Types/RestoreRequestType.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RestoreRequestType+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RestoreRequestType+  ( RestoreRequestType+      ( ..,+        RestoreRequestType_SELECT+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype RestoreRequestType = RestoreRequestType'+  { fromRestoreRequestType ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern RestoreRequestType_SELECT :: RestoreRequestType+pattern RestoreRequestType_SELECT = RestoreRequestType' "SELECT"++{-# COMPLETE+  RestoreRequestType_SELECT,+  RestoreRequestType'+  #-}
+ gen/Amazonka/S3/Types/RoutingRule.hs view
@@ -0,0 +1,113 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.RoutingRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.RoutingRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Condition+import Amazonka.S3.Types.Redirect++-- | Specifies the redirect behavior and when a redirect is applied. For more+-- information about routing rules, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html#advanced-conditional-redirects Configuring advanced conditional redirects>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newRoutingRule' smart constructor.+data RoutingRule = RoutingRule'+  { -- | A container for describing a condition that must be met for the+    -- specified redirect to apply. For example, 1. If request is for pages in+    -- the @\/docs@ folder, redirect to the @\/documents@ folder. 2. If request+    -- results in HTTP error 4xx, redirect request to another host where you+    -- might process the error.+    condition :: Prelude.Maybe Condition,+    -- | Container for redirect information. You can redirect requests to another+    -- host, to another page, or with another protocol. In the event of an+    -- error, you can specify a different error code to return.+    redirect :: Redirect+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'RoutingRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'condition', 'routingRule_condition' - A container for describing a condition that must be met for the+-- specified redirect to apply. For example, 1. If request is for pages in+-- the @\/docs@ folder, redirect to the @\/documents@ folder. 2. If request+-- results in HTTP error 4xx, redirect request to another host where you+-- might process the error.+--+-- 'redirect', 'routingRule_redirect' - Container for redirect information. You can redirect requests to another+-- host, to another page, or with another protocol. In the event of an+-- error, you can specify a different error code to return.+newRoutingRule ::+  -- | 'redirect'+  Redirect ->+  RoutingRule+newRoutingRule pRedirect_ =+  RoutingRule'+    { condition = Prelude.Nothing,+      redirect = pRedirect_+    }++-- | A container for describing a condition that must be met for the+-- specified redirect to apply. For example, 1. If request is for pages in+-- the @\/docs@ folder, redirect to the @\/documents@ folder. 2. If request+-- results in HTTP error 4xx, redirect request to another host where you+-- might process the error.+routingRule_condition :: Lens.Lens' RoutingRule (Prelude.Maybe Condition)+routingRule_condition = Lens.lens (\RoutingRule' {condition} -> condition) (\s@RoutingRule' {} a -> s {condition = a} :: RoutingRule)++-- | Container for redirect information. You can redirect requests to another+-- host, to another page, or with another protocol. In the event of an+-- error, you can specify a different error code to return.+routingRule_redirect :: Lens.Lens' RoutingRule Redirect+routingRule_redirect = Lens.lens (\RoutingRule' {redirect} -> redirect) (\s@RoutingRule' {} a -> s {redirect = a} :: RoutingRule)++instance Data.FromXML RoutingRule where+  parseXML x =+    RoutingRule'+      Prelude.<$> (x Data..@? "Condition")+      Prelude.<*> (x Data..@ "Redirect")++instance Prelude.Hashable RoutingRule where+  hashWithSalt _salt RoutingRule' {..} =+    _salt+      `Prelude.hashWithSalt` condition+      `Prelude.hashWithSalt` redirect++instance Prelude.NFData RoutingRule where+  rnf RoutingRule' {..} =+    Prelude.rnf condition+      `Prelude.seq` Prelude.rnf redirect++instance Data.ToXML RoutingRule where+  toXML RoutingRule' {..} =+    Prelude.mconcat+      [ "Condition" Data.@= condition,+        "Redirect" Data.@= redirect+      ]
+ gen/Amazonka/S3/Types/S3KeyFilter.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.S3KeyFilter+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.S3KeyFilter where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.FilterRule++-- | A container for object key name prefix and suffix filtering rules.+--+-- /See:/ 'newS3KeyFilter' smart constructor.+data S3KeyFilter = S3KeyFilter'+  { filterRules :: Prelude.Maybe [FilterRule]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3KeyFilter' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filterRules', 's3KeyFilter_filterRules' - Undocumented member.+newS3KeyFilter ::+  S3KeyFilter+newS3KeyFilter =+  S3KeyFilter' {filterRules = Prelude.Nothing}++-- | Undocumented member.+s3KeyFilter_filterRules :: Lens.Lens' S3KeyFilter (Prelude.Maybe [FilterRule])+s3KeyFilter_filterRules = Lens.lens (\S3KeyFilter' {filterRules} -> filterRules) (\s@S3KeyFilter' {} a -> s {filterRules = a} :: S3KeyFilter) Prelude.. Lens.mapping Lens.coerced++instance Data.FromXML S3KeyFilter where+  parseXML x =+    S3KeyFilter'+      Prelude.<$> (Core.may (Data.parseXMLList "FilterRule") x)++instance Prelude.Hashable S3KeyFilter where+  hashWithSalt _salt S3KeyFilter' {..} =+    _salt `Prelude.hashWithSalt` filterRules++instance Prelude.NFData S3KeyFilter where+  rnf S3KeyFilter' {..} = Prelude.rnf filterRules++instance Data.ToXML S3KeyFilter where+  toXML S3KeyFilter' {..} =+    Prelude.mconcat+      [ Data.toXML+          ( Data.toXMLList "FilterRule"+              Prelude.<$> filterRules+          )+      ]
+ gen/Amazonka/S3/Types/S3Location.hs view
@@ -0,0 +1,172 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.S3Location+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.S3Location where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Encryption+import Amazonka.S3.Types.Grant+import Amazonka.S3.Types.MetadataEntry+import Amazonka.S3.Types.ObjectCannedACL+import Amazonka.S3.Types.StorageClass+import Amazonka.S3.Types.Tagging++-- | Describes an Amazon S3 location that will receive the results of the+-- restore request.+--+-- /See:/ 'newS3Location' smart constructor.+data S3Location = S3Location'+  { -- | A list of grants that control access to the staged results.+    accessControlList :: Prelude.Maybe [Grant],+    -- | The canned ACL to apply to the restore results.+    cannedACL :: Prelude.Maybe ObjectCannedACL,+    encryption :: Prelude.Maybe Encryption,+    -- | The class of storage used to store the restore results.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The tag-set that is applied to the restore results.+    tagging :: Prelude.Maybe Tagging,+    -- | A list of metadata to store with the restore results in S3.+    userMetadata :: Prelude.Maybe [MetadataEntry],+    -- | The name of the bucket where the restore results will be placed.+    bucketName :: BucketName,+    -- | The prefix that is prepended to the restore results for this request.+    prefix :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3Location' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'accessControlList', 's3Location_accessControlList' - A list of grants that control access to the staged results.+--+-- 'cannedACL', 's3Location_cannedACL' - The canned ACL to apply to the restore results.+--+-- 'encryption', 's3Location_encryption' - Undocumented member.+--+-- 'storageClass', 's3Location_storageClass' - The class of storage used to store the restore results.+--+-- 'tagging', 's3Location_tagging' - The tag-set that is applied to the restore results.+--+-- 'userMetadata', 's3Location_userMetadata' - A list of metadata to store with the restore results in S3.+--+-- 'bucketName', 's3Location_bucketName' - The name of the bucket where the restore results will be placed.+--+-- 'prefix', 's3Location_prefix' - The prefix that is prepended to the restore results for this request.+newS3Location ::+  -- | 'bucketName'+  BucketName ->+  -- | 'prefix'+  Prelude.Text ->+  S3Location+newS3Location pBucketName_ pPrefix_ =+  S3Location'+    { accessControlList = Prelude.Nothing,+      cannedACL = Prelude.Nothing,+      encryption = Prelude.Nothing,+      storageClass = Prelude.Nothing,+      tagging = Prelude.Nothing,+      userMetadata = Prelude.Nothing,+      bucketName = pBucketName_,+      prefix = pPrefix_+    }++-- | A list of grants that control access to the staged results.+s3Location_accessControlList :: Lens.Lens' S3Location (Prelude.Maybe [Grant])+s3Location_accessControlList = Lens.lens (\S3Location' {accessControlList} -> accessControlList) (\s@S3Location' {} a -> s {accessControlList = a} :: S3Location) Prelude.. Lens.mapping Lens.coerced++-- | The canned ACL to apply to the restore results.+s3Location_cannedACL :: Lens.Lens' S3Location (Prelude.Maybe ObjectCannedACL)+s3Location_cannedACL = Lens.lens (\S3Location' {cannedACL} -> cannedACL) (\s@S3Location' {} a -> s {cannedACL = a} :: S3Location)++-- | Undocumented member.+s3Location_encryption :: Lens.Lens' S3Location (Prelude.Maybe Encryption)+s3Location_encryption = Lens.lens (\S3Location' {encryption} -> encryption) (\s@S3Location' {} a -> s {encryption = a} :: S3Location)++-- | The class of storage used to store the restore results.+s3Location_storageClass :: Lens.Lens' S3Location (Prelude.Maybe StorageClass)+s3Location_storageClass = Lens.lens (\S3Location' {storageClass} -> storageClass) (\s@S3Location' {} a -> s {storageClass = a} :: S3Location)++-- | The tag-set that is applied to the restore results.+s3Location_tagging :: Lens.Lens' S3Location (Prelude.Maybe Tagging)+s3Location_tagging = Lens.lens (\S3Location' {tagging} -> tagging) (\s@S3Location' {} a -> s {tagging = a} :: S3Location)++-- | A list of metadata to store with the restore results in S3.+s3Location_userMetadata :: Lens.Lens' S3Location (Prelude.Maybe [MetadataEntry])+s3Location_userMetadata = Lens.lens (\S3Location' {userMetadata} -> userMetadata) (\s@S3Location' {} a -> s {userMetadata = a} :: S3Location) Prelude.. Lens.mapping Lens.coerced++-- | The name of the bucket where the restore results will be placed.+s3Location_bucketName :: Lens.Lens' S3Location BucketName+s3Location_bucketName = Lens.lens (\S3Location' {bucketName} -> bucketName) (\s@S3Location' {} a -> s {bucketName = a} :: S3Location)++-- | The prefix that is prepended to the restore results for this request.+s3Location_prefix :: Lens.Lens' S3Location Prelude.Text+s3Location_prefix = Lens.lens (\S3Location' {prefix} -> prefix) (\s@S3Location' {} a -> s {prefix = a} :: S3Location)++instance Prelude.Hashable S3Location where+  hashWithSalt _salt S3Location' {..} =+    _salt+      `Prelude.hashWithSalt` accessControlList+      `Prelude.hashWithSalt` cannedACL+      `Prelude.hashWithSalt` encryption+      `Prelude.hashWithSalt` storageClass+      `Prelude.hashWithSalt` tagging+      `Prelude.hashWithSalt` userMetadata+      `Prelude.hashWithSalt` bucketName+      `Prelude.hashWithSalt` prefix++instance Prelude.NFData S3Location where+  rnf S3Location' {..} =+    Prelude.rnf accessControlList+      `Prelude.seq` Prelude.rnf cannedACL+      `Prelude.seq` Prelude.rnf encryption+      `Prelude.seq` Prelude.rnf storageClass+      `Prelude.seq` Prelude.rnf tagging+      `Prelude.seq` Prelude.rnf userMetadata+      `Prelude.seq` Prelude.rnf bucketName+      `Prelude.seq` Prelude.rnf prefix++instance Data.ToXML S3Location where+  toXML S3Location' {..} =+    Prelude.mconcat+      [ "AccessControlList"+          Data.@= Data.toXML+            ( Data.toXMLList "Grant"+                Prelude.<$> accessControlList+            ),+        "CannedACL" Data.@= cannedACL,+        "Encryption" Data.@= encryption,+        "StorageClass" Data.@= storageClass,+        "Tagging" Data.@= tagging,+        "UserMetadata"+          Data.@= Data.toXML+            ( Data.toXMLList "MetadataEntry"+                Prelude.<$> userMetadata+            ),+        "BucketName" Data.@= bucketName,+        "Prefix" Data.@= prefix+      ]
+ gen/Amazonka/S3/Types/S3ServiceError.hs view
@@ -0,0 +1,2505 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.S3ServiceError+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.S3ServiceError where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for all error elements.+--+-- /See:/ 'newS3ServiceError' smart constructor.+data S3ServiceError = S3ServiceError'+  { -- | The error code is a string that uniquely identifies an error condition.+    -- It is meant to be read and understood by programs that detect and handle+    -- errors by type.+    --+    -- __Amazon S3 error codes__+    --+    -- -   -   /Code:/ AccessDenied+    --+    --     -   /Description:/ Access Denied+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ AccountProblem+    --+    --     -   /Description:/ There is a problem with your Amazon Web Services+    --         account that prevents the action from completing successfully.+    --         Contact Amazon Web Services Support for further assistance.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ AllAccessDisabled+    --+    --     -   /Description:/ All access to this Amazon S3 resource has been+    --         disabled. Contact Amazon Web Services Support for further+    --         assistance.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ AmbiguousGrantByEmailAddress+    --+    --     -   /Description:/ The email address you provided is associated with+    --         more than one account.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ AuthorizationHeaderMalformed+    --+    --     -   /Description:/ The authorization header you provided is invalid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /HTTP Status Code:/ N\/A+    --+    -- -   -   /Code:/ BadDigest+    --+    --     -   /Description:/ The Content-MD5 you specified did not match what+    --         we received.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ BucketAlreadyExists+    --+    --     -   /Description:/ The requested bucket name is not available. The+    --         bucket namespace is shared by all users of the system. Please+    --         select a different name and try again.+    --+    --     -   /HTTP Status Code:/ 409 Conflict+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ BucketAlreadyOwnedByYou+    --+    --     -   /Description:/ The bucket you tried to create already exists,+    --         and you own it. Amazon S3 returns this error in all Amazon Web+    --         Services Regions except in the North Virginia Region. For legacy+    --         compatibility, if you re-create an existing bucket that you+    --         already own in the North Virginia Region, Amazon S3 returns 200+    --         OK and resets the bucket access control lists (ACLs).+    --+    --     -   /Code:/ 409 Conflict (in all Regions except the North Virginia+    --         Region)+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ BucketNotEmpty+    --+    --     -   /Description:/ The bucket you tried to delete is not empty.+    --+    --     -   /HTTP Status Code:/ 409 Conflict+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ CredentialsNotSupported+    --+    --     -   /Description:/ This request does not support credentials.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ CrossLocationLoggingProhibited+    --+    --     -   /Description:/ Cross-location logging not allowed. Buckets in+    --         one geographic location cannot log information to a bucket in+    --         another location.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ EntityTooSmall+    --+    --     -   /Description:/ Your proposed upload is smaller than the minimum+    --         allowed object size.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ EntityTooLarge+    --+    --     -   /Description:/ Your proposed upload exceeds the maximum allowed+    --         object size.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ ExpiredToken+    --+    --     -   /Description:/ The provided token has expired.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ IllegalVersioningConfigurationException+    --+    --     -   /Description:/ Indicates that the versioning configuration+    --         specified in the request is invalid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ IncompleteBody+    --+    --     -   /Description:/ You did not provide the number of bytes specified+    --         by the Content-Length HTTP header+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ IncorrectNumberOfFilesInPostRequest+    --+    --     -   /Description:/ POST requires exactly one file upload per+    --         request.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InlineDataTooLarge+    --+    --     -   /Description:/ Inline data exceeds the maximum allowed size.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InternalError+    --+    --     -   /Description:/ We encountered an internal error. Please try+    --         again.+    --+    --     -   /HTTP Status Code:/ 500 Internal Server Error+    --+    --     -   /SOAP Fault Code Prefix:/ Server+    --+    -- -   -   /Code:/ InvalidAccessKeyId+    --+    --     -   /Description:/ The Amazon Web Services access key ID you+    --         provided does not exist in our records.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidAddressingHeader+    --+    --     -   /Description:/ You must specify the Anonymous role.+    --+    --     -   /HTTP Status Code:/ N\/A+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidArgument+    --+    --     -   /Description:/ Invalid Argument+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidBucketName+    --+    --     -   /Description:/ The specified bucket is not valid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidBucketState+    --+    --     -   /Description:/ The request is not valid with the current state+    --         of the bucket.+    --+    --     -   /HTTP Status Code:/ 409 Conflict+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidDigest+    --+    --     -   /Description:/ The Content-MD5 you specified is not valid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidEncryptionAlgorithmError+    --+    --     -   /Description:/ The encryption request you specified is not+    --         valid. The valid value is AES256.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidLocationConstraint+    --+    --     -   /Description:/ The specified location constraint is not valid.+    --         For more information about Regions, see+    --         <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro How to Select a Region for Your Buckets>.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidObjectState+    --+    --     -   /Description:/ The action is not valid for the current state of+    --         the object.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidPart+    --+    --     -   /Description:/ One or more of the specified parts could not be+    --         found. The part might not have been uploaded, or the specified+    --         entity tag might not have matched the part\'s entity tag.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidPartOrder+    --+    --     -   /Description:/ The list of parts was not in ascending order.+    --         Parts list must be specified in order by part number.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidPayer+    --+    --     -   /Description:/ All access to this object has been disabled.+    --         Please contact Amazon Web Services Support for further+    --         assistance.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidPolicyDocument+    --+    --     -   /Description:/ The content of the form does not meet the+    --         conditions specified in the policy document.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidRange+    --+    --     -   /Description:/ The requested range cannot be satisfied.+    --+    --     -   /HTTP Status Code:/ 416 Requested Range Not Satisfiable+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Please use @AWS4-HMAC-SHA256@.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ SOAP requests must be made over an HTTPS+    --         connection.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+    --         for buckets with non-DNS compliant names.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+    --         for buckets with periods (.) in their names.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Accelerate endpoint only+    --         supports virtual style requests.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Accelerate is not configured+    --         on this bucket.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Accelerate is disabled on this+    --         bucket.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+    --         on this bucket. Contact Amazon Web Services Support for more+    --         information.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidRequest+    --+    --     -   /Description:/ Amazon S3 Transfer Acceleration cannot be enabled+    --         on this bucket. Contact Amazon Web Services Support for more+    --         information.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /Code:/ N\/A+    --+    -- -   -   /Code:/ InvalidSecurity+    --+    --     -   /Description:/ The provided security credentials are not valid.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidSOAPRequest+    --+    --     -   /Description:/ The SOAP request body is invalid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidStorageClass+    --+    --     -   /Description:/ The storage class you specified is not valid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidTargetBucketForLogging+    --+    --     -   /Description:/ The target bucket for logging does not exist, is+    --         not owned by you, or does not have the appropriate grants for+    --         the log-delivery group.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidToken+    --+    --     -   /Description:/ The provided token is malformed or otherwise+    --         invalid.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ InvalidURI+    --+    --     -   /Description:/ Couldn\'t parse the specified URI.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ KeyTooLongError+    --+    --     -   /Description:/ Your key is too long.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MalformedACLError+    --+    --     -   /Description:/ The XML you provided was not well-formed or did+    --         not validate against our published schema.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MalformedPOSTRequest+    --+    --     -   /Description:/ The body of your POST request is not well-formed+    --         multipart\/form-data.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MalformedXML+    --+    --     -   /Description:/ This happens when the user sends malformed XML+    --         (XML that doesn\'t conform to the published XSD) for the+    --         configuration. The error message is, \"The XML you provided was+    --         not well-formed or did not validate against our published+    --         schema.\"+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MaxMessageLengthExceeded+    --+    --     -   /Description:/ Your request was too big.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MaxPostPreDataLengthExceededError+    --+    --     -   /Description:/ Your POST request fields preceding the upload+    --         file were too large.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MetadataTooLarge+    --+    --     -   /Description:/ Your metadata headers exceed the maximum allowed+    --         metadata size.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MethodNotAllowed+    --+    --     -   /Description:/ The specified method is not allowed against this+    --         resource.+    --+    --     -   /HTTP Status Code:/ 405 Method Not Allowed+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MissingAttachment+    --+    --     -   /Description:/ A SOAP attachment was expected, but none were+    --         found.+    --+    --     -   /HTTP Status Code:/ N\/A+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MissingContentLength+    --+    --     -   /Description:/ You must provide the Content-Length HTTP header.+    --+    --     -   /HTTP Status Code:/ 411 Length Required+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MissingRequestBodyError+    --+    --     -   /Description:/ This happens when the user sends an empty XML+    --         document as a request. The error message is, \"Request body is+    --         empty.\"+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MissingSecurityElement+    --+    --     -   /Description:/ The SOAP 1.1 request is missing a security+    --         element.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ MissingSecurityHeader+    --+    --     -   /Description:/ Your request is missing a required header.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoLoggingStatusForKey+    --+    --     -   /Description:/ There is no such thing as a logging status+    --         subresource for a key.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoSuchBucket+    --+    --     -   /Description:/ The specified bucket does not exist.+    --+    --     -   /HTTP Status Code:/ 404 Not Found+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoSuchBucketPolicy+    --+    --     -   /Description:/ The specified bucket does not have a bucket+    --         policy.+    --+    --     -   /HTTP Status Code:/ 404 Not Found+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoSuchKey+    --+    --     -   /Description:/ The specified key does not exist.+    --+    --     -   /HTTP Status Code:/ 404 Not Found+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoSuchLifecycleConfiguration+    --+    --     -   /Description:/ The lifecycle configuration does not exist.+    --+    --     -   /HTTP Status Code:/ 404 Not Found+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoSuchUpload+    --+    --     -   /Description:/ The specified multipart upload does not exist.+    --         The upload ID might be invalid, or the multipart upload might+    --         have been aborted or completed.+    --+    --     -   /HTTP Status Code:/ 404 Not Found+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NoSuchVersion+    --+    --     -   /Description:/ Indicates that the version ID specified in the+    --         request does not match an existing version.+    --+    --     -   /HTTP Status Code:/ 404 Not Found+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ NotImplemented+    --+    --     -   /Description:/ A header you provided implies functionality that+    --         is not implemented.+    --+    --     -   /HTTP Status Code:/ 501 Not Implemented+    --+    --     -   /SOAP Fault Code Prefix:/ Server+    --+    -- -   -   /Code:/ NotSignedUp+    --+    --     -   /Description:/ Your account is not signed up for the Amazon S3+    --         service. You must sign up before you can use Amazon S3. You can+    --         sign up at the following URL:+    --         <http://aws.amazon.com/s3 Amazon S3>+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ OperationAborted+    --+    --     -   /Description:/ A conflicting conditional action is currently in+    --         progress against this resource. Try again.+    --+    --     -   /HTTP Status Code:/ 409 Conflict+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ PermanentRedirect+    --+    --     -   /Description:/ The bucket you are attempting to access must be+    --         addressed using the specified endpoint. Send all future requests+    --         to this endpoint.+    --+    --     -   /HTTP Status Code:/ 301 Moved Permanently+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ PreconditionFailed+    --+    --     -   /Description:/ At least one of the preconditions you specified+    --         did not hold.+    --+    --     -   /HTTP Status Code:/ 412 Precondition Failed+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ Redirect+    --+    --     -   /Description:/ Temporary redirect.+    --+    --     -   /HTTP Status Code:/ 307 Moved Temporarily+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ RestoreAlreadyInProgress+    --+    --     -   /Description:/ Object restore is already in progress.+    --+    --     -   /HTTP Status Code:/ 409 Conflict+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ RequestIsNotMultiPartContent+    --+    --     -   /Description:/ Bucket POST must be of the enclosure-type+    --         multipart\/form-data.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ RequestTimeout+    --+    --     -   /Description:/ Your socket connection to the server was not read+    --         from or written to within the timeout period.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ RequestTimeTooSkewed+    --+    --     -   /Description:/ The difference between the request time and the+    --         server\'s time is too large.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ RequestTorrentOfBucketError+    --+    --     -   /Description:/ Requesting the torrent file of a bucket is not+    --         permitted.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ SignatureDoesNotMatch+    --+    --     -   /Description:/ The request signature we calculated does not+    --         match the signature you provided. Check your Amazon Web Services+    --         secret access key and signing method. For more information, see+    --         <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>+    --         and+    --         <https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html SOAP Authentication>+    --         for details.+    --+    --     -   /HTTP Status Code:/ 403 Forbidden+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ ServiceUnavailable+    --+    --     -   /Description:/ Reduce your request rate.+    --+    --     -   /HTTP Status Code:/ 503 Service Unavailable+    --+    --     -   /SOAP Fault Code Prefix:/ Server+    --+    -- -   -   /Code:/ SlowDown+    --+    --     -   /Description:/ Reduce your request rate.+    --+    --     -   /HTTP Status Code:/ 503 Slow Down+    --+    --     -   /SOAP Fault Code Prefix:/ Server+    --+    -- -   -   /Code:/ TemporaryRedirect+    --+    --     -   /Description:/ You are being redirected to the bucket while DNS+    --         updates.+    --+    --     -   /HTTP Status Code:/ 307 Moved Temporarily+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ TokenRefreshRequired+    --+    --     -   /Description:/ The provided token must be refreshed.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ TooManyBuckets+    --+    --     -   /Description:/ You have attempted to create more buckets than+    --         allowed.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ UnexpectedContent+    --+    --     -   /Description:/ This request does not support content.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ UnresolvableGrantByEmailAddress+    --+    --     -   /Description:/ The email address you provided does not match any+    --         account on record.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    --+    -- -   -   /Code:/ UserKeyMustBeSpecified+    --+    --     -   /Description:/ The bucket POST must contain the specified field+    --         name. If it is specified, check the order of the fields.+    --+    --     -   /HTTP Status Code:/ 400 Bad Request+    --+    --     -   /SOAP Fault Code Prefix:/ Client+    code :: Prelude.Maybe Prelude.Text,+    -- | The error key.+    key :: Prelude.Maybe ObjectKey,+    -- | The error message contains a generic description of the error condition+    -- in English. It is intended for a human audience. Simple programs display+    -- the message directly to the end user if they encounter an error+    -- condition they don\'t know how or don\'t care to handle. Sophisticated+    -- programs with more exhaustive error handling and proper+    -- internationalization are more likely to ignore the error message.+    message :: Prelude.Maybe Prelude.Text,+    -- | The version ID of the error.+    versionId :: Prelude.Maybe ObjectVersionId+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'S3ServiceError' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'code', 's3ServiceError_code' - The error code is a string that uniquely identifies an error condition.+-- It is meant to be read and understood by programs that detect and handle+-- errors by type.+--+-- __Amazon S3 error codes__+--+-- -   -   /Code:/ AccessDenied+--+--     -   /Description:/ Access Denied+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AccountProblem+--+--     -   /Description:/ There is a problem with your Amazon Web Services+--         account that prevents the action from completing successfully.+--         Contact Amazon Web Services Support for further assistance.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AllAccessDisabled+--+--     -   /Description:/ All access to this Amazon S3 resource has been+--         disabled. Contact Amazon Web Services Support for further+--         assistance.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AmbiguousGrantByEmailAddress+--+--     -   /Description:/ The email address you provided is associated with+--         more than one account.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AuthorizationHeaderMalformed+--+--     -   /Description:/ The authorization header you provided is invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /HTTP Status Code:/ N\/A+--+-- -   -   /Code:/ BadDigest+--+--     -   /Description:/ The Content-MD5 you specified did not match what+--         we received.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ BucketAlreadyExists+--+--     -   /Description:/ The requested bucket name is not available. The+--         bucket namespace is shared by all users of the system. Please+--         select a different name and try again.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ BucketAlreadyOwnedByYou+--+--     -   /Description:/ The bucket you tried to create already exists,+--         and you own it. Amazon S3 returns this error in all Amazon Web+--         Services Regions except in the North Virginia Region. For legacy+--         compatibility, if you re-create an existing bucket that you+--         already own in the North Virginia Region, Amazon S3 returns 200+--         OK and resets the bucket access control lists (ACLs).+--+--     -   /Code:/ 409 Conflict (in all Regions except the North Virginia+--         Region)+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ BucketNotEmpty+--+--     -   /Description:/ The bucket you tried to delete is not empty.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ CredentialsNotSupported+--+--     -   /Description:/ This request does not support credentials.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ CrossLocationLoggingProhibited+--+--     -   /Description:/ Cross-location logging not allowed. Buckets in+--         one geographic location cannot log information to a bucket in+--         another location.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ EntityTooSmall+--+--     -   /Description:/ Your proposed upload is smaller than the minimum+--         allowed object size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ EntityTooLarge+--+--     -   /Description:/ Your proposed upload exceeds the maximum allowed+--         object size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ ExpiredToken+--+--     -   /Description:/ The provided token has expired.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ IllegalVersioningConfigurationException+--+--     -   /Description:/ Indicates that the versioning configuration+--         specified in the request is invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ IncompleteBody+--+--     -   /Description:/ You did not provide the number of bytes specified+--         by the Content-Length HTTP header+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ IncorrectNumberOfFilesInPostRequest+--+--     -   /Description:/ POST requires exactly one file upload per+--         request.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InlineDataTooLarge+--+--     -   /Description:/ Inline data exceeds the maximum allowed size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InternalError+--+--     -   /Description:/ We encountered an internal error. Please try+--         again.+--+--     -   /HTTP Status Code:/ 500 Internal Server Error+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ InvalidAccessKeyId+--+--     -   /Description:/ The Amazon Web Services access key ID you+--         provided does not exist in our records.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidAddressingHeader+--+--     -   /Description:/ You must specify the Anonymous role.+--+--     -   /HTTP Status Code:/ N\/A+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidArgument+--+--     -   /Description:/ Invalid Argument+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidBucketName+--+--     -   /Description:/ The specified bucket is not valid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidBucketState+--+--     -   /Description:/ The request is not valid with the current state+--         of the bucket.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidDigest+--+--     -   /Description:/ The Content-MD5 you specified is not valid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidEncryptionAlgorithmError+--+--     -   /Description:/ The encryption request you specified is not+--         valid. The valid value is AES256.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidLocationConstraint+--+--     -   /Description:/ The specified location constraint is not valid.+--         For more information about Regions, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro How to Select a Region for Your Buckets>.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidObjectState+--+--     -   /Description:/ The action is not valid for the current state of+--         the object.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPart+--+--     -   /Description:/ One or more of the specified parts could not be+--         found. The part might not have been uploaded, or the specified+--         entity tag might not have matched the part\'s entity tag.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPartOrder+--+--     -   /Description:/ The list of parts was not in ascending order.+--         Parts list must be specified in order by part number.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPayer+--+--     -   /Description:/ All access to this object has been disabled.+--         Please contact Amazon Web Services Support for further+--         assistance.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPolicyDocument+--+--     -   /Description:/ The content of the form does not meet the+--         conditions specified in the policy document.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidRange+--+--     -   /Description:/ The requested range cannot be satisfied.+--+--     -   /HTTP Status Code:/ 416 Requested Range Not Satisfiable+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Please use @AWS4-HMAC-SHA256@.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ SOAP requests must be made over an HTTPS+--         connection.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+--         for buckets with non-DNS compliant names.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+--         for buckets with periods (.) in their names.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Accelerate endpoint only+--         supports virtual style requests.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Accelerate is not configured+--         on this bucket.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Accelerate is disabled on this+--         bucket.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+--         on this bucket. Contact Amazon Web Services Support for more+--         information.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration cannot be enabled+--         on this bucket. Contact Amazon Web Services Support for more+--         information.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidSecurity+--+--     -   /Description:/ The provided security credentials are not valid.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidSOAPRequest+--+--     -   /Description:/ The SOAP request body is invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidStorageClass+--+--     -   /Description:/ The storage class you specified is not valid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidTargetBucketForLogging+--+--     -   /Description:/ The target bucket for logging does not exist, is+--         not owned by you, or does not have the appropriate grants for+--         the log-delivery group.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidToken+--+--     -   /Description:/ The provided token is malformed or otherwise+--         invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidURI+--+--     -   /Description:/ Couldn\'t parse the specified URI.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ KeyTooLongError+--+--     -   /Description:/ Your key is too long.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MalformedACLError+--+--     -   /Description:/ The XML you provided was not well-formed or did+--         not validate against our published schema.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MalformedPOSTRequest+--+--     -   /Description:/ The body of your POST request is not well-formed+--         multipart\/form-data.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MalformedXML+--+--     -   /Description:/ This happens when the user sends malformed XML+--         (XML that doesn\'t conform to the published XSD) for the+--         configuration. The error message is, \"The XML you provided was+--         not well-formed or did not validate against our published+--         schema.\"+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MaxMessageLengthExceeded+--+--     -   /Description:/ Your request was too big.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MaxPostPreDataLengthExceededError+--+--     -   /Description:/ Your POST request fields preceding the upload+--         file were too large.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MetadataTooLarge+--+--     -   /Description:/ Your metadata headers exceed the maximum allowed+--         metadata size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MethodNotAllowed+--+--     -   /Description:/ The specified method is not allowed against this+--         resource.+--+--     -   /HTTP Status Code:/ 405 Method Not Allowed+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingAttachment+--+--     -   /Description:/ A SOAP attachment was expected, but none were+--         found.+--+--     -   /HTTP Status Code:/ N\/A+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingContentLength+--+--     -   /Description:/ You must provide the Content-Length HTTP header.+--+--     -   /HTTP Status Code:/ 411 Length Required+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingRequestBodyError+--+--     -   /Description:/ This happens when the user sends an empty XML+--         document as a request. The error message is, \"Request body is+--         empty.\"+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingSecurityElement+--+--     -   /Description:/ The SOAP 1.1 request is missing a security+--         element.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingSecurityHeader+--+--     -   /Description:/ Your request is missing a required header.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoLoggingStatusForKey+--+--     -   /Description:/ There is no such thing as a logging status+--         subresource for a key.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchBucket+--+--     -   /Description:/ The specified bucket does not exist.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchBucketPolicy+--+--     -   /Description:/ The specified bucket does not have a bucket+--         policy.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchKey+--+--     -   /Description:/ The specified key does not exist.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchLifecycleConfiguration+--+--     -   /Description:/ The lifecycle configuration does not exist.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchUpload+--+--     -   /Description:/ The specified multipart upload does not exist.+--         The upload ID might be invalid, or the multipart upload might+--         have been aborted or completed.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchVersion+--+--     -   /Description:/ Indicates that the version ID specified in the+--         request does not match an existing version.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NotImplemented+--+--     -   /Description:/ A header you provided implies functionality that+--         is not implemented.+--+--     -   /HTTP Status Code:/ 501 Not Implemented+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ NotSignedUp+--+--     -   /Description:/ Your account is not signed up for the Amazon S3+--         service. You must sign up before you can use Amazon S3. You can+--         sign up at the following URL:+--         <http://aws.amazon.com/s3 Amazon S3>+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ OperationAborted+--+--     -   /Description:/ A conflicting conditional action is currently in+--         progress against this resource. Try again.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ PermanentRedirect+--+--     -   /Description:/ The bucket you are attempting to access must be+--         addressed using the specified endpoint. Send all future requests+--         to this endpoint.+--+--     -   /HTTP Status Code:/ 301 Moved Permanently+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ PreconditionFailed+--+--     -   /Description:/ At least one of the preconditions you specified+--         did not hold.+--+--     -   /HTTP Status Code:/ 412 Precondition Failed+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ Redirect+--+--     -   /Description:/ Temporary redirect.+--+--     -   /HTTP Status Code:/ 307 Moved Temporarily+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RestoreAlreadyInProgress+--+--     -   /Description:/ Object restore is already in progress.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestIsNotMultiPartContent+--+--     -   /Description:/ Bucket POST must be of the enclosure-type+--         multipart\/form-data.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestTimeout+--+--     -   /Description:/ Your socket connection to the server was not read+--         from or written to within the timeout period.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestTimeTooSkewed+--+--     -   /Description:/ The difference between the request time and the+--         server\'s time is too large.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestTorrentOfBucketError+--+--     -   /Description:/ Requesting the torrent file of a bucket is not+--         permitted.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ SignatureDoesNotMatch+--+--     -   /Description:/ The request signature we calculated does not+--         match the signature you provided. Check your Amazon Web Services+--         secret access key and signing method. For more information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>+--         and+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html SOAP Authentication>+--         for details.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ ServiceUnavailable+--+--     -   /Description:/ Reduce your request rate.+--+--     -   /HTTP Status Code:/ 503 Service Unavailable+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ SlowDown+--+--     -   /Description:/ Reduce your request rate.+--+--     -   /HTTP Status Code:/ 503 Slow Down+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ TemporaryRedirect+--+--     -   /Description:/ You are being redirected to the bucket while DNS+--         updates.+--+--     -   /HTTP Status Code:/ 307 Moved Temporarily+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ TokenRefreshRequired+--+--     -   /Description:/ The provided token must be refreshed.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ TooManyBuckets+--+--     -   /Description:/ You have attempted to create more buckets than+--         allowed.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ UnexpectedContent+--+--     -   /Description:/ This request does not support content.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ UnresolvableGrantByEmailAddress+--+--     -   /Description:/ The email address you provided does not match any+--         account on record.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ UserKeyMustBeSpecified+--+--     -   /Description:/ The bucket POST must contain the specified field+--         name. If it is specified, check the order of the fields.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- 'key', 's3ServiceError_key' - The error key.+--+-- 'message', 's3ServiceError_message' - The error message contains a generic description of the error condition+-- in English. It is intended for a human audience. Simple programs display+-- the message directly to the end user if they encounter an error+-- condition they don\'t know how or don\'t care to handle. Sophisticated+-- programs with more exhaustive error handling and proper+-- internationalization are more likely to ignore the error message.+--+-- 'versionId', 's3ServiceError_versionId' - The version ID of the error.+newS3ServiceError ::+  S3ServiceError+newS3ServiceError =+  S3ServiceError'+    { code = Prelude.Nothing,+      key = Prelude.Nothing,+      message = Prelude.Nothing,+      versionId = Prelude.Nothing+    }++-- | The error code is a string that uniquely identifies an error condition.+-- It is meant to be read and understood by programs that detect and handle+-- errors by type.+--+-- __Amazon S3 error codes__+--+-- -   -   /Code:/ AccessDenied+--+--     -   /Description:/ Access Denied+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AccountProblem+--+--     -   /Description:/ There is a problem with your Amazon Web Services+--         account that prevents the action from completing successfully.+--         Contact Amazon Web Services Support for further assistance.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AllAccessDisabled+--+--     -   /Description:/ All access to this Amazon S3 resource has been+--         disabled. Contact Amazon Web Services Support for further+--         assistance.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AmbiguousGrantByEmailAddress+--+--     -   /Description:/ The email address you provided is associated with+--         more than one account.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ AuthorizationHeaderMalformed+--+--     -   /Description:/ The authorization header you provided is invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /HTTP Status Code:/ N\/A+--+-- -   -   /Code:/ BadDigest+--+--     -   /Description:/ The Content-MD5 you specified did not match what+--         we received.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ BucketAlreadyExists+--+--     -   /Description:/ The requested bucket name is not available. The+--         bucket namespace is shared by all users of the system. Please+--         select a different name and try again.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ BucketAlreadyOwnedByYou+--+--     -   /Description:/ The bucket you tried to create already exists,+--         and you own it. Amazon S3 returns this error in all Amazon Web+--         Services Regions except in the North Virginia Region. For legacy+--         compatibility, if you re-create an existing bucket that you+--         already own in the North Virginia Region, Amazon S3 returns 200+--         OK and resets the bucket access control lists (ACLs).+--+--     -   /Code:/ 409 Conflict (in all Regions except the North Virginia+--         Region)+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ BucketNotEmpty+--+--     -   /Description:/ The bucket you tried to delete is not empty.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ CredentialsNotSupported+--+--     -   /Description:/ This request does not support credentials.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ CrossLocationLoggingProhibited+--+--     -   /Description:/ Cross-location logging not allowed. Buckets in+--         one geographic location cannot log information to a bucket in+--         another location.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ EntityTooSmall+--+--     -   /Description:/ Your proposed upload is smaller than the minimum+--         allowed object size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ EntityTooLarge+--+--     -   /Description:/ Your proposed upload exceeds the maximum allowed+--         object size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ ExpiredToken+--+--     -   /Description:/ The provided token has expired.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ IllegalVersioningConfigurationException+--+--     -   /Description:/ Indicates that the versioning configuration+--         specified in the request is invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ IncompleteBody+--+--     -   /Description:/ You did not provide the number of bytes specified+--         by the Content-Length HTTP header+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ IncorrectNumberOfFilesInPostRequest+--+--     -   /Description:/ POST requires exactly one file upload per+--         request.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InlineDataTooLarge+--+--     -   /Description:/ Inline data exceeds the maximum allowed size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InternalError+--+--     -   /Description:/ We encountered an internal error. Please try+--         again.+--+--     -   /HTTP Status Code:/ 500 Internal Server Error+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ InvalidAccessKeyId+--+--     -   /Description:/ The Amazon Web Services access key ID you+--         provided does not exist in our records.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidAddressingHeader+--+--     -   /Description:/ You must specify the Anonymous role.+--+--     -   /HTTP Status Code:/ N\/A+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidArgument+--+--     -   /Description:/ Invalid Argument+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidBucketName+--+--     -   /Description:/ The specified bucket is not valid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidBucketState+--+--     -   /Description:/ The request is not valid with the current state+--         of the bucket.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidDigest+--+--     -   /Description:/ The Content-MD5 you specified is not valid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidEncryptionAlgorithmError+--+--     -   /Description:/ The encryption request you specified is not+--         valid. The valid value is AES256.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidLocationConstraint+--+--     -   /Description:/ The specified location constraint is not valid.+--         For more information about Regions, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro How to Select a Region for Your Buckets>.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidObjectState+--+--     -   /Description:/ The action is not valid for the current state of+--         the object.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPart+--+--     -   /Description:/ One or more of the specified parts could not be+--         found. The part might not have been uploaded, or the specified+--         entity tag might not have matched the part\'s entity tag.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPartOrder+--+--     -   /Description:/ The list of parts was not in ascending order.+--         Parts list must be specified in order by part number.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPayer+--+--     -   /Description:/ All access to this object has been disabled.+--         Please contact Amazon Web Services Support for further+--         assistance.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidPolicyDocument+--+--     -   /Description:/ The content of the form does not meet the+--         conditions specified in the policy document.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidRange+--+--     -   /Description:/ The requested range cannot be satisfied.+--+--     -   /HTTP Status Code:/ 416 Requested Range Not Satisfiable+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Please use @AWS4-HMAC-SHA256@.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ SOAP requests must be made over an HTTPS+--         connection.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+--         for buckets with non-DNS compliant names.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+--         for buckets with periods (.) in their names.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Accelerate endpoint only+--         supports virtual style requests.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Accelerate is not configured+--         on this bucket.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Accelerate is disabled on this+--         bucket.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration is not supported+--         on this bucket. Contact Amazon Web Services Support for more+--         information.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidRequest+--+--     -   /Description:/ Amazon S3 Transfer Acceleration cannot be enabled+--         on this bucket. Contact Amazon Web Services Support for more+--         information.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /Code:/ N\/A+--+-- -   -   /Code:/ InvalidSecurity+--+--     -   /Description:/ The provided security credentials are not valid.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidSOAPRequest+--+--     -   /Description:/ The SOAP request body is invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidStorageClass+--+--     -   /Description:/ The storage class you specified is not valid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidTargetBucketForLogging+--+--     -   /Description:/ The target bucket for logging does not exist, is+--         not owned by you, or does not have the appropriate grants for+--         the log-delivery group.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidToken+--+--     -   /Description:/ The provided token is malformed or otherwise+--         invalid.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ InvalidURI+--+--     -   /Description:/ Couldn\'t parse the specified URI.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ KeyTooLongError+--+--     -   /Description:/ Your key is too long.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MalformedACLError+--+--     -   /Description:/ The XML you provided was not well-formed or did+--         not validate against our published schema.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MalformedPOSTRequest+--+--     -   /Description:/ The body of your POST request is not well-formed+--         multipart\/form-data.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MalformedXML+--+--     -   /Description:/ This happens when the user sends malformed XML+--         (XML that doesn\'t conform to the published XSD) for the+--         configuration. The error message is, \"The XML you provided was+--         not well-formed or did not validate against our published+--         schema.\"+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MaxMessageLengthExceeded+--+--     -   /Description:/ Your request was too big.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MaxPostPreDataLengthExceededError+--+--     -   /Description:/ Your POST request fields preceding the upload+--         file were too large.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MetadataTooLarge+--+--     -   /Description:/ Your metadata headers exceed the maximum allowed+--         metadata size.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MethodNotAllowed+--+--     -   /Description:/ The specified method is not allowed against this+--         resource.+--+--     -   /HTTP Status Code:/ 405 Method Not Allowed+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingAttachment+--+--     -   /Description:/ A SOAP attachment was expected, but none were+--         found.+--+--     -   /HTTP Status Code:/ N\/A+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingContentLength+--+--     -   /Description:/ You must provide the Content-Length HTTP header.+--+--     -   /HTTP Status Code:/ 411 Length Required+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingRequestBodyError+--+--     -   /Description:/ This happens when the user sends an empty XML+--         document as a request. The error message is, \"Request body is+--         empty.\"+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingSecurityElement+--+--     -   /Description:/ The SOAP 1.1 request is missing a security+--         element.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ MissingSecurityHeader+--+--     -   /Description:/ Your request is missing a required header.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoLoggingStatusForKey+--+--     -   /Description:/ There is no such thing as a logging status+--         subresource for a key.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchBucket+--+--     -   /Description:/ The specified bucket does not exist.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchBucketPolicy+--+--     -   /Description:/ The specified bucket does not have a bucket+--         policy.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchKey+--+--     -   /Description:/ The specified key does not exist.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchLifecycleConfiguration+--+--     -   /Description:/ The lifecycle configuration does not exist.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchUpload+--+--     -   /Description:/ The specified multipart upload does not exist.+--         The upload ID might be invalid, or the multipart upload might+--         have been aborted or completed.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NoSuchVersion+--+--     -   /Description:/ Indicates that the version ID specified in the+--         request does not match an existing version.+--+--     -   /HTTP Status Code:/ 404 Not Found+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ NotImplemented+--+--     -   /Description:/ A header you provided implies functionality that+--         is not implemented.+--+--     -   /HTTP Status Code:/ 501 Not Implemented+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ NotSignedUp+--+--     -   /Description:/ Your account is not signed up for the Amazon S3+--         service. You must sign up before you can use Amazon S3. You can+--         sign up at the following URL:+--         <http://aws.amazon.com/s3 Amazon S3>+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ OperationAborted+--+--     -   /Description:/ A conflicting conditional action is currently in+--         progress against this resource. Try again.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ PermanentRedirect+--+--     -   /Description:/ The bucket you are attempting to access must be+--         addressed using the specified endpoint. Send all future requests+--         to this endpoint.+--+--     -   /HTTP Status Code:/ 301 Moved Permanently+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ PreconditionFailed+--+--     -   /Description:/ At least one of the preconditions you specified+--         did not hold.+--+--     -   /HTTP Status Code:/ 412 Precondition Failed+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ Redirect+--+--     -   /Description:/ Temporary redirect.+--+--     -   /HTTP Status Code:/ 307 Moved Temporarily+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RestoreAlreadyInProgress+--+--     -   /Description:/ Object restore is already in progress.+--+--     -   /HTTP Status Code:/ 409 Conflict+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestIsNotMultiPartContent+--+--     -   /Description:/ Bucket POST must be of the enclosure-type+--         multipart\/form-data.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestTimeout+--+--     -   /Description:/ Your socket connection to the server was not read+--         from or written to within the timeout period.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestTimeTooSkewed+--+--     -   /Description:/ The difference between the request time and the+--         server\'s time is too large.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ RequestTorrentOfBucketError+--+--     -   /Description:/ Requesting the torrent file of a bucket is not+--         permitted.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ SignatureDoesNotMatch+--+--     -   /Description:/ The request signature we calculated does not+--         match the signature you provided. Check your Amazon Web Services+--         secret access key and signing method. For more information, see+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html REST Authentication>+--         and+--         <https://docs.aws.amazon.com/AmazonS3/latest/dev/SOAPAuthentication.html SOAP Authentication>+--         for details.+--+--     -   /HTTP Status Code:/ 403 Forbidden+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ ServiceUnavailable+--+--     -   /Description:/ Reduce your request rate.+--+--     -   /HTTP Status Code:/ 503 Service Unavailable+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ SlowDown+--+--     -   /Description:/ Reduce your request rate.+--+--     -   /HTTP Status Code:/ 503 Slow Down+--+--     -   /SOAP Fault Code Prefix:/ Server+--+-- -   -   /Code:/ TemporaryRedirect+--+--     -   /Description:/ You are being redirected to the bucket while DNS+--         updates.+--+--     -   /HTTP Status Code:/ 307 Moved Temporarily+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ TokenRefreshRequired+--+--     -   /Description:/ The provided token must be refreshed.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ TooManyBuckets+--+--     -   /Description:/ You have attempted to create more buckets than+--         allowed.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ UnexpectedContent+--+--     -   /Description:/ This request does not support content.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ UnresolvableGrantByEmailAddress+--+--     -   /Description:/ The email address you provided does not match any+--         account on record.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+--+-- -   -   /Code:/ UserKeyMustBeSpecified+--+--     -   /Description:/ The bucket POST must contain the specified field+--         name. If it is specified, check the order of the fields.+--+--     -   /HTTP Status Code:/ 400 Bad Request+--+--     -   /SOAP Fault Code Prefix:/ Client+s3ServiceError_code :: Lens.Lens' S3ServiceError (Prelude.Maybe Prelude.Text)+s3ServiceError_code = Lens.lens (\S3ServiceError' {code} -> code) (\s@S3ServiceError' {} a -> s {code = a} :: S3ServiceError)++-- | The error key.+s3ServiceError_key :: Lens.Lens' S3ServiceError (Prelude.Maybe ObjectKey)+s3ServiceError_key = Lens.lens (\S3ServiceError' {key} -> key) (\s@S3ServiceError' {} a -> s {key = a} :: S3ServiceError)++-- | The error message contains a generic description of the error condition+-- in English. It is intended for a human audience. Simple programs display+-- the message directly to the end user if they encounter an error+-- condition they don\'t know how or don\'t care to handle. Sophisticated+-- programs with more exhaustive error handling and proper+-- internationalization are more likely to ignore the error message.+s3ServiceError_message :: Lens.Lens' S3ServiceError (Prelude.Maybe Prelude.Text)+s3ServiceError_message = Lens.lens (\S3ServiceError' {message} -> message) (\s@S3ServiceError' {} a -> s {message = a} :: S3ServiceError)++-- | The version ID of the error.+s3ServiceError_versionId :: Lens.Lens' S3ServiceError (Prelude.Maybe ObjectVersionId)+s3ServiceError_versionId = Lens.lens (\S3ServiceError' {versionId} -> versionId) (\s@S3ServiceError' {} a -> s {versionId = a} :: S3ServiceError)++instance Data.FromXML S3ServiceError where+  parseXML x =+    S3ServiceError'+      Prelude.<$> (x Data..@? "Code")+      Prelude.<*> (x Data..@? "Key")+      Prelude.<*> (x Data..@? "Message")+      Prelude.<*> (x Data..@? "VersionId")++instance Prelude.Hashable S3ServiceError where+  hashWithSalt _salt S3ServiceError' {..} =+    _salt+      `Prelude.hashWithSalt` code+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` message+      `Prelude.hashWithSalt` versionId++instance Prelude.NFData S3ServiceError where+  rnf S3ServiceError' {..} =+    Prelude.rnf code+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf message+      `Prelude.seq` Prelude.rnf versionId
+ gen/Amazonka/S3/Types/SSEKMS.hs view
@@ -0,0 +1,75 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SSEKMS+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SSEKMS where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies the use of SSE-KMS to encrypt delivered inventory reports.+--+-- /See:/ 'newSSEKMS' smart constructor.+data SSEKMS = SSEKMS'+  { -- | Specifies the ID of the Amazon Web Services Key Management Service+    -- (Amazon Web Services KMS) symmetric customer managed key to use for+    -- encrypting inventory reports.+    keyId :: Data.Sensitive Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SSEKMS' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'keyId', 'ssekms_keyId' - Specifies the ID of the Amazon Web Services Key Management Service+-- (Amazon Web Services KMS) symmetric customer managed key to use for+-- encrypting inventory reports.+newSSEKMS ::+  -- | 'keyId'+  Prelude.Text ->+  SSEKMS+newSSEKMS pKeyId_ =+  SSEKMS' {keyId = Data._Sensitive Lens.# pKeyId_}++-- | Specifies the ID of the Amazon Web Services Key Management Service+-- (Amazon Web Services KMS) symmetric customer managed key to use for+-- encrypting inventory reports.+ssekms_keyId :: Lens.Lens' SSEKMS Prelude.Text+ssekms_keyId = Lens.lens (\SSEKMS' {keyId} -> keyId) (\s@SSEKMS' {} a -> s {keyId = a} :: SSEKMS) Prelude.. Data._Sensitive++instance Data.FromXML SSEKMS where+  parseXML x = SSEKMS' Prelude.<$> (x Data..@ "KeyId")++instance Prelude.Hashable SSEKMS where+  hashWithSalt _salt SSEKMS' {..} =+    _salt `Prelude.hashWithSalt` keyId++instance Prelude.NFData SSEKMS where+  rnf SSEKMS' {..} = Prelude.rnf keyId++instance Data.ToXML SSEKMS where+  toXML SSEKMS' {..} =+    Prelude.mconcat ["KeyId" Data.@= keyId]
+ gen/Amazonka/S3/Types/SSES3.hs view
@@ -0,0 +1,55 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SSES3+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SSES3 where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies the use of SSE-S3 to encrypt delivered inventory reports.+--+-- /See:/ 'newSSES3' smart constructor.+data SSES3 = SSES3'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SSES3' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newSSES3 ::+  SSES3+newSSES3 = SSES3'++instance Data.FromXML SSES3 where+  parseXML = Prelude.const (Prelude.pure SSES3')++instance Prelude.Hashable SSES3 where+  hashWithSalt _salt _ =+    _salt `Prelude.hashWithSalt` ()++instance Prelude.NFData SSES3 where+  rnf _ = ()++instance Data.ToXML SSES3 where+  toXML = Prelude.const Prelude.mempty
+ gen/Amazonka/S3/Types/ScanRange.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ScanRange+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ScanRange where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Specifies the byte range of the object to get the records from. A record+-- is processed when its first byte is contained by the range. This+-- parameter is optional, but when specified, it must not be empty. See RFC+-- 2616, Section 14.35.1 about how to specify the start and end of the+-- range.+--+-- /See:/ 'newScanRange' smart constructor.+data ScanRange = ScanRange'+  { -- | Specifies the end of the byte range. This parameter is optional. Valid+    -- values: non-negative integers. The default value is one less than the+    -- size of the object being queried. If only the End parameter is supplied,+    -- it is interpreted to mean scan the last N bytes of the file. For+    -- example, @\<scanrange>\<end>50\<\/end>\<\/scanrange>@ means scan the+    -- last 50 bytes.+    end :: Prelude.Maybe Prelude.Integer,+    -- | Specifies the start of the byte range. This parameter is optional. Valid+    -- values: non-negative integers. The default value is 0. If only @start@+    -- is supplied, it means scan from that point to the end of the file. For+    -- example, @\<scanrange>\<start>50\<\/start>\<\/scanrange>@ means scan+    -- from byte 50 until the end of the file.+    start :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ScanRange' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'end', 'scanRange_end' - Specifies the end of the byte range. This parameter is optional. Valid+-- values: non-negative integers. The default value is one less than the+-- size of the object being queried. If only the End parameter is supplied,+-- it is interpreted to mean scan the last N bytes of the file. For+-- example, @\<scanrange>\<end>50\<\/end>\<\/scanrange>@ means scan the+-- last 50 bytes.+--+-- 'start', 'scanRange_start' - Specifies the start of the byte range. This parameter is optional. Valid+-- values: non-negative integers. The default value is 0. If only @start@+-- is supplied, it means scan from that point to the end of the file. For+-- example, @\<scanrange>\<start>50\<\/start>\<\/scanrange>@ means scan+-- from byte 50 until the end of the file.+newScanRange ::+  ScanRange+newScanRange =+  ScanRange'+    { end = Prelude.Nothing,+      start = Prelude.Nothing+    }++-- | Specifies the end of the byte range. This parameter is optional. Valid+-- values: non-negative integers. The default value is one less than the+-- size of the object being queried. If only the End parameter is supplied,+-- it is interpreted to mean scan the last N bytes of the file. For+-- example, @\<scanrange>\<end>50\<\/end>\<\/scanrange>@ means scan the+-- last 50 bytes.+scanRange_end :: Lens.Lens' ScanRange (Prelude.Maybe Prelude.Integer)+scanRange_end = Lens.lens (\ScanRange' {end} -> end) (\s@ScanRange' {} a -> s {end = a} :: ScanRange)++-- | Specifies the start of the byte range. This parameter is optional. Valid+-- values: non-negative integers. The default value is 0. If only @start@+-- is supplied, it means scan from that point to the end of the file. For+-- example, @\<scanrange>\<start>50\<\/start>\<\/scanrange>@ means scan+-- from byte 50 until the end of the file.+scanRange_start :: Lens.Lens' ScanRange (Prelude.Maybe Prelude.Integer)+scanRange_start = Lens.lens (\ScanRange' {start} -> start) (\s@ScanRange' {} a -> s {start = a} :: ScanRange)++instance Prelude.Hashable ScanRange where+  hashWithSalt _salt ScanRange' {..} =+    _salt+      `Prelude.hashWithSalt` end+      `Prelude.hashWithSalt` start++instance Prelude.NFData ScanRange where+  rnf ScanRange' {..} =+    Prelude.rnf end `Prelude.seq` Prelude.rnf start++instance Data.ToXML ScanRange where+  toXML ScanRange' {..} =+    Prelude.mconcat+      ["End" Data.@= end, "Start" Data.@= start]
+ gen/Amazonka/S3/Types/SelectObjectContentEventStream.hs view
@@ -0,0 +1,131 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SelectObjectContentEventStream+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SelectObjectContentEventStream where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ContinuationEvent+import Amazonka.S3.Types.EndEvent+import Amazonka.S3.Types.ProgressEvent+import Amazonka.S3.Types.RecordsEvent+import Amazonka.S3.Types.StatsEvent++-- | The container for selecting objects from a content event stream.+--+-- /See:/ 'newSelectObjectContentEventStream' smart constructor.+data SelectObjectContentEventStream = SelectObjectContentEventStream'+  { -- | The Continuation Event.+    cont :: Prelude.Maybe ContinuationEvent,+    -- | The End Event.+    end :: Prelude.Maybe EndEvent,+    -- | The Progress Event.+    progress :: Prelude.Maybe ProgressEvent,+    -- | The Records Event.+    records :: Prelude.Maybe RecordsEvent,+    -- | The Stats Event.+    stats :: Prelude.Maybe StatsEvent+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectObjectContentEventStream' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'cont', 'selectObjectContentEventStream_cont' - The Continuation Event.+--+-- 'end', 'selectObjectContentEventStream_end' - The End Event.+--+-- 'progress', 'selectObjectContentEventStream_progress' - The Progress Event.+--+-- 'records', 'selectObjectContentEventStream_records' - The Records Event.+--+-- 'stats', 'selectObjectContentEventStream_stats' - The Stats Event.+newSelectObjectContentEventStream ::+  SelectObjectContentEventStream+newSelectObjectContentEventStream =+  SelectObjectContentEventStream'+    { cont =+        Prelude.Nothing,+      end = Prelude.Nothing,+      progress = Prelude.Nothing,+      records = Prelude.Nothing,+      stats = Prelude.Nothing+    }++-- | The Continuation Event.+selectObjectContentEventStream_cont :: Lens.Lens' SelectObjectContentEventStream (Prelude.Maybe ContinuationEvent)+selectObjectContentEventStream_cont = Lens.lens (\SelectObjectContentEventStream' {cont} -> cont) (\s@SelectObjectContentEventStream' {} a -> s {cont = a} :: SelectObjectContentEventStream)++-- | The End Event.+selectObjectContentEventStream_end :: Lens.Lens' SelectObjectContentEventStream (Prelude.Maybe EndEvent)+selectObjectContentEventStream_end = Lens.lens (\SelectObjectContentEventStream' {end} -> end) (\s@SelectObjectContentEventStream' {} a -> s {end = a} :: SelectObjectContentEventStream)++-- | The Progress Event.+selectObjectContentEventStream_progress :: Lens.Lens' SelectObjectContentEventStream (Prelude.Maybe ProgressEvent)+selectObjectContentEventStream_progress = Lens.lens (\SelectObjectContentEventStream' {progress} -> progress) (\s@SelectObjectContentEventStream' {} a -> s {progress = a} :: SelectObjectContentEventStream)++-- | The Records Event.+selectObjectContentEventStream_records :: Lens.Lens' SelectObjectContentEventStream (Prelude.Maybe RecordsEvent)+selectObjectContentEventStream_records = Lens.lens (\SelectObjectContentEventStream' {records} -> records) (\s@SelectObjectContentEventStream' {} a -> s {records = a} :: SelectObjectContentEventStream)++-- | The Stats Event.+selectObjectContentEventStream_stats :: Lens.Lens' SelectObjectContentEventStream (Prelude.Maybe StatsEvent)+selectObjectContentEventStream_stats = Lens.lens (\SelectObjectContentEventStream' {stats} -> stats) (\s@SelectObjectContentEventStream' {} a -> s {stats = a} :: SelectObjectContentEventStream)++instance Data.FromXML SelectObjectContentEventStream where+  parseXML x =+    SelectObjectContentEventStream'+      Prelude.<$> (x Data..@? "Cont")+      Prelude.<*> (x Data..@? "End")+      Prelude.<*> (x Data..@? "Progress")+      Prelude.<*> (x Data..@? "Records")+      Prelude.<*> (x Data..@? "Stats")++instance+  Prelude.Hashable+    SelectObjectContentEventStream+  where+  hashWithSalt+    _salt+    SelectObjectContentEventStream' {..} =+      _salt+        `Prelude.hashWithSalt` cont+        `Prelude.hashWithSalt` end+        `Prelude.hashWithSalt` progress+        `Prelude.hashWithSalt` records+        `Prelude.hashWithSalt` stats++instance+  Prelude.NFData+    SelectObjectContentEventStream+  where+  rnf SelectObjectContentEventStream' {..} =+    Prelude.rnf cont+      `Prelude.seq` Prelude.rnf end+      `Prelude.seq` Prelude.rnf progress+      `Prelude.seq` Prelude.rnf records+      `Prelude.seq` Prelude.rnf stats
+ gen/Amazonka/S3/Types/SelectParameters.hs view
@@ -0,0 +1,122 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SelectParameters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SelectParameters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ExpressionType+import Amazonka.S3.Types.InputSerialization+import Amazonka.S3.Types.OutputSerialization++-- | Describes the parameters for Select job types.+--+-- /See:/ 'newSelectParameters' smart constructor.+data SelectParameters = SelectParameters'+  { -- | Describes the serialization format of the object.+    inputSerialization :: InputSerialization,+    -- | The type of the provided expression (for example, SQL).+    expressionType :: ExpressionType,+    -- | The expression that is used to query the object.+    expression :: Prelude.Text,+    -- | Describes how the results of the Select job are serialized.+    outputSerialization :: OutputSerialization+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SelectParameters' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'inputSerialization', 'selectParameters_inputSerialization' - Describes the serialization format of the object.+--+-- 'expressionType', 'selectParameters_expressionType' - The type of the provided expression (for example, SQL).+--+-- 'expression', 'selectParameters_expression' - The expression that is used to query the object.+--+-- 'outputSerialization', 'selectParameters_outputSerialization' - Describes how the results of the Select job are serialized.+newSelectParameters ::+  -- | 'inputSerialization'+  InputSerialization ->+  -- | 'expressionType'+  ExpressionType ->+  -- | 'expression'+  Prelude.Text ->+  -- | 'outputSerialization'+  OutputSerialization ->+  SelectParameters+newSelectParameters+  pInputSerialization_+  pExpressionType_+  pExpression_+  pOutputSerialization_ =+    SelectParameters'+      { inputSerialization =+          pInputSerialization_,+        expressionType = pExpressionType_,+        expression = pExpression_,+        outputSerialization = pOutputSerialization_+      }++-- | Describes the serialization format of the object.+selectParameters_inputSerialization :: Lens.Lens' SelectParameters InputSerialization+selectParameters_inputSerialization = Lens.lens (\SelectParameters' {inputSerialization} -> inputSerialization) (\s@SelectParameters' {} a -> s {inputSerialization = a} :: SelectParameters)++-- | The type of the provided expression (for example, SQL).+selectParameters_expressionType :: Lens.Lens' SelectParameters ExpressionType+selectParameters_expressionType = Lens.lens (\SelectParameters' {expressionType} -> expressionType) (\s@SelectParameters' {} a -> s {expressionType = a} :: SelectParameters)++-- | The expression that is used to query the object.+selectParameters_expression :: Lens.Lens' SelectParameters Prelude.Text+selectParameters_expression = Lens.lens (\SelectParameters' {expression} -> expression) (\s@SelectParameters' {} a -> s {expression = a} :: SelectParameters)++-- | Describes how the results of the Select job are serialized.+selectParameters_outputSerialization :: Lens.Lens' SelectParameters OutputSerialization+selectParameters_outputSerialization = Lens.lens (\SelectParameters' {outputSerialization} -> outputSerialization) (\s@SelectParameters' {} a -> s {outputSerialization = a} :: SelectParameters)++instance Prelude.Hashable SelectParameters where+  hashWithSalt _salt SelectParameters' {..} =+    _salt+      `Prelude.hashWithSalt` inputSerialization+      `Prelude.hashWithSalt` expressionType+      `Prelude.hashWithSalt` expression+      `Prelude.hashWithSalt` outputSerialization++instance Prelude.NFData SelectParameters where+  rnf SelectParameters' {..} =+    Prelude.rnf inputSerialization+      `Prelude.seq` Prelude.rnf expressionType+      `Prelude.seq` Prelude.rnf expression+      `Prelude.seq` Prelude.rnf outputSerialization++instance Data.ToXML SelectParameters where+  toXML SelectParameters' {..} =+    Prelude.mconcat+      [ "InputSerialization" Data.@= inputSerialization,+        "ExpressionType" Data.@= expressionType,+        "Expression" Data.@= expression,+        "OutputSerialization" Data.@= outputSerialization+      ]
+ gen/Amazonka/S3/Types/ServerSideEncryption.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ServerSideEncryption+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ServerSideEncryption+  ( ServerSideEncryption+      ( ..,+        ServerSideEncryption_AES256,+        ServerSideEncryption_Aws_kms+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype ServerSideEncryption = ServerSideEncryption'+  { fromServerSideEncryption ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern ServerSideEncryption_AES256 :: ServerSideEncryption+pattern ServerSideEncryption_AES256 = ServerSideEncryption' "AES256"++pattern ServerSideEncryption_Aws_kms :: ServerSideEncryption+pattern ServerSideEncryption_Aws_kms = ServerSideEncryption' "aws:kms"++{-# COMPLETE+  ServerSideEncryption_AES256,+  ServerSideEncryption_Aws_kms,+  ServerSideEncryption'+  #-}
+ gen/Amazonka/S3/Types/ServerSideEncryptionByDefault.hs view
@@ -0,0 +1,164 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ServerSideEncryptionByDefault+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ServerSideEncryptionByDefault where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ServerSideEncryption++-- | Describes the default server-side encryption to apply to new objects in+-- the bucket. If a PUT Object request doesn\'t specify any server-side+-- encryption, this default encryption will be applied. If you don\'t+-- specify a customer managed key at configuration, Amazon S3 automatically+-- creates an Amazon Web Services KMS key in your Amazon Web Services+-- account the first time that you add an object encrypted with SSE-KMS to+-- a bucket. By default, Amazon S3 uses this KMS key for SSE-KMS. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html PUT Bucket encryption>+-- in the /Amazon S3 API Reference/.+--+-- /See:/ 'newServerSideEncryptionByDefault' smart constructor.+data ServerSideEncryptionByDefault = ServerSideEncryptionByDefault'+  { -- | Amazon Web Services Key Management Service (KMS) customer Amazon Web+    -- Services KMS key ID to use for the default encryption. This parameter is+    -- allowed if and only if @SSEAlgorithm@ is set to @aws:kms@.+    --+    -- You can specify the key ID or the Amazon Resource Name (ARN) of the KMS+    -- key. However, if you are using encryption with cross-account or Amazon+    -- Web Services service operations you must use a fully qualified KMS key+    -- ARN. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy Using encryption for cross-account operations>.+    --+    -- __For example:__+    --+    -- -   Key ID: @1234abcd-12ab-34cd-56ef-1234567890ab@+    --+    -- -   Key ARN:+    --     @arn:aws:kms:us-east-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+    --+    -- Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys.+    -- For more information, see+    -- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+    -- in the /Amazon Web Services Key Management Service Developer Guide/.+    kmsMasterKeyID :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Server-side encryption algorithm to use for the default encryption.+    sSEAlgorithm :: ServerSideEncryption+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryptionByDefault' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'kmsMasterKeyID', 'serverSideEncryptionByDefault_kmsMasterKeyID' - Amazon Web Services Key Management Service (KMS) customer Amazon Web+-- Services KMS key ID to use for the default encryption. This parameter is+-- allowed if and only if @SSEAlgorithm@ is set to @aws:kms@.+--+-- You can specify the key ID or the Amazon Resource Name (ARN) of the KMS+-- key. However, if you are using encryption with cross-account or Amazon+-- Web Services service operations you must use a fully qualified KMS key+-- ARN. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy Using encryption for cross-account operations>.+--+-- __For example:__+--+-- -   Key ID: @1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- -   Key ARN:+--     @arn:aws:kms:us-east-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys.+-- For more information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Amazon Web Services Key Management Service Developer Guide/.+--+-- 'sSEAlgorithm', 'serverSideEncryptionByDefault_sSEAlgorithm' - Server-side encryption algorithm to use for the default encryption.+newServerSideEncryptionByDefault ::+  -- | 'sSEAlgorithm'+  ServerSideEncryption ->+  ServerSideEncryptionByDefault+newServerSideEncryptionByDefault pSSEAlgorithm_ =+  ServerSideEncryptionByDefault'+    { kmsMasterKeyID =+        Prelude.Nothing,+      sSEAlgorithm = pSSEAlgorithm_+    }++-- | Amazon Web Services Key Management Service (KMS) customer Amazon Web+-- Services KMS key ID to use for the default encryption. This parameter is+-- allowed if and only if @SSEAlgorithm@ is set to @aws:kms@.+--+-- You can specify the key ID or the Amazon Resource Name (ARN) of the KMS+-- key. However, if you are using encryption with cross-account or Amazon+-- Web Services service operations you must use a fully qualified KMS key+-- ARN. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy Using encryption for cross-account operations>.+--+-- __For example:__+--+-- -   Key ID: @1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- -   Key ARN:+--     @arn:aws:kms:us-east-2:111122223333:key\/1234abcd-12ab-34cd-56ef-1234567890ab@+--+-- Amazon S3 only supports symmetric KMS keys and not asymmetric KMS keys.+-- For more information, see+-- <https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html Using symmetric and asymmetric keys>+-- in the /Amazon Web Services Key Management Service Developer Guide/.+serverSideEncryptionByDefault_kmsMasterKeyID :: Lens.Lens' ServerSideEncryptionByDefault (Prelude.Maybe Prelude.Text)+serverSideEncryptionByDefault_kmsMasterKeyID = Lens.lens (\ServerSideEncryptionByDefault' {kmsMasterKeyID} -> kmsMasterKeyID) (\s@ServerSideEncryptionByDefault' {} a -> s {kmsMasterKeyID = a} :: ServerSideEncryptionByDefault) Prelude.. Lens.mapping Data._Sensitive++-- | Server-side encryption algorithm to use for the default encryption.+serverSideEncryptionByDefault_sSEAlgorithm :: Lens.Lens' ServerSideEncryptionByDefault ServerSideEncryption+serverSideEncryptionByDefault_sSEAlgorithm = Lens.lens (\ServerSideEncryptionByDefault' {sSEAlgorithm} -> sSEAlgorithm) (\s@ServerSideEncryptionByDefault' {} a -> s {sSEAlgorithm = a} :: ServerSideEncryptionByDefault)++instance Data.FromXML ServerSideEncryptionByDefault where+  parseXML x =+    ServerSideEncryptionByDefault'+      Prelude.<$> (x Data..@? "KMSMasterKeyID")+      Prelude.<*> (x Data..@ "SSEAlgorithm")++instance+  Prelude.Hashable+    ServerSideEncryptionByDefault+  where+  hashWithSalt _salt ServerSideEncryptionByDefault' {..} =+    _salt+      `Prelude.hashWithSalt` kmsMasterKeyID+      `Prelude.hashWithSalt` sSEAlgorithm++instance Prelude.NFData ServerSideEncryptionByDefault where+  rnf ServerSideEncryptionByDefault' {..} =+    Prelude.rnf kmsMasterKeyID+      `Prelude.seq` Prelude.rnf sSEAlgorithm++instance Data.ToXML ServerSideEncryptionByDefault where+  toXML ServerSideEncryptionByDefault' {..} =+    Prelude.mconcat+      [ "KMSMasterKeyID" Data.@= kmsMasterKeyID,+        "SSEAlgorithm" Data.@= sSEAlgorithm+      ]
+ gen/Amazonka/S3/Types/ServerSideEncryptionConfiguration.hs view
@@ -0,0 +1,88 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ServerSideEncryptionConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ServerSideEncryptionConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ServerSideEncryptionRule++-- | Specifies the default server-side-encryption configuration.+--+-- /See:/ 'newServerSideEncryptionConfiguration' smart constructor.+data ServerSideEncryptionConfiguration = ServerSideEncryptionConfiguration'+  { -- | Container for information about a particular server-side encryption+    -- configuration rule.+    rules :: [ServerSideEncryptionRule]+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryptionConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'rules', 'serverSideEncryptionConfiguration_rules' - Container for information about a particular server-side encryption+-- configuration rule.+newServerSideEncryptionConfiguration ::+  ServerSideEncryptionConfiguration+newServerSideEncryptionConfiguration =+  ServerSideEncryptionConfiguration'+    { rules =+        Prelude.mempty+    }++-- | Container for information about a particular server-side encryption+-- configuration rule.+serverSideEncryptionConfiguration_rules :: Lens.Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]+serverSideEncryptionConfiguration_rules = Lens.lens (\ServerSideEncryptionConfiguration' {rules} -> rules) (\s@ServerSideEncryptionConfiguration' {} a -> s {rules = a} :: ServerSideEncryptionConfiguration) Prelude.. Lens.coerced++instance+  Data.FromXML+    ServerSideEncryptionConfiguration+  where+  parseXML x =+    ServerSideEncryptionConfiguration'+      Prelude.<$> (Data.parseXMLList "Rule" x)++instance+  Prelude.Hashable+    ServerSideEncryptionConfiguration+  where+  hashWithSalt+    _salt+    ServerSideEncryptionConfiguration' {..} =+      _salt `Prelude.hashWithSalt` rules++instance+  Prelude.NFData+    ServerSideEncryptionConfiguration+  where+  rnf ServerSideEncryptionConfiguration' {..} =+    Prelude.rnf rules++instance Data.ToXML ServerSideEncryptionConfiguration where+  toXML ServerSideEncryptionConfiguration' {..} =+    Prelude.mconcat [Data.toXMLList "Rule" rules]
+ gen/Amazonka/S3/Types/ServerSideEncryptionRule.hs view
@@ -0,0 +1,121 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.ServerSideEncryptionRule+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.ServerSideEncryptionRule where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ServerSideEncryptionByDefault++-- | Specifies the default server-side encryption configuration.+--+-- /See:/ 'newServerSideEncryptionRule' smart constructor.+data ServerSideEncryptionRule = ServerSideEncryptionRule'+  { -- | Specifies the default server-side encryption to apply to new objects in+    -- the bucket. If a PUT Object request doesn\'t specify any server-side+    -- encryption, this default encryption will be applied.+    applyServerSideEncryptionByDefault :: Prelude.Maybe ServerSideEncryptionByDefault,+    -- | Specifies whether Amazon S3 should use an S3 Bucket Key with server-side+    -- encryption using KMS (SSE-KMS) for new objects in the bucket. Existing+    -- objects are not affected. Setting the @BucketKeyEnabled@ element to+    -- @true@ causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket+    -- Key is not enabled.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html Amazon S3 Bucket Keys>+    -- in the /Amazon S3 User Guide/.+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'ServerSideEncryptionRule' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'applyServerSideEncryptionByDefault', 'serverSideEncryptionRule_applyServerSideEncryptionByDefault' - Specifies the default server-side encryption to apply to new objects in+-- the bucket. If a PUT Object request doesn\'t specify any server-side+-- encryption, this default encryption will be applied.+--+-- 'bucketKeyEnabled', 'serverSideEncryptionRule_bucketKeyEnabled' - Specifies whether Amazon S3 should use an S3 Bucket Key with server-side+-- encryption using KMS (SSE-KMS) for new objects in the bucket. Existing+-- objects are not affected. Setting the @BucketKeyEnabled@ element to+-- @true@ causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket+-- Key is not enabled.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html Amazon S3 Bucket Keys>+-- in the /Amazon S3 User Guide/.+newServerSideEncryptionRule ::+  ServerSideEncryptionRule+newServerSideEncryptionRule =+  ServerSideEncryptionRule'+    { applyServerSideEncryptionByDefault =+        Prelude.Nothing,+      bucketKeyEnabled = Prelude.Nothing+    }++-- | Specifies the default server-side encryption to apply to new objects in+-- the bucket. If a PUT Object request doesn\'t specify any server-side+-- encryption, this default encryption will be applied.+serverSideEncryptionRule_applyServerSideEncryptionByDefault :: Lens.Lens' ServerSideEncryptionRule (Prelude.Maybe ServerSideEncryptionByDefault)+serverSideEncryptionRule_applyServerSideEncryptionByDefault = Lens.lens (\ServerSideEncryptionRule' {applyServerSideEncryptionByDefault} -> applyServerSideEncryptionByDefault) (\s@ServerSideEncryptionRule' {} a -> s {applyServerSideEncryptionByDefault = a} :: ServerSideEncryptionRule)++-- | Specifies whether Amazon S3 should use an S3 Bucket Key with server-side+-- encryption using KMS (SSE-KMS) for new objects in the bucket. Existing+-- objects are not affected. Setting the @BucketKeyEnabled@ element to+-- @true@ causes Amazon S3 to use an S3 Bucket Key. By default, S3 Bucket+-- Key is not enabled.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html Amazon S3 Bucket Keys>+-- in the /Amazon S3 User Guide/.+serverSideEncryptionRule_bucketKeyEnabled :: Lens.Lens' ServerSideEncryptionRule (Prelude.Maybe Prelude.Bool)+serverSideEncryptionRule_bucketKeyEnabled = Lens.lens (\ServerSideEncryptionRule' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@ServerSideEncryptionRule' {} a -> s {bucketKeyEnabled = a} :: ServerSideEncryptionRule)++instance Data.FromXML ServerSideEncryptionRule where+  parseXML x =+    ServerSideEncryptionRule'+      Prelude.<$> (x Data..@? "ApplyServerSideEncryptionByDefault")+      Prelude.<*> (x Data..@? "BucketKeyEnabled")++instance Prelude.Hashable ServerSideEncryptionRule where+  hashWithSalt _salt ServerSideEncryptionRule' {..} =+    _salt+      `Prelude.hashWithSalt` applyServerSideEncryptionByDefault+      `Prelude.hashWithSalt` bucketKeyEnabled++instance Prelude.NFData ServerSideEncryptionRule where+  rnf ServerSideEncryptionRule' {..} =+    Prelude.rnf applyServerSideEncryptionByDefault+      `Prelude.seq` Prelude.rnf bucketKeyEnabled++instance Data.ToXML ServerSideEncryptionRule where+  toXML ServerSideEncryptionRule' {..} =+    Prelude.mconcat+      [ "ApplyServerSideEncryptionByDefault"+          Data.@= applyServerSideEncryptionByDefault,+        "BucketKeyEnabled" Data.@= bucketKeyEnabled+      ]
+ gen/Amazonka/S3/Types/SourceSelectionCriteria.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SourceSelectionCriteria+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SourceSelectionCriteria where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ReplicaModifications+import Amazonka.S3.Types.SseKmsEncryptedObjects++-- | A container that describes additional filters for identifying the source+-- objects that you want to replicate. You can choose to enable or disable+-- the replication of these objects. Currently, Amazon S3 supports only the+-- filter that you can specify for objects created with server-side+-- encryption using a customer managed key stored in Amazon Web Services+-- Key Management Service (SSE-KMS).+--+-- /See:/ 'newSourceSelectionCriteria' smart constructor.+data SourceSelectionCriteria = SourceSelectionCriteria'+  { -- | A filter that you can specify for selections for modifications on+    -- replicas. Amazon S3 doesn\'t replicate replica modifications by default.+    -- In the latest version of replication configuration (when @Filter@ is+    -- specified), you can specify this element and set the status to @Enabled@+    -- to replicate modifications on replicas.+    --+    -- If you don\'t specify the @Filter@ element, Amazon S3 assumes that the+    -- replication configuration is the earlier version, V1. In the earlier+    -- version, this element is not allowed+    replicaModifications :: Prelude.Maybe ReplicaModifications,+    -- | A container for filter information for the selection of Amazon S3+    -- objects encrypted with Amazon Web Services KMS. If you include+    -- @SourceSelectionCriteria@ in the replication configuration, this element+    -- is required.+    sseKmsEncryptedObjects :: Prelude.Maybe SseKmsEncryptedObjects+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SourceSelectionCriteria' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'replicaModifications', 'sourceSelectionCriteria_replicaModifications' - A filter that you can specify for selections for modifications on+-- replicas. Amazon S3 doesn\'t replicate replica modifications by default.+-- In the latest version of replication configuration (when @Filter@ is+-- specified), you can specify this element and set the status to @Enabled@+-- to replicate modifications on replicas.+--+-- If you don\'t specify the @Filter@ element, Amazon S3 assumes that the+-- replication configuration is the earlier version, V1. In the earlier+-- version, this element is not allowed+--+-- 'sseKmsEncryptedObjects', 'sourceSelectionCriteria_sseKmsEncryptedObjects' - A container for filter information for the selection of Amazon S3+-- objects encrypted with Amazon Web Services KMS. If you include+-- @SourceSelectionCriteria@ in the replication configuration, this element+-- is required.+newSourceSelectionCriteria ::+  SourceSelectionCriteria+newSourceSelectionCriteria =+  SourceSelectionCriteria'+    { replicaModifications =+        Prelude.Nothing,+      sseKmsEncryptedObjects = Prelude.Nothing+    }++-- | A filter that you can specify for selections for modifications on+-- replicas. Amazon S3 doesn\'t replicate replica modifications by default.+-- In the latest version of replication configuration (when @Filter@ is+-- specified), you can specify this element and set the status to @Enabled@+-- to replicate modifications on replicas.+--+-- If you don\'t specify the @Filter@ element, Amazon S3 assumes that the+-- replication configuration is the earlier version, V1. In the earlier+-- version, this element is not allowed+sourceSelectionCriteria_replicaModifications :: Lens.Lens' SourceSelectionCriteria (Prelude.Maybe ReplicaModifications)+sourceSelectionCriteria_replicaModifications = Lens.lens (\SourceSelectionCriteria' {replicaModifications} -> replicaModifications) (\s@SourceSelectionCriteria' {} a -> s {replicaModifications = a} :: SourceSelectionCriteria)++-- | A container for filter information for the selection of Amazon S3+-- objects encrypted with Amazon Web Services KMS. If you include+-- @SourceSelectionCriteria@ in the replication configuration, this element+-- is required.+sourceSelectionCriteria_sseKmsEncryptedObjects :: Lens.Lens' SourceSelectionCriteria (Prelude.Maybe SseKmsEncryptedObjects)+sourceSelectionCriteria_sseKmsEncryptedObjects = Lens.lens (\SourceSelectionCriteria' {sseKmsEncryptedObjects} -> sseKmsEncryptedObjects) (\s@SourceSelectionCriteria' {} a -> s {sseKmsEncryptedObjects = a} :: SourceSelectionCriteria)++instance Data.FromXML SourceSelectionCriteria where+  parseXML x =+    SourceSelectionCriteria'+      Prelude.<$> (x Data..@? "ReplicaModifications")+      Prelude.<*> (x Data..@? "SseKmsEncryptedObjects")++instance Prelude.Hashable SourceSelectionCriteria where+  hashWithSalt _salt SourceSelectionCriteria' {..} =+    _salt+      `Prelude.hashWithSalt` replicaModifications+      `Prelude.hashWithSalt` sseKmsEncryptedObjects++instance Prelude.NFData SourceSelectionCriteria where+  rnf SourceSelectionCriteria' {..} =+    Prelude.rnf replicaModifications+      `Prelude.seq` Prelude.rnf sseKmsEncryptedObjects++instance Data.ToXML SourceSelectionCriteria where+  toXML SourceSelectionCriteria' {..} =+    Prelude.mconcat+      [ "ReplicaModifications" Data.@= replicaModifications,+        "SseKmsEncryptedObjects"+          Data.@= sseKmsEncryptedObjects+      ]
+ gen/Amazonka/S3/Types/SseKmsEncryptedObjects.hs view
@@ -0,0 +1,79 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SseKmsEncryptedObjects+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SseKmsEncryptedObjects where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.SseKmsEncryptedObjectsStatus++-- | A container for filter information for the selection of S3 objects+-- encrypted with Amazon Web Services KMS.+--+-- /See:/ 'newSseKmsEncryptedObjects' smart constructor.+data SseKmsEncryptedObjects = SseKmsEncryptedObjects'+  { -- | Specifies whether Amazon S3 replicates objects created with server-side+    -- encryption using an Amazon Web Services KMS key stored in Amazon Web+    -- Services Key Management Service.+    status :: SseKmsEncryptedObjectsStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'SseKmsEncryptedObjects' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'status', 'sseKmsEncryptedObjects_status' - Specifies whether Amazon S3 replicates objects created with server-side+-- encryption using an Amazon Web Services KMS key stored in Amazon Web+-- Services Key Management Service.+newSseKmsEncryptedObjects ::+  -- | 'status'+  SseKmsEncryptedObjectsStatus ->+  SseKmsEncryptedObjects+newSseKmsEncryptedObjects pStatus_ =+  SseKmsEncryptedObjects' {status = pStatus_}++-- | Specifies whether Amazon S3 replicates objects created with server-side+-- encryption using an Amazon Web Services KMS key stored in Amazon Web+-- Services Key Management Service.+sseKmsEncryptedObjects_status :: Lens.Lens' SseKmsEncryptedObjects SseKmsEncryptedObjectsStatus+sseKmsEncryptedObjects_status = Lens.lens (\SseKmsEncryptedObjects' {status} -> status) (\s@SseKmsEncryptedObjects' {} a -> s {status = a} :: SseKmsEncryptedObjects)++instance Data.FromXML SseKmsEncryptedObjects where+  parseXML x =+    SseKmsEncryptedObjects'+      Prelude.<$> (x Data..@ "Status")++instance Prelude.Hashable SseKmsEncryptedObjects where+  hashWithSalt _salt SseKmsEncryptedObjects' {..} =+    _salt `Prelude.hashWithSalt` status++instance Prelude.NFData SseKmsEncryptedObjects where+  rnf SseKmsEncryptedObjects' {..} = Prelude.rnf status++instance Data.ToXML SseKmsEncryptedObjects where+  toXML SseKmsEncryptedObjects' {..} =+    Prelude.mconcat ["Status" Data.@= status]
+ gen/Amazonka/S3/Types/SseKmsEncryptedObjectsStatus.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.SseKmsEncryptedObjectsStatus+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.SseKmsEncryptedObjectsStatus+  ( SseKmsEncryptedObjectsStatus+      ( ..,+        SseKmsEncryptedObjectsStatus_Disabled,+        SseKmsEncryptedObjectsStatus_Enabled+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype SseKmsEncryptedObjectsStatus = SseKmsEncryptedObjectsStatus'+  { fromSseKmsEncryptedObjectsStatus ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern SseKmsEncryptedObjectsStatus_Disabled :: SseKmsEncryptedObjectsStatus+pattern SseKmsEncryptedObjectsStatus_Disabled = SseKmsEncryptedObjectsStatus' "Disabled"++pattern SseKmsEncryptedObjectsStatus_Enabled :: SseKmsEncryptedObjectsStatus+pattern SseKmsEncryptedObjectsStatus_Enabled = SseKmsEncryptedObjectsStatus' "Enabled"++{-# COMPLETE+  SseKmsEncryptedObjectsStatus_Disabled,+  SseKmsEncryptedObjectsStatus_Enabled,+  SseKmsEncryptedObjectsStatus'+  #-}
+ gen/Amazonka/S3/Types/Stats.hs view
@@ -0,0 +1,93 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Stats+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Stats where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | Container for the stats details.+--+-- /See:/ 'newStats' smart constructor.+data Stats = Stats'+  { -- | The total number of uncompressed object bytes processed.+    bytesProcessed :: Prelude.Maybe Prelude.Integer,+    -- | The total number of bytes of records payload data returned.+    bytesReturned :: Prelude.Maybe Prelude.Integer,+    -- | The total number of object bytes scanned.+    bytesScanned :: Prelude.Maybe Prelude.Integer+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Stats' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bytesProcessed', 'stats_bytesProcessed' - The total number of uncompressed object bytes processed.+--+-- 'bytesReturned', 'stats_bytesReturned' - The total number of bytes of records payload data returned.+--+-- 'bytesScanned', 'stats_bytesScanned' - The total number of object bytes scanned.+newStats ::+  Stats+newStats =+  Stats'+    { bytesProcessed = Prelude.Nothing,+      bytesReturned = Prelude.Nothing,+      bytesScanned = Prelude.Nothing+    }++-- | The total number of uncompressed object bytes processed.+stats_bytesProcessed :: Lens.Lens' Stats (Prelude.Maybe Prelude.Integer)+stats_bytesProcessed = Lens.lens (\Stats' {bytesProcessed} -> bytesProcessed) (\s@Stats' {} a -> s {bytesProcessed = a} :: Stats)++-- | The total number of bytes of records payload data returned.+stats_bytesReturned :: Lens.Lens' Stats (Prelude.Maybe Prelude.Integer)+stats_bytesReturned = Lens.lens (\Stats' {bytesReturned} -> bytesReturned) (\s@Stats' {} a -> s {bytesReturned = a} :: Stats)++-- | The total number of object bytes scanned.+stats_bytesScanned :: Lens.Lens' Stats (Prelude.Maybe Prelude.Integer)+stats_bytesScanned = Lens.lens (\Stats' {bytesScanned} -> bytesScanned) (\s@Stats' {} a -> s {bytesScanned = a} :: Stats)++instance Data.FromXML Stats where+  parseXML x =+    Stats'+      Prelude.<$> (x Data..@? "BytesProcessed")+      Prelude.<*> (x Data..@? "BytesReturned")+      Prelude.<*> (x Data..@? "BytesScanned")++instance Prelude.Hashable Stats where+  hashWithSalt _salt Stats' {..} =+    _salt+      `Prelude.hashWithSalt` bytesProcessed+      `Prelude.hashWithSalt` bytesReturned+      `Prelude.hashWithSalt` bytesScanned++instance Prelude.NFData Stats where+  rnf Stats' {..} =+    Prelude.rnf bytesProcessed+      `Prelude.seq` Prelude.rnf bytesReturned+      `Prelude.seq` Prelude.rnf bytesScanned
+ gen/Amazonka/S3/Types/StatsEvent.hs view
@@ -0,0 +1,65 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.StatsEvent+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.StatsEvent where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Stats++-- | Container for the Stats Event.+--+-- /See:/ 'newStatsEvent' smart constructor.+data StatsEvent = StatsEvent'+  { -- | The Stats event details.+    details :: Prelude.Maybe Stats+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StatsEvent' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'details', 'statsEvent_details' - The Stats event details.+newStatsEvent ::+  StatsEvent+newStatsEvent =+  StatsEvent' {details = Prelude.Nothing}++-- | The Stats event details.+statsEvent_details :: Lens.Lens' StatsEvent (Prelude.Maybe Stats)+statsEvent_details = Lens.lens (\StatsEvent' {details} -> details) (\s@StatsEvent' {} a -> s {details = a} :: StatsEvent)++instance Data.FromXML StatsEvent where+  parseXML x =+    StatsEvent' Prelude.<$> (x Data..@? "Details")++instance Prelude.Hashable StatsEvent where+  hashWithSalt _salt StatsEvent' {..} =+    _salt `Prelude.hashWithSalt` details++instance Prelude.NFData StatsEvent where+  rnf StatsEvent' {..} = Prelude.rnf details
+ gen/Amazonka/S3/Types/StorageClass.hs view
@@ -0,0 +1,107 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.StorageClass+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.StorageClass+  ( StorageClass+      ( ..,+        StorageClass_DEEP_ARCHIVE,+        StorageClass_GLACIER,+        StorageClass_GLACIER_IR,+        StorageClass_INTELLIGENT_TIERING,+        StorageClass_ONEZONE_IA,+        StorageClass_OUTPOSTS,+        StorageClass_REDUCED_REDUNDANCY,+        StorageClass_STANDARD,+        StorageClass_STANDARD_IA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype StorageClass = StorageClass'+  { fromStorageClass ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern StorageClass_DEEP_ARCHIVE :: StorageClass+pattern StorageClass_DEEP_ARCHIVE = StorageClass' "DEEP_ARCHIVE"++pattern StorageClass_GLACIER :: StorageClass+pattern StorageClass_GLACIER = StorageClass' "GLACIER"++pattern StorageClass_GLACIER_IR :: StorageClass+pattern StorageClass_GLACIER_IR = StorageClass' "GLACIER_IR"++pattern StorageClass_INTELLIGENT_TIERING :: StorageClass+pattern StorageClass_INTELLIGENT_TIERING = StorageClass' "INTELLIGENT_TIERING"++pattern StorageClass_ONEZONE_IA :: StorageClass+pattern StorageClass_ONEZONE_IA = StorageClass' "ONEZONE_IA"++pattern StorageClass_OUTPOSTS :: StorageClass+pattern StorageClass_OUTPOSTS = StorageClass' "OUTPOSTS"++pattern StorageClass_REDUCED_REDUNDANCY :: StorageClass+pattern StorageClass_REDUCED_REDUNDANCY = StorageClass' "REDUCED_REDUNDANCY"++pattern StorageClass_STANDARD :: StorageClass+pattern StorageClass_STANDARD = StorageClass' "STANDARD"++pattern StorageClass_STANDARD_IA :: StorageClass+pattern StorageClass_STANDARD_IA = StorageClass' "STANDARD_IA"++{-# COMPLETE+  StorageClass_DEEP_ARCHIVE,+  StorageClass_GLACIER,+  StorageClass_GLACIER_IR,+  StorageClass_INTELLIGENT_TIERING,+  StorageClass_ONEZONE_IA,+  StorageClass_OUTPOSTS,+  StorageClass_REDUCED_REDUNDANCY,+  StorageClass_STANDARD,+  StorageClass_STANDARD_IA,+  StorageClass'+  #-}
+ gen/Amazonka/S3/Types/StorageClassAnalysis.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.StorageClassAnalysis+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.StorageClassAnalysis where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.StorageClassAnalysisDataExport++-- | Specifies data related to access patterns to be collected and made+-- available to analyze the tradeoffs between different storage classes for+-- an Amazon S3 bucket.+--+-- /See:/ 'newStorageClassAnalysis' smart constructor.+data StorageClassAnalysis = StorageClassAnalysis'+  { -- | Specifies how data related to the storage class analysis for an Amazon+    -- S3 bucket should be exported.+    dataExport :: Prelude.Maybe StorageClassAnalysisDataExport+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StorageClassAnalysis' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'dataExport', 'storageClassAnalysis_dataExport' - Specifies how data related to the storage class analysis for an Amazon+-- S3 bucket should be exported.+newStorageClassAnalysis ::+  StorageClassAnalysis+newStorageClassAnalysis =+  StorageClassAnalysis' {dataExport = Prelude.Nothing}++-- | Specifies how data related to the storage class analysis for an Amazon+-- S3 bucket should be exported.+storageClassAnalysis_dataExport :: Lens.Lens' StorageClassAnalysis (Prelude.Maybe StorageClassAnalysisDataExport)+storageClassAnalysis_dataExport = Lens.lens (\StorageClassAnalysis' {dataExport} -> dataExport) (\s@StorageClassAnalysis' {} a -> s {dataExport = a} :: StorageClassAnalysis)++instance Data.FromXML StorageClassAnalysis where+  parseXML x =+    StorageClassAnalysis'+      Prelude.<$> (x Data..@? "DataExport")++instance Prelude.Hashable StorageClassAnalysis where+  hashWithSalt _salt StorageClassAnalysis' {..} =+    _salt `Prelude.hashWithSalt` dataExport++instance Prelude.NFData StorageClassAnalysis where+  rnf StorageClassAnalysis' {..} =+    Prelude.rnf dataExport++instance Data.ToXML StorageClassAnalysis where+  toXML StorageClassAnalysis' {..} =+    Prelude.mconcat ["DataExport" Data.@= dataExport]
+ gen/Amazonka/S3/Types/StorageClassAnalysisDataExport.hs view
@@ -0,0 +1,109 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.StorageClassAnalysisDataExport+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.StorageClassAnalysisDataExport where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.AnalyticsExportDestination+import Amazonka.S3.Types.StorageClassAnalysisSchemaVersion++-- | Container for data related to the storage class analysis for an Amazon+-- S3 bucket for export.+--+-- /See:/ 'newStorageClassAnalysisDataExport' smart constructor.+data StorageClassAnalysisDataExport = StorageClassAnalysisDataExport'+  { -- | The version of the output schema to use when exporting data. Must be+    -- @V_1@.+    outputSchemaVersion :: StorageClassAnalysisSchemaVersion,+    -- | The place to store the data for an analysis.+    destination :: AnalyticsExportDestination+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'StorageClassAnalysisDataExport' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'outputSchemaVersion', 'storageClassAnalysisDataExport_outputSchemaVersion' - The version of the output schema to use when exporting data. Must be+-- @V_1@.+--+-- 'destination', 'storageClassAnalysisDataExport_destination' - The place to store the data for an analysis.+newStorageClassAnalysisDataExport ::+  -- | 'outputSchemaVersion'+  StorageClassAnalysisSchemaVersion ->+  -- | 'destination'+  AnalyticsExportDestination ->+  StorageClassAnalysisDataExport+newStorageClassAnalysisDataExport+  pOutputSchemaVersion_+  pDestination_ =+    StorageClassAnalysisDataExport'+      { outputSchemaVersion =+          pOutputSchemaVersion_,+        destination = pDestination_+      }++-- | The version of the output schema to use when exporting data. Must be+-- @V_1@.+storageClassAnalysisDataExport_outputSchemaVersion :: Lens.Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion+storageClassAnalysisDataExport_outputSchemaVersion = Lens.lens (\StorageClassAnalysisDataExport' {outputSchemaVersion} -> outputSchemaVersion) (\s@StorageClassAnalysisDataExport' {} a -> s {outputSchemaVersion = a} :: StorageClassAnalysisDataExport)++-- | The place to store the data for an analysis.+storageClassAnalysisDataExport_destination :: Lens.Lens' StorageClassAnalysisDataExport AnalyticsExportDestination+storageClassAnalysisDataExport_destination = Lens.lens (\StorageClassAnalysisDataExport' {destination} -> destination) (\s@StorageClassAnalysisDataExport' {} a -> s {destination = a} :: StorageClassAnalysisDataExport)++instance Data.FromXML StorageClassAnalysisDataExport where+  parseXML x =+    StorageClassAnalysisDataExport'+      Prelude.<$> (x Data..@ "OutputSchemaVersion")+      Prelude.<*> (x Data..@ "Destination")++instance+  Prelude.Hashable+    StorageClassAnalysisDataExport+  where+  hashWithSalt+    _salt+    StorageClassAnalysisDataExport' {..} =+      _salt+        `Prelude.hashWithSalt` outputSchemaVersion+        `Prelude.hashWithSalt` destination++instance+  Prelude.NFData+    StorageClassAnalysisDataExport+  where+  rnf StorageClassAnalysisDataExport' {..} =+    Prelude.rnf outputSchemaVersion+      `Prelude.seq` Prelude.rnf destination++instance Data.ToXML StorageClassAnalysisDataExport where+  toXML StorageClassAnalysisDataExport' {..} =+    Prelude.mconcat+      [ "OutputSchemaVersion" Data.@= outputSchemaVersion,+        "Destination" Data.@= destination+      ]
+ gen/Amazonka/S3/Types/StorageClassAnalysisSchemaVersion.hs view
@@ -0,0 +1,67 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.StorageClassAnalysisSchemaVersion+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.StorageClassAnalysisSchemaVersion+  ( StorageClassAnalysisSchemaVersion+      ( ..,+        StorageClassAnalysisSchemaVersion_V_1+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype StorageClassAnalysisSchemaVersion = StorageClassAnalysisSchemaVersion'+  { fromStorageClassAnalysisSchemaVersion ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern StorageClassAnalysisSchemaVersion_V_1 :: StorageClassAnalysisSchemaVersion+pattern StorageClassAnalysisSchemaVersion_V_1 = StorageClassAnalysisSchemaVersion' "V_1"++{-# COMPLETE+  StorageClassAnalysisSchemaVersion_V_1,+  StorageClassAnalysisSchemaVersion'+  #-}
+ gen/Amazonka/S3/Types/Tag.hs view
@@ -0,0 +1,86 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Tag+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Tag where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++-- | A container of a key value name pair.+--+-- /See:/ 'newTag' smart constructor.+data Tag = Tag'+  { -- | Name of the object key.+    key :: ObjectKey,+    -- | Value of the tag.+    value :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tag' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'key', 'tag_key' - Name of the object key.+--+-- 'value', 'tag_value' - Value of the tag.+newTag ::+  -- | 'key'+  ObjectKey ->+  -- | 'value'+  Prelude.Text ->+  Tag+newTag pKey_ pValue_ =+  Tag' {key = pKey_, value = pValue_}++-- | Name of the object key.+tag_key :: Lens.Lens' Tag ObjectKey+tag_key = Lens.lens (\Tag' {key} -> key) (\s@Tag' {} a -> s {key = a} :: Tag)++-- | Value of the tag.+tag_value :: Lens.Lens' Tag Prelude.Text+tag_value = Lens.lens (\Tag' {value} -> value) (\s@Tag' {} a -> s {value = a} :: Tag)++instance Data.FromXML Tag where+  parseXML x =+    Tag'+      Prelude.<$> (x Data..@ "Key")+      Prelude.<*> (x Data..@ "Value")++instance Prelude.Hashable Tag where+  hashWithSalt _salt Tag' {..} =+    _salt+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` value++instance Prelude.NFData Tag where+  rnf Tag' {..} =+    Prelude.rnf key `Prelude.seq` Prelude.rnf value++instance Data.ToXML Tag where+  toXML Tag' {..} =+    Prelude.mconcat+      ["Key" Data.@= key, "Value" Data.@= value]
+ gen/Amazonka/S3/Types/Tagging.hs view
@@ -0,0 +1,65 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Tagging+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Tagging where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Tag++-- | Container for @TagSet@ elements.+--+-- /See:/ 'newTagging' smart constructor.+data Tagging = Tagging'+  { -- | A collection for a set of tags+    tagSet :: [Tag]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tagging' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'tagSet', 'tagging_tagSet' - A collection for a set of tags+newTagging ::+  Tagging+newTagging = Tagging' {tagSet = Prelude.mempty}++-- | A collection for a set of tags+tagging_tagSet :: Lens.Lens' Tagging [Tag]+tagging_tagSet = Lens.lens (\Tagging' {tagSet} -> tagSet) (\s@Tagging' {} a -> s {tagSet = a} :: Tagging) Prelude.. Lens.coerced++instance Prelude.Hashable Tagging where+  hashWithSalt _salt Tagging' {..} =+    _salt `Prelude.hashWithSalt` tagSet++instance Prelude.NFData Tagging where+  rnf Tagging' {..} = Prelude.rnf tagSet++instance Data.ToXML Tagging where+  toXML Tagging' {..} =+    Prelude.mconcat+      ["TagSet" Data.@= Data.toXMLList "Tag" tagSet]
+ gen/Amazonka/S3/Types/TaggingDirective.hs view
@@ -0,0 +1,72 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.TaggingDirective+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.TaggingDirective+  ( TaggingDirective+      ( ..,+        TaggingDirective_COPY,+        TaggingDirective_REPLACE+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype TaggingDirective = TaggingDirective'+  { fromTaggingDirective ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TaggingDirective_COPY :: TaggingDirective+pattern TaggingDirective_COPY = TaggingDirective' "COPY"++pattern TaggingDirective_REPLACE :: TaggingDirective+pattern TaggingDirective_REPLACE = TaggingDirective' "REPLACE"++{-# COMPLETE+  TaggingDirective_COPY,+  TaggingDirective_REPLACE,+  TaggingDirective'+  #-}
+ gen/Amazonka/S3/Types/TargetGrant.hs view
@@ -0,0 +1,95 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.TargetGrant+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.TargetGrant where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.BucketLogsPermission+import Amazonka.S3.Types.Grantee++-- | Container for granting information.+--+-- Buckets that use the bucket owner enforced setting for Object Ownership+-- don\'t support target grants. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general Permissions server access log delivery>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newTargetGrant' smart constructor.+data TargetGrant = TargetGrant'+  { -- | Container for the person being granted permissions.+    grantee :: Prelude.Maybe Grantee,+    -- | Logging permissions assigned to the grantee for the bucket.+    permission :: Prelude.Maybe BucketLogsPermission+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TargetGrant' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'grantee', 'targetGrant_grantee' - Container for the person being granted permissions.+--+-- 'permission', 'targetGrant_permission' - Logging permissions assigned to the grantee for the bucket.+newTargetGrant ::+  TargetGrant+newTargetGrant =+  TargetGrant'+    { grantee = Prelude.Nothing,+      permission = Prelude.Nothing+    }++-- | Container for the person being granted permissions.+targetGrant_grantee :: Lens.Lens' TargetGrant (Prelude.Maybe Grantee)+targetGrant_grantee = Lens.lens (\TargetGrant' {grantee} -> grantee) (\s@TargetGrant' {} a -> s {grantee = a} :: TargetGrant)++-- | Logging permissions assigned to the grantee for the bucket.+targetGrant_permission :: Lens.Lens' TargetGrant (Prelude.Maybe BucketLogsPermission)+targetGrant_permission = Lens.lens (\TargetGrant' {permission} -> permission) (\s@TargetGrant' {} a -> s {permission = a} :: TargetGrant)++instance Data.FromXML TargetGrant where+  parseXML x =+    TargetGrant'+      Prelude.<$> (x Data..@? "Grantee")+      Prelude.<*> (x Data..@? "Permission")++instance Prelude.Hashable TargetGrant where+  hashWithSalt _salt TargetGrant' {..} =+    _salt+      `Prelude.hashWithSalt` grantee+      `Prelude.hashWithSalt` permission++instance Prelude.NFData TargetGrant where+  rnf TargetGrant' {..} =+    Prelude.rnf grantee+      `Prelude.seq` Prelude.rnf permission++instance Data.ToXML TargetGrant where+  toXML TargetGrant' {..} =+    Prelude.mconcat+      [ "Grantee" Data.@= grantee,+        "Permission" Data.@= permission+      ]
+ gen/Amazonka/S3/Types/Tier.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Tier+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Tier+  ( Tier+      ( ..,+        Tier_Bulk,+        Tier_Expedited,+        Tier_Standard+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype Tier = Tier' {fromTier :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Tier_Bulk :: Tier+pattern Tier_Bulk = Tier' "Bulk"++pattern Tier_Expedited :: Tier+pattern Tier_Expedited = Tier' "Expedited"++pattern Tier_Standard :: Tier+pattern Tier_Standard = Tier' "Standard"++{-# COMPLETE+  Tier_Bulk,+  Tier_Expedited,+  Tier_Standard,+  Tier'+  #-}
+ gen/Amazonka/S3/Types/Tiering.hs view
@@ -0,0 +1,110 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Tiering+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Tiering where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.IntelligentTieringAccessTier++-- | The S3 Intelligent-Tiering storage class is designed to optimize storage+-- costs by automatically moving data to the most cost-effective storage+-- access tier, without additional operational overhead.+--+-- /See:/ 'newTiering' smart constructor.+data Tiering = Tiering'+  { -- | The number of consecutive days of no access after which an object will+    -- be eligible to be transitioned to the corresponding tier. The minimum+    -- number of days specified for Archive Access tier must be at least 90+    -- days and Deep Archive Access tier must be at least 180 days. The maximum+    -- can be up to 2 years (730 days).+    days :: Prelude.Int,+    -- | S3 Intelligent-Tiering access tier. See+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>+    -- for a list of access tiers in the S3 Intelligent-Tiering storage class.+    accessTier :: IntelligentTieringAccessTier+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Tiering' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'days', 'tiering_days' - The number of consecutive days of no access after which an object will+-- be eligible to be transitioned to the corresponding tier. The minimum+-- number of days specified for Archive Access tier must be at least 90+-- days and Deep Archive Access tier must be at least 180 days. The maximum+-- can be up to 2 years (730 days).+--+-- 'accessTier', 'tiering_accessTier' - S3 Intelligent-Tiering access tier. See+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>+-- for a list of access tiers in the S3 Intelligent-Tiering storage class.+newTiering ::+  -- | 'days'+  Prelude.Int ->+  -- | 'accessTier'+  IntelligentTieringAccessTier ->+  Tiering+newTiering pDays_ pAccessTier_ =+  Tiering' {days = pDays_, accessTier = pAccessTier_}++-- | The number of consecutive days of no access after which an object will+-- be eligible to be transitioned to the corresponding tier. The minimum+-- number of days specified for Archive Access tier must be at least 90+-- days and Deep Archive Access tier must be at least 180 days. The maximum+-- can be up to 2 years (730 days).+tiering_days :: Lens.Lens' Tiering Prelude.Int+tiering_days = Lens.lens (\Tiering' {days} -> days) (\s@Tiering' {} a -> s {days = a} :: Tiering)++-- | S3 Intelligent-Tiering access tier. See+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access Storage class for automatically optimizing frequently and infrequently accessed objects>+-- for a list of access tiers in the S3 Intelligent-Tiering storage class.+tiering_accessTier :: Lens.Lens' Tiering IntelligentTieringAccessTier+tiering_accessTier = Lens.lens (\Tiering' {accessTier} -> accessTier) (\s@Tiering' {} a -> s {accessTier = a} :: Tiering)++instance Data.FromXML Tiering where+  parseXML x =+    Tiering'+      Prelude.<$> (x Data..@ "Days")+      Prelude.<*> (x Data..@ "AccessTier")++instance Prelude.Hashable Tiering where+  hashWithSalt _salt Tiering' {..} =+    _salt+      `Prelude.hashWithSalt` days+      `Prelude.hashWithSalt` accessTier++instance Prelude.NFData Tiering where+  rnf Tiering' {..} =+    Prelude.rnf days+      `Prelude.seq` Prelude.rnf accessTier++instance Data.ToXML Tiering where+  toXML Tiering' {..} =+    Prelude.mconcat+      [ "Days" Data.@= days,+        "AccessTier" Data.@= accessTier+      ]
+ gen/Amazonka/S3/Types/TopicConfiguration.hs view
@@ -0,0 +1,130 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.TopicConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.TopicConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.Event+import Amazonka.S3.Types.NotificationConfigurationFilter++-- | A container for specifying the configuration for publication of messages+-- to an Amazon Simple Notification Service (Amazon SNS) topic when Amazon+-- S3 detects specified events.+--+-- /See:/ 'newTopicConfiguration' smart constructor.+data TopicConfiguration = TopicConfiguration'+  { filter' :: Prelude.Maybe NotificationConfigurationFilter,+    id :: Prelude.Maybe Prelude.Text,+    -- | The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon+    -- S3 publishes a message when it detects events of the specified type.+    topicArn :: Prelude.Text,+    -- | The Amazon S3 bucket event about which to send notifications. For more+    -- information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Supported Event Types>+    -- in the /Amazon S3 User Guide/.+    events :: [Event]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'TopicConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'filter'', 'topicConfiguration_filter' - Undocumented member.+--+-- 'id', 'topicConfiguration_id' - Undocumented member.+--+-- 'topicArn', 'topicConfiguration_topicArn' - The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon+-- S3 publishes a message when it detects events of the specified type.+--+-- 'events', 'topicConfiguration_events' - The Amazon S3 bucket event about which to send notifications. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Supported Event Types>+-- in the /Amazon S3 User Guide/.+newTopicConfiguration ::+  -- | 'topicArn'+  Prelude.Text ->+  TopicConfiguration+newTopicConfiguration pTopicArn_ =+  TopicConfiguration'+    { filter' = Prelude.Nothing,+      id = Prelude.Nothing,+      topicArn = pTopicArn_,+      events = Prelude.mempty+    }++-- | Undocumented member.+topicConfiguration_filter :: Lens.Lens' TopicConfiguration (Prelude.Maybe NotificationConfigurationFilter)+topicConfiguration_filter = Lens.lens (\TopicConfiguration' {filter'} -> filter') (\s@TopicConfiguration' {} a -> s {filter' = a} :: TopicConfiguration)++-- | Undocumented member.+topicConfiguration_id :: Lens.Lens' TopicConfiguration (Prelude.Maybe Prelude.Text)+topicConfiguration_id = Lens.lens (\TopicConfiguration' {id} -> id) (\s@TopicConfiguration' {} a -> s {id = a} :: TopicConfiguration)++-- | The Amazon Resource Name (ARN) of the Amazon SNS topic to which Amazon+-- S3 publishes a message when it detects events of the specified type.+topicConfiguration_topicArn :: Lens.Lens' TopicConfiguration Prelude.Text+topicConfiguration_topicArn = Lens.lens (\TopicConfiguration' {topicArn} -> topicArn) (\s@TopicConfiguration' {} a -> s {topicArn = a} :: TopicConfiguration)++-- | The Amazon S3 bucket event about which to send notifications. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Supported Event Types>+-- in the /Amazon S3 User Guide/.+topicConfiguration_events :: Lens.Lens' TopicConfiguration [Event]+topicConfiguration_events = Lens.lens (\TopicConfiguration' {events} -> events) (\s@TopicConfiguration' {} a -> s {events = a} :: TopicConfiguration) Prelude.. Lens.coerced++instance Data.FromXML TopicConfiguration where+  parseXML x =+    TopicConfiguration'+      Prelude.<$> (x Data..@? "Filter")+      Prelude.<*> (x Data..@? "Id")+      Prelude.<*> (x Data..@ "Topic")+      Prelude.<*> (Data.parseXMLList "Event" x)++instance Prelude.Hashable TopicConfiguration where+  hashWithSalt _salt TopicConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` filter'+      `Prelude.hashWithSalt` id+      `Prelude.hashWithSalt` topicArn+      `Prelude.hashWithSalt` events++instance Prelude.NFData TopicConfiguration where+  rnf TopicConfiguration' {..} =+    Prelude.rnf filter'+      `Prelude.seq` Prelude.rnf id+      `Prelude.seq` Prelude.rnf topicArn+      `Prelude.seq` Prelude.rnf events++instance Data.ToXML TopicConfiguration where+  toXML TopicConfiguration' {..} =+    Prelude.mconcat+      [ "Filter" Data.@= filter',+        "Id" Data.@= id,+        "Topic" Data.@= topicArn,+        Data.toXMLList "Event" events+      ]
+ gen/Amazonka/S3/Types/Transition.hs view
@@ -0,0 +1,117 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Transition+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Transition where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.TransitionStorageClass++-- | Specifies when an object transitions to a specified storage class. For+-- more information about Amazon S3 lifecycle configuration rules, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-transition-general-considerations.html Transitioning Objects Using Amazon S3 Lifecycle>+-- in the /Amazon S3 User Guide/.+--+-- /See:/ 'newTransition' smart constructor.+data Transition = Transition'+  { -- | Indicates when objects are transitioned to the specified storage class.+    -- The date value must be in ISO 8601 format. The time is always midnight+    -- UTC.+    date :: Prelude.Maybe Data.ISO8601,+    -- | Indicates the number of days after creation when objects are+    -- transitioned to the specified storage class. The value must be a+    -- positive integer.+    days :: Prelude.Maybe Prelude.Int,+    -- | The storage class to which you want the object to transition.+    storageClass :: Prelude.Maybe TransitionStorageClass+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'Transition' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'date', 'transition_date' - Indicates when objects are transitioned to the specified storage class.+-- The date value must be in ISO 8601 format. The time is always midnight+-- UTC.+--+-- 'days', 'transition_days' - Indicates the number of days after creation when objects are+-- transitioned to the specified storage class. The value must be a+-- positive integer.+--+-- 'storageClass', 'transition_storageClass' - The storage class to which you want the object to transition.+newTransition ::+  Transition+newTransition =+  Transition'+    { date = Prelude.Nothing,+      days = Prelude.Nothing,+      storageClass = Prelude.Nothing+    }++-- | Indicates when objects are transitioned to the specified storage class.+-- The date value must be in ISO 8601 format. The time is always midnight+-- UTC.+transition_date :: Lens.Lens' Transition (Prelude.Maybe Prelude.UTCTime)+transition_date = Lens.lens (\Transition' {date} -> date) (\s@Transition' {} a -> s {date = a} :: Transition) Prelude.. Lens.mapping Data._Time++-- | Indicates the number of days after creation when objects are+-- transitioned to the specified storage class. The value must be a+-- positive integer.+transition_days :: Lens.Lens' Transition (Prelude.Maybe Prelude.Int)+transition_days = Lens.lens (\Transition' {days} -> days) (\s@Transition' {} a -> s {days = a} :: Transition)++-- | The storage class to which you want the object to transition.+transition_storageClass :: Lens.Lens' Transition (Prelude.Maybe TransitionStorageClass)+transition_storageClass = Lens.lens (\Transition' {storageClass} -> storageClass) (\s@Transition' {} a -> s {storageClass = a} :: Transition)++instance Data.FromXML Transition where+  parseXML x =+    Transition'+      Prelude.<$> (x Data..@? "Date")+      Prelude.<*> (x Data..@? "Days")+      Prelude.<*> (x Data..@? "StorageClass")++instance Prelude.Hashable Transition where+  hashWithSalt _salt Transition' {..} =+    _salt+      `Prelude.hashWithSalt` date+      `Prelude.hashWithSalt` days+      `Prelude.hashWithSalt` storageClass++instance Prelude.NFData Transition where+  rnf Transition' {..} =+    Prelude.rnf date+      `Prelude.seq` Prelude.rnf days+      `Prelude.seq` Prelude.rnf storageClass++instance Data.ToXML Transition where+  toXML Transition' {..} =+    Prelude.mconcat+      [ "Date" Data.@= date,+        "Days" Data.@= days,+        "StorageClass" Data.@= storageClass+      ]
+ gen/Amazonka/S3/Types/TransitionStorageClass.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.TransitionStorageClass+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.TransitionStorageClass+  ( TransitionStorageClass+      ( ..,+        TransitionStorageClass_DEEP_ARCHIVE,+        TransitionStorageClass_GLACIER,+        TransitionStorageClass_GLACIER_IR,+        TransitionStorageClass_INTELLIGENT_TIERING,+        TransitionStorageClass_ONEZONE_IA,+        TransitionStorageClass_STANDARD_IA+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype TransitionStorageClass = TransitionStorageClass'+  { fromTransitionStorageClass ::+      Data.Text+  }+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern TransitionStorageClass_DEEP_ARCHIVE :: TransitionStorageClass+pattern TransitionStorageClass_DEEP_ARCHIVE = TransitionStorageClass' "DEEP_ARCHIVE"++pattern TransitionStorageClass_GLACIER :: TransitionStorageClass+pattern TransitionStorageClass_GLACIER = TransitionStorageClass' "GLACIER"++pattern TransitionStorageClass_GLACIER_IR :: TransitionStorageClass+pattern TransitionStorageClass_GLACIER_IR = TransitionStorageClass' "GLACIER_IR"++pattern TransitionStorageClass_INTELLIGENT_TIERING :: TransitionStorageClass+pattern TransitionStorageClass_INTELLIGENT_TIERING = TransitionStorageClass' "INTELLIGENT_TIERING"++pattern TransitionStorageClass_ONEZONE_IA :: TransitionStorageClass+pattern TransitionStorageClass_ONEZONE_IA = TransitionStorageClass' "ONEZONE_IA"++pattern TransitionStorageClass_STANDARD_IA :: TransitionStorageClass+pattern TransitionStorageClass_STANDARD_IA = TransitionStorageClass' "STANDARD_IA"++{-# COMPLETE+  TransitionStorageClass_DEEP_ARCHIVE,+  TransitionStorageClass_GLACIER,+  TransitionStorageClass_GLACIER_IR,+  TransitionStorageClass_INTELLIGENT_TIERING,+  TransitionStorageClass_ONEZONE_IA,+  TransitionStorageClass_STANDARD_IA,+  TransitionStorageClass'+  #-}
+ gen/Amazonka/S3/Types/Type.hs view
@@ -0,0 +1,74 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DerivingStrategies #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternSynonyms #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.Type+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.Type+  ( Type+      ( ..,+        Type_AmazonCustomerByEmail,+        Type_CanonicalUser,+        Type_Group+      ),+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal++newtype Type = Type' {fromType :: Data.Text}+  deriving stock+    ( Prelude.Show,+      Prelude.Read,+      Prelude.Eq,+      Prelude.Ord,+      Prelude.Generic+    )+  deriving newtype+    ( Prelude.Hashable,+      Prelude.NFData,+      Data.FromText,+      Data.ToText,+      Data.ToByteString,+      Data.ToLog,+      Data.ToHeader,+      Data.ToQuery,+      Data.FromJSON,+      Data.FromJSONKey,+      Data.ToJSON,+      Data.ToJSONKey,+      Data.FromXML,+      Data.ToXML+    )++pattern Type_AmazonCustomerByEmail :: Type+pattern Type_AmazonCustomerByEmail = Type' "AmazonCustomerByEmail"++pattern Type_CanonicalUser :: Type+pattern Type_CanonicalUser = Type' "CanonicalUser"++pattern Type_Group :: Type+pattern Type_Group = Type' "Group"++{-# COMPLETE+  Type_AmazonCustomerByEmail,+  Type_CanonicalUser,+  Type_Group,+  Type'+  #-}
+ gen/Amazonka/S3/Types/VersioningConfiguration.hs view
@@ -0,0 +1,97 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.VersioningConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.VersioningConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.BucketVersioningStatus+import Amazonka.S3.Types.MFADelete++-- | Describes the versioning state of an Amazon S3 bucket. For more+-- information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTVersioningStatus.html PUT Bucket versioning>+-- in the /Amazon S3 API Reference/.+--+-- /See:/ 'newVersioningConfiguration' smart constructor.+data VersioningConfiguration = VersioningConfiguration'+  { -- | Specifies whether MFA delete is enabled in the bucket versioning+    -- configuration. This element is only returned if the bucket has been+    -- configured with MFA delete. If the bucket has never been so configured,+    -- this element is not returned.+    mfaDelete :: Prelude.Maybe MFADelete,+    -- | The versioning state of the bucket.+    status :: Prelude.Maybe BucketVersioningStatus+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'VersioningConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'mfaDelete', 'versioningConfiguration_mfaDelete' - Specifies whether MFA delete is enabled in the bucket versioning+-- configuration. This element is only returned if the bucket has been+-- configured with MFA delete. If the bucket has never been so configured,+-- this element is not returned.+--+-- 'status', 'versioningConfiguration_status' - The versioning state of the bucket.+newVersioningConfiguration ::+  VersioningConfiguration+newVersioningConfiguration =+  VersioningConfiguration'+    { mfaDelete =+        Prelude.Nothing,+      status = Prelude.Nothing+    }++-- | Specifies whether MFA delete is enabled in the bucket versioning+-- configuration. This element is only returned if the bucket has been+-- configured with MFA delete. If the bucket has never been so configured,+-- this element is not returned.+versioningConfiguration_mfaDelete :: Lens.Lens' VersioningConfiguration (Prelude.Maybe MFADelete)+versioningConfiguration_mfaDelete = Lens.lens (\VersioningConfiguration' {mfaDelete} -> mfaDelete) (\s@VersioningConfiguration' {} a -> s {mfaDelete = a} :: VersioningConfiguration)++-- | The versioning state of the bucket.+versioningConfiguration_status :: Lens.Lens' VersioningConfiguration (Prelude.Maybe BucketVersioningStatus)+versioningConfiguration_status = Lens.lens (\VersioningConfiguration' {status} -> status) (\s@VersioningConfiguration' {} a -> s {status = a} :: VersioningConfiguration)++instance Prelude.Hashable VersioningConfiguration where+  hashWithSalt _salt VersioningConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` mfaDelete+      `Prelude.hashWithSalt` status++instance Prelude.NFData VersioningConfiguration where+  rnf VersioningConfiguration' {..} =+    Prelude.rnf mfaDelete+      `Prelude.seq` Prelude.rnf status++instance Data.ToXML VersioningConfiguration where+  toXML VersioningConfiguration' {..} =+    Prelude.mconcat+      [ "MfaDelete" Data.@= mfaDelete,+        "Status" Data.@= status+      ]
+ gen/Amazonka/S3/Types/WebsiteConfiguration.hs view
@@ -0,0 +1,125 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Types.WebsiteConfiguration+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Types.WebsiteConfiguration where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.Internal+import Amazonka.S3.Types.ErrorDocument+import Amazonka.S3.Types.IndexDocument+import Amazonka.S3.Types.RedirectAllRequestsTo+import Amazonka.S3.Types.RoutingRule++-- | Specifies website configuration parameters for an Amazon S3 bucket.+--+-- /See:/ 'newWebsiteConfiguration' smart constructor.+data WebsiteConfiguration = WebsiteConfiguration'+  { -- | The name of the error document for the website.+    errorDocument :: Prelude.Maybe ErrorDocument,+    -- | The name of the index document for the website.+    indexDocument :: Prelude.Maybe IndexDocument,+    -- | The redirect behavior for every request to this bucket\'s website+    -- endpoint.+    --+    -- If you specify this property, you can\'t specify any other property.+    redirectAllRequestsTo :: Prelude.Maybe RedirectAllRequestsTo,+    -- | Rules that define when a redirect is applied and the redirect behavior.+    routingRules :: Prelude.Maybe [RoutingRule]+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WebsiteConfiguration' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'errorDocument', 'websiteConfiguration_errorDocument' - The name of the error document for the website.+--+-- 'indexDocument', 'websiteConfiguration_indexDocument' - The name of the index document for the website.+--+-- 'redirectAllRequestsTo', 'websiteConfiguration_redirectAllRequestsTo' - The redirect behavior for every request to this bucket\'s website+-- endpoint.+--+-- If you specify this property, you can\'t specify any other property.+--+-- 'routingRules', 'websiteConfiguration_routingRules' - Rules that define when a redirect is applied and the redirect behavior.+newWebsiteConfiguration ::+  WebsiteConfiguration+newWebsiteConfiguration =+  WebsiteConfiguration'+    { errorDocument =+        Prelude.Nothing,+      indexDocument = Prelude.Nothing,+      redirectAllRequestsTo = Prelude.Nothing,+      routingRules = Prelude.Nothing+    }++-- | The name of the error document for the website.+websiteConfiguration_errorDocument :: Lens.Lens' WebsiteConfiguration (Prelude.Maybe ErrorDocument)+websiteConfiguration_errorDocument = Lens.lens (\WebsiteConfiguration' {errorDocument} -> errorDocument) (\s@WebsiteConfiguration' {} a -> s {errorDocument = a} :: WebsiteConfiguration)++-- | The name of the index document for the website.+websiteConfiguration_indexDocument :: Lens.Lens' WebsiteConfiguration (Prelude.Maybe IndexDocument)+websiteConfiguration_indexDocument = Lens.lens (\WebsiteConfiguration' {indexDocument} -> indexDocument) (\s@WebsiteConfiguration' {} a -> s {indexDocument = a} :: WebsiteConfiguration)++-- | The redirect behavior for every request to this bucket\'s website+-- endpoint.+--+-- If you specify this property, you can\'t specify any other property.+websiteConfiguration_redirectAllRequestsTo :: Lens.Lens' WebsiteConfiguration (Prelude.Maybe RedirectAllRequestsTo)+websiteConfiguration_redirectAllRequestsTo = Lens.lens (\WebsiteConfiguration' {redirectAllRequestsTo} -> redirectAllRequestsTo) (\s@WebsiteConfiguration' {} a -> s {redirectAllRequestsTo = a} :: WebsiteConfiguration)++-- | Rules that define when a redirect is applied and the redirect behavior.+websiteConfiguration_routingRules :: Lens.Lens' WebsiteConfiguration (Prelude.Maybe [RoutingRule])+websiteConfiguration_routingRules = Lens.lens (\WebsiteConfiguration' {routingRules} -> routingRules) (\s@WebsiteConfiguration' {} a -> s {routingRules = a} :: WebsiteConfiguration) Prelude.. Lens.mapping Lens.coerced++instance Prelude.Hashable WebsiteConfiguration where+  hashWithSalt _salt WebsiteConfiguration' {..} =+    _salt+      `Prelude.hashWithSalt` errorDocument+      `Prelude.hashWithSalt` indexDocument+      `Prelude.hashWithSalt` redirectAllRequestsTo+      `Prelude.hashWithSalt` routingRules++instance Prelude.NFData WebsiteConfiguration where+  rnf WebsiteConfiguration' {..} =+    Prelude.rnf errorDocument+      `Prelude.seq` Prelude.rnf indexDocument+      `Prelude.seq` Prelude.rnf redirectAllRequestsTo+      `Prelude.seq` Prelude.rnf routingRules++instance Data.ToXML WebsiteConfiguration where+  toXML WebsiteConfiguration' {..} =+    Prelude.mconcat+      [ "ErrorDocument" Data.@= errorDocument,+        "IndexDocument" Data.@= indexDocument,+        "RedirectAllRequestsTo"+          Data.@= redirectAllRequestsTo,+        "RoutingRules"+          Data.@= Data.toXML+            ( Data.toXMLList "RoutingRule"+                Prelude.<$> routingRules+            )+      ]
+ gen/Amazonka/S3/UploadPart.hs view
@@ -0,0 +1,858 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.UploadPart+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uploads a part in a multipart upload.+--+-- In this operation, you provide part data in your request. However, you+-- have an option to specify your existing Amazon S3 object as a data+-- source for the part you are uploading. To upload a part from an existing+-- object, you use the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html UploadPartCopy>+-- operation.+--+-- You must initiate a multipart upload (see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>)+-- before you can upload any part. In response to your initiate request,+-- Amazon S3 returns an upload ID, a unique identifier, that you must+-- include in your upload part request.+--+-- Part numbers can be any number from 1 to 10,000, inclusive. A part+-- number uniquely identifies a part and also defines its position within+-- the object being created. If you upload a new part using the same part+-- number that was used with a previous part, the previously uploaded part+-- is overwritten.+--+-- For information about maximum and minimum part sizes and other multipart+-- upload specifications, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html Multipart upload limits>+-- in the /Amazon S3 User Guide/.+--+-- To ensure that data is not corrupted when traversing the network,+-- specify the @Content-MD5@ header in the upload part request. Amazon S3+-- checks the part data against the provided MD5 value. If they do not+-- match, Amazon S3 returns an error.+--+-- If the upload request is signed with Signature Version 4, then Amazon+-- Web Services S3 uses the @x-amz-content-sha256@ header as a checksum+-- instead of @Content-MD5@. For more information see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html Authenticating Requests: Using the Authorization Header (Amazon Web Services Signature Version 4)>.+--+-- __Note:__ After you initiate multipart upload and upload one or more+-- parts, you must either complete or abort multipart upload in order to+-- stop getting charged for storage of the uploaded parts. Only after you+-- either complete or abort multipart upload, Amazon S3 frees up the parts+-- storage and stops charging you for the parts storage.+--+-- For more information on multipart uploads, go to+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html Multipart Upload Overview>+-- in the /Amazon S3 User Guide/ .+--+-- For information on the permissions required to use the multipart upload+-- API, go to+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>+-- in the /Amazon S3 User Guide/.+--+-- You can optionally request server-side encryption where Amazon S3+-- encrypts your data as it writes it to disks in its data centers and+-- decrypts it for you when you access it. You have the option of providing+-- your own encryption key, or you can use the Amazon Web Services managed+-- encryption keys. If you choose to provide your own encryption key, the+-- request headers you provide in the request must match the headers you+-- used in the request to initiate the upload by using+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>.+-- For more information, go to+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html Using Server-Side Encryption>+-- in the /Amazon S3 User Guide/.+--+-- Server-side encryption is supported by the S3 Multipart Upload actions.+-- Unless you are using a customer-provided encryption key, you don\'t need+-- to specify the encryption parameters in each UploadPart request.+-- Instead, you only need to specify the server-side encryption parameters+-- in the initial Initiate Multipart request. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>.+--+-- If you requested server-side encryption using a customer-provided+-- encryption key in your initiate multipart upload request, you must+-- provide identical encryption information in each part upload using the+-- following headers.+--+-- -   x-amz-server-side-encryption-customer-algorithm+--+-- -   x-amz-server-side-encryption-customer-key+--+-- -   x-amz-server-side-encryption-customer-key-MD5+--+-- __Special Errors__+--+-- -   -   /Code: NoSuchUpload/+--+--     -   /Cause: The specified multipart upload does not exist. The+--         upload ID might be invalid, or the multipart upload might have+--         been aborted or completed./+--+--     -   /HTTP Status Code: 404 Not Found/+--+--     -   /SOAP Fault Code Prefix: Client/+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html ListMultipartUploads>+module Amazonka.S3.UploadPart+  ( -- * Creating a Request+    UploadPart (..),+    newUploadPart,++    -- * Request Lenses+    uploadPart_checksumAlgorithm,+    uploadPart_checksumCRC32,+    uploadPart_checksumCRC32C,+    uploadPart_checksumSHA1,+    uploadPart_checksumSHA256,+    uploadPart_contentLength,+    uploadPart_contentMD5,+    uploadPart_expectedBucketOwner,+    uploadPart_requestPayer,+    uploadPart_sSECustomerAlgorithm,+    uploadPart_sSECustomerKey,+    uploadPart_sSECustomerKeyMD5,+    uploadPart_bucket,+    uploadPart_key,+    uploadPart_partNumber,+    uploadPart_uploadId,+    uploadPart_body,++    -- * Destructuring the Response+    UploadPartResponse (..),+    newUploadPartResponse,++    -- * Response Lenses+    uploadPartResponse_bucketKeyEnabled,+    uploadPartResponse_checksumCRC32,+    uploadPartResponse_checksumCRC32C,+    uploadPartResponse_checksumSHA1,+    uploadPartResponse_checksumSHA256,+    uploadPartResponse_eTag,+    uploadPartResponse_requestCharged,+    uploadPartResponse_sSECustomerAlgorithm,+    uploadPartResponse_sSECustomerKeyMD5,+    uploadPartResponse_sSEKMSKeyId,+    uploadPartResponse_serverSideEncryption,+    uploadPartResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newUploadPart' smart constructor.+data UploadPart = UploadPart'+  { -- | Indicates the algorithm used to create the checksum for the object when+    -- using the SDK. This header will not provide any additional functionality+    -- if not using the SDK. When sending this header, there must be a+    -- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+    -- Otherwise, Amazon S3 fails the request with the HTTP status code+    -- @400 Bad Request@. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- If you provide an individual checksum, Amazon S3 ignores any provided+    -- @ChecksumAlgorithm@ parameter.+    --+    -- This checksum algorithm must be the same for all parts and it match the+    -- checksum value supplied in the @CreateMultipartUpload@ request.+    checksumAlgorithm :: Prelude.Maybe ChecksumAlgorithm,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This header+    -- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+    -- more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Size of the body in bytes. This parameter is useful when the size of the+    -- body cannot be determined automatically.+    contentLength :: Prelude.Maybe Prelude.Integer,+    -- | The base64-encoded 128-bit MD5 digest of the part data. This parameter+    -- is auto-populated when using the command from the CLI. This parameter is+    -- required if object lock parameters are specified.+    contentMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected bucket owner. If the bucket is owned by a+    -- different account, the request fails with the HTTP status code+    -- @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use to when encrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm header@. This must be+    -- the same encryption key specified in the initiate multipart upload+    -- request.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | The name of the bucket to which the multipart upload was initiated.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Object key for which the multipart upload was initiated.+    key :: ObjectKey,+    -- | Part number of part being uploaded. This is a positive integer between 1+    -- and 10,000.+    partNumber :: Prelude.Int,+    -- | Upload ID identifying the multipart upload whose part is being uploaded.+    uploadId :: Prelude.Text,+    -- | Object data.+    body :: Data.RequestBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UploadPart' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'checksumAlgorithm', 'uploadPart_checksumAlgorithm' - Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- This checksum algorithm must be the same for all parts and it match the+-- checksum value supplied in the @CreateMultipartUpload@ request.+--+-- 'checksumCRC32', 'uploadPart_checksumCRC32' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'uploadPart_checksumCRC32C' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'uploadPart_checksumSHA1' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'uploadPart_checksumSHA256' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'contentLength', 'uploadPart_contentLength' - Size of the body in bytes. This parameter is useful when the size of the+-- body cannot be determined automatically.+--+-- 'contentMD5', 'uploadPart_contentMD5' - The base64-encoded 128-bit MD5 digest of the part data. This parameter+-- is auto-populated when using the command from the CLI. This parameter is+-- required if object lock parameters are specified.+--+-- 'expectedBucketOwner', 'uploadPart_expectedBucketOwner' - The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'uploadPart_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'uploadPart_sSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'uploadPart_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm header@. This must be+-- the same encryption key specified in the initiate multipart upload+-- request.+--+-- 'sSECustomerKeyMD5', 'uploadPart_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'bucket', 'uploadPart_bucket' - The name of the bucket to which the multipart upload was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'key', 'uploadPart_key' - Object key for which the multipart upload was initiated.+--+-- 'partNumber', 'uploadPart_partNumber' - Part number of part being uploaded. This is a positive integer between 1+-- and 10,000.+--+-- 'uploadId', 'uploadPart_uploadId' - Upload ID identifying the multipart upload whose part is being uploaded.+--+-- 'body', 'uploadPart_body' - Object data.+newUploadPart ::+  -- | 'bucket'+  BucketName ->+  -- | 'key'+  ObjectKey ->+  -- | 'partNumber'+  Prelude.Int ->+  -- | 'uploadId'+  Prelude.Text ->+  -- | 'body'+  Data.RequestBody ->+  UploadPart+newUploadPart+  pBucket_+  pKey_+  pPartNumber_+  pUploadId_+  pBody_ =+    UploadPart'+      { checksumAlgorithm = Prelude.Nothing,+        checksumCRC32 = Prelude.Nothing,+        checksumCRC32C = Prelude.Nothing,+        checksumSHA1 = Prelude.Nothing,+        checksumSHA256 = Prelude.Nothing,+        contentLength = Prelude.Nothing,+        contentMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        requestPayer = Prelude.Nothing,+        sSECustomerAlgorithm = Prelude.Nothing,+        sSECustomerKey = Prelude.Nothing,+        sSECustomerKeyMD5 = Prelude.Nothing,+        bucket = pBucket_,+        key = pKey_,+        partNumber = pPartNumber_,+        uploadId = pUploadId_,+        body = pBody_+      }++-- | Indicates the algorithm used to create the checksum for the object when+-- using the SDK. This header will not provide any additional functionality+-- if not using the SDK. When sending this header, there must be a+-- corresponding @x-amz-checksum@ or @x-amz-trailer@ header sent.+-- Otherwise, Amazon S3 fails the request with the HTTP status code+-- @400 Bad Request@. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- If you provide an individual checksum, Amazon S3 ignores any provided+-- @ChecksumAlgorithm@ parameter.+--+-- This checksum algorithm must be the same for all parts and it match the+-- checksum value supplied in the @CreateMultipartUpload@ request.+uploadPart_checksumAlgorithm :: Lens.Lens' UploadPart (Prelude.Maybe ChecksumAlgorithm)+uploadPart_checksumAlgorithm = Lens.lens (\UploadPart' {checksumAlgorithm} -> checksumAlgorithm) (\s@UploadPart' {} a -> s {checksumAlgorithm = a} :: UploadPart)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32 checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPart_checksumCRC32 :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_checksumCRC32 = Lens.lens (\UploadPart' {checksumCRC32} -> checksumCRC32) (\s@UploadPart' {} a -> s {checksumCRC32 = a} :: UploadPart)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 32-bit CRC32C checksum of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPart_checksumCRC32C :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_checksumCRC32C = Lens.lens (\UploadPart' {checksumCRC32C} -> checksumCRC32C) (\s@UploadPart' {} a -> s {checksumCRC32C = a} :: UploadPart)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 160-bit SHA-1 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPart_checksumSHA1 :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_checksumSHA1 = Lens.lens (\UploadPart' {checksumSHA1} -> checksumSHA1) (\s@UploadPart' {} a -> s {checksumSHA1 = a} :: UploadPart)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This header+-- specifies the base64-encoded, 256-bit SHA-256 digest of the object. For+-- more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPart_checksumSHA256 :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_checksumSHA256 = Lens.lens (\UploadPart' {checksumSHA256} -> checksumSHA256) (\s@UploadPart' {} a -> s {checksumSHA256 = a} :: UploadPart)++-- | Size of the body in bytes. This parameter is useful when the size of the+-- body cannot be determined automatically.+uploadPart_contentLength :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Integer)+uploadPart_contentLength = Lens.lens (\UploadPart' {contentLength} -> contentLength) (\s@UploadPart' {} a -> s {contentLength = a} :: UploadPart)++-- | The base64-encoded 128-bit MD5 digest of the part data. This parameter+-- is auto-populated when using the command from the CLI. This parameter is+-- required if object lock parameters are specified.+uploadPart_contentMD5 :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_contentMD5 = Lens.lens (\UploadPart' {contentMD5} -> contentMD5) (\s@UploadPart' {} a -> s {contentMD5 = a} :: UploadPart)++-- | The account ID of the expected bucket owner. If the bucket is owned by a+-- different account, the request fails with the HTTP status code+-- @403 Forbidden@ (access denied).+uploadPart_expectedBucketOwner :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_expectedBucketOwner = Lens.lens (\UploadPart' {expectedBucketOwner} -> expectedBucketOwner) (\s@UploadPart' {} a -> s {expectedBucketOwner = a} :: UploadPart)++-- | Undocumented member.+uploadPart_requestPayer :: Lens.Lens' UploadPart (Prelude.Maybe RequestPayer)+uploadPart_requestPayer = Lens.lens (\UploadPart' {requestPayer} -> requestPayer) (\s@UploadPart' {} a -> s {requestPayer = a} :: UploadPart)++-- | Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+uploadPart_sSECustomerAlgorithm :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_sSECustomerAlgorithm = Lens.lens (\UploadPart' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@UploadPart' {} a -> s {sSECustomerAlgorithm = a} :: UploadPart)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm header@. This must be+-- the same encryption key specified in the initiate multipart upload+-- request.+uploadPart_sSECustomerKey :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_sSECustomerKey = Lens.lens (\UploadPart' {sSECustomerKey} -> sSECustomerKey) (\s@UploadPart' {} a -> s {sSECustomerKey = a} :: UploadPart) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+uploadPart_sSECustomerKeyMD5 :: Lens.Lens' UploadPart (Prelude.Maybe Prelude.Text)+uploadPart_sSECustomerKeyMD5 = Lens.lens (\UploadPart' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@UploadPart' {} a -> s {sSECustomerKeyMD5 = a} :: UploadPart)++-- | The name of the bucket to which the multipart upload was initiated.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+uploadPart_bucket :: Lens.Lens' UploadPart BucketName+uploadPart_bucket = Lens.lens (\UploadPart' {bucket} -> bucket) (\s@UploadPart' {} a -> s {bucket = a} :: UploadPart)++-- | Object key for which the multipart upload was initiated.+uploadPart_key :: Lens.Lens' UploadPart ObjectKey+uploadPart_key = Lens.lens (\UploadPart' {key} -> key) (\s@UploadPart' {} a -> s {key = a} :: UploadPart)++-- | Part number of part being uploaded. This is a positive integer between 1+-- and 10,000.+uploadPart_partNumber :: Lens.Lens' UploadPart Prelude.Int+uploadPart_partNumber = Lens.lens (\UploadPart' {partNumber} -> partNumber) (\s@UploadPart' {} a -> s {partNumber = a} :: UploadPart)++-- | Upload ID identifying the multipart upload whose part is being uploaded.+uploadPart_uploadId :: Lens.Lens' UploadPart Prelude.Text+uploadPart_uploadId = Lens.lens (\UploadPart' {uploadId} -> uploadId) (\s@UploadPart' {} a -> s {uploadId = a} :: UploadPart)++-- | Object data.+uploadPart_body :: Lens.Lens' UploadPart Data.RequestBody+uploadPart_body = Lens.lens (\UploadPart' {body} -> body) (\s@UploadPart' {} a -> s {body = a} :: UploadPart)++instance Core.AWSRequest UploadPart where+  type AWSResponse UploadPart = UploadPartResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.putBody (overrides defaultService)+  response =+    Response.receiveEmpty+      ( \s h x ->+          UploadPartResponse'+            Prelude.<$> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32")+            Prelude.<*> (h Data..#? "x-amz-checksum-crc32c")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha1")+            Prelude.<*> (h Data..#? "x-amz-checksum-sha256")+            Prelude.<*> (h Data..#? "ETag")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Data.ToBody UploadPart where+  toBody UploadPart' {..} = Data.toBody body++instance Data.ToHeaders UploadPart where+  toHeaders UploadPart' {..} =+    Prelude.mconcat+      [ "x-amz-sdk-checksum-algorithm"+          Data.=# checksumAlgorithm,+        "x-amz-checksum-crc32" Data.=# checksumCRC32,+        "x-amz-checksum-crc32c" Data.=# checksumCRC32C,+        "x-amz-checksum-sha1" Data.=# checksumSHA1,+        "x-amz-checksum-sha256" Data.=# checksumSHA256,+        "Content-Length" Data.=# contentLength,+        "Content-MD5" Data.=# contentMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5+      ]++instance Data.ToPath UploadPart where+  toPath UploadPart' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery UploadPart where+  toQuery UploadPart' {..} =+    Prelude.mconcat+      [ "partNumber" Data.=: partNumber,+        "uploadId" Data.=: uploadId+      ]++-- | /See:/ 'newUploadPartResponse' smart constructor.+data UploadPartResponse = UploadPartResponse'+  { -- | Indicates whether the multipart upload uses an S3 Bucket Key for+    -- server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+    -- be present if it was uploaded with the object. With multipart uploads,+    -- this may not be a checksum value of the object. For more information+    -- about how checksums are calculated with multipart uploads, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Entity tag for the uploaded object.+    eTag :: Prelude.Maybe ETag,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key was+    -- used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UploadPartResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketKeyEnabled', 'uploadPartResponse_bucketKeyEnabled' - Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'checksumCRC32', 'uploadPartResponse_checksumCRC32' - The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumCRC32C', 'uploadPartResponse_checksumCRC32C' - The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA1', 'uploadPartResponse_checksumSHA1' - The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'checksumSHA256', 'uploadPartResponse_checksumSHA256' - The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- 'eTag', 'uploadPartResponse_eTag' - Entity tag for the uploaded object.+--+-- 'requestCharged', 'uploadPartResponse_requestCharged' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'uploadPartResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'uploadPartResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSKeyId', 'uploadPartResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key was+-- used for the object.+--+-- 'serverSideEncryption', 'uploadPartResponse_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'httpStatus', 'uploadPartResponse_httpStatus' - The response's http status code.+newUploadPartResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UploadPartResponse+newUploadPartResponse pHttpStatus_ =+  UploadPartResponse'+    { bucketKeyEnabled =+        Prelude.Nothing,+      checksumCRC32 = Prelude.Nothing,+      checksumCRC32C = Prelude.Nothing,+      checksumSHA1 = Prelude.Nothing,+      checksumSHA256 = Prelude.Nothing,+      eTag = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+uploadPartResponse_bucketKeyEnabled :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Bool)+uploadPartResponse_bucketKeyEnabled = Lens.lens (\UploadPartResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@UploadPartResponse' {} a -> s {bucketKeyEnabled = a} :: UploadPartResponse)++-- | The base64-encoded, 32-bit CRC32 checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPartResponse_checksumCRC32 :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_checksumCRC32 = Lens.lens (\UploadPartResponse' {checksumCRC32} -> checksumCRC32) (\s@UploadPartResponse' {} a -> s {checksumCRC32 = a} :: UploadPartResponse)++-- | The base64-encoded, 32-bit CRC32C checksum of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPartResponse_checksumCRC32C :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_checksumCRC32C = Lens.lens (\UploadPartResponse' {checksumCRC32C} -> checksumCRC32C) (\s@UploadPartResponse' {} a -> s {checksumCRC32C = a} :: UploadPartResponse)++-- | The base64-encoded, 160-bit SHA-1 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPartResponse_checksumSHA1 :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_checksumSHA1 = Lens.lens (\UploadPartResponse' {checksumSHA1} -> checksumSHA1) (\s@UploadPartResponse' {} a -> s {checksumSHA1 = a} :: UploadPartResponse)++-- | The base64-encoded, 256-bit SHA-256 digest of the object. This will only+-- be present if it was uploaded with the object. With multipart uploads,+-- this may not be a checksum value of the object. For more information+-- about how checksums are calculated with multipart uploads, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums Checking object integrity>+-- in the /Amazon S3 User Guide/.+uploadPartResponse_checksumSHA256 :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_checksumSHA256 = Lens.lens (\UploadPartResponse' {checksumSHA256} -> checksumSHA256) (\s@UploadPartResponse' {} a -> s {checksumSHA256 = a} :: UploadPartResponse)++-- | Entity tag for the uploaded object.+uploadPartResponse_eTag :: Lens.Lens' UploadPartResponse (Prelude.Maybe ETag)+uploadPartResponse_eTag = Lens.lens (\UploadPartResponse' {eTag} -> eTag) (\s@UploadPartResponse' {} a -> s {eTag = a} :: UploadPartResponse)++-- | Undocumented member.+uploadPartResponse_requestCharged :: Lens.Lens' UploadPartResponse (Prelude.Maybe RequestCharged)+uploadPartResponse_requestCharged = Lens.lens (\UploadPartResponse' {requestCharged} -> requestCharged) (\s@UploadPartResponse' {} a -> s {requestCharged = a} :: UploadPartResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+uploadPartResponse_sSECustomerAlgorithm :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_sSECustomerAlgorithm = Lens.lens (\UploadPartResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@UploadPartResponse' {} a -> s {sSECustomerAlgorithm = a} :: UploadPartResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+uploadPartResponse_sSECustomerKeyMD5 :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_sSECustomerKeyMD5 = Lens.lens (\UploadPartResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@UploadPartResponse' {} a -> s {sSECustomerKeyMD5 = a} :: UploadPartResponse)++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key was+-- used for the object.+uploadPartResponse_sSEKMSKeyId :: Lens.Lens' UploadPartResponse (Prelude.Maybe Prelude.Text)+uploadPartResponse_sSEKMSKeyId = Lens.lens (\UploadPartResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@UploadPartResponse' {} a -> s {sSEKMSKeyId = a} :: UploadPartResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+uploadPartResponse_serverSideEncryption :: Lens.Lens' UploadPartResponse (Prelude.Maybe ServerSideEncryption)+uploadPartResponse_serverSideEncryption = Lens.lens (\UploadPartResponse' {serverSideEncryption} -> serverSideEncryption) (\s@UploadPartResponse' {} a -> s {serverSideEncryption = a} :: UploadPartResponse)++-- | The response's http status code.+uploadPartResponse_httpStatus :: Lens.Lens' UploadPartResponse Prelude.Int+uploadPartResponse_httpStatus = Lens.lens (\UploadPartResponse' {httpStatus} -> httpStatus) (\s@UploadPartResponse' {} a -> s {httpStatus = a} :: UploadPartResponse)++instance Prelude.NFData UploadPartResponse where+  rnf UploadPartResponse' {..} =+    Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf checksumCRC32+      `Prelude.seq` Prelude.rnf checksumCRC32C+      `Prelude.seq` Prelude.rnf checksumSHA1+      `Prelude.seq` Prelude.rnf checksumSHA256+      `Prelude.seq` Prelude.rnf eTag+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf sSEKMSKeyId+      `Prelude.seq` Prelude.rnf serverSideEncryption+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/UploadPartCopy.hs view
@@ -0,0 +1,900 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.UploadPartCopy+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Uploads a part by copying data from an existing object as data source.+-- You specify the data source by adding the request header+-- @x-amz-copy-source@ in your request and a byte range by adding the+-- request header @x-amz-copy-source-range@ in your request.+--+-- For information about maximum and minimum part sizes and other multipart+-- upload specifications, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html Multipart upload limits>+-- in the /Amazon S3 User Guide/.+--+-- Instead of using an existing object as part data, you might use the+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+-- action and provide data in your request.+--+-- You must initiate a multipart upload before you can upload any part. In+-- response to your initiate request. Amazon S3 returns a unique+-- identifier, the upload ID, that you must include in your upload part+-- request.+--+-- For more information about using the @UploadPartCopy@ operation, see the+-- following:+--+-- -   For conceptual information about multipart uploads, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html Uploading Objects Using Multipart Upload>+--     in the /Amazon S3 User Guide/.+--+-- -   For information about permissions required to use the multipart+--     upload API, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html Multipart Upload and Permissions>+--     in the /Amazon S3 User Guide/.+--+-- -   For information about copying objects using a single atomic action+--     vs. a multipart upload, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html Operations on Objects>+--     in the /Amazon S3 User Guide/.+--+-- -   For information about using server-side encryption with+--     customer-provided encryption keys with the @UploadPartCopy@+--     operation, see+--     <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html CopyObject>+--     and+--     <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>.+--+-- Note the following additional considerations about the request headers+-- @x-amz-copy-source-if-match@, @x-amz-copy-source-if-none-match@,+-- @x-amz-copy-source-if-unmodified-since@, and+-- @x-amz-copy-source-if-modified-since@:+--+-- -   __Consideration 1__ - If both of the @x-amz-copy-source-if-match@+--     and @x-amz-copy-source-if-unmodified-since@ headers are present in+--     the request as follows:+--+--     @x-amz-copy-source-if-match@ condition evaluates to @true@, and;+--+--     @x-amz-copy-source-if-unmodified-since@ condition evaluates to+--     @false@;+--+--     Amazon S3 returns @200 OK@ and copies the data.+--+-- -   __Consideration 2__ - If both of the+--     @x-amz-copy-source-if-none-match@ and+--     @x-amz-copy-source-if-modified-since@ headers are present in the+--     request as follows:+--+--     @x-amz-copy-source-if-none-match@ condition evaluates to @false@,+--     and;+--+--     @x-amz-copy-source-if-modified-since@ condition evaluates to @true@;+--+--     Amazon S3 returns @412 Precondition Failed@ response code.+--+-- __Versioning__+--+-- If your bucket has versioning enabled, you could have multiple versions+-- of the same object. By default, @x-amz-copy-source@ identifies the+-- current version of the object to copy. If the current version is a+-- delete marker and you don\'t specify a versionId in the+-- @x-amz-copy-source@, Amazon S3 returns a 404 error, because the object+-- does not exist. If you specify versionId in the @x-amz-copy-source@ and+-- the versionId is a delete marker, Amazon S3 returns an HTTP 400 error,+-- because you are not allowed to specify a delete marker as a version for+-- the @x-amz-copy-source@.+--+-- You can optionally specify a specific version of the source object to+-- copy by adding the @versionId@ subresource as shown in the following+-- example:+--+-- @x-amz-copy-source: \/bucket\/object?versionId=version id@+--+-- __Special Errors__+--+-- -   -   /Code: NoSuchUpload/+--+--     -   /Cause: The specified multipart upload does not exist. The+--         upload ID might be invalid, or the multipart upload might have+--         been aborted or completed./+--+--     -   /HTTP Status Code: 404 Not Found/+--+-- -   -   /Code: InvalidRequest/+--+--     -   /Cause: The specified copy source is not supported as a+--         byte-range copy source./+--+--     -   /HTTP Status Code: 400 Bad Request/+--+-- __Related Resources__+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html CreateMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html UploadPart>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html CompleteMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html AbortMultipartUpload>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html ListParts>+--+-- -   <https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html ListMultipartUploads>+module Amazonka.S3.UploadPartCopy+  ( -- * Creating a Request+    UploadPartCopy (..),+    newUploadPartCopy,++    -- * Request Lenses+    uploadPartCopy_copySourceIfMatch,+    uploadPartCopy_copySourceIfModifiedSince,+    uploadPartCopy_copySourceIfNoneMatch,+    uploadPartCopy_copySourceIfUnmodifiedSince,+    uploadPartCopy_copySourceRange,+    uploadPartCopy_copySourceSSECustomerAlgorithm,+    uploadPartCopy_copySourceSSECustomerKey,+    uploadPartCopy_copySourceSSECustomerKeyMD5,+    uploadPartCopy_expectedBucketOwner,+    uploadPartCopy_expectedSourceBucketOwner,+    uploadPartCopy_requestPayer,+    uploadPartCopy_sSECustomerAlgorithm,+    uploadPartCopy_sSECustomerKey,+    uploadPartCopy_sSECustomerKeyMD5,+    uploadPartCopy_bucket,+    uploadPartCopy_copySource,+    uploadPartCopy_key,+    uploadPartCopy_partNumber,+    uploadPartCopy_uploadId,++    -- * Destructuring the Response+    UploadPartCopyResponse (..),+    newUploadPartCopyResponse,++    -- * Response Lenses+    uploadPartCopyResponse_bucketKeyEnabled,+    uploadPartCopyResponse_copyPartResult,+    uploadPartCopyResponse_copySourceVersionId,+    uploadPartCopyResponse_requestCharged,+    uploadPartCopyResponse_sSECustomerAlgorithm,+    uploadPartCopyResponse_sSECustomerKeyMD5,+    uploadPartCopyResponse_sSEKMSKeyId,+    uploadPartCopyResponse_serverSideEncryption,+    uploadPartCopyResponse_httpStatus,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newUploadPartCopy' smart constructor.+data UploadPartCopy = UploadPartCopy'+  { -- | Copies the object if its entity tag (ETag) matches the specified tag.+    copySourceIfMatch :: Prelude.Maybe Prelude.Text,+    -- | Copies the object if it has been modified since the specified time.+    copySourceIfModifiedSince :: Prelude.Maybe Data.RFC822,+    -- | Copies the object if its entity tag (ETag) is different than the+    -- specified ETag.+    copySourceIfNoneMatch :: Prelude.Maybe Prelude.Text,+    -- | Copies the object if it hasn\'t been modified since the specified time.+    copySourceIfUnmodifiedSince :: Prelude.Maybe Data.RFC822,+    -- | The range of bytes to copy from the source object. The range value must+    -- use the form bytes=first-last, where the first and last are the+    -- zero-based byte offsets to copy. For example, bytes=0-9 indicates that+    -- you want to copy the first 10 bytes of the source. You can copy a range+    -- only if the source object is greater than 5 MB.+    copySourceRange :: Prelude.Maybe Prelude.Text,+    -- | Specifies the algorithm to use when decrypting the source object (for+    -- example, AES256).+    copySourceSSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use to+    -- decrypt the source object. The encryption key provided in this header+    -- must be one that was used when the source object was created.+    copySourceSSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    copySourceSSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected destination bucket owner. If the+    -- destination bucket is owned by a different account, the request fails+    -- with the HTTP status code @403 Forbidden@ (access denied).+    expectedBucketOwner :: Prelude.Maybe Prelude.Text,+    -- | The account ID of the expected source bucket owner. If the source bucket+    -- is owned by a different account, the request fails with the HTTP status+    -- code @403 Forbidden@ (access denied).+    expectedSourceBucketOwner :: Prelude.Maybe Prelude.Text,+    requestPayer :: Prelude.Maybe RequestPayer,+    -- | Specifies the algorithm to use to when encrypting the object (for+    -- example, AES256).+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | Specifies the customer-provided encryption key for Amazon S3 to use in+    -- encrypting data. This value is used to store the object and then it is+    -- discarded; Amazon S3 does not store the encryption key. The key must be+    -- appropriate for use with the algorithm specified in the+    -- @x-amz-server-side-encryption-customer-algorithm@ header. This must be+    -- the same encryption key specified in the initiate multipart upload+    -- request.+    sSECustomerKey :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+    -- 1321. Amazon S3 uses this header for a message integrity check to ensure+    -- that the encryption key was transmitted without error.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | The bucket name.+    --+    -- When using this action with an access point, you must direct requests to+    -- the access point hostname. The access point hostname takes the form+    -- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+    -- When using this action with an access point through the Amazon Web+    -- Services SDKs, you provide the access point ARN in place of the bucket+    -- name. For more information about access point ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+    -- in the /Amazon S3 User Guide/.+    --+    -- When using this action with Amazon S3 on Outposts, you must direct+    -- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+    -- takes the form+    -- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+    -- When using this action with S3 on Outposts through the Amazon Web+    -- Services SDKs, you provide the Outposts bucket ARN in place of the+    -- bucket name. For more information about S3 on Outposts ARNs, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+    -- in the /Amazon S3 User Guide/.+    bucket :: BucketName,+    -- | Specifies the source object for the copy operation. You specify the+    -- value in one of two formats, depending on whether you want to access the+    -- source object through an+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html access point>:+    --+    -- -   For objects not accessed through an access point, specify the name+    --     of the source bucket and key of the source object, separated by a+    --     slash (\/). For example, to copy the object @reports\/january.pdf@+    --     from the bucket @awsexamplebucket@, use+    --     @awsexamplebucket\/reports\/january.pdf@. The value must be+    --     URL-encoded.+    --+    -- -   For objects accessed through access points, specify the Amazon+    --     Resource Name (ARN) of the object as accessed through the access+    --     point, in the format+    --     @arn:aws:s3:\<Region>:\<account-id>:accesspoint\/\<access-point-name>\/object\/\<key>@.+    --     For example, to copy the object @reports\/january.pdf@ through+    --     access point @my-access-point@ owned by account @123456789012@ in+    --     Region @us-west-2@, use the URL encoding of+    --     @arn:aws:s3:us-west-2:123456789012:accesspoint\/my-access-point\/object\/reports\/january.pdf@.+    --     The value must be URL encoded.+    --+    --     Amazon S3 supports copy operations using access points only when the+    --     source and destination buckets are in the same Amazon Web Services+    --     Region.+    --+    --     Alternatively, for objects accessed through Amazon S3 on Outposts,+    --     specify the ARN of the object as accessed in the format+    --     @arn:aws:s3-outposts:\<Region>:\<account-id>:outpost\/\<outpost-id>\/object\/\<key>@.+    --     For example, to copy the object @reports\/january.pdf@ through+    --     outpost @my-outpost@ owned by account @123456789012@ in Region+    --     @us-west-2@, use the URL encoding of+    --     @arn:aws:s3-outposts:us-west-2:123456789012:outpost\/my-outpost\/object\/reports\/january.pdf@.+    --     The value must be URL-encoded.+    --+    -- To copy a specific version of an object, append+    -- @?versionId=\<version-id>@ to the value (for example,+    -- @awsexamplebucket\/reports\/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893@).+    -- If you don\'t specify a version ID, Amazon S3 copies the latest version+    -- of the source object.+    copySource :: Prelude.Text,+    -- | Object key for which the multipart upload was initiated.+    key :: ObjectKey,+    -- | Part number of part being copied. This is a positive integer between 1+    -- and 10,000.+    partNumber :: Prelude.Int,+    -- | Upload ID identifying the multipart upload whose part is being copied.+    uploadId :: Prelude.Text+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UploadPartCopy' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'copySourceIfMatch', 'uploadPartCopy_copySourceIfMatch' - Copies the object if its entity tag (ETag) matches the specified tag.+--+-- 'copySourceIfModifiedSince', 'uploadPartCopy_copySourceIfModifiedSince' - Copies the object if it has been modified since the specified time.+--+-- 'copySourceIfNoneMatch', 'uploadPartCopy_copySourceIfNoneMatch' - Copies the object if its entity tag (ETag) is different than the+-- specified ETag.+--+-- 'copySourceIfUnmodifiedSince', 'uploadPartCopy_copySourceIfUnmodifiedSince' - Copies the object if it hasn\'t been modified since the specified time.+--+-- 'copySourceRange', 'uploadPartCopy_copySourceRange' - The range of bytes to copy from the source object. The range value must+-- use the form bytes=first-last, where the first and last are the+-- zero-based byte offsets to copy. For example, bytes=0-9 indicates that+-- you want to copy the first 10 bytes of the source. You can copy a range+-- only if the source object is greater than 5 MB.+--+-- 'copySourceSSECustomerAlgorithm', 'uploadPartCopy_copySourceSSECustomerAlgorithm' - Specifies the algorithm to use when decrypting the source object (for+-- example, AES256).+--+-- 'copySourceSSECustomerKey', 'uploadPartCopy_copySourceSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use to+-- decrypt the source object. The encryption key provided in this header+-- must be one that was used when the source object was created.+--+-- 'copySourceSSECustomerKeyMD5', 'uploadPartCopy_copySourceSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'expectedBucketOwner', 'uploadPartCopy_expectedBucketOwner' - The account ID of the expected destination bucket owner. If the+-- destination bucket is owned by a different account, the request fails+-- with the HTTP status code @403 Forbidden@ (access denied).+--+-- 'expectedSourceBucketOwner', 'uploadPartCopy_expectedSourceBucketOwner' - The account ID of the expected source bucket owner. If the source bucket+-- is owned by a different account, the request fails with the HTTP status+-- code @403 Forbidden@ (access denied).+--+-- 'requestPayer', 'uploadPartCopy_requestPayer' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'uploadPartCopy_sSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+--+-- 'sSECustomerKey', 'uploadPartCopy_sSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header. This must be+-- the same encryption key specified in the initiate multipart upload+-- request.+--+-- 'sSECustomerKeyMD5', 'uploadPartCopy_sSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+--+-- 'bucket', 'uploadPartCopy_bucket' - The bucket name.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+--+-- 'copySource', 'uploadPartCopy_copySource' - Specifies the source object for the copy operation. You specify the+-- value in one of two formats, depending on whether you want to access the+-- source object through an+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html access point>:+--+-- -   For objects not accessed through an access point, specify the name+--     of the source bucket and key of the source object, separated by a+--     slash (\/). For example, to copy the object @reports\/january.pdf@+--     from the bucket @awsexamplebucket@, use+--     @awsexamplebucket\/reports\/january.pdf@. The value must be+--     URL-encoded.+--+-- -   For objects accessed through access points, specify the Amazon+--     Resource Name (ARN) of the object as accessed through the access+--     point, in the format+--     @arn:aws:s3:\<Region>:\<account-id>:accesspoint\/\<access-point-name>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     access point @my-access-point@ owned by account @123456789012@ in+--     Region @us-west-2@, use the URL encoding of+--     @arn:aws:s3:us-west-2:123456789012:accesspoint\/my-access-point\/object\/reports\/january.pdf@.+--     The value must be URL encoded.+--+--     Amazon S3 supports copy operations using access points only when the+--     source and destination buckets are in the same Amazon Web Services+--     Region.+--+--     Alternatively, for objects accessed through Amazon S3 on Outposts,+--     specify the ARN of the object as accessed in the format+--     @arn:aws:s3-outposts:\<Region>:\<account-id>:outpost\/\<outpost-id>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     outpost @my-outpost@ owned by account @123456789012@ in Region+--     @us-west-2@, use the URL encoding of+--     @arn:aws:s3-outposts:us-west-2:123456789012:outpost\/my-outpost\/object\/reports\/january.pdf@.+--     The value must be URL-encoded.+--+-- To copy a specific version of an object, append+-- @?versionId=\<version-id>@ to the value (for example,+-- @awsexamplebucket\/reports\/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893@).+-- If you don\'t specify a version ID, Amazon S3 copies the latest version+-- of the source object.+--+-- 'key', 'uploadPartCopy_key' - Object key for which the multipart upload was initiated.+--+-- 'partNumber', 'uploadPartCopy_partNumber' - Part number of part being copied. This is a positive integer between 1+-- and 10,000.+--+-- 'uploadId', 'uploadPartCopy_uploadId' - Upload ID identifying the multipart upload whose part is being copied.+newUploadPartCopy ::+  -- | 'bucket'+  BucketName ->+  -- | 'copySource'+  Prelude.Text ->+  -- | 'key'+  ObjectKey ->+  -- | 'partNumber'+  Prelude.Int ->+  -- | 'uploadId'+  Prelude.Text ->+  UploadPartCopy+newUploadPartCopy+  pBucket_+  pCopySource_+  pKey_+  pPartNumber_+  pUploadId_ =+    UploadPartCopy'+      { copySourceIfMatch =+          Prelude.Nothing,+        copySourceIfModifiedSince = Prelude.Nothing,+        copySourceIfNoneMatch = Prelude.Nothing,+        copySourceIfUnmodifiedSince = Prelude.Nothing,+        copySourceRange = Prelude.Nothing,+        copySourceSSECustomerAlgorithm = Prelude.Nothing,+        copySourceSSECustomerKey = Prelude.Nothing,+        copySourceSSECustomerKeyMD5 = Prelude.Nothing,+        expectedBucketOwner = Prelude.Nothing,+        expectedSourceBucketOwner = Prelude.Nothing,+        requestPayer = Prelude.Nothing,+        sSECustomerAlgorithm = Prelude.Nothing,+        sSECustomerKey = Prelude.Nothing,+        sSECustomerKeyMD5 = Prelude.Nothing,+        bucket = pBucket_,+        copySource = pCopySource_,+        key = pKey_,+        partNumber = pPartNumber_,+        uploadId = pUploadId_+      }++-- | Copies the object if its entity tag (ETag) matches the specified tag.+uploadPartCopy_copySourceIfMatch :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_copySourceIfMatch = Lens.lens (\UploadPartCopy' {copySourceIfMatch} -> copySourceIfMatch) (\s@UploadPartCopy' {} a -> s {copySourceIfMatch = a} :: UploadPartCopy)++-- | Copies the object if it has been modified since the specified time.+uploadPartCopy_copySourceIfModifiedSince :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.UTCTime)+uploadPartCopy_copySourceIfModifiedSince = Lens.lens (\UploadPartCopy' {copySourceIfModifiedSince} -> copySourceIfModifiedSince) (\s@UploadPartCopy' {} a -> s {copySourceIfModifiedSince = a} :: UploadPartCopy) Prelude.. Lens.mapping Data._Time++-- | Copies the object if its entity tag (ETag) is different than the+-- specified ETag.+uploadPartCopy_copySourceIfNoneMatch :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_copySourceIfNoneMatch = Lens.lens (\UploadPartCopy' {copySourceIfNoneMatch} -> copySourceIfNoneMatch) (\s@UploadPartCopy' {} a -> s {copySourceIfNoneMatch = a} :: UploadPartCopy)++-- | Copies the object if it hasn\'t been modified since the specified time.+uploadPartCopy_copySourceIfUnmodifiedSince :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.UTCTime)+uploadPartCopy_copySourceIfUnmodifiedSince = Lens.lens (\UploadPartCopy' {copySourceIfUnmodifiedSince} -> copySourceIfUnmodifiedSince) (\s@UploadPartCopy' {} a -> s {copySourceIfUnmodifiedSince = a} :: UploadPartCopy) Prelude.. Lens.mapping Data._Time++-- | The range of bytes to copy from the source object. The range value must+-- use the form bytes=first-last, where the first and last are the+-- zero-based byte offsets to copy. For example, bytes=0-9 indicates that+-- you want to copy the first 10 bytes of the source. You can copy a range+-- only if the source object is greater than 5 MB.+uploadPartCopy_copySourceRange :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_copySourceRange = Lens.lens (\UploadPartCopy' {copySourceRange} -> copySourceRange) (\s@UploadPartCopy' {} a -> s {copySourceRange = a} :: UploadPartCopy)++-- | Specifies the algorithm to use when decrypting the source object (for+-- example, AES256).+uploadPartCopy_copySourceSSECustomerAlgorithm :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_copySourceSSECustomerAlgorithm = Lens.lens (\UploadPartCopy' {copySourceSSECustomerAlgorithm} -> copySourceSSECustomerAlgorithm) (\s@UploadPartCopy' {} a -> s {copySourceSSECustomerAlgorithm = a} :: UploadPartCopy)++-- | Specifies the customer-provided encryption key for Amazon S3 to use to+-- decrypt the source object. The encryption key provided in this header+-- must be one that was used when the source object was created.+uploadPartCopy_copySourceSSECustomerKey :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_copySourceSSECustomerKey = Lens.lens (\UploadPartCopy' {copySourceSSECustomerKey} -> copySourceSSECustomerKey) (\s@UploadPartCopy' {} a -> s {copySourceSSECustomerKey = a} :: UploadPartCopy) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+uploadPartCopy_copySourceSSECustomerKeyMD5 :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_copySourceSSECustomerKeyMD5 = Lens.lens (\UploadPartCopy' {copySourceSSECustomerKeyMD5} -> copySourceSSECustomerKeyMD5) (\s@UploadPartCopy' {} a -> s {copySourceSSECustomerKeyMD5 = a} :: UploadPartCopy)++-- | The account ID of the expected destination bucket owner. If the+-- destination bucket is owned by a different account, the request fails+-- with the HTTP status code @403 Forbidden@ (access denied).+uploadPartCopy_expectedBucketOwner :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_expectedBucketOwner = Lens.lens (\UploadPartCopy' {expectedBucketOwner} -> expectedBucketOwner) (\s@UploadPartCopy' {} a -> s {expectedBucketOwner = a} :: UploadPartCopy)++-- | The account ID of the expected source bucket owner. If the source bucket+-- is owned by a different account, the request fails with the HTTP status+-- code @403 Forbidden@ (access denied).+uploadPartCopy_expectedSourceBucketOwner :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_expectedSourceBucketOwner = Lens.lens (\UploadPartCopy' {expectedSourceBucketOwner} -> expectedSourceBucketOwner) (\s@UploadPartCopy' {} a -> s {expectedSourceBucketOwner = a} :: UploadPartCopy)++-- | Undocumented member.+uploadPartCopy_requestPayer :: Lens.Lens' UploadPartCopy (Prelude.Maybe RequestPayer)+uploadPartCopy_requestPayer = Lens.lens (\UploadPartCopy' {requestPayer} -> requestPayer) (\s@UploadPartCopy' {} a -> s {requestPayer = a} :: UploadPartCopy)++-- | Specifies the algorithm to use to when encrypting the object (for+-- example, AES256).+uploadPartCopy_sSECustomerAlgorithm :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_sSECustomerAlgorithm = Lens.lens (\UploadPartCopy' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@UploadPartCopy' {} a -> s {sSECustomerAlgorithm = a} :: UploadPartCopy)++-- | Specifies the customer-provided encryption key for Amazon S3 to use in+-- encrypting data. This value is used to store the object and then it is+-- discarded; Amazon S3 does not store the encryption key. The key must be+-- appropriate for use with the algorithm specified in the+-- @x-amz-server-side-encryption-customer-algorithm@ header. This must be+-- the same encryption key specified in the initiate multipart upload+-- request.+uploadPartCopy_sSECustomerKey :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_sSECustomerKey = Lens.lens (\UploadPartCopy' {sSECustomerKey} -> sSECustomerKey) (\s@UploadPartCopy' {} a -> s {sSECustomerKey = a} :: UploadPartCopy) Prelude.. Lens.mapping Data._Sensitive++-- | Specifies the 128-bit MD5 digest of the encryption key according to RFC+-- 1321. Amazon S3 uses this header for a message integrity check to ensure+-- that the encryption key was transmitted without error.+uploadPartCopy_sSECustomerKeyMD5 :: Lens.Lens' UploadPartCopy (Prelude.Maybe Prelude.Text)+uploadPartCopy_sSECustomerKeyMD5 = Lens.lens (\UploadPartCopy' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@UploadPartCopy' {} a -> s {sSECustomerKeyMD5 = a} :: UploadPartCopy)++-- | The bucket name.+--+-- When using this action with an access point, you must direct requests to+-- the access point hostname. The access point hostname takes the form+-- /AccessPointName/-/AccountId/.s3-accesspoint./Region/.amazonaws.com.+-- When using this action with an access point through the Amazon Web+-- Services SDKs, you provide the access point ARN in place of the bucket+-- name. For more information about access point ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html Using access points>+-- in the /Amazon S3 User Guide/.+--+-- When using this action with Amazon S3 on Outposts, you must direct+-- requests to the S3 on Outposts hostname. The S3 on Outposts hostname+-- takes the form+-- @ @/@AccessPointName@/@-@/@AccountId@/@.@/@outpostID@/@.s3-outposts.@/@Region@/@.amazonaws.com@.+-- When using this action with S3 on Outposts through the Amazon Web+-- Services SDKs, you provide the Outposts bucket ARN in place of the+-- bucket name. For more information about S3 on Outposts ARNs, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html Using Amazon S3 on Outposts>+-- in the /Amazon S3 User Guide/.+uploadPartCopy_bucket :: Lens.Lens' UploadPartCopy BucketName+uploadPartCopy_bucket = Lens.lens (\UploadPartCopy' {bucket} -> bucket) (\s@UploadPartCopy' {} a -> s {bucket = a} :: UploadPartCopy)++-- | Specifies the source object for the copy operation. You specify the+-- value in one of two formats, depending on whether you want to access the+-- source object through an+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html access point>:+--+-- -   For objects not accessed through an access point, specify the name+--     of the source bucket and key of the source object, separated by a+--     slash (\/). For example, to copy the object @reports\/january.pdf@+--     from the bucket @awsexamplebucket@, use+--     @awsexamplebucket\/reports\/january.pdf@. The value must be+--     URL-encoded.+--+-- -   For objects accessed through access points, specify the Amazon+--     Resource Name (ARN) of the object as accessed through the access+--     point, in the format+--     @arn:aws:s3:\<Region>:\<account-id>:accesspoint\/\<access-point-name>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     access point @my-access-point@ owned by account @123456789012@ in+--     Region @us-west-2@, use the URL encoding of+--     @arn:aws:s3:us-west-2:123456789012:accesspoint\/my-access-point\/object\/reports\/january.pdf@.+--     The value must be URL encoded.+--+--     Amazon S3 supports copy operations using access points only when the+--     source and destination buckets are in the same Amazon Web Services+--     Region.+--+--     Alternatively, for objects accessed through Amazon S3 on Outposts,+--     specify the ARN of the object as accessed in the format+--     @arn:aws:s3-outposts:\<Region>:\<account-id>:outpost\/\<outpost-id>\/object\/\<key>@.+--     For example, to copy the object @reports\/january.pdf@ through+--     outpost @my-outpost@ owned by account @123456789012@ in Region+--     @us-west-2@, use the URL encoding of+--     @arn:aws:s3-outposts:us-west-2:123456789012:outpost\/my-outpost\/object\/reports\/january.pdf@.+--     The value must be URL-encoded.+--+-- To copy a specific version of an object, append+-- @?versionId=\<version-id>@ to the value (for example,+-- @awsexamplebucket\/reports\/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893@).+-- If you don\'t specify a version ID, Amazon S3 copies the latest version+-- of the source object.+uploadPartCopy_copySource :: Lens.Lens' UploadPartCopy Prelude.Text+uploadPartCopy_copySource = Lens.lens (\UploadPartCopy' {copySource} -> copySource) (\s@UploadPartCopy' {} a -> s {copySource = a} :: UploadPartCopy)++-- | Object key for which the multipart upload was initiated.+uploadPartCopy_key :: Lens.Lens' UploadPartCopy ObjectKey+uploadPartCopy_key = Lens.lens (\UploadPartCopy' {key} -> key) (\s@UploadPartCopy' {} a -> s {key = a} :: UploadPartCopy)++-- | Part number of part being copied. This is a positive integer between 1+-- and 10,000.+uploadPartCopy_partNumber :: Lens.Lens' UploadPartCopy Prelude.Int+uploadPartCopy_partNumber = Lens.lens (\UploadPartCopy' {partNumber} -> partNumber) (\s@UploadPartCopy' {} a -> s {partNumber = a} :: UploadPartCopy)++-- | Upload ID identifying the multipart upload whose part is being copied.+uploadPartCopy_uploadId :: Lens.Lens' UploadPartCopy Prelude.Text+uploadPartCopy_uploadId = Lens.lens (\UploadPartCopy' {uploadId} -> uploadId) (\s@UploadPartCopy' {} a -> s {uploadId = a} :: UploadPartCopy)++instance Core.AWSRequest UploadPartCopy where+  type+    AWSResponse UploadPartCopy =+      UploadPartCopyResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.put (overrides defaultService)+  response =+    Response.receiveXML+      ( \s h x ->+          UploadPartCopyResponse'+            Prelude.<$> ( h+                            Data..#? "x-amz-server-side-encryption-bucket-key-enabled"+                        )+            Prelude.<*> (Data.parseXML x)+            Prelude.<*> (h Data..#? "x-amz-copy-source-version-id")+            Prelude.<*> (h Data..#? "x-amz-request-charged")+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-algorithm"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-customer-key-MD5"+                        )+            Prelude.<*> ( h+                            Data..#? "x-amz-server-side-encryption-aws-kms-key-id"+                        )+            Prelude.<*> (h Data..#? "x-amz-server-side-encryption")+            Prelude.<*> (Prelude.pure (Prelude.fromEnum s))+      )++instance Prelude.Hashable UploadPartCopy where+  hashWithSalt _salt UploadPartCopy' {..} =+    _salt+      `Prelude.hashWithSalt` copySourceIfMatch+      `Prelude.hashWithSalt` copySourceIfModifiedSince+      `Prelude.hashWithSalt` copySourceIfNoneMatch+      `Prelude.hashWithSalt` copySourceIfUnmodifiedSince+      `Prelude.hashWithSalt` copySourceRange+      `Prelude.hashWithSalt` copySourceSSECustomerAlgorithm+      `Prelude.hashWithSalt` copySourceSSECustomerKey+      `Prelude.hashWithSalt` copySourceSSECustomerKeyMD5+      `Prelude.hashWithSalt` expectedBucketOwner+      `Prelude.hashWithSalt` expectedSourceBucketOwner+      `Prelude.hashWithSalt` requestPayer+      `Prelude.hashWithSalt` sSECustomerAlgorithm+      `Prelude.hashWithSalt` sSECustomerKey+      `Prelude.hashWithSalt` sSECustomerKeyMD5+      `Prelude.hashWithSalt` bucket+      `Prelude.hashWithSalt` copySource+      `Prelude.hashWithSalt` key+      `Prelude.hashWithSalt` partNumber+      `Prelude.hashWithSalt` uploadId++instance Prelude.NFData UploadPartCopy where+  rnf UploadPartCopy' {..} =+    Prelude.rnf copySourceIfMatch+      `Prelude.seq` Prelude.rnf copySourceIfModifiedSince+      `Prelude.seq` Prelude.rnf copySourceIfNoneMatch+      `Prelude.seq` Prelude.rnf copySourceIfUnmodifiedSince+      `Prelude.seq` Prelude.rnf copySourceRange+      `Prelude.seq` Prelude.rnf copySourceSSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf copySourceSSECustomerKey+      `Prelude.seq` Prelude.rnf copySourceSSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf expectedBucketOwner+      `Prelude.seq` Prelude.rnf expectedSourceBucketOwner+      `Prelude.seq` Prelude.rnf requestPayer+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKey+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf bucket+      `Prelude.seq` Prelude.rnf copySource+      `Prelude.seq` Prelude.rnf key+      `Prelude.seq` Prelude.rnf partNumber+      `Prelude.seq` Prelude.rnf uploadId++instance Data.ToHeaders UploadPartCopy where+  toHeaders UploadPartCopy' {..} =+    Prelude.mconcat+      [ "x-amz-copy-source-if-match"+          Data.=# copySourceIfMatch,+        "x-amz-copy-source-if-modified-since"+          Data.=# copySourceIfModifiedSince,+        "x-amz-copy-source-if-none-match"+          Data.=# copySourceIfNoneMatch,+        "x-amz-copy-source-if-unmodified-since"+          Data.=# copySourceIfUnmodifiedSince,+        "x-amz-copy-source-range" Data.=# copySourceRange,+        "x-amz-copy-source-server-side-encryption-customer-algorithm"+          Data.=# copySourceSSECustomerAlgorithm,+        "x-amz-copy-source-server-side-encryption-customer-key"+          Data.=# copySourceSSECustomerKey,+        "x-amz-copy-source-server-side-encryption-customer-key-MD5"+          Data.=# copySourceSSECustomerKeyMD5,+        "x-amz-expected-bucket-owner"+          Data.=# expectedBucketOwner,+        "x-amz-source-expected-bucket-owner"+          Data.=# expectedSourceBucketOwner,+        "x-amz-request-payer" Data.=# requestPayer,+        "x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-server-side-encryption-customer-key"+          Data.=# sSECustomerKey,+        "x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5,+        "x-amz-copy-source" Data.=# copySource+      ]++instance Data.ToPath UploadPartCopy where+  toPath UploadPartCopy' {..} =+    Prelude.mconcat+      ["/", Data.toBS bucket, "/", Data.toBS key]++instance Data.ToQuery UploadPartCopy where+  toQuery UploadPartCopy' {..} =+    Prelude.mconcat+      [ "partNumber" Data.=: partNumber,+        "uploadId" Data.=: uploadId+      ]++-- | /See:/ 'newUploadPartCopyResponse' smart constructor.+data UploadPartCopyResponse = UploadPartCopyResponse'+  { -- | Indicates whether the multipart upload uses an S3 Bucket Key for+    -- server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Container for all response elements.+    copyPartResult :: Prelude.Maybe CopyPartResult,+    -- | The version of the source object that was copied, if you have enabled+    -- versioning on the source bucket.+    copySourceVersionId :: Prelude.Maybe Prelude.Text,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header confirming the+    -- encryption algorithm used.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | If server-side encryption with a customer-provided encryption key was+    -- requested, the response will include this header to provide round-trip+    -- message integrity verification of the customer-provided encryption key.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for the object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing this object in+    -- Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | The response's http status code.+    httpStatus :: Prelude.Int+  }+  deriving (Prelude.Eq, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'UploadPartCopyResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'bucketKeyEnabled', 'uploadPartCopyResponse_bucketKeyEnabled' - Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'copyPartResult', 'uploadPartCopyResponse_copyPartResult' - Container for all response elements.+--+-- 'copySourceVersionId', 'uploadPartCopyResponse_copySourceVersionId' - The version of the source object that was copied, if you have enabled+-- versioning on the source bucket.+--+-- 'requestCharged', 'uploadPartCopyResponse_requestCharged' - Undocumented member.+--+-- 'sSECustomerAlgorithm', 'uploadPartCopyResponse_sSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+--+-- 'sSECustomerKeyMD5', 'uploadPartCopyResponse_sSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+--+-- 'sSEKMSKeyId', 'uploadPartCopyResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+--+-- 'serverSideEncryption', 'uploadPartCopyResponse_serverSideEncryption' - The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+--+-- 'httpStatus', 'uploadPartCopyResponse_httpStatus' - The response's http status code.+newUploadPartCopyResponse ::+  -- | 'httpStatus'+  Prelude.Int ->+  UploadPartCopyResponse+newUploadPartCopyResponse pHttpStatus_ =+  UploadPartCopyResponse'+    { bucketKeyEnabled =+        Prelude.Nothing,+      copyPartResult = Prelude.Nothing,+      copySourceVersionId = Prelude.Nothing,+      requestCharged = Prelude.Nothing,+      sSECustomerAlgorithm = Prelude.Nothing,+      sSECustomerKeyMD5 = Prelude.Nothing,+      sSEKMSKeyId = Prelude.Nothing,+      serverSideEncryption = Prelude.Nothing,+      httpStatus = pHttpStatus_+    }++-- | Indicates whether the multipart upload uses an S3 Bucket Key for+-- server-side encryption with Amazon Web Services KMS (SSE-KMS).+uploadPartCopyResponse_bucketKeyEnabled :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe Prelude.Bool)+uploadPartCopyResponse_bucketKeyEnabled = Lens.lens (\UploadPartCopyResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@UploadPartCopyResponse' {} a -> s {bucketKeyEnabled = a} :: UploadPartCopyResponse)++-- | Container for all response elements.+uploadPartCopyResponse_copyPartResult :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe CopyPartResult)+uploadPartCopyResponse_copyPartResult = Lens.lens (\UploadPartCopyResponse' {copyPartResult} -> copyPartResult) (\s@UploadPartCopyResponse' {} a -> s {copyPartResult = a} :: UploadPartCopyResponse)++-- | The version of the source object that was copied, if you have enabled+-- versioning on the source bucket.+uploadPartCopyResponse_copySourceVersionId :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe Prelude.Text)+uploadPartCopyResponse_copySourceVersionId = Lens.lens (\UploadPartCopyResponse' {copySourceVersionId} -> copySourceVersionId) (\s@UploadPartCopyResponse' {} a -> s {copySourceVersionId = a} :: UploadPartCopyResponse)++-- | Undocumented member.+uploadPartCopyResponse_requestCharged :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe RequestCharged)+uploadPartCopyResponse_requestCharged = Lens.lens (\UploadPartCopyResponse' {requestCharged} -> requestCharged) (\s@UploadPartCopyResponse' {} a -> s {requestCharged = a} :: UploadPartCopyResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header confirming the+-- encryption algorithm used.+uploadPartCopyResponse_sSECustomerAlgorithm :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe Prelude.Text)+uploadPartCopyResponse_sSECustomerAlgorithm = Lens.lens (\UploadPartCopyResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@UploadPartCopyResponse' {} a -> s {sSECustomerAlgorithm = a} :: UploadPartCopyResponse)++-- | If server-side encryption with a customer-provided encryption key was+-- requested, the response will include this header to provide round-trip+-- message integrity verification of the customer-provided encryption key.+uploadPartCopyResponse_sSECustomerKeyMD5 :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe Prelude.Text)+uploadPartCopyResponse_sSECustomerKeyMD5 = Lens.lens (\UploadPartCopyResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@UploadPartCopyResponse' {} a -> s {sSECustomerKeyMD5 = a} :: UploadPartCopyResponse)++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for the object.+uploadPartCopyResponse_sSEKMSKeyId :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe Prelude.Text)+uploadPartCopyResponse_sSEKMSKeyId = Lens.lens (\UploadPartCopyResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@UploadPartCopyResponse' {} a -> s {sSEKMSKeyId = a} :: UploadPartCopyResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing this object in+-- Amazon S3 (for example, AES256, aws:kms).+uploadPartCopyResponse_serverSideEncryption :: Lens.Lens' UploadPartCopyResponse (Prelude.Maybe ServerSideEncryption)+uploadPartCopyResponse_serverSideEncryption = Lens.lens (\UploadPartCopyResponse' {serverSideEncryption} -> serverSideEncryption) (\s@UploadPartCopyResponse' {} a -> s {serverSideEncryption = a} :: UploadPartCopyResponse)++-- | The response's http status code.+uploadPartCopyResponse_httpStatus :: Lens.Lens' UploadPartCopyResponse Prelude.Int+uploadPartCopyResponse_httpStatus = Lens.lens (\UploadPartCopyResponse' {httpStatus} -> httpStatus) (\s@UploadPartCopyResponse' {} a -> s {httpStatus = a} :: UploadPartCopyResponse)++instance Prelude.NFData UploadPartCopyResponse where+  rnf UploadPartCopyResponse' {..} =+    Prelude.rnf bucketKeyEnabled+      `Prelude.seq` Prelude.rnf copyPartResult+      `Prelude.seq` Prelude.rnf copySourceVersionId+      `Prelude.seq` Prelude.rnf requestCharged+      `Prelude.seq` Prelude.rnf sSECustomerAlgorithm+      `Prelude.seq` Prelude.rnf sSECustomerKeyMD5+      `Prelude.seq` Prelude.rnf sSEKMSKeyId+      `Prelude.seq` Prelude.rnf serverSideEncryption+      `Prelude.seq` Prelude.rnf httpStatus
+ gen/Amazonka/S3/Waiters.hs view
@@ -0,0 +1,76 @@+{-# LANGUAGE DisambiguateRecordFields #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.Waiters+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Waiters where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import Amazonka.S3.HeadBucket+import Amazonka.S3.HeadObject+import Amazonka.S3.Lens+import Amazonka.S3.Types++-- | Polls 'Amazonka.S3.HeadBucket' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.+newBucketExists :: Core.Wait HeadBucket+newBucketExists =+  Core.Wait+    { Core.name = "BucketExists",+      Core.attempts = 20,+      Core.delay = 5,+      Core.acceptors =+        [ Core.matchStatus 200 Core.AcceptSuccess,+          Core.matchStatus 301 Core.AcceptSuccess,+          Core.matchStatus 403 Core.AcceptSuccess,+          Core.matchStatus 404 Core.AcceptRetry+        ]+    }++-- | Polls 'Amazonka.S3.HeadBucket' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.+newBucketNotExists :: Core.Wait HeadBucket+newBucketNotExists =+  Core.Wait+    { Core.name = "BucketNotExists",+      Core.attempts = 20,+      Core.delay = 5,+      Core.acceptors =+        [Core.matchStatus 404 Core.AcceptSuccess]+    }++-- | Polls 'Amazonka.S3.HeadObject' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.+newObjectExists :: Core.Wait HeadObject+newObjectExists =+  Core.Wait+    { Core.name = "ObjectExists",+      Core.attempts = 20,+      Core.delay = 5,+      Core.acceptors =+        [ Core.matchStatus 200 Core.AcceptSuccess,+          Core.matchStatus 404 Core.AcceptRetry+        ]+    }++-- | Polls 'Amazonka.S3.HeadObject' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.+newObjectNotExists :: Core.Wait HeadObject+newObjectNotExists =+  Core.Wait+    { Core.name = "ObjectNotExists",+      Core.attempts = 20,+      Core.delay = 5,+      Core.acceptors =+        [Core.matchStatus 404 Core.AcceptSuccess]+    }
+ gen/Amazonka/S3/WriteGetObjectResponse.hs view
@@ -0,0 +1,974 @@+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE DuplicateRecordFields #-}+{-# LANGUAGE NamedFieldPuns #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RecordWildCards #-}+{-# LANGUAGE StrictData #-}+{-# LANGUAGE TypeFamilies #-}+{-# LANGUAGE NoImplicitPrelude #-}+{-# OPTIONS_GHC -fno-warn-unused-binds #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}+{-# OPTIONS_GHC -fno-warn-unused-matches #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Amazonka.S3.WriteGetObjectResponse+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+--+-- Passes transformed objects to a @GetObject@ operation when using Object+-- Lambda access points. For information about Object Lambda access points,+-- see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html Transforming objects with Object Lambda access points>+-- in the /Amazon S3 User Guide/.+--+-- This operation supports metadata that can be returned by+-- <https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html GetObject>,+-- in addition to @RequestRoute@, @RequestToken@, @StatusCode@,+-- @ErrorCode@, and @ErrorMessage@. The @GetObject@ response metadata is+-- supported so that the @WriteGetObjectResponse@ caller, typically an+-- Lambda function, can provide the same metadata when it internally+-- invokes @GetObject@. When @WriteGetObjectResponse@ is called by a+-- customer-owned Lambda function, the metadata returned to the end user+-- @GetObject@ call might differ from what Amazon S3 would normally return.+--+-- You can include any number of metadata headers. When including a+-- metadata header, it should be prefaced with @x-amz-meta@. For example,+-- @x-amz-meta-my-custom-header: MyCustomValue@. The primary use case for+-- this is to forward @GetObject@ metadata.+--+-- Amazon Web Services provides some prebuilt Lambda functions that you can+-- use with S3 Object Lambda to detect and redact personally identifiable+-- information (PII) and decompress S3 objects. These Lambda functions are+-- available in the Amazon Web Services Serverless Application Repository,+-- and can be selected through the Amazon Web Services Management Console+-- when you create your Object Lambda access point.+--+-- Example 1: PII Access Control - This Lambda function uses Amazon+-- Comprehend, a natural language processing (NLP) service using machine+-- learning to find insights and relationships in text. It automatically+-- detects personally identifiable information (PII) such as names,+-- addresses, dates, credit card numbers, and social security numbers from+-- documents in your Amazon S3 bucket.+--+-- Example 2: PII Redaction - This Lambda function uses Amazon Comprehend,+-- a natural language processing (NLP) service using machine learning to+-- find insights and relationships in text. It automatically redacts+-- personally identifiable information (PII) such as names, addresses,+-- dates, credit card numbers, and social security numbers from documents+-- in your Amazon S3 bucket.+--+-- Example 3: Decompression - The Lambda function+-- S3ObjectLambdaDecompression, is equipped to decompress objects stored in+-- S3 in one of six compressed file formats including bzip2, gzip, snappy,+-- zlib, zstandard and ZIP.+--+-- For information on how to view and use these functions, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html Using Amazon Web Services built Lambda functions>+-- in the /Amazon S3 User Guide/.+module Amazonka.S3.WriteGetObjectResponse+  ( -- * Creating a Request+    WriteGetObjectResponse (..),+    newWriteGetObjectResponse,++    -- * Request Lenses+    writeGetObjectResponse_acceptRanges,+    writeGetObjectResponse_bucketKeyEnabled,+    writeGetObjectResponse_cacheControl,+    writeGetObjectResponse_checksumCRC32,+    writeGetObjectResponse_checksumCRC32C,+    writeGetObjectResponse_checksumSHA1,+    writeGetObjectResponse_checksumSHA256,+    writeGetObjectResponse_contentDisposition,+    writeGetObjectResponse_contentEncoding,+    writeGetObjectResponse_contentLanguage,+    writeGetObjectResponse_contentLength,+    writeGetObjectResponse_contentRange,+    writeGetObjectResponse_contentType,+    writeGetObjectResponse_deleteMarker,+    writeGetObjectResponse_eTag,+    writeGetObjectResponse_errorCode,+    writeGetObjectResponse_errorMessage,+    writeGetObjectResponse_expiration,+    writeGetObjectResponse_expires,+    writeGetObjectResponse_lastModified,+    writeGetObjectResponse_metadata,+    writeGetObjectResponse_missingMeta,+    writeGetObjectResponse_objectLockLegalHoldStatus,+    writeGetObjectResponse_objectLockMode,+    writeGetObjectResponse_objectLockRetainUntilDate,+    writeGetObjectResponse_partsCount,+    writeGetObjectResponse_replicationStatus,+    writeGetObjectResponse_requestCharged,+    writeGetObjectResponse_restore,+    writeGetObjectResponse_sSECustomerAlgorithm,+    writeGetObjectResponse_sSECustomerKeyMD5,+    writeGetObjectResponse_sSEKMSKeyId,+    writeGetObjectResponse_serverSideEncryption,+    writeGetObjectResponse_statusCode,+    writeGetObjectResponse_storageClass,+    writeGetObjectResponse_tagCount,+    writeGetObjectResponse_versionId,+    writeGetObjectResponse_requestRoute,+    writeGetObjectResponse_requestToken,+    writeGetObjectResponse_body,++    -- * Destructuring the Response+    WriteGetObjectResponseResponse (..),+    newWriteGetObjectResponseResponse,+  )+where++import qualified Amazonka.Core as Core+import qualified Amazonka.Core.Lens.Internal as Lens+import qualified Amazonka.Data as Data+import qualified Amazonka.Prelude as Prelude+import qualified Amazonka.Request as Request+import qualified Amazonka.Response as Response+import Amazonka.S3.Types++-- | /See:/ 'newWriteGetObjectResponse' smart constructor.+data WriteGetObjectResponse = WriteGetObjectResponse'+  { -- | Indicates that a range of bytes was specified.+    acceptRanges :: Prelude.Maybe Prelude.Text,+    -- | Indicates whether the object stored in Amazon S3 uses an S3 bucket key+    -- for server-side encryption with Amazon Web Services KMS (SSE-KMS).+    bucketKeyEnabled :: Prelude.Maybe Prelude.Bool,+    -- | Specifies caching behavior along the request\/reply chain.+    cacheControl :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This specifies+    -- the base64-encoded, 32-bit CRC32 checksum of the object returned by the+    -- Object Lambda function. This may not match the checksum for the object+    -- stored in Amazon S3. Amazon S3 will perform validation of the checksum+    -- values only when the original @GetObject@ request required checksum+    -- validation. For more information about checksums, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- Only one checksum header can be specified at a time. If you supply+    -- multiple checksum headers, this request will fail.+    checksumCRC32 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This specifies+    -- the base64-encoded, 32-bit CRC32C checksum of the object returned by the+    -- Object Lambda function. This may not match the checksum for the object+    -- stored in Amazon S3. Amazon S3 will perform validation of the checksum+    -- values only when the original @GetObject@ request required checksum+    -- validation. For more information about checksums, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- Only one checksum header can be specified at a time. If you supply+    -- multiple checksum headers, this request will fail.+    checksumCRC32C :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This specifies+    -- the base64-encoded, 160-bit SHA-1 digest of the object returned by the+    -- Object Lambda function. This may not match the checksum for the object+    -- stored in Amazon S3. Amazon S3 will perform validation of the checksum+    -- values only when the original @GetObject@ request required checksum+    -- validation. For more information about checksums, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- Only one checksum header can be specified at a time. If you supply+    -- multiple checksum headers, this request will fail.+    checksumSHA1 :: Prelude.Maybe Prelude.Text,+    -- | This header can be used as a data integrity check to verify that the+    -- data received is the same data that was originally sent. This specifies+    -- the base64-encoded, 256-bit SHA-256 digest of the object returned by the+    -- Object Lambda function. This may not match the checksum for the object+    -- stored in Amazon S3. Amazon S3 will perform validation of the checksum+    -- values only when the original @GetObject@ request required checksum+    -- validation. For more information about checksums, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+    -- in the /Amazon S3 User Guide/.+    --+    -- Only one checksum header can be specified at a time. If you supply+    -- multiple checksum headers, this request will fail.+    checksumSHA256 :: Prelude.Maybe Prelude.Text,+    -- | Specifies presentational information for the object.+    contentDisposition :: Prelude.Maybe Prelude.Text,+    -- | Specifies what content encodings have been applied to the object and+    -- thus what decoding mechanisms must be applied to obtain the media-type+    -- referenced by the Content-Type header field.+    contentEncoding :: Prelude.Maybe Prelude.Text,+    -- | The language the content is in.+    contentLanguage :: Prelude.Maybe Prelude.Text,+    -- | The size of the content body in bytes.+    contentLength :: Prelude.Maybe Prelude.Integer,+    -- | The portion of the object returned in the response.+    contentRange :: Prelude.Maybe Prelude.Text,+    -- | A standard MIME type describing the format of the object data.+    contentType :: Prelude.Maybe Prelude.Text,+    -- | Specifies whether an object stored in Amazon S3 is (@true@) or is not+    -- (@false@) a delete marker.+    deleteMarker :: Prelude.Maybe Prelude.Bool,+    -- | An opaque identifier assigned by a web server to a specific version of a+    -- resource found at a URL.+    eTag :: Prelude.Maybe ETag,+    -- | A string that uniquely identifies an error condition. Returned in the+    -- \<Code> tag of the error XML response for a corresponding @GetObject@+    -- call. Cannot be used with a successful @StatusCode@ header or when the+    -- transformed object is provided in the body. All error codes from S3 are+    -- sentence-cased. The regular expression (regex) value is+    -- @\"^[A-Z][a-zA-Z]+$\"@.+    errorCode :: Prelude.Maybe Prelude.Text,+    -- | Contains a generic description of the error condition. Returned in the+    -- \<Message> tag of the error XML response for a corresponding @GetObject@+    -- call. Cannot be used with a successful @StatusCode@ header or when the+    -- transformed object is provided in body.+    errorMessage :: Prelude.Maybe Prelude.Text,+    -- | If the object expiration is configured (see PUT Bucket lifecycle), the+    -- response includes this header. It includes the @expiry-date@ and+    -- @rule-id@ key-value pairs that provide the object expiration+    -- information. The value of the @rule-id@ is URL-encoded.+    expiration :: Prelude.Maybe Prelude.Text,+    -- | The date and time at which the object is no longer cacheable.+    expires :: Prelude.Maybe Data.RFC822,+    -- | The date and time that the object was last modified.+    lastModified :: Prelude.Maybe Data.RFC822,+    -- | A map of metadata to store with the object in S3.+    metadata :: Prelude.HashMap Prelude.Text Prelude.Text,+    -- | Set to the number of metadata entries not returned in @x-amz-meta@+    -- headers. This can happen if you create metadata using an API like SOAP+    -- that supports more flexible metadata than the REST API. For example,+    -- using SOAP, you can create metadata whose values are not legal HTTP+    -- headers.+    missingMeta :: Prelude.Maybe Prelude.Int,+    -- | Indicates whether an object stored in Amazon S3 has an active legal+    -- hold.+    objectLockLegalHoldStatus :: Prelude.Maybe ObjectLockLegalHoldStatus,+    -- | Indicates whether an object stored in Amazon S3 has Object Lock enabled.+    -- For more information about S3 Object Lock, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html Object Lock>.+    objectLockMode :: Prelude.Maybe ObjectLockMode,+    -- | The date and time when Object Lock is configured to expire.+    objectLockRetainUntilDate :: Prelude.Maybe Data.ISO8601,+    -- | The count of parts this object has.+    partsCount :: Prelude.Maybe Prelude.Int,+    -- | Indicates if request involves bucket that is either a source or+    -- destination in a Replication rule. For more information about S3+    -- Replication, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html Replication>.+    replicationStatus :: Prelude.Maybe ReplicationStatus,+    requestCharged :: Prelude.Maybe RequestCharged,+    -- | Provides information about object restoration operation and expiration+    -- time of the restored object copy.+    restore :: Prelude.Maybe Prelude.Text,+    -- | Encryption algorithm used if server-side encryption with a+    -- customer-provided encryption key was specified for object stored in+    -- Amazon S3.+    sSECustomerAlgorithm :: Prelude.Maybe Prelude.Text,+    -- | 128-bit MD5 digest of customer-provided encryption key used in Amazon S3+    -- to encrypt data stored in S3. For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)>.+    sSECustomerKeyMD5 :: Prelude.Maybe Prelude.Text,+    -- | If present, specifies the ID of the Amazon Web Services Key Management+    -- Service (Amazon Web Services KMS) symmetric customer managed key that+    -- was used for stored in Amazon S3 object.+    sSEKMSKeyId :: Prelude.Maybe (Data.Sensitive Prelude.Text),+    -- | The server-side encryption algorithm used when storing requested object+    -- in Amazon S3 (for example, AES256, aws:kms).+    serverSideEncryption :: Prelude.Maybe ServerSideEncryption,+    -- | The integer status code for an HTTP response of a corresponding+    -- @GetObject@ request.+    --+    -- __Status Codes__+    --+    -- -   @200 - OK@+    --+    -- -   @206 - Partial Content@+    --+    -- -   @304 - Not Modified@+    --+    -- -   @400 - Bad Request@+    --+    -- -   @401 - Unauthorized@+    --+    -- -   @403 - Forbidden@+    --+    -- -   @404 - Not Found@+    --+    -- -   @405 - Method Not Allowed@+    --+    -- -   @409 - Conflict@+    --+    -- -   @411 - Length Required@+    --+    -- -   @412 - Precondition Failed@+    --+    -- -   @416 - Range Not Satisfiable@+    --+    -- -   @500 - Internal Server Error@+    --+    -- -   @503 - Service Unavailable@+    statusCode :: Prelude.Maybe Prelude.Int,+    -- | Provides storage class information of the object. Amazon S3 returns this+    -- header for all objects except for S3 Standard storage class objects.+    --+    -- For more information, see+    -- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+    storageClass :: Prelude.Maybe StorageClass,+    -- | The number of tags, if any, on the object.+    tagCount :: Prelude.Maybe Prelude.Int,+    -- | An ID used to reference a specific version of the object.+    versionId :: Prelude.Maybe ObjectVersionId,+    -- | Route prefix to the HTTP URL generated.+    requestRoute :: Prelude.Text,+    -- | A single use encrypted token that maps @WriteGetObjectResponse@ to the+    -- end user @GetObject@ request.+    requestToken :: Prelude.Text,+    -- | The object data.+    body :: Data.RequestBody+  }+  deriving (Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WriteGetObjectResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+--+-- The following record fields are available, with the corresponding lenses provided+-- for backwards compatibility:+--+-- 'acceptRanges', 'writeGetObjectResponse_acceptRanges' - Indicates that a range of bytes was specified.+--+-- 'bucketKeyEnabled', 'writeGetObjectResponse_bucketKeyEnabled' - Indicates whether the object stored in Amazon S3 uses an S3 bucket key+-- for server-side encryption with Amazon Web Services KMS (SSE-KMS).+--+-- 'cacheControl', 'writeGetObjectResponse_cacheControl' - Specifies caching behavior along the request\/reply chain.+--+-- 'checksumCRC32', 'writeGetObjectResponse_checksumCRC32' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 32-bit CRC32 checksum of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+--+-- 'checksumCRC32C', 'writeGetObjectResponse_checksumCRC32C' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 32-bit CRC32C checksum of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+--+-- 'checksumSHA1', 'writeGetObjectResponse_checksumSHA1' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 160-bit SHA-1 digest of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+--+-- 'checksumSHA256', 'writeGetObjectResponse_checksumSHA256' - This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 256-bit SHA-256 digest of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+--+-- 'contentDisposition', 'writeGetObjectResponse_contentDisposition' - Specifies presentational information for the object.+--+-- 'contentEncoding', 'writeGetObjectResponse_contentEncoding' - Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+--+-- 'contentLanguage', 'writeGetObjectResponse_contentLanguage' - The language the content is in.+--+-- 'contentLength', 'writeGetObjectResponse_contentLength' - The size of the content body in bytes.+--+-- 'contentRange', 'writeGetObjectResponse_contentRange' - The portion of the object returned in the response.+--+-- 'contentType', 'writeGetObjectResponse_contentType' - A standard MIME type describing the format of the object data.+--+-- 'deleteMarker', 'writeGetObjectResponse_deleteMarker' - Specifies whether an object stored in Amazon S3 is (@true@) or is not+-- (@false@) a delete marker.+--+-- 'eTag', 'writeGetObjectResponse_eTag' - An opaque identifier assigned by a web server to a specific version of a+-- resource found at a URL.+--+-- 'errorCode', 'writeGetObjectResponse_errorCode' - A string that uniquely identifies an error condition. Returned in the+-- \<Code> tag of the error XML response for a corresponding @GetObject@+-- call. Cannot be used with a successful @StatusCode@ header or when the+-- transformed object is provided in the body. All error codes from S3 are+-- sentence-cased. The regular expression (regex) value is+-- @\"^[A-Z][a-zA-Z]+$\"@.+--+-- 'errorMessage', 'writeGetObjectResponse_errorMessage' - Contains a generic description of the error condition. Returned in the+-- \<Message> tag of the error XML response for a corresponding @GetObject@+-- call. Cannot be used with a successful @StatusCode@ header or when the+-- transformed object is provided in body.+--+-- 'expiration', 'writeGetObjectResponse_expiration' - If the object expiration is configured (see PUT Bucket lifecycle), the+-- response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs that provide the object expiration+-- information. The value of the @rule-id@ is URL-encoded.+--+-- 'expires', 'writeGetObjectResponse_expires' - The date and time at which the object is no longer cacheable.+--+-- 'lastModified', 'writeGetObjectResponse_lastModified' - The date and time that the object was last modified.+--+-- 'metadata', 'writeGetObjectResponse_metadata' - A map of metadata to store with the object in S3.+--+-- 'missingMeta', 'writeGetObjectResponse_missingMeta' - Set to the number of metadata entries not returned in @x-amz-meta@+-- headers. This can happen if you create metadata using an API like SOAP+-- that supports more flexible metadata than the REST API. For example,+-- using SOAP, you can create metadata whose values are not legal HTTP+-- headers.+--+-- 'objectLockLegalHoldStatus', 'writeGetObjectResponse_objectLockLegalHoldStatus' - Indicates whether an object stored in Amazon S3 has an active legal+-- hold.+--+-- 'objectLockMode', 'writeGetObjectResponse_objectLockMode' - Indicates whether an object stored in Amazon S3 has Object Lock enabled.+-- For more information about S3 Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html Object Lock>.+--+-- 'objectLockRetainUntilDate', 'writeGetObjectResponse_objectLockRetainUntilDate' - The date and time when Object Lock is configured to expire.+--+-- 'partsCount', 'writeGetObjectResponse_partsCount' - The count of parts this object has.+--+-- 'replicationStatus', 'writeGetObjectResponse_replicationStatus' - Indicates if request involves bucket that is either a source or+-- destination in a Replication rule. For more information about S3+-- Replication, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html Replication>.+--+-- 'requestCharged', 'writeGetObjectResponse_requestCharged' - Undocumented member.+--+-- 'restore', 'writeGetObjectResponse_restore' - Provides information about object restoration operation and expiration+-- time of the restored object copy.+--+-- 'sSECustomerAlgorithm', 'writeGetObjectResponse_sSECustomerAlgorithm' - Encryption algorithm used if server-side encryption with a+-- customer-provided encryption key was specified for object stored in+-- Amazon S3.+--+-- 'sSECustomerKeyMD5', 'writeGetObjectResponse_sSECustomerKeyMD5' - 128-bit MD5 digest of customer-provided encryption key used in Amazon S3+-- to encrypt data stored in S3. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)>.+--+-- 'sSEKMSKeyId', 'writeGetObjectResponse_sSEKMSKeyId' - If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for stored in Amazon S3 object.+--+-- 'serverSideEncryption', 'writeGetObjectResponse_serverSideEncryption' - The server-side encryption algorithm used when storing requested object+-- in Amazon S3 (for example, AES256, aws:kms).+--+-- 'statusCode', 'writeGetObjectResponse_statusCode' - The integer status code for an HTTP response of a corresponding+-- @GetObject@ request.+--+-- __Status Codes__+--+-- -   @200 - OK@+--+-- -   @206 - Partial Content@+--+-- -   @304 - Not Modified@+--+-- -   @400 - Bad Request@+--+-- -   @401 - Unauthorized@+--+-- -   @403 - Forbidden@+--+-- -   @404 - Not Found@+--+-- -   @405 - Method Not Allowed@+--+-- -   @409 - Conflict@+--+-- -   @411 - Length Required@+--+-- -   @412 - Precondition Failed@+--+-- -   @416 - Range Not Satisfiable@+--+-- -   @500 - Internal Server Error@+--+-- -   @503 - Service Unavailable@+--+-- 'storageClass', 'writeGetObjectResponse_storageClass' - Provides storage class information of the object. Amazon S3 returns this+-- header for all objects except for S3 Standard storage class objects.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+--+-- 'tagCount', 'writeGetObjectResponse_tagCount' - The number of tags, if any, on the object.+--+-- 'versionId', 'writeGetObjectResponse_versionId' - An ID used to reference a specific version of the object.+--+-- 'requestRoute', 'writeGetObjectResponse_requestRoute' - Route prefix to the HTTP URL generated.+--+-- 'requestToken', 'writeGetObjectResponse_requestToken' - A single use encrypted token that maps @WriteGetObjectResponse@ to the+-- end user @GetObject@ request.+--+-- 'body', 'writeGetObjectResponse_body' - The object data.+newWriteGetObjectResponse ::+  -- | 'requestRoute'+  Prelude.Text ->+  -- | 'requestToken'+  Prelude.Text ->+  -- | 'body'+  Data.RequestBody ->+  WriteGetObjectResponse+newWriteGetObjectResponse+  pRequestRoute_+  pRequestToken_+  pBody_ =+    WriteGetObjectResponse'+      { acceptRanges =+          Prelude.Nothing,+        bucketKeyEnabled = Prelude.Nothing,+        cacheControl = Prelude.Nothing,+        checksumCRC32 = Prelude.Nothing,+        checksumCRC32C = Prelude.Nothing,+        checksumSHA1 = Prelude.Nothing,+        checksumSHA256 = Prelude.Nothing,+        contentDisposition = Prelude.Nothing,+        contentEncoding = Prelude.Nothing,+        contentLanguage = Prelude.Nothing,+        contentLength = Prelude.Nothing,+        contentRange = Prelude.Nothing,+        contentType = Prelude.Nothing,+        deleteMarker = Prelude.Nothing,+        eTag = Prelude.Nothing,+        errorCode = Prelude.Nothing,+        errorMessage = Prelude.Nothing,+        expiration = Prelude.Nothing,+        expires = Prelude.Nothing,+        lastModified = Prelude.Nothing,+        metadata = Prelude.mempty,+        missingMeta = Prelude.Nothing,+        objectLockLegalHoldStatus = Prelude.Nothing,+        objectLockMode = Prelude.Nothing,+        objectLockRetainUntilDate = Prelude.Nothing,+        partsCount = Prelude.Nothing,+        replicationStatus = Prelude.Nothing,+        requestCharged = Prelude.Nothing,+        restore = Prelude.Nothing,+        sSECustomerAlgorithm = Prelude.Nothing,+        sSECustomerKeyMD5 = Prelude.Nothing,+        sSEKMSKeyId = Prelude.Nothing,+        serverSideEncryption = Prelude.Nothing,+        statusCode = Prelude.Nothing,+        storageClass = Prelude.Nothing,+        tagCount = Prelude.Nothing,+        versionId = Prelude.Nothing,+        requestRoute = pRequestRoute_,+        requestToken = pRequestToken_,+        body = pBody_+      }++-- | Indicates that a range of bytes was specified.+writeGetObjectResponse_acceptRanges :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_acceptRanges = Lens.lens (\WriteGetObjectResponse' {acceptRanges} -> acceptRanges) (\s@WriteGetObjectResponse' {} a -> s {acceptRanges = a} :: WriteGetObjectResponse)++-- | Indicates whether the object stored in Amazon S3 uses an S3 bucket key+-- for server-side encryption with Amazon Web Services KMS (SSE-KMS).+writeGetObjectResponse_bucketKeyEnabled :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Bool)+writeGetObjectResponse_bucketKeyEnabled = Lens.lens (\WriteGetObjectResponse' {bucketKeyEnabled} -> bucketKeyEnabled) (\s@WriteGetObjectResponse' {} a -> s {bucketKeyEnabled = a} :: WriteGetObjectResponse)++-- | Specifies caching behavior along the request\/reply chain.+writeGetObjectResponse_cacheControl :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_cacheControl = Lens.lens (\WriteGetObjectResponse' {cacheControl} -> cacheControl) (\s@WriteGetObjectResponse' {} a -> s {cacheControl = a} :: WriteGetObjectResponse)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 32-bit CRC32 checksum of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+writeGetObjectResponse_checksumCRC32 :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_checksumCRC32 = Lens.lens (\WriteGetObjectResponse' {checksumCRC32} -> checksumCRC32) (\s@WriteGetObjectResponse' {} a -> s {checksumCRC32 = a} :: WriteGetObjectResponse)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 32-bit CRC32C checksum of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+writeGetObjectResponse_checksumCRC32C :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_checksumCRC32C = Lens.lens (\WriteGetObjectResponse' {checksumCRC32C} -> checksumCRC32C) (\s@WriteGetObjectResponse' {} a -> s {checksumCRC32C = a} :: WriteGetObjectResponse)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 160-bit SHA-1 digest of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+writeGetObjectResponse_checksumSHA1 :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_checksumSHA1 = Lens.lens (\WriteGetObjectResponse' {checksumSHA1} -> checksumSHA1) (\s@WriteGetObjectResponse' {} a -> s {checksumSHA1 = a} :: WriteGetObjectResponse)++-- | This header can be used as a data integrity check to verify that the+-- data received is the same data that was originally sent. This specifies+-- the base64-encoded, 256-bit SHA-256 digest of the object returned by the+-- Object Lambda function. This may not match the checksum for the object+-- stored in Amazon S3. Amazon S3 will perform validation of the checksum+-- values only when the original @GetObject@ request required checksum+-- validation. For more information about checksums, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html Checking object integrity>+-- in the /Amazon S3 User Guide/.+--+-- Only one checksum header can be specified at a time. If you supply+-- multiple checksum headers, this request will fail.+writeGetObjectResponse_checksumSHA256 :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_checksumSHA256 = Lens.lens (\WriteGetObjectResponse' {checksumSHA256} -> checksumSHA256) (\s@WriteGetObjectResponse' {} a -> s {checksumSHA256 = a} :: WriteGetObjectResponse)++-- | Specifies presentational information for the object.+writeGetObjectResponse_contentDisposition :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_contentDisposition = Lens.lens (\WriteGetObjectResponse' {contentDisposition} -> contentDisposition) (\s@WriteGetObjectResponse' {} a -> s {contentDisposition = a} :: WriteGetObjectResponse)++-- | Specifies what content encodings have been applied to the object and+-- thus what decoding mechanisms must be applied to obtain the media-type+-- referenced by the Content-Type header field.+writeGetObjectResponse_contentEncoding :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_contentEncoding = Lens.lens (\WriteGetObjectResponse' {contentEncoding} -> contentEncoding) (\s@WriteGetObjectResponse' {} a -> s {contentEncoding = a} :: WriteGetObjectResponse)++-- | The language the content is in.+writeGetObjectResponse_contentLanguage :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_contentLanguage = Lens.lens (\WriteGetObjectResponse' {contentLanguage} -> contentLanguage) (\s@WriteGetObjectResponse' {} a -> s {contentLanguage = a} :: WriteGetObjectResponse)++-- | The size of the content body in bytes.+writeGetObjectResponse_contentLength :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Integer)+writeGetObjectResponse_contentLength = Lens.lens (\WriteGetObjectResponse' {contentLength} -> contentLength) (\s@WriteGetObjectResponse' {} a -> s {contentLength = a} :: WriteGetObjectResponse)++-- | The portion of the object returned in the response.+writeGetObjectResponse_contentRange :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_contentRange = Lens.lens (\WriteGetObjectResponse' {contentRange} -> contentRange) (\s@WriteGetObjectResponse' {} a -> s {contentRange = a} :: WriteGetObjectResponse)++-- | A standard MIME type describing the format of the object data.+writeGetObjectResponse_contentType :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_contentType = Lens.lens (\WriteGetObjectResponse' {contentType} -> contentType) (\s@WriteGetObjectResponse' {} a -> s {contentType = a} :: WriteGetObjectResponse)++-- | Specifies whether an object stored in Amazon S3 is (@true@) or is not+-- (@false@) a delete marker.+writeGetObjectResponse_deleteMarker :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Bool)+writeGetObjectResponse_deleteMarker = Lens.lens (\WriteGetObjectResponse' {deleteMarker} -> deleteMarker) (\s@WriteGetObjectResponse' {} a -> s {deleteMarker = a} :: WriteGetObjectResponse)++-- | An opaque identifier assigned by a web server to a specific version of a+-- resource found at a URL.+writeGetObjectResponse_eTag :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe ETag)+writeGetObjectResponse_eTag = Lens.lens (\WriteGetObjectResponse' {eTag} -> eTag) (\s@WriteGetObjectResponse' {} a -> s {eTag = a} :: WriteGetObjectResponse)++-- | A string that uniquely identifies an error condition. Returned in the+-- \<Code> tag of the error XML response for a corresponding @GetObject@+-- call. Cannot be used with a successful @StatusCode@ header or when the+-- transformed object is provided in the body. All error codes from S3 are+-- sentence-cased. The regular expression (regex) value is+-- @\"^[A-Z][a-zA-Z]+$\"@.+writeGetObjectResponse_errorCode :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_errorCode = Lens.lens (\WriteGetObjectResponse' {errorCode} -> errorCode) (\s@WriteGetObjectResponse' {} a -> s {errorCode = a} :: WriteGetObjectResponse)++-- | Contains a generic description of the error condition. Returned in the+-- \<Message> tag of the error XML response for a corresponding @GetObject@+-- call. Cannot be used with a successful @StatusCode@ header or when the+-- transformed object is provided in body.+writeGetObjectResponse_errorMessage :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_errorMessage = Lens.lens (\WriteGetObjectResponse' {errorMessage} -> errorMessage) (\s@WriteGetObjectResponse' {} a -> s {errorMessage = a} :: WriteGetObjectResponse)++-- | If the object expiration is configured (see PUT Bucket lifecycle), the+-- response includes this header. It includes the @expiry-date@ and+-- @rule-id@ key-value pairs that provide the object expiration+-- information. The value of the @rule-id@ is URL-encoded.+writeGetObjectResponse_expiration :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_expiration = Lens.lens (\WriteGetObjectResponse' {expiration} -> expiration) (\s@WriteGetObjectResponse' {} a -> s {expiration = a} :: WriteGetObjectResponse)++-- | The date and time at which the object is no longer cacheable.+writeGetObjectResponse_expires :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.UTCTime)+writeGetObjectResponse_expires = Lens.lens (\WriteGetObjectResponse' {expires} -> expires) (\s@WriteGetObjectResponse' {} a -> s {expires = a} :: WriteGetObjectResponse) Prelude.. Lens.mapping Data._Time++-- | The date and time that the object was last modified.+writeGetObjectResponse_lastModified :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.UTCTime)+writeGetObjectResponse_lastModified = Lens.lens (\WriteGetObjectResponse' {lastModified} -> lastModified) (\s@WriteGetObjectResponse' {} a -> s {lastModified = a} :: WriteGetObjectResponse) Prelude.. Lens.mapping Data._Time++-- | A map of metadata to store with the object in S3.+writeGetObjectResponse_metadata :: Lens.Lens' WriteGetObjectResponse (Prelude.HashMap Prelude.Text Prelude.Text)+writeGetObjectResponse_metadata = Lens.lens (\WriteGetObjectResponse' {metadata} -> metadata) (\s@WriteGetObjectResponse' {} a -> s {metadata = a} :: WriteGetObjectResponse) Prelude.. Lens.coerced++-- | Set to the number of metadata entries not returned in @x-amz-meta@+-- headers. This can happen if you create metadata using an API like SOAP+-- that supports more flexible metadata than the REST API. For example,+-- using SOAP, you can create metadata whose values are not legal HTTP+-- headers.+writeGetObjectResponse_missingMeta :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Int)+writeGetObjectResponse_missingMeta = Lens.lens (\WriteGetObjectResponse' {missingMeta} -> missingMeta) (\s@WriteGetObjectResponse' {} a -> s {missingMeta = a} :: WriteGetObjectResponse)++-- | Indicates whether an object stored in Amazon S3 has an active legal+-- hold.+writeGetObjectResponse_objectLockLegalHoldStatus :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe ObjectLockLegalHoldStatus)+writeGetObjectResponse_objectLockLegalHoldStatus = Lens.lens (\WriteGetObjectResponse' {objectLockLegalHoldStatus} -> objectLockLegalHoldStatus) (\s@WriteGetObjectResponse' {} a -> s {objectLockLegalHoldStatus = a} :: WriteGetObjectResponse)++-- | Indicates whether an object stored in Amazon S3 has Object Lock enabled.+-- For more information about S3 Object Lock, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html Object Lock>.+writeGetObjectResponse_objectLockMode :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe ObjectLockMode)+writeGetObjectResponse_objectLockMode = Lens.lens (\WriteGetObjectResponse' {objectLockMode} -> objectLockMode) (\s@WriteGetObjectResponse' {} a -> s {objectLockMode = a} :: WriteGetObjectResponse)++-- | The date and time when Object Lock is configured to expire.+writeGetObjectResponse_objectLockRetainUntilDate :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.UTCTime)+writeGetObjectResponse_objectLockRetainUntilDate = Lens.lens (\WriteGetObjectResponse' {objectLockRetainUntilDate} -> objectLockRetainUntilDate) (\s@WriteGetObjectResponse' {} a -> s {objectLockRetainUntilDate = a} :: WriteGetObjectResponse) Prelude.. Lens.mapping Data._Time++-- | The count of parts this object has.+writeGetObjectResponse_partsCount :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Int)+writeGetObjectResponse_partsCount = Lens.lens (\WriteGetObjectResponse' {partsCount} -> partsCount) (\s@WriteGetObjectResponse' {} a -> s {partsCount = a} :: WriteGetObjectResponse)++-- | Indicates if request involves bucket that is either a source or+-- destination in a Replication rule. For more information about S3+-- Replication, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html Replication>.+writeGetObjectResponse_replicationStatus :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe ReplicationStatus)+writeGetObjectResponse_replicationStatus = Lens.lens (\WriteGetObjectResponse' {replicationStatus} -> replicationStatus) (\s@WriteGetObjectResponse' {} a -> s {replicationStatus = a} :: WriteGetObjectResponse)++-- | Undocumented member.+writeGetObjectResponse_requestCharged :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe RequestCharged)+writeGetObjectResponse_requestCharged = Lens.lens (\WriteGetObjectResponse' {requestCharged} -> requestCharged) (\s@WriteGetObjectResponse' {} a -> s {requestCharged = a} :: WriteGetObjectResponse)++-- | Provides information about object restoration operation and expiration+-- time of the restored object copy.+writeGetObjectResponse_restore :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_restore = Lens.lens (\WriteGetObjectResponse' {restore} -> restore) (\s@WriteGetObjectResponse' {} a -> s {restore = a} :: WriteGetObjectResponse)++-- | Encryption algorithm used if server-side encryption with a+-- customer-provided encryption key was specified for object stored in+-- Amazon S3.+writeGetObjectResponse_sSECustomerAlgorithm :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_sSECustomerAlgorithm = Lens.lens (\WriteGetObjectResponse' {sSECustomerAlgorithm} -> sSECustomerAlgorithm) (\s@WriteGetObjectResponse' {} a -> s {sSECustomerAlgorithm = a} :: WriteGetObjectResponse)++-- | 128-bit MD5 digest of customer-provided encryption key used in Amazon S3+-- to encrypt data stored in S3. For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)>.+writeGetObjectResponse_sSECustomerKeyMD5 :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_sSECustomerKeyMD5 = Lens.lens (\WriteGetObjectResponse' {sSECustomerKeyMD5} -> sSECustomerKeyMD5) (\s@WriteGetObjectResponse' {} a -> s {sSECustomerKeyMD5 = a} :: WriteGetObjectResponse)++-- | If present, specifies the ID of the Amazon Web Services Key Management+-- Service (Amazon Web Services KMS) symmetric customer managed key that+-- was used for stored in Amazon S3 object.+writeGetObjectResponse_sSEKMSKeyId :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Text)+writeGetObjectResponse_sSEKMSKeyId = Lens.lens (\WriteGetObjectResponse' {sSEKMSKeyId} -> sSEKMSKeyId) (\s@WriteGetObjectResponse' {} a -> s {sSEKMSKeyId = a} :: WriteGetObjectResponse) Prelude.. Lens.mapping Data._Sensitive++-- | The server-side encryption algorithm used when storing requested object+-- in Amazon S3 (for example, AES256, aws:kms).+writeGetObjectResponse_serverSideEncryption :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe ServerSideEncryption)+writeGetObjectResponse_serverSideEncryption = Lens.lens (\WriteGetObjectResponse' {serverSideEncryption} -> serverSideEncryption) (\s@WriteGetObjectResponse' {} a -> s {serverSideEncryption = a} :: WriteGetObjectResponse)++-- | The integer status code for an HTTP response of a corresponding+-- @GetObject@ request.+--+-- __Status Codes__+--+-- -   @200 - OK@+--+-- -   @206 - Partial Content@+--+-- -   @304 - Not Modified@+--+-- -   @400 - Bad Request@+--+-- -   @401 - Unauthorized@+--+-- -   @403 - Forbidden@+--+-- -   @404 - Not Found@+--+-- -   @405 - Method Not Allowed@+--+-- -   @409 - Conflict@+--+-- -   @411 - Length Required@+--+-- -   @412 - Precondition Failed@+--+-- -   @416 - Range Not Satisfiable@+--+-- -   @500 - Internal Server Error@+--+-- -   @503 - Service Unavailable@+writeGetObjectResponse_statusCode :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Int)+writeGetObjectResponse_statusCode = Lens.lens (\WriteGetObjectResponse' {statusCode} -> statusCode) (\s@WriteGetObjectResponse' {} a -> s {statusCode = a} :: WriteGetObjectResponse)++-- | Provides storage class information of the object. Amazon S3 returns this+-- header for all objects except for S3 Standard storage class objects.+--+-- For more information, see+-- <https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html Storage Classes>.+writeGetObjectResponse_storageClass :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe StorageClass)+writeGetObjectResponse_storageClass = Lens.lens (\WriteGetObjectResponse' {storageClass} -> storageClass) (\s@WriteGetObjectResponse' {} a -> s {storageClass = a} :: WriteGetObjectResponse)++-- | The number of tags, if any, on the object.+writeGetObjectResponse_tagCount :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe Prelude.Int)+writeGetObjectResponse_tagCount = Lens.lens (\WriteGetObjectResponse' {tagCount} -> tagCount) (\s@WriteGetObjectResponse' {} a -> s {tagCount = a} :: WriteGetObjectResponse)++-- | An ID used to reference a specific version of the object.+writeGetObjectResponse_versionId :: Lens.Lens' WriteGetObjectResponse (Prelude.Maybe ObjectVersionId)+writeGetObjectResponse_versionId = Lens.lens (\WriteGetObjectResponse' {versionId} -> versionId) (\s@WriteGetObjectResponse' {} a -> s {versionId = a} :: WriteGetObjectResponse)++-- | Route prefix to the HTTP URL generated.+writeGetObjectResponse_requestRoute :: Lens.Lens' WriteGetObjectResponse Prelude.Text+writeGetObjectResponse_requestRoute = Lens.lens (\WriteGetObjectResponse' {requestRoute} -> requestRoute) (\s@WriteGetObjectResponse' {} a -> s {requestRoute = a} :: WriteGetObjectResponse)++-- | A single use encrypted token that maps @WriteGetObjectResponse@ to the+-- end user @GetObject@ request.+writeGetObjectResponse_requestToken :: Lens.Lens' WriteGetObjectResponse Prelude.Text+writeGetObjectResponse_requestToken = Lens.lens (\WriteGetObjectResponse' {requestToken} -> requestToken) (\s@WriteGetObjectResponse' {} a -> s {requestToken = a} :: WriteGetObjectResponse)++-- | The object data.+writeGetObjectResponse_body :: Lens.Lens' WriteGetObjectResponse Data.RequestBody+writeGetObjectResponse_body = Lens.lens (\WriteGetObjectResponse' {body} -> body) (\s@WriteGetObjectResponse' {} a -> s {body = a} :: WriteGetObjectResponse)++instance Core.AWSRequest WriteGetObjectResponse where+  type+    AWSResponse WriteGetObjectResponse =+      WriteGetObjectResponseResponse+  request overrides =+    Request.s3vhost+      Prelude.. Request.postBody (overrides defaultService)+  response =+    Response.receiveNull+      WriteGetObjectResponseResponse'++instance Data.ToBody WriteGetObjectResponse where+  toBody WriteGetObjectResponse' {..} = Data.toBody body++instance Data.ToHeaders WriteGetObjectResponse where+  toHeaders WriteGetObjectResponse' {..} =+    Prelude.mconcat+      [ "x-amz-fwd-header-accept-ranges"+          Data.=# acceptRanges,+        "x-amz-fwd-header-x-amz-server-side-encryption-bucket-key-enabled"+          Data.=# bucketKeyEnabled,+        "x-amz-fwd-header-Cache-Control"+          Data.=# cacheControl,+        "x-amz-fwd-header-x-amz-checksum-crc32"+          Data.=# checksumCRC32,+        "x-amz-fwd-header-x-amz-checksum-crc32c"+          Data.=# checksumCRC32C,+        "x-amz-fwd-header-x-amz-checksum-sha1"+          Data.=# checksumSHA1,+        "x-amz-fwd-header-x-amz-checksum-sha256"+          Data.=# checksumSHA256,+        "x-amz-fwd-header-Content-Disposition"+          Data.=# contentDisposition,+        "x-amz-fwd-header-Content-Encoding"+          Data.=# contentEncoding,+        "x-amz-fwd-header-Content-Language"+          Data.=# contentLanguage,+        "Content-Length" Data.=# contentLength,+        "x-amz-fwd-header-Content-Range"+          Data.=# contentRange,+        "x-amz-fwd-header-Content-Type" Data.=# contentType,+        "x-amz-fwd-header-x-amz-delete-marker"+          Data.=# deleteMarker,+        "x-amz-fwd-header-ETag" Data.=# eTag,+        "x-amz-fwd-error-code" Data.=# errorCode,+        "x-amz-fwd-error-message" Data.=# errorMessage,+        "x-amz-fwd-header-x-amz-expiration"+          Data.=# expiration,+        "x-amz-fwd-header-Expires" Data.=# expires,+        "x-amz-fwd-header-Last-Modified"+          Data.=# lastModified,+        "x-amz-meta-" Data.=# metadata,+        "x-amz-fwd-header-x-amz-missing-meta"+          Data.=# missingMeta,+        "x-amz-fwd-header-x-amz-object-lock-legal-hold"+          Data.=# objectLockLegalHoldStatus,+        "x-amz-fwd-header-x-amz-object-lock-mode"+          Data.=# objectLockMode,+        "x-amz-fwd-header-x-amz-object-lock-retain-until-date"+          Data.=# objectLockRetainUntilDate,+        "x-amz-fwd-header-x-amz-mp-parts-count"+          Data.=# partsCount,+        "x-amz-fwd-header-x-amz-replication-status"+          Data.=# replicationStatus,+        "x-amz-fwd-header-x-amz-request-charged"+          Data.=# requestCharged,+        "x-amz-fwd-header-x-amz-restore" Data.=# restore,+        "x-amz-fwd-header-x-amz-server-side-encryption-customer-algorithm"+          Data.=# sSECustomerAlgorithm,+        "x-amz-fwd-header-x-amz-server-side-encryption-customer-key-MD5"+          Data.=# sSECustomerKeyMD5,+        "x-amz-fwd-header-x-amz-server-side-encryption-aws-kms-key-id"+          Data.=# sSEKMSKeyId,+        "x-amz-fwd-header-x-amz-server-side-encryption"+          Data.=# serverSideEncryption,+        "x-amz-fwd-status" Data.=# statusCode,+        "x-amz-fwd-header-x-amz-storage-class"+          Data.=# storageClass,+        "x-amz-fwd-header-x-amz-tagging-count"+          Data.=# tagCount,+        "x-amz-fwd-header-x-amz-version-id"+          Data.=# versionId,+        "x-amz-request-route" Data.=# requestRoute,+        "x-amz-request-token" Data.=# requestToken+      ]++instance Data.ToPath WriteGetObjectResponse where+  toPath = Prelude.const "/WriteGetObjectResponse"++instance Data.ToQuery WriteGetObjectResponse where+  toQuery = Prelude.const Prelude.mempty++-- | /See:/ 'newWriteGetObjectResponseResponse' smart constructor.+data WriteGetObjectResponseResponse = WriteGetObjectResponseResponse'+  {+  }+  deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)++-- |+-- Create a value of 'WriteGetObjectResponseResponse' with all optional fields omitted.+--+-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.+newWriteGetObjectResponseResponse ::+  WriteGetObjectResponseResponse+newWriteGetObjectResponseResponse =+  WriteGetObjectResponseResponse'++instance+  Prelude.NFData+    WriteGetObjectResponseResponse+  where+  rnf _ = ()
− gen/Network/AWS/S3.hs
@@ -1,1200 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports    #-}-{-# OPTIONS_GHC -fno-warn-duplicate-exports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Amazon Simple Storage Service is storage for the Internet. Amazon S3 has a simple web services interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.-module Network.AWS.S3-    (-    -- * Service Configuration-      s3--    -- * Errors-    -- $errors--    -- ** BucketAlreadyOwnedByYou-    , _BucketAlreadyOwnedByYou--    -- ** ObjectAlreadyInActiveTierError-    , _ObjectAlreadyInActiveTierError--    -- ** BucketAlreadyExists-    , _BucketAlreadyExists--    -- ** ObjectNotInActiveTierError-    , _ObjectNotInActiveTierError--    -- ** NoSuchUpload-    , _NoSuchUpload--    -- ** NoSuchBucket-    , _NoSuchBucket--    -- ** NoSuchKey-    , _NoSuchKey--    -- * Waiters-    -- $waiters--    -- ** ObjectNotExists-    , objectNotExists--    -- ** BucketExists-    , bucketExists--    -- ** ObjectExists-    , objectExists--    -- ** BucketNotExists-    , bucketNotExists--    -- * Operations-    -- $operations--    -- ** PutBucketRequestPayment-    , module Network.AWS.S3.PutBucketRequestPayment--    -- ** PutObject-    , module Network.AWS.S3.PutObject--    -- ** DeleteObject-    , module Network.AWS.S3.DeleteObject--    -- ** PutBucketLogging-    , module Network.AWS.S3.PutBucketLogging--    -- ** GetBucketMetricsConfiguration-    , module Network.AWS.S3.GetBucketMetricsConfiguration--    -- ** ListBuckets-    , module Network.AWS.S3.ListBuckets--    -- ** DeleteBucket-    , module Network.AWS.S3.DeleteBucket--    -- ** CreateBucket-    , module Network.AWS.S3.CreateBucket--    -- ** DeleteBucketTagging-    , module Network.AWS.S3.DeleteBucketTagging--    -- ** PutObjectACL-    , module Network.AWS.S3.PutObjectACL--    -- ** PutBucketTagging-    , module Network.AWS.S3.PutBucketTagging--    -- ** GetBucketInventoryConfiguration-    , module Network.AWS.S3.GetBucketInventoryConfiguration--    -- ** PutBucketInventoryConfiguration-    , module Network.AWS.S3.PutBucketInventoryConfiguration--    -- ** GetBucketLocation-    , module Network.AWS.S3.GetBucketLocation--    -- ** ListBucketInventoryConfigurations-    , module Network.AWS.S3.ListBucketInventoryConfigurations--    -- ** DeleteBucketInventoryConfiguration-    , module Network.AWS.S3.DeleteBucketInventoryConfiguration--    -- ** GetBucketNotificationConfiguration-    , module Network.AWS.S3.GetBucketNotificationConfiguration--    -- ** PutBucketAccelerateConfiguration-    , module Network.AWS.S3.PutBucketAccelerateConfiguration--    -- ** PutBucketMetricsConfiguration-    , module Network.AWS.S3.PutBucketMetricsConfiguration--    -- ** DeleteBucketMetricsConfiguration-    , module Network.AWS.S3.DeleteBucketMetricsConfiguration--    -- ** ListObjectsV2 (Paginated)-    , module Network.AWS.S3.ListObjectsV2--    -- ** GetObject-    , module Network.AWS.S3.GetObject--    -- ** PutBucketReplication-    , module Network.AWS.S3.PutBucketReplication--    -- ** GetBucketWebsite-    , module Network.AWS.S3.GetBucketWebsite--    -- ** GetBucketRequestPayment-    , module Network.AWS.S3.GetBucketRequestPayment--    -- ** DeleteBucketReplication-    , module Network.AWS.S3.DeleteBucketReplication--    -- ** ListObjectVersions (Paginated)-    , module Network.AWS.S3.ListObjectVersions--    -- ** HeadBucket-    , module Network.AWS.S3.HeadBucket--    -- ** DeleteBucketLifecycle-    , module Network.AWS.S3.DeleteBucketLifecycle--    -- ** PutBucketLifecycleConfiguration-    , module Network.AWS.S3.PutBucketLifecycleConfiguration--    -- ** PutBucketAnalyticsConfiguration-    , module Network.AWS.S3.PutBucketAnalyticsConfiguration--    -- ** ListBucketAnalyticsConfigurations-    , module Network.AWS.S3.ListBucketAnalyticsConfigurations--    -- ** DeleteBucketAnalyticsConfiguration-    , module Network.AWS.S3.DeleteBucketAnalyticsConfiguration--    -- ** CreateMultipartUpload-    , module Network.AWS.S3.CreateMultipartUpload--    -- ** UploadPart-    , module Network.AWS.S3.UploadPart--    -- ** SelectObjectContent-    , module Network.AWS.S3.SelectObjectContent--    -- ** GetBucketReplication-    , module Network.AWS.S3.GetBucketReplication--    -- ** PutBucketWebsite-    , module Network.AWS.S3.PutBucketWebsite--    -- ** DeleteBucketWebsite-    , module Network.AWS.S3.DeleteBucketWebsite--    -- ** CompleteMultipartUpload-    , module Network.AWS.S3.CompleteMultipartUpload--    -- ** ListMultipartUploads (Paginated)-    , module Network.AWS.S3.ListMultipartUploads--    -- ** ListObjects (Paginated)-    , module Network.AWS.S3.ListObjects--    -- ** DeleteBucketPolicy-    , module Network.AWS.S3.DeleteBucketPolicy--    -- ** GetBucketEncryption-    , module Network.AWS.S3.GetBucketEncryption--    -- ** AbortMultipartUpload-    , module Network.AWS.S3.AbortMultipartUpload--    -- ** PutBucketPolicy-    , module Network.AWS.S3.PutBucketPolicy--    -- ** GetBucketAccelerateConfiguration-    , module Network.AWS.S3.GetBucketAccelerateConfiguration--    -- ** GetObjectTorrent-    , module Network.AWS.S3.GetObjectTorrent--    -- ** DeleteObjects-    , module Network.AWS.S3.DeleteObjects--    -- ** PutBucketNotificationConfiguration-    , module Network.AWS.S3.PutBucketNotificationConfiguration--    -- ** GetBucketVersioning-    , module Network.AWS.S3.GetBucketVersioning--    -- ** DeleteBucketCORS-    , module Network.AWS.S3.DeleteBucketCORS--    -- ** PutBucketCORS-    , module Network.AWS.S3.PutBucketCORS--    -- ** GetBucketCORS-    , module Network.AWS.S3.GetBucketCORS--    -- ** GetObjectACL-    , module Network.AWS.S3.GetObjectACL--    -- ** RestoreObject-    , module Network.AWS.S3.RestoreObject--    -- ** HeadObject-    , module Network.AWS.S3.HeadObject--    -- ** PutBucketVersioning-    , module Network.AWS.S3.PutBucketVersioning--    -- ** GetBucketTagging-    , module Network.AWS.S3.GetBucketTagging--    -- ** CopyObject-    , module Network.AWS.S3.CopyObject--    -- ** ListBucketMetricsConfigurations-    , module Network.AWS.S3.ListBucketMetricsConfigurations--    -- ** GetBucketPolicy-    , module Network.AWS.S3.GetBucketPolicy--    -- ** PutBucketEncryption-    , module Network.AWS.S3.PutBucketEncryption--    -- ** DeleteBucketEncryption-    , module Network.AWS.S3.DeleteBucketEncryption--    -- ** GetBucketLogging-    , module Network.AWS.S3.GetBucketLogging--    -- ** GetBucketACL-    , module Network.AWS.S3.GetBucketACL--    -- ** GetBucketLifecycleConfiguration-    , module Network.AWS.S3.GetBucketLifecycleConfiguration--    -- ** GetBucketAnalyticsConfiguration-    , module Network.AWS.S3.GetBucketAnalyticsConfiguration--    -- ** GetObjectTagging-    , module Network.AWS.S3.GetObjectTagging--    -- ** ListParts (Paginated)-    , module Network.AWS.S3.ListParts--    -- ** DeleteObjectTagging-    , module Network.AWS.S3.DeleteObjectTagging--    -- ** UploadPartCopy-    , module Network.AWS.S3.UploadPartCopy--    -- ** PutObjectTagging-    , module Network.AWS.S3.PutObjectTagging--    -- ** PutBucketACL-    , module Network.AWS.S3.PutBucketACL--    -- * Types--    -- ** Common-    , module Network.AWS.S3.Internal--    -- ** AnalyticsS3ExportFileFormat-    , AnalyticsS3ExportFileFormat (..)--    -- ** BucketAccelerateStatus-    , BucketAccelerateStatus (..)--    -- ** BucketCannedACL-    , BucketCannedACL (..)--    -- ** BucketLogsPermission-    , BucketLogsPermission (..)--    -- ** BucketVersioningStatus-    , BucketVersioningStatus (..)--    -- ** CompressionType-    , CompressionType (..)--    -- ** EncodingType-    , EncodingType (..)--    -- ** Event-    , Event (..)--    -- ** ExpirationStatus-    , ExpirationStatus (..)--    -- ** ExpressionType-    , ExpressionType (..)--    -- ** FileHeaderInfo-    , FileHeaderInfo (..)--    -- ** FilterRuleName-    , FilterRuleName (..)--    -- ** InventoryFormat-    , InventoryFormat (..)--    -- ** InventoryFrequency-    , InventoryFrequency (..)--    -- ** InventoryIncludedObjectVersions-    , InventoryIncludedObjectVersions (..)--    -- ** InventoryOptionalField-    , InventoryOptionalField (..)--    -- ** JSONType-    , JSONType (..)--    -- ** MFADelete-    , MFADelete (..)--    -- ** MFADeleteStatus-    , MFADeleteStatus (..)--    -- ** MetadataDirective-    , MetadataDirective (..)--    -- ** ObjectCannedACL-    , ObjectCannedACL (..)--    -- ** ObjectStorageClass-    , ObjectStorageClass (..)--    -- ** ObjectVersionStorageClass-    , ObjectVersionStorageClass (..)--    -- ** OwnerOverride-    , OwnerOverride (..)--    -- ** Payer-    , Payer (..)--    -- ** Permission-    , Permission (..)--    -- ** Protocol-    , Protocol (..)--    -- ** QuoteFields-    , QuoteFields (..)--    -- ** ReplicationRuleStatus-    , ReplicationRuleStatus (..)--    -- ** ReplicationStatus-    , ReplicationStatus (..)--    -- ** RequestCharged-    , RequestCharged (..)--    -- ** RequestPayer-    , RequestPayer (..)--    -- ** RestoreRequestType-    , RestoreRequestType (..)--    -- ** ServerSideEncryption-    , ServerSideEncryption (..)--    -- ** SseKMSEncryptedObjectsStatus-    , SseKMSEncryptedObjectsStatus (..)--    -- ** StorageClass-    , StorageClass (..)--    -- ** StorageClassAnalysisSchemaVersion-    , StorageClassAnalysisSchemaVersion (..)--    -- ** TaggingDirective-    , TaggingDirective (..)--    -- ** Tier-    , Tier (..)--    -- ** TransitionStorageClass-    , TransitionStorageClass (..)--    -- ** Type-    , Type (..)--    -- ** AbortIncompleteMultipartUpload-    , AbortIncompleteMultipartUpload-    , abortIncompleteMultipartUpload-    , aimuDaysAfterInitiation--    -- ** AccelerateConfiguration-    , AccelerateConfiguration-    , accelerateConfiguration-    , acStatus--    -- ** AccessControlPolicy-    , AccessControlPolicy-    , accessControlPolicy-    , acpGrants-    , acpOwner--    -- ** AccessControlTranslation-    , AccessControlTranslation-    , accessControlTranslation-    , actOwner--    -- ** AnalyticsAndOperator-    , AnalyticsAndOperator-    , analyticsAndOperator-    , aaoPrefix-    , aaoTags--    -- ** AnalyticsConfiguration-    , AnalyticsConfiguration-    , analyticsConfiguration-    , acFilter-    , acId-    , acStorageClassAnalysis--    -- ** AnalyticsExportDestination-    , AnalyticsExportDestination-    , analyticsExportDestination-    , aedS3BucketDestination--    -- ** AnalyticsFilter-    , AnalyticsFilter-    , analyticsFilter-    , afTag-    , afPrefix-    , afAnd--    -- ** AnalyticsS3BucketDestination-    , AnalyticsS3BucketDestination-    , analyticsS3BucketDestination-    , asbdBucketAccountId-    , asbdPrefix-    , asbdFormat-    , asbdBucket--    -- ** Bucket-    , Bucket-    , bucket-    , bCreationDate-    , bName--    -- ** BucketLifecycleConfiguration-    , BucketLifecycleConfiguration-    , bucketLifecycleConfiguration-    , blcRules--    -- ** BucketLoggingStatus-    , BucketLoggingStatus-    , bucketLoggingStatus-    , blsLoggingEnabled--    -- ** CORSConfiguration-    , CORSConfiguration-    , corsConfiguration-    , ccCORSRules--    -- ** CORSRule-    , CORSRule-    , corsRule-    , crMaxAgeSeconds-    , crAllowedHeaders-    , crExposeHeaders-    , crAllowedMethods-    , crAllowedOrigins--    -- ** CSVInput-    , CSVInput-    , csvInput-    , ciQuoteCharacter-    , ciRecordDelimiter-    , ciFileHeaderInfo-    , ciQuoteEscapeCharacter-    , ciComments-    , ciFieldDelimiter--    -- ** CSVOutput-    , CSVOutput-    , csvOutput-    , coQuoteCharacter-    , coQuoteFields-    , coRecordDelimiter-    , coQuoteEscapeCharacter-    , coFieldDelimiter--    -- ** CommonPrefix-    , CommonPrefix-    , commonPrefix-    , cpPrefix--    -- ** CompletedMultipartUpload-    , CompletedMultipartUpload-    , completedMultipartUpload-    , cmuParts--    -- ** CompletedPart-    , CompletedPart-    , completedPart-    , cpPartNumber-    , cpETag--    -- ** Condition-    , Condition-    , condition-    , cKeyPrefixEquals-    , cHTTPErrorCodeReturnedEquals--    -- ** ContinuationEvent-    , ContinuationEvent-    , continuationEvent--    -- ** CopyObjectResult-    , CopyObjectResult-    , copyObjectResult-    , corETag-    , corLastModified--    -- ** CopyPartResult-    , CopyPartResult-    , copyPartResult-    , cprETag-    , cprLastModified--    -- ** CreateBucketConfiguration-    , CreateBucketConfiguration-    , createBucketConfiguration-    , cbcLocationConstraint--    -- ** Delete-    , Delete-    , delete'-    , dQuiet-    , dObjects--    -- ** DeleteMarkerEntry-    , DeleteMarkerEntry-    , deleteMarkerEntry-    , dmeVersionId-    , dmeIsLatest-    , dmeOwner-    , dmeKey-    , dmeLastModified--    -- ** DeletedObject-    , DeletedObject-    , deletedObject-    , dVersionId-    , dDeleteMarker-    , dDeleteMarkerVersionId-    , dKey--    -- ** Destination-    , Destination-    , destination-    , dAccessControlTranslation-    , dAccount-    , dStorageClass-    , dEncryptionConfiguration-    , dBucket--    -- ** Encryption-    , Encryption-    , encryption-    , eKMSKeyId-    , eKMSContext-    , eEncryptionType--    -- ** EncryptionConfiguration-    , EncryptionConfiguration-    , encryptionConfiguration-    , ecReplicaKMSKeyId--    -- ** EndEvent-    , EndEvent-    , endEvent--    -- ** ErrorDocument-    , ErrorDocument-    , errorDocument-    , edKey--    -- ** FilterRule-    , FilterRule-    , filterRule-    , frValue-    , frName--    -- ** GlacierJobParameters-    , GlacierJobParameters-    , glacierJobParameters-    , gjpTier--    -- ** Grant-    , Grant-    , grant-    , gPermission-    , gGrantee--    -- ** Grantee-    , Grantee-    , grantee-    , gURI-    , gEmailAddress-    , gDisplayName-    , gId-    , gType--    -- ** IndexDocument-    , IndexDocument-    , indexDocument-    , idSuffix--    -- ** Initiator-    , Initiator-    , initiator-    , iDisplayName-    , iId--    -- ** InputSerialization-    , InputSerialization-    , inputSerialization-    , isJSON-    , isCSV-    , isCompressionType--    -- ** InventoryConfiguration-    , InventoryConfiguration-    , inventoryConfiguration-    , icOptionalFields-    , icFilter-    , icDestination-    , icIsEnabled-    , icId-    , icIncludedObjectVersions-    , icSchedule--    -- ** InventoryDestination-    , InventoryDestination-    , inventoryDestination-    , idS3BucketDestination--    -- ** InventoryEncryption-    , InventoryEncryption-    , inventoryEncryption-    , ieSSES3-    , ieSSEKMS--    -- ** InventoryFilter-    , InventoryFilter-    , inventoryFilter-    , ifPrefix--    -- ** InventoryS3BucketDestination-    , InventoryS3BucketDestination-    , inventoryS3BucketDestination-    , isbdPrefix-    , isbdAccountId-    , isbdEncryption-    , isbdBucket-    , isbdFormat--    -- ** InventorySchedule-    , InventorySchedule-    , inventorySchedule-    , isFrequency--    -- ** JSONInput-    , JSONInput-    , jsonInput-    , jiType--    -- ** JSONOutput-    , JSONOutput-    , jsonOutput-    , joRecordDelimiter--    -- ** LambdaFunctionConfiguration-    , LambdaFunctionConfiguration-    , lambdaFunctionConfiguration-    , lfcId-    , lfcFilter-    , lfcLambdaFunctionARN-    , lfcEvents--    -- ** LifecycleExpiration-    , LifecycleExpiration-    , lifecycleExpiration-    , leDays-    , leDate-    , leExpiredObjectDeleteMarker--    -- ** LifecycleRule-    , LifecycleRule-    , lifecycleRule-    , lrTransitions-    , lrNoncurrentVersionExpiration-    , lrPrefix-    , lrNoncurrentVersionTransitions-    , lrExpiration-    , lrId-    , lrFilter-    , lrAbortIncompleteMultipartUpload-    , lrStatus--    -- ** LifecycleRuleAndOperator-    , LifecycleRuleAndOperator-    , lifecycleRuleAndOperator-    , lraoPrefix-    , lraoTags--    -- ** LifecycleRuleFilter-    , LifecycleRuleFilter-    , lifecycleRuleFilter-    , lrfTag-    , lrfPrefix-    , lrfAnd--    -- ** LoggingEnabled-    , LoggingEnabled-    , loggingEnabled-    , leTargetGrants-    , leTargetBucket-    , leTargetPrefix--    -- ** MetadataEntry-    , MetadataEntry-    , metadataEntry-    , meValue-    , meName--    -- ** MetricsAndOperator-    , MetricsAndOperator-    , metricsAndOperator-    , maoPrefix-    , maoTags--    -- ** MetricsConfiguration-    , MetricsConfiguration-    , metricsConfiguration-    , mcFilter-    , mcId--    -- ** MetricsFilter-    , MetricsFilter-    , metricsFilter-    , mfTag-    , mfPrefix-    , mfAnd--    -- ** MultipartUpload-    , MultipartUpload-    , multipartUpload-    , muInitiated-    , muInitiator-    , muOwner-    , muKey-    , muStorageClass-    , muUploadId--    -- ** NoncurrentVersionExpiration-    , NoncurrentVersionExpiration-    , noncurrentVersionExpiration-    , nveNoncurrentDays--    -- ** NoncurrentVersionTransition-    , NoncurrentVersionTransition-    , noncurrentVersionTransition-    , nvtNoncurrentDays-    , nvtStorageClass--    -- ** NotificationConfiguration-    , NotificationConfiguration-    , notificationConfiguration-    , ncQueueConfigurations-    , ncTopicConfigurations-    , ncLambdaFunctionConfigurations--    -- ** NotificationConfigurationFilter-    , NotificationConfigurationFilter-    , notificationConfigurationFilter-    , ncfKey--    -- ** Object-    , Object-    , object'-    , oOwner-    , oETag-    , oSize-    , oKey-    , oStorageClass-    , oLastModified--    -- ** ObjectIdentifier-    , ObjectIdentifier-    , objectIdentifier-    , oiVersionId-    , oiKey--    -- ** ObjectVersion-    , ObjectVersion-    , objectVersion-    , ovETag-    , ovVersionId-    , ovSize-    , ovIsLatest-    , ovOwner-    , ovKey-    , ovStorageClass-    , ovLastModified--    -- ** OutputLocation-    , OutputLocation-    , outputLocation-    , olS3--    -- ** OutputSerialization-    , OutputSerialization-    , outputSerialization-    , osJSON-    , osCSV--    -- ** Owner-    , Owner-    , owner-    , oDisplayName-    , oId--    -- ** Part-    , Part-    , part-    , pETag-    , pSize-    , pPartNumber-    , pLastModified--    -- ** Progress-    , Progress-    , progress-    , pBytesReturned-    , pBytesScanned-    , pBytesProcessed--    -- ** ProgressEvent-    , ProgressEvent-    , progressEvent-    , peDetails--    -- ** QueueConfiguration-    , QueueConfiguration-    , queueConfiguration-    , qcId-    , qcFilter-    , qcQueueARN-    , qcEvents--    -- ** RecordsEvent-    , RecordsEvent-    , recordsEvent-    , rePayload--    -- ** Redirect-    , Redirect-    , redirect-    , rHostName-    , rProtocol-    , rHTTPRedirectCode-    , rReplaceKeyWith-    , rReplaceKeyPrefixWith--    -- ** RedirectAllRequestsTo-    , RedirectAllRequestsTo-    , redirectAllRequestsTo-    , rartProtocol-    , rartHostName--    -- ** ReplicationConfiguration-    , ReplicationConfiguration-    , replicationConfiguration-    , rcRole-    , rcRules--    -- ** ReplicationRule-    , ReplicationRule-    , replicationRule-    , rrId-    , rrSourceSelectionCriteria-    , rrPrefix-    , rrStatus-    , rrDestination--    -- ** RequestPaymentConfiguration-    , RequestPaymentConfiguration-    , requestPaymentConfiguration-    , rpcPayer--    -- ** RequestProgress-    , RequestProgress-    , requestProgress-    , rpEnabled--    -- ** RestoreRequest-    , RestoreRequest-    , restoreRequest-    , rrDays-    , rrSelectParameters-    , rrOutputLocation-    , rrTier-    , rrGlacierJobParameters-    , rrType-    , rrDescription--    -- ** RoutingRule-    , RoutingRule-    , routingRule-    , rrCondition-    , rrRedirect--    -- ** S3KeyFilter-    , S3KeyFilter-    , s3KeyFilter-    , skfFilterRules--    -- ** S3Location-    , S3Location-    , s3Location-    , slCannedACL-    , slAccessControlList-    , slUserMetadata-    , slEncryption-    , slStorageClass-    , slTagging-    , slBucketName-    , slPrefix--    -- ** S3ServiceError-    , S3ServiceError-    , s3ServiceError-    , sseVersionId-    , sseKey-    , sseCode-    , sseMessage--    -- ** SSEKMS-    , SSEKMS-    , sSEKMS-    , ssekKeyId--    -- ** SSES3-    , SSES3-    , sSES3--    -- ** SelectObjectContentEventStream-    , SelectObjectContentEventStream-    , selectObjectContentEventStream-    , socesProgress-    , socesRecords-    , socesCont-    , socesStats-    , socesEnd--    -- ** SelectParameters-    , SelectParameters-    , selectParameters-    , spInputSerialization-    , spExpressionType-    , spExpression-    , spOutputSerialization--    -- ** ServerSideEncryptionByDefault-    , ServerSideEncryptionByDefault-    , serverSideEncryptionByDefault-    , ssebdKMSMasterKeyId-    , ssebdSSEAlgorithm--    -- ** ServerSideEncryptionConfiguration-    , ServerSideEncryptionConfiguration-    , serverSideEncryptionConfiguration-    , ssecRules--    -- ** ServerSideEncryptionRule-    , ServerSideEncryptionRule-    , serverSideEncryptionRule-    , sserApplyServerSideEncryptionByDefault--    -- ** SourceSelectionCriteria-    , SourceSelectionCriteria-    , sourceSelectionCriteria-    , sscSseKMSEncryptedObjects--    -- ** SseKMSEncryptedObjects-    , SseKMSEncryptedObjects-    , sseKMSEncryptedObjects-    , skeoStatus--    -- ** Stats-    , Stats-    , stats-    , sBytesReturned-    , sBytesScanned-    , sBytesProcessed--    -- ** StatsEvent-    , StatsEvent-    , statsEvent-    , seDetails--    -- ** StorageClassAnalysis-    , StorageClassAnalysis-    , storageClassAnalysis-    , scaDataExport--    -- ** StorageClassAnalysisDataExport-    , StorageClassAnalysisDataExport-    , storageClassAnalysisDataExport-    , scadeOutputSchemaVersion-    , scadeDestination--    -- ** Tag-    , Tag-    , tag-    , tagKey-    , tagValue--    -- ** Tagging-    , Tagging-    , tagging-    , tTagSet--    -- ** TargetGrant-    , TargetGrant-    , targetGrant-    , tgPermission-    , tgGrantee--    -- ** TopicConfiguration-    , TopicConfiguration-    , topicConfiguration-    , tcId-    , tcFilter-    , tcTopicARN-    , tcEvents--    -- ** Transition-    , Transition-    , transition-    , tDays-    , tDate-    , tStorageClass--    -- ** VersioningConfiguration-    , VersioningConfiguration-    , versioningConfiguration-    , vcStatus-    , vcMFADelete--    -- ** WebsiteConfiguration-    , WebsiteConfiguration-    , websiteConfiguration-    , wcRedirectAllRequestsTo-    , wcErrorDocument-    , wcIndexDocument-    , wcRoutingRules-    ) where--import Network.AWS.S3.AbortMultipartUpload-import Network.AWS.S3.CompleteMultipartUpload-import Network.AWS.S3.CopyObject-import Network.AWS.S3.CreateBucket-import Network.AWS.S3.CreateMultipartUpload-import Network.AWS.S3.DeleteBucket-import Network.AWS.S3.DeleteBucketAnalyticsConfiguration-import Network.AWS.S3.DeleteBucketCORS-import Network.AWS.S3.DeleteBucketEncryption-import Network.AWS.S3.DeleteBucketInventoryConfiguration-import Network.AWS.S3.DeleteBucketLifecycle-import Network.AWS.S3.DeleteBucketMetricsConfiguration-import Network.AWS.S3.DeleteBucketPolicy-import Network.AWS.S3.DeleteBucketReplication-import Network.AWS.S3.DeleteBucketTagging-import Network.AWS.S3.DeleteBucketWebsite-import Network.AWS.S3.DeleteObject-import Network.AWS.S3.DeleteObjects-import Network.AWS.S3.DeleteObjectTagging-import Network.AWS.S3.GetBucketAccelerateConfiguration-import Network.AWS.S3.GetBucketACL-import Network.AWS.S3.GetBucketAnalyticsConfiguration-import Network.AWS.S3.GetBucketCORS-import Network.AWS.S3.GetBucketEncryption-import Network.AWS.S3.GetBucketInventoryConfiguration-import Network.AWS.S3.GetBucketLifecycleConfiguration-import Network.AWS.S3.GetBucketLocation-import Network.AWS.S3.GetBucketLogging-import Network.AWS.S3.GetBucketMetricsConfiguration-import Network.AWS.S3.GetBucketNotificationConfiguration-import Network.AWS.S3.GetBucketPolicy-import Network.AWS.S3.GetBucketReplication-import Network.AWS.S3.GetBucketRequestPayment-import Network.AWS.S3.GetBucketTagging-import Network.AWS.S3.GetBucketVersioning-import Network.AWS.S3.GetBucketWebsite-import Network.AWS.S3.GetObject-import Network.AWS.S3.GetObjectACL-import Network.AWS.S3.GetObjectTagging-import Network.AWS.S3.GetObjectTorrent-import Network.AWS.S3.HeadBucket-import Network.AWS.S3.HeadObject-import Network.AWS.S3.Internal-import Network.AWS.S3.ListBucketAnalyticsConfigurations-import Network.AWS.S3.ListBucketInventoryConfigurations-import Network.AWS.S3.ListBucketMetricsConfigurations-import Network.AWS.S3.ListBuckets-import Network.AWS.S3.ListMultipartUploads-import Network.AWS.S3.ListObjects-import Network.AWS.S3.ListObjectsV2-import Network.AWS.S3.ListObjectVersions-import Network.AWS.S3.ListParts-import Network.AWS.S3.PutBucketAccelerateConfiguration-import Network.AWS.S3.PutBucketACL-import Network.AWS.S3.PutBucketAnalyticsConfiguration-import Network.AWS.S3.PutBucketCORS-import Network.AWS.S3.PutBucketEncryption-import Network.AWS.S3.PutBucketInventoryConfiguration-import Network.AWS.S3.PutBucketLifecycleConfiguration-import Network.AWS.S3.PutBucketLogging-import Network.AWS.S3.PutBucketMetricsConfiguration-import Network.AWS.S3.PutBucketNotificationConfiguration-import Network.AWS.S3.PutBucketPolicy-import Network.AWS.S3.PutBucketReplication-import Network.AWS.S3.PutBucketRequestPayment-import Network.AWS.S3.PutBucketTagging-import Network.AWS.S3.PutBucketVersioning-import Network.AWS.S3.PutBucketWebsite-import Network.AWS.S3.PutObject-import Network.AWS.S3.PutObjectACL-import Network.AWS.S3.PutObjectTagging-import Network.AWS.S3.RestoreObject-import Network.AWS.S3.SelectObjectContent-import Network.AWS.S3.Types-import Network.AWS.S3.UploadPart-import Network.AWS.S3.UploadPartCopy-import Network.AWS.S3.Waiters--{- $errors-Error matchers are designed for use with the functions provided by-<http://hackage.haskell.org/package/lens/docs/Control-Exception-Lens.html Control.Exception.Lens>.-This allows catching (and rethrowing) service specific errors returned-by 'S3'.--}--{- $operations-Some AWS operations return results that are incomplete and require subsequent-requests in order to obtain the entire result set. The process of sending-subsequent requests to continue where a previous request left off is called-pagination. For example, the 'ListObjects' operation of Amazon S3 returns up to-1000 objects at a time, and you must send subsequent requests with the-appropriate Marker in order to retrieve the next page of results.--Operations that have an 'AWSPager' instance can transparently perform subsequent-requests, correctly setting Markers and other request facets to iterate through-the entire result set of a truncated API operation. Operations which support-this have an additional note in the documentation.--Many operations have the ability to filter results on the server side. See the-individual operation parameters for details.--}--{- $waiters-Waiters poll by repeatedly sending a request until some remote success condition-configured by the 'Wait' specification is fulfilled. The 'Wait' specification-determines how many attempts should be made, in addition to delay and retry strategies.--}
− gen/Network/AWS/S3/AbortMultipartUpload.hs
@@ -1,159 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.AbortMultipartUpload--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Aborts a multipart upload.--------- To verify that all parts have been removed, so you don't get charged for the part storage, you should call the List Parts operation and ensure the parts list is empty.----module Network.AWS.S3.AbortMultipartUpload-    (-    -- * Creating a Request-      abortMultipartUpload-    , AbortMultipartUpload-    -- * Request Lenses-    , amuRequestPayer-    , amuBucket-    , amuKey-    , amuUploadId--    -- * Destructuring the Response-    , abortMultipartUploadResponse-    , AbortMultipartUploadResponse-    -- * Response Lenses-    , amursRequestCharged-    , amursResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'abortMultipartUpload' smart constructor.-data AbortMultipartUpload = AbortMultipartUpload'-  { _amuRequestPayer :: !(Maybe RequestPayer)-  , _amuBucket       :: !BucketName-  , _amuKey          :: !ObjectKey-  , _amuUploadId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AbortMultipartUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'amuRequestPayer' - Undocumented member.------ * 'amuBucket' - Undocumented member.------ * 'amuKey' - Undocumented member.------ * 'amuUploadId' - Undocumented member.-abortMultipartUpload-    :: BucketName -- ^ 'amuBucket'-    -> ObjectKey -- ^ 'amuKey'-    -> Text -- ^ 'amuUploadId'-    -> AbortMultipartUpload-abortMultipartUpload pBucket_ pKey_ pUploadId_ =-  AbortMultipartUpload'-    { _amuRequestPayer = Nothing-    , _amuBucket = pBucket_-    , _amuKey = pKey_-    , _amuUploadId = pUploadId_-    }----- | Undocumented member.-amuRequestPayer :: Lens' AbortMultipartUpload (Maybe RequestPayer)-amuRequestPayer = lens _amuRequestPayer (\ s a -> s{_amuRequestPayer = a})---- | Undocumented member.-amuBucket :: Lens' AbortMultipartUpload BucketName-amuBucket = lens _amuBucket (\ s a -> s{_amuBucket = a})---- | Undocumented member.-amuKey :: Lens' AbortMultipartUpload ObjectKey-amuKey = lens _amuKey (\ s a -> s{_amuKey = a})---- | Undocumented member.-amuUploadId :: Lens' AbortMultipartUpload Text-amuUploadId = lens _amuUploadId (\ s a -> s{_amuUploadId = a})--instance AWSRequest AbortMultipartUpload where-        type Rs AbortMultipartUpload =-             AbortMultipartUploadResponse-        request = delete s3-        response-          = receiveEmpty-              (\ s h x ->-                 AbortMultipartUploadResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (pure (fromEnum s)))--instance Hashable AbortMultipartUpload where--instance NFData AbortMultipartUpload where--instance ToHeaders AbortMultipartUpload where-        toHeaders AbortMultipartUpload'{..}-          = mconcat ["x-amz-request-payer" =# _amuRequestPayer]--instance ToPath AbortMultipartUpload where-        toPath AbortMultipartUpload'{..}-          = mconcat ["/", toBS _amuBucket, "/", toBS _amuKey]--instance ToQuery AbortMultipartUpload where-        toQuery AbortMultipartUpload'{..}-          = mconcat ["uploadId" =: _amuUploadId]---- | /See:/ 'abortMultipartUploadResponse' smart constructor.-data AbortMultipartUploadResponse = AbortMultipartUploadResponse'-  { _amursRequestCharged :: !(Maybe RequestCharged)-  , _amursResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AbortMultipartUploadResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'amursRequestCharged' - Undocumented member.------ * 'amursResponseStatus' - -- | The response status code.-abortMultipartUploadResponse-    :: Int -- ^ 'amursResponseStatus'-    -> AbortMultipartUploadResponse-abortMultipartUploadResponse pResponseStatus_ =-  AbortMultipartUploadResponse'-    {_amursRequestCharged = Nothing, _amursResponseStatus = pResponseStatus_}----- | Undocumented member.-amursRequestCharged :: Lens' AbortMultipartUploadResponse (Maybe RequestCharged)-amursRequestCharged = lens _amursRequestCharged (\ s a -> s{_amursRequestCharged = a})---- | -- | The response status code.-amursResponseStatus :: Lens' AbortMultipartUploadResponse Int-amursResponseStatus = lens _amursResponseStatus (\ s a -> s{_amursResponseStatus = a})--instance NFData AbortMultipartUploadResponse where
− gen/Network/AWS/S3/CompleteMultipartUpload.hs
@@ -1,253 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.CompleteMultipartUpload--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Completes a multipart upload by assembling previously uploaded parts.-module Network.AWS.S3.CompleteMultipartUpload-    (-    -- * Creating a Request-      completeMultipartUpload-    , CompleteMultipartUpload-    -- * Request Lenses-    , cRequestPayer-    , cMultipartUpload-    , cBucket-    , cKey-    , cUploadId--    -- * Destructuring the Response-    , completeMultipartUploadResponse-    , CompleteMultipartUploadResponse-    -- * Response Lenses-    , crsRequestCharged-    , crsETag-    , crsVersionId-    , crsLocation-    , crsExpiration-    , crsBucket-    , crsKey-    , crsSSEKMSKeyId-    , crsServerSideEncryption-    , crsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'completeMultipartUpload' smart constructor.-data CompleteMultipartUpload = CompleteMultipartUpload'-  { _cRequestPayer    :: !(Maybe RequestPayer)-  , _cMultipartUpload :: !(Maybe CompletedMultipartUpload)-  , _cBucket          :: !BucketName-  , _cKey             :: !ObjectKey-  , _cUploadId        :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CompleteMultipartUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cRequestPayer' - Undocumented member.------ * 'cMultipartUpload' - Undocumented member.------ * 'cBucket' - Undocumented member.------ * 'cKey' - Undocumented member.------ * 'cUploadId' - Undocumented member.-completeMultipartUpload-    :: BucketName -- ^ 'cBucket'-    -> ObjectKey -- ^ 'cKey'-    -> Text -- ^ 'cUploadId'-    -> CompleteMultipartUpload-completeMultipartUpload pBucket_ pKey_ pUploadId_ =-  CompleteMultipartUpload'-    { _cRequestPayer = Nothing-    , _cMultipartUpload = Nothing-    , _cBucket = pBucket_-    , _cKey = pKey_-    , _cUploadId = pUploadId_-    }----- | Undocumented member.-cRequestPayer :: Lens' CompleteMultipartUpload (Maybe RequestPayer)-cRequestPayer = lens _cRequestPayer (\ s a -> s{_cRequestPayer = a})---- | Undocumented member.-cMultipartUpload :: Lens' CompleteMultipartUpload (Maybe CompletedMultipartUpload)-cMultipartUpload = lens _cMultipartUpload (\ s a -> s{_cMultipartUpload = a})---- | Undocumented member.-cBucket :: Lens' CompleteMultipartUpload BucketName-cBucket = lens _cBucket (\ s a -> s{_cBucket = a})---- | Undocumented member.-cKey :: Lens' CompleteMultipartUpload ObjectKey-cKey = lens _cKey (\ s a -> s{_cKey = a})---- | Undocumented member.-cUploadId :: Lens' CompleteMultipartUpload Text-cUploadId = lens _cUploadId (\ s a -> s{_cUploadId = a})--instance AWSRequest CompleteMultipartUpload where-        type Rs CompleteMultipartUpload =-             CompleteMultipartUploadResponse-        request = postXML s3-        response-          = receiveXML-              (\ s h x ->-                 CompleteMultipartUploadResponse' <$>-                   (h .#? "x-amz-request-charged") <*> (x .@? "ETag")-                     <*> (h .#? "x-amz-version-id")-                     <*> (x .@? "Location")-                     <*> (h .#? "x-amz-expiration")-                     <*> (x .@? "Bucket")-                     <*> (x .@? "Key")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (pure (fromEnum s)))--instance Hashable CompleteMultipartUpload where--instance NFData CompleteMultipartUpload where--instance ToElement CompleteMultipartUpload where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}CompleteMultipartUpload"-              .-              _cMultipartUpload--instance ToHeaders CompleteMultipartUpload where-        toHeaders CompleteMultipartUpload'{..}-          = mconcat ["x-amz-request-payer" =# _cRequestPayer]--instance ToPath CompleteMultipartUpload where-        toPath CompleteMultipartUpload'{..}-          = mconcat ["/", toBS _cBucket, "/", toBS _cKey]--instance ToQuery CompleteMultipartUpload where-        toQuery CompleteMultipartUpload'{..}-          = mconcat ["uploadId" =: _cUploadId]---- | /See:/ 'completeMultipartUploadResponse' smart constructor.-data CompleteMultipartUploadResponse = CompleteMultipartUploadResponse'-  { _crsRequestCharged       :: !(Maybe RequestCharged)-  , _crsETag                 :: !(Maybe ETag)-  , _crsVersionId            :: !(Maybe ObjectVersionId)-  , _crsLocation             :: !(Maybe Text)-  , _crsExpiration           :: !(Maybe Text)-  , _crsBucket               :: !(Maybe BucketName)-  , _crsKey                  :: !(Maybe ObjectKey)-  , _crsSSEKMSKeyId          :: !(Maybe (Sensitive Text))-  , _crsServerSideEncryption :: !(Maybe ServerSideEncryption)-  , _crsResponseStatus       :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CompleteMultipartUploadResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crsRequestCharged' - Undocumented member.------ * 'crsETag' - Entity tag of the object.------ * 'crsVersionId' - Version of the object.------ * 'crsLocation' - Undocumented member.------ * 'crsExpiration' - If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.------ * 'crsBucket' - Undocumented member.------ * 'crsKey' - Undocumented member.------ * 'crsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'crsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'crsResponseStatus' - -- | The response status code.-completeMultipartUploadResponse-    :: Int -- ^ 'crsResponseStatus'-    -> CompleteMultipartUploadResponse-completeMultipartUploadResponse pResponseStatus_ =-  CompleteMultipartUploadResponse'-    { _crsRequestCharged = Nothing-    , _crsETag = Nothing-    , _crsVersionId = Nothing-    , _crsLocation = Nothing-    , _crsExpiration = Nothing-    , _crsBucket = Nothing-    , _crsKey = Nothing-    , _crsSSEKMSKeyId = Nothing-    , _crsServerSideEncryption = Nothing-    , _crsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-crsRequestCharged :: Lens' CompleteMultipartUploadResponse (Maybe RequestCharged)-crsRequestCharged = lens _crsRequestCharged (\ s a -> s{_crsRequestCharged = a})---- | Entity tag of the object.-crsETag :: Lens' CompleteMultipartUploadResponse (Maybe ETag)-crsETag = lens _crsETag (\ s a -> s{_crsETag = a})---- | Version of the object.-crsVersionId :: Lens' CompleteMultipartUploadResponse (Maybe ObjectVersionId)-crsVersionId = lens _crsVersionId (\ s a -> s{_crsVersionId = a})---- | Undocumented member.-crsLocation :: Lens' CompleteMultipartUploadResponse (Maybe Text)-crsLocation = lens _crsLocation (\ s a -> s{_crsLocation = a})---- | If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.-crsExpiration :: Lens' CompleteMultipartUploadResponse (Maybe Text)-crsExpiration = lens _crsExpiration (\ s a -> s{_crsExpiration = a})---- | Undocumented member.-crsBucket :: Lens' CompleteMultipartUploadResponse (Maybe BucketName)-crsBucket = lens _crsBucket (\ s a -> s{_crsBucket = a})---- | Undocumented member.-crsKey :: Lens' CompleteMultipartUploadResponse (Maybe ObjectKey)-crsKey = lens _crsKey (\ s a -> s{_crsKey = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-crsSSEKMSKeyId :: Lens' CompleteMultipartUploadResponse (Maybe Text)-crsSSEKMSKeyId = lens _crsSSEKMSKeyId (\ s a -> s{_crsSSEKMSKeyId = a}) . mapping _Sensitive---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-crsServerSideEncryption :: Lens' CompleteMultipartUploadResponse (Maybe ServerSideEncryption)-crsServerSideEncryption = lens _crsServerSideEncryption (\ s a -> s{_crsServerSideEncryption = a})---- | -- | The response status code.-crsResponseStatus :: Lens' CompleteMultipartUploadResponse Int-crsResponseStatus = lens _crsResponseStatus (\ s a -> s{_crsResponseStatus = a})--instance NFData CompleteMultipartUploadResponse where
− gen/Network/AWS/S3/CopyObject.hs
@@ -1,544 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.CopyObject--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a copy of an object that is already stored in Amazon S3.-module Network.AWS.S3.CopyObject-    (-    -- * Creating a Request-      copyObject-    , CopyObject-    -- * Request Lenses-    , coCopySourceIfModifiedSince-    , coCopySourceIfUnmodifiedSince-    , coCopySourceSSECustomerKeyMD5-    , coTaggingDirective-    , coMetadataDirective-    , coExpires-    , coGrantReadACP-    , coCopySourceIfNoneMatch-    , coSSECustomerAlgorithm-    , coSSECustomerKey-    , coRequestPayer-    , coGrantWriteACP-    , coCopySourceIfMatch-    , coWebsiteRedirectLocation-    , coGrantRead-    , coStorageClass-    , coSSECustomerKeyMD5-    , coSSEKMSKeyId-    , coGrantFullControl-    , coContentEncoding-    , coTagging-    , coMetadata-    , coCacheControl-    , coContentLanguage-    , coCopySourceSSECustomerKey-    , coCopySourceSSECustomerAlgorithm-    , coACL-    , coContentDisposition-    , coServerSideEncryption-    , coContentType-    , coBucket-    , coCopySource-    , coKey--    -- * Destructuring the Response-    , copyObjectResponse-    , CopyObjectResponse-    -- * Response Lenses-    , corsRequestCharged-    , corsVersionId-    , corsExpiration-    , corsSSECustomerAlgorithm-    , corsCopySourceVersionId-    , corsSSECustomerKeyMD5-    , corsSSEKMSKeyId-    , corsServerSideEncryption-    , corsCopyObjectResult-    , corsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'copyObject' smart constructor.-data CopyObject = CopyObject'-  { _coCopySourceIfModifiedSince      :: !(Maybe RFC822)-  , _coCopySourceIfUnmodifiedSince    :: !(Maybe RFC822)-  , _coCopySourceSSECustomerKeyMD5    :: !(Maybe Text)-  , _coTaggingDirective               :: !(Maybe TaggingDirective)-  , _coMetadataDirective              :: !(Maybe MetadataDirective)-  , _coExpires                        :: !(Maybe RFC822)-  , _coGrantReadACP                   :: !(Maybe Text)-  , _coCopySourceIfNoneMatch          :: !(Maybe Text)-  , _coSSECustomerAlgorithm           :: !(Maybe Text)-  , _coSSECustomerKey                 :: !(Maybe (Sensitive Text))-  , _coRequestPayer                   :: !(Maybe RequestPayer)-  , _coGrantWriteACP                  :: !(Maybe Text)-  , _coCopySourceIfMatch              :: !(Maybe Text)-  , _coWebsiteRedirectLocation        :: !(Maybe Text)-  , _coGrantRead                      :: !(Maybe Text)-  , _coStorageClass                   :: !(Maybe StorageClass)-  , _coSSECustomerKeyMD5              :: !(Maybe Text)-  , _coSSEKMSKeyId                    :: !(Maybe (Sensitive Text))-  , _coGrantFullControl               :: !(Maybe Text)-  , _coContentEncoding                :: !(Maybe Text)-  , _coTagging                        :: !(Maybe Text)-  , _coMetadata                       :: !(Map Text Text)-  , _coCacheControl                   :: !(Maybe Text)-  , _coContentLanguage                :: !(Maybe Text)-  , _coCopySourceSSECustomerKey       :: !(Maybe (Sensitive Text))-  , _coCopySourceSSECustomerAlgorithm :: !(Maybe Text)-  , _coACL                            :: !(Maybe ObjectCannedACL)-  , _coContentDisposition             :: !(Maybe Text)-  , _coServerSideEncryption           :: !(Maybe ServerSideEncryption)-  , _coContentType                    :: !(Maybe Text)-  , _coBucket                         :: !BucketName-  , _coCopySource                     :: !Text-  , _coKey                            :: !ObjectKey-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CopyObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'coCopySourceIfModifiedSince' - Copies the object if it has been modified since the specified time.------ * 'coCopySourceIfUnmodifiedSince' - Copies the object if it hasn't been modified since the specified time.------ * 'coCopySourceSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'coTaggingDirective' - Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.------ * 'coMetadataDirective' - Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.------ * 'coExpires' - The date and time at which the object is no longer cacheable.------ * 'coGrantReadACP' - Allows grantee to read the object ACL.------ * 'coCopySourceIfNoneMatch' - Copies the object if its entity tag (ETag) is different than the specified ETag.------ * 'coSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'coSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.------ * 'coRequestPayer' - Undocumented member.------ * 'coGrantWriteACP' - Allows grantee to write the ACL for the applicable object.------ * 'coCopySourceIfMatch' - Copies the object if its entity tag (ETag) matches the specified tag.------ * 'coWebsiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.------ * 'coGrantRead' - Allows grantee to read the object data and its metadata.------ * 'coStorageClass' - The type of storage to use for the object. Defaults to 'STANDARD'.------ * 'coSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'coSSEKMSKeyId' - Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version------ * 'coGrantFullControl' - Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.------ * 'coContentEncoding' - Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.------ * 'coTagging' - The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters------ * 'coMetadata' - A map of metadata to store with the object in S3.------ * 'coCacheControl' - Specifies caching behavior along the request/reply chain.------ * 'coContentLanguage' - The language the content is in.------ * 'coCopySourceSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.------ * 'coCopySourceSSECustomerAlgorithm' - Specifies the algorithm to use when decrypting the source object (e.g., AES256).------ * 'coACL' - The canned ACL to apply to the object.------ * 'coContentDisposition' - Specifies presentational information for the object.------ * 'coServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'coContentType' - A standard MIME type describing the format of the object data.------ * 'coBucket' - Undocumented member.------ * 'coCopySource' - The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.------ * 'coKey' - Undocumented member.-copyObject-    :: BucketName -- ^ 'coBucket'-    -> Text -- ^ 'coCopySource'-    -> ObjectKey -- ^ 'coKey'-    -> CopyObject-copyObject pBucket_ pCopySource_ pKey_ =-  CopyObject'-    { _coCopySourceIfModifiedSince = Nothing-    , _coCopySourceIfUnmodifiedSince = Nothing-    , _coCopySourceSSECustomerKeyMD5 = Nothing-    , _coTaggingDirective = Nothing-    , _coMetadataDirective = Nothing-    , _coExpires = Nothing-    , _coGrantReadACP = Nothing-    , _coCopySourceIfNoneMatch = Nothing-    , _coSSECustomerAlgorithm = Nothing-    , _coSSECustomerKey = Nothing-    , _coRequestPayer = Nothing-    , _coGrantWriteACP = Nothing-    , _coCopySourceIfMatch = Nothing-    , _coWebsiteRedirectLocation = Nothing-    , _coGrantRead = Nothing-    , _coStorageClass = Nothing-    , _coSSECustomerKeyMD5 = Nothing-    , _coSSEKMSKeyId = Nothing-    , _coGrantFullControl = Nothing-    , _coContentEncoding = Nothing-    , _coTagging = Nothing-    , _coMetadata = mempty-    , _coCacheControl = Nothing-    , _coContentLanguage = Nothing-    , _coCopySourceSSECustomerKey = Nothing-    , _coCopySourceSSECustomerAlgorithm = Nothing-    , _coACL = Nothing-    , _coContentDisposition = Nothing-    , _coServerSideEncryption = Nothing-    , _coContentType = Nothing-    , _coBucket = pBucket_-    , _coCopySource = pCopySource_-    , _coKey = pKey_-    }----- | Copies the object if it has been modified since the specified time.-coCopySourceIfModifiedSince :: Lens' CopyObject (Maybe UTCTime)-coCopySourceIfModifiedSince = lens _coCopySourceIfModifiedSince (\ s a -> s{_coCopySourceIfModifiedSince = a}) . mapping _Time---- | Copies the object if it hasn't been modified since the specified time.-coCopySourceIfUnmodifiedSince :: Lens' CopyObject (Maybe UTCTime)-coCopySourceIfUnmodifiedSince = lens _coCopySourceIfUnmodifiedSince (\ s a -> s{_coCopySourceIfUnmodifiedSince = a}) . mapping _Time---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-coCopySourceSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)-coCopySourceSSECustomerKeyMD5 = lens _coCopySourceSSECustomerKeyMD5 (\ s a -> s{_coCopySourceSSECustomerKeyMD5 = a})---- | Specifies whether the object tag-set are copied from the source object or replaced with tag-set provided in the request.-coTaggingDirective :: Lens' CopyObject (Maybe TaggingDirective)-coTaggingDirective = lens _coTaggingDirective (\ s a -> s{_coTaggingDirective = a})---- | Specifies whether the metadata is copied from the source object or replaced with metadata provided in the request.-coMetadataDirective :: Lens' CopyObject (Maybe MetadataDirective)-coMetadataDirective = lens _coMetadataDirective (\ s a -> s{_coMetadataDirective = a})---- | The date and time at which the object is no longer cacheable.-coExpires :: Lens' CopyObject (Maybe UTCTime)-coExpires = lens _coExpires (\ s a -> s{_coExpires = a}) . mapping _Time---- | Allows grantee to read the object ACL.-coGrantReadACP :: Lens' CopyObject (Maybe Text)-coGrantReadACP = lens _coGrantReadACP (\ s a -> s{_coGrantReadACP = a})---- | Copies the object if its entity tag (ETag) is different than the specified ETag.-coCopySourceIfNoneMatch :: Lens' CopyObject (Maybe Text)-coCopySourceIfNoneMatch = lens _coCopySourceIfNoneMatch (\ s a -> s{_coCopySourceIfNoneMatch = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-coSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)-coSSECustomerAlgorithm = lens _coSSECustomerAlgorithm (\ s a -> s{_coSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.-coSSECustomerKey :: Lens' CopyObject (Maybe Text)-coSSECustomerKey = lens _coSSECustomerKey (\ s a -> s{_coSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-coRequestPayer :: Lens' CopyObject (Maybe RequestPayer)-coRequestPayer = lens _coRequestPayer (\ s a -> s{_coRequestPayer = a})---- | Allows grantee to write the ACL for the applicable object.-coGrantWriteACP :: Lens' CopyObject (Maybe Text)-coGrantWriteACP = lens _coGrantWriteACP (\ s a -> s{_coGrantWriteACP = a})---- | Copies the object if its entity tag (ETag) matches the specified tag.-coCopySourceIfMatch :: Lens' CopyObject (Maybe Text)-coCopySourceIfMatch = lens _coCopySourceIfMatch (\ s a -> s{_coCopySourceIfMatch = a})---- | If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.-coWebsiteRedirectLocation :: Lens' CopyObject (Maybe Text)-coWebsiteRedirectLocation = lens _coWebsiteRedirectLocation (\ s a -> s{_coWebsiteRedirectLocation = a})---- | Allows grantee to read the object data and its metadata.-coGrantRead :: Lens' CopyObject (Maybe Text)-coGrantRead = lens _coGrantRead (\ s a -> s{_coGrantRead = a})---- | The type of storage to use for the object. Defaults to 'STANDARD'.-coStorageClass :: Lens' CopyObject (Maybe StorageClass)-coStorageClass = lens _coStorageClass (\ s a -> s{_coStorageClass = a})---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-coSSECustomerKeyMD5 :: Lens' CopyObject (Maybe Text)-coSSECustomerKeyMD5 = lens _coSSECustomerKeyMD5 (\ s a -> s{_coSSECustomerKeyMD5 = a})---- | Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version-coSSEKMSKeyId :: Lens' CopyObject (Maybe Text)-coSSEKMSKeyId = lens _coSSEKMSKeyId (\ s a -> s{_coSSEKMSKeyId = a}) . mapping _Sensitive---- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.-coGrantFullControl :: Lens' CopyObject (Maybe Text)-coGrantFullControl = lens _coGrantFullControl (\ s a -> s{_coGrantFullControl = a})---- | Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.-coContentEncoding :: Lens' CopyObject (Maybe Text)-coContentEncoding = lens _coContentEncoding (\ s a -> s{_coContentEncoding = a})---- | The tag-set for the object destination object this value must be used in conjunction with the TaggingDirective. The tag-set must be encoded as URL Query parameters-coTagging :: Lens' CopyObject (Maybe Text)-coTagging = lens _coTagging (\ s a -> s{_coTagging = a})---- | A map of metadata to store with the object in S3.-coMetadata :: Lens' CopyObject (HashMap Text Text)-coMetadata = lens _coMetadata (\ s a -> s{_coMetadata = a}) . _Map---- | Specifies caching behavior along the request/reply chain.-coCacheControl :: Lens' CopyObject (Maybe Text)-coCacheControl = lens _coCacheControl (\ s a -> s{_coCacheControl = a})---- | The language the content is in.-coContentLanguage :: Lens' CopyObject (Maybe Text)-coContentLanguage = lens _coContentLanguage (\ s a -> s{_coContentLanguage = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.-coCopySourceSSECustomerKey :: Lens' CopyObject (Maybe Text)-coCopySourceSSECustomerKey = lens _coCopySourceSSECustomerKey (\ s a -> s{_coCopySourceSSECustomerKey = a}) . mapping _Sensitive---- | Specifies the algorithm to use when decrypting the source object (e.g., AES256).-coCopySourceSSECustomerAlgorithm :: Lens' CopyObject (Maybe Text)-coCopySourceSSECustomerAlgorithm = lens _coCopySourceSSECustomerAlgorithm (\ s a -> s{_coCopySourceSSECustomerAlgorithm = a})---- | The canned ACL to apply to the object.-coACL :: Lens' CopyObject (Maybe ObjectCannedACL)-coACL = lens _coACL (\ s a -> s{_coACL = a})---- | Specifies presentational information for the object.-coContentDisposition :: Lens' CopyObject (Maybe Text)-coContentDisposition = lens _coContentDisposition (\ s a -> s{_coContentDisposition = a})---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-coServerSideEncryption :: Lens' CopyObject (Maybe ServerSideEncryption)-coServerSideEncryption = lens _coServerSideEncryption (\ s a -> s{_coServerSideEncryption = a})---- | A standard MIME type describing the format of the object data.-coContentType :: Lens' CopyObject (Maybe Text)-coContentType = lens _coContentType (\ s a -> s{_coContentType = a})---- | Undocumented member.-coBucket :: Lens' CopyObject BucketName-coBucket = lens _coBucket (\ s a -> s{_coBucket = a})---- | The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.-coCopySource :: Lens' CopyObject Text-coCopySource = lens _coCopySource (\ s a -> s{_coCopySource = a})---- | Undocumented member.-coKey :: Lens' CopyObject ObjectKey-coKey = lens _coKey (\ s a -> s{_coKey = a})--instance AWSRequest CopyObject where-        type Rs CopyObject = CopyObjectResponse-        request = put s3-        response-          = receiveXML-              (\ s h x ->-                 CopyObjectResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (h .#? "x-amz-version-id")-                     <*> (h .#? "x-amz-expiration")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*> (h .#? "x-amz-copy-source-version-id")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (parseXML x)-                     <*> (pure (fromEnum s)))--instance Hashable CopyObject where--instance NFData CopyObject where--instance ToHeaders CopyObject where-        toHeaders CopyObject'{..}-          = mconcat-              ["x-amz-copy-source-if-modified-since" =#-                 _coCopySourceIfModifiedSince,-               "x-amz-copy-source-if-unmodified-since" =#-                 _coCopySourceIfUnmodifiedSince,-               "x-amz-copy-source-server-side-encryption-customer-key-MD5"-                 =# _coCopySourceSSECustomerKeyMD5,-               "x-amz-tagging-directive" =# _coTaggingDirective,-               "x-amz-metadata-directive" =# _coMetadataDirective,-               "Expires" =# _coExpires,-               "x-amz-grant-read-acp" =# _coGrantReadACP,-               "x-amz-copy-source-if-none-match" =#-                 _coCopySourceIfNoneMatch,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _coSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _coSSECustomerKey,-               "x-amz-request-payer" =# _coRequestPayer,-               "x-amz-grant-write-acp" =# _coGrantWriteACP,-               "x-amz-copy-source-if-match" =# _coCopySourceIfMatch,-               "x-amz-website-redirect-location" =#-                 _coWebsiteRedirectLocation,-               "x-amz-grant-read" =# _coGrantRead,-               "x-amz-storage-class" =# _coStorageClass,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _coSSECustomerKeyMD5,-               "x-amz-server-side-encryption-aws-kms-key-id" =#-                 _coSSEKMSKeyId,-               "x-amz-grant-full-control" =# _coGrantFullControl,-               "Content-Encoding" =# _coContentEncoding,-               "x-amz-tagging" =# _coTagging,-               "x-amz-meta-" =# _coMetadata,-               "Cache-Control" =# _coCacheControl,-               "Content-Language" =# _coContentLanguage,-               "x-amz-copy-source-server-side-encryption-customer-key"-                 =# _coCopySourceSSECustomerKey,-               "x-amz-copy-source-server-side-encryption-customer-algorithm"-                 =# _coCopySourceSSECustomerAlgorithm,-               "x-amz-acl" =# _coACL,-               "Content-Disposition" =# _coContentDisposition,-               "x-amz-server-side-encryption" =#-                 _coServerSideEncryption,-               "Content-Type" =# _coContentType,-               "x-amz-copy-source" =# _coCopySource]--instance ToPath CopyObject where-        toPath CopyObject'{..}-          = mconcat ["/", toBS _coBucket, "/", toBS _coKey]--instance ToQuery CopyObject where-        toQuery = const mempty---- | /See:/ 'copyObjectResponse' smart constructor.-data CopyObjectResponse = CopyObjectResponse'-  { _corsRequestCharged       :: !(Maybe RequestCharged)-  , _corsVersionId            :: !(Maybe ObjectVersionId)-  , _corsExpiration           :: !(Maybe Text)-  , _corsSSECustomerAlgorithm :: !(Maybe Text)-  , _corsCopySourceVersionId  :: !(Maybe Text)-  , _corsSSECustomerKeyMD5    :: !(Maybe Text)-  , _corsSSEKMSKeyId          :: !(Maybe (Sensitive Text))-  , _corsServerSideEncryption :: !(Maybe ServerSideEncryption)-  , _corsCopyObjectResult     :: !(Maybe CopyObjectResult)-  , _corsResponseStatus       :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CopyObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'corsRequestCharged' - Undocumented member.------ * 'corsVersionId' - Version ID of the newly created copy.------ * 'corsExpiration' - If the object expiration is configured, the response includes this header.------ * 'corsSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'corsCopySourceVersionId' - Undocumented member.------ * 'corsSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'corsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'corsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'corsCopyObjectResult' - Undocumented member.------ * 'corsResponseStatus' - -- | The response status code.-copyObjectResponse-    :: Int -- ^ 'corsResponseStatus'-    -> CopyObjectResponse-copyObjectResponse pResponseStatus_ =-  CopyObjectResponse'-    { _corsRequestCharged = Nothing-    , _corsVersionId = Nothing-    , _corsExpiration = Nothing-    , _corsSSECustomerAlgorithm = Nothing-    , _corsCopySourceVersionId = Nothing-    , _corsSSECustomerKeyMD5 = Nothing-    , _corsSSEKMSKeyId = Nothing-    , _corsServerSideEncryption = Nothing-    , _corsCopyObjectResult = Nothing-    , _corsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-corsRequestCharged :: Lens' CopyObjectResponse (Maybe RequestCharged)-corsRequestCharged = lens _corsRequestCharged (\ s a -> s{_corsRequestCharged = a})---- | Version ID of the newly created copy.-corsVersionId :: Lens' CopyObjectResponse (Maybe ObjectVersionId)-corsVersionId = lens _corsVersionId (\ s a -> s{_corsVersionId = a})---- | If the object expiration is configured, the response includes this header.-corsExpiration :: Lens' CopyObjectResponse (Maybe Text)-corsExpiration = lens _corsExpiration (\ s a -> s{_corsExpiration = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-corsSSECustomerAlgorithm :: Lens' CopyObjectResponse (Maybe Text)-corsSSECustomerAlgorithm = lens _corsSSECustomerAlgorithm (\ s a -> s{_corsSSECustomerAlgorithm = a})---- | Undocumented member.-corsCopySourceVersionId :: Lens' CopyObjectResponse (Maybe Text)-corsCopySourceVersionId = lens _corsCopySourceVersionId (\ s a -> s{_corsCopySourceVersionId = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-corsSSECustomerKeyMD5 :: Lens' CopyObjectResponse (Maybe Text)-corsSSECustomerKeyMD5 = lens _corsSSECustomerKeyMD5 (\ s a -> s{_corsSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-corsSSEKMSKeyId :: Lens' CopyObjectResponse (Maybe Text)-corsSSEKMSKeyId = lens _corsSSEKMSKeyId (\ s a -> s{_corsSSEKMSKeyId = a}) . mapping _Sensitive---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-corsServerSideEncryption :: Lens' CopyObjectResponse (Maybe ServerSideEncryption)-corsServerSideEncryption = lens _corsServerSideEncryption (\ s a -> s{_corsServerSideEncryption = a})---- | Undocumented member.-corsCopyObjectResult :: Lens' CopyObjectResponse (Maybe CopyObjectResult)-corsCopyObjectResult = lens _corsCopyObjectResult (\ s a -> s{_corsCopyObjectResult = a})---- | -- | The response status code.-corsResponseStatus :: Lens' CopyObjectResponse Int-corsResponseStatus = lens _corsResponseStatus (\ s a -> s{_corsResponseStatus = a})--instance NFData CopyObjectResponse where
− gen/Network/AWS/S3/CreateBucket.hs
@@ -1,199 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.CreateBucket--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a new bucket.-module Network.AWS.S3.CreateBucket-    (-    -- * Creating a Request-      createBucket-    , CreateBucket-    -- * Request Lenses-    , cbGrantReadACP-    , cbGrantWriteACP-    , cbGrantRead-    , cbGrantFullControl-    , cbCreateBucketConfiguration-    , cbGrantWrite-    , cbACL-    , cbBucket--    -- * Destructuring the Response-    , createBucketResponse-    , CreateBucketResponse-    -- * Response Lenses-    , cbrsLocation-    , cbrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'createBucket' smart constructor.-data CreateBucket = CreateBucket'-  { _cbGrantReadACP              :: !(Maybe Text)-  , _cbGrantWriteACP             :: !(Maybe Text)-  , _cbGrantRead                 :: !(Maybe Text)-  , _cbGrantFullControl          :: !(Maybe Text)-  , _cbCreateBucketConfiguration :: !(Maybe CreateBucketConfiguration)-  , _cbGrantWrite                :: !(Maybe Text)-  , _cbACL                       :: !(Maybe BucketCannedACL)-  , _cbBucket                    :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbGrantReadACP' - Allows grantee to read the bucket ACL.------ * 'cbGrantWriteACP' - Allows grantee to write the ACL for the applicable bucket.------ * 'cbGrantRead' - Allows grantee to list the objects in the bucket.------ * 'cbGrantFullControl' - Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.------ * 'cbCreateBucketConfiguration' - Undocumented member.------ * 'cbGrantWrite' - Allows grantee to create, overwrite, and delete any object in the bucket.------ * 'cbACL' - The canned ACL to apply to the bucket.------ * 'cbBucket' - Undocumented member.-createBucket-    :: BucketName -- ^ 'cbBucket'-    -> CreateBucket-createBucket pBucket_ =-  CreateBucket'-    { _cbGrantReadACP = Nothing-    , _cbGrantWriteACP = Nothing-    , _cbGrantRead = Nothing-    , _cbGrantFullControl = Nothing-    , _cbCreateBucketConfiguration = Nothing-    , _cbGrantWrite = Nothing-    , _cbACL = Nothing-    , _cbBucket = pBucket_-    }----- | Allows grantee to read the bucket ACL.-cbGrantReadACP :: Lens' CreateBucket (Maybe Text)-cbGrantReadACP = lens _cbGrantReadACP (\ s a -> s{_cbGrantReadACP = a})---- | Allows grantee to write the ACL for the applicable bucket.-cbGrantWriteACP :: Lens' CreateBucket (Maybe Text)-cbGrantWriteACP = lens _cbGrantWriteACP (\ s a -> s{_cbGrantWriteACP = a})---- | Allows grantee to list the objects in the bucket.-cbGrantRead :: Lens' CreateBucket (Maybe Text)-cbGrantRead = lens _cbGrantRead (\ s a -> s{_cbGrantRead = a})---- | Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.-cbGrantFullControl :: Lens' CreateBucket (Maybe Text)-cbGrantFullControl = lens _cbGrantFullControl (\ s a -> s{_cbGrantFullControl = a})---- | Undocumented member.-cbCreateBucketConfiguration :: Lens' CreateBucket (Maybe CreateBucketConfiguration)-cbCreateBucketConfiguration = lens _cbCreateBucketConfiguration (\ s a -> s{_cbCreateBucketConfiguration = a})---- | Allows grantee to create, overwrite, and delete any object in the bucket.-cbGrantWrite :: Lens' CreateBucket (Maybe Text)-cbGrantWrite = lens _cbGrantWrite (\ s a -> s{_cbGrantWrite = a})---- | The canned ACL to apply to the bucket.-cbACL :: Lens' CreateBucket (Maybe BucketCannedACL)-cbACL = lens _cbACL (\ s a -> s{_cbACL = a})---- | Undocumented member.-cbBucket :: Lens' CreateBucket BucketName-cbBucket = lens _cbBucket (\ s a -> s{_cbBucket = a})--instance AWSRequest CreateBucket where-        type Rs CreateBucket = CreateBucketResponse-        request = putXML s3-        response-          = receiveEmpty-              (\ s h x ->-                 CreateBucketResponse' <$>-                   (h .#? "Location") <*> (pure (fromEnum s)))--instance Hashable CreateBucket where--instance NFData CreateBucket where--instance ToElement CreateBucket where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}CreateBucketConfiguration"-              .-              _cbCreateBucketConfiguration--instance ToHeaders CreateBucket where-        toHeaders CreateBucket'{..}-          = mconcat-              ["x-amz-grant-read-acp" =# _cbGrantReadACP,-               "x-amz-grant-write-acp" =# _cbGrantWriteACP,-               "x-amz-grant-read" =# _cbGrantRead,-               "x-amz-grant-full-control" =# _cbGrantFullControl,-               "x-amz-grant-write" =# _cbGrantWrite,-               "x-amz-acl" =# _cbACL]--instance ToPath CreateBucket where-        toPath CreateBucket'{..}-          = mconcat ["/", toBS _cbBucket]--instance ToQuery CreateBucket where-        toQuery = const mempty---- | /See:/ 'createBucketResponse' smart constructor.-data CreateBucketResponse = CreateBucketResponse'-  { _cbrsLocation       :: !(Maybe Text)-  , _cbrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateBucketResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbrsLocation' - Undocumented member.------ * 'cbrsResponseStatus' - -- | The response status code.-createBucketResponse-    :: Int -- ^ 'cbrsResponseStatus'-    -> CreateBucketResponse-createBucketResponse pResponseStatus_ =-  CreateBucketResponse'-    {_cbrsLocation = Nothing, _cbrsResponseStatus = pResponseStatus_}----- | Undocumented member.-cbrsLocation :: Lens' CreateBucketResponse (Maybe Text)-cbrsLocation = lens _cbrsLocation (\ s a -> s{_cbrsLocation = a})---- | -- | The response status code.-cbrsResponseStatus :: Lens' CreateBucketResponse Int-cbrsResponseStatus = lens _cbrsResponseStatus (\ s a -> s{_cbrsResponseStatus = a})--instance NFData CreateBucketResponse where
− gen/Network/AWS/S3/CreateMultipartUpload.hs
@@ -1,451 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.CreateMultipartUpload--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Initiates a multipart upload and returns an upload ID.--------- __Note:__ After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.----module Network.AWS.S3.CreateMultipartUpload-    (-    -- * Creating a Request-      createMultipartUpload-    , CreateMultipartUpload-    -- * Request Lenses-    , cmuExpires-    , cmuGrantReadACP-    , cmuSSECustomerAlgorithm-    , cmuSSECustomerKey-    , cmuRequestPayer-    , cmuGrantWriteACP-    , cmuWebsiteRedirectLocation-    , cmuGrantRead-    , cmuStorageClass-    , cmuSSECustomerKeyMD5-    , cmuSSEKMSKeyId-    , cmuGrantFullControl-    , cmuContentEncoding-    , cmuTagging-    , cmuMetadata-    , cmuCacheControl-    , cmuContentLanguage-    , cmuACL-    , cmuContentDisposition-    , cmuServerSideEncryption-    , cmuContentType-    , cmuBucket-    , cmuKey--    -- * Destructuring the Response-    , createMultipartUploadResponse-    , CreateMultipartUploadResponse-    -- * Response Lenses-    , cmursRequestCharged-    , cmursBucket-    , cmursSSECustomerAlgorithm-    , cmursAbortDate-    , cmursAbortRuleId-    , cmursKey-    , cmursSSECustomerKeyMD5-    , cmursSSEKMSKeyId-    , cmursUploadId-    , cmursServerSideEncryption-    , cmursResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'createMultipartUpload' smart constructor.-data CreateMultipartUpload = CreateMultipartUpload'-  { _cmuExpires                 :: !(Maybe RFC822)-  , _cmuGrantReadACP            :: !(Maybe Text)-  , _cmuSSECustomerAlgorithm    :: !(Maybe Text)-  , _cmuSSECustomerKey          :: !(Maybe (Sensitive Text))-  , _cmuRequestPayer            :: !(Maybe RequestPayer)-  , _cmuGrantWriteACP           :: !(Maybe Text)-  , _cmuWebsiteRedirectLocation :: !(Maybe Text)-  , _cmuGrantRead               :: !(Maybe Text)-  , _cmuStorageClass            :: !(Maybe StorageClass)-  , _cmuSSECustomerKeyMD5       :: !(Maybe Text)-  , _cmuSSEKMSKeyId             :: !(Maybe (Sensitive Text))-  , _cmuGrantFullControl        :: !(Maybe Text)-  , _cmuContentEncoding         :: !(Maybe Text)-  , _cmuTagging                 :: !(Maybe Text)-  , _cmuMetadata                :: !(Map Text Text)-  , _cmuCacheControl            :: !(Maybe Text)-  , _cmuContentLanguage         :: !(Maybe Text)-  , _cmuACL                     :: !(Maybe ObjectCannedACL)-  , _cmuContentDisposition      :: !(Maybe Text)-  , _cmuServerSideEncryption    :: !(Maybe ServerSideEncryption)-  , _cmuContentType             :: !(Maybe Text)-  , _cmuBucket                  :: !BucketName-  , _cmuKey                     :: !ObjectKey-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateMultipartUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cmuExpires' - The date and time at which the object is no longer cacheable.------ * 'cmuGrantReadACP' - Allows grantee to read the object ACL.------ * 'cmuSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'cmuSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.------ * 'cmuRequestPayer' - Undocumented member.------ * 'cmuGrantWriteACP' - Allows grantee to write the ACL for the applicable object.------ * 'cmuWebsiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.------ * 'cmuGrantRead' - Allows grantee to read the object data and its metadata.------ * 'cmuStorageClass' - The type of storage to use for the object. Defaults to 'STANDARD'.------ * 'cmuSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'cmuSSEKMSKeyId' - Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version------ * 'cmuGrantFullControl' - Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.------ * 'cmuContentEncoding' - Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.------ * 'cmuTagging' - The tag-set for the object. The tag-set must be encoded as URL Query parameters------ * 'cmuMetadata' - A map of metadata to store with the object in S3.------ * 'cmuCacheControl' - Specifies caching behavior along the request/reply chain.------ * 'cmuContentLanguage' - The language the content is in.------ * 'cmuACL' - The canned ACL to apply to the object.------ * 'cmuContentDisposition' - Specifies presentational information for the object.------ * 'cmuServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'cmuContentType' - A standard MIME type describing the format of the object data.------ * 'cmuBucket' - Undocumented member.------ * 'cmuKey' - Undocumented member.-createMultipartUpload-    :: BucketName -- ^ 'cmuBucket'-    -> ObjectKey -- ^ 'cmuKey'-    -> CreateMultipartUpload-createMultipartUpload pBucket_ pKey_ =-  CreateMultipartUpload'-    { _cmuExpires = Nothing-    , _cmuGrantReadACP = Nothing-    , _cmuSSECustomerAlgorithm = Nothing-    , _cmuSSECustomerKey = Nothing-    , _cmuRequestPayer = Nothing-    , _cmuGrantWriteACP = Nothing-    , _cmuWebsiteRedirectLocation = Nothing-    , _cmuGrantRead = Nothing-    , _cmuStorageClass = Nothing-    , _cmuSSECustomerKeyMD5 = Nothing-    , _cmuSSEKMSKeyId = Nothing-    , _cmuGrantFullControl = Nothing-    , _cmuContentEncoding = Nothing-    , _cmuTagging = Nothing-    , _cmuMetadata = mempty-    , _cmuCacheControl = Nothing-    , _cmuContentLanguage = Nothing-    , _cmuACL = Nothing-    , _cmuContentDisposition = Nothing-    , _cmuServerSideEncryption = Nothing-    , _cmuContentType = Nothing-    , _cmuBucket = pBucket_-    , _cmuKey = pKey_-    }----- | The date and time at which the object is no longer cacheable.-cmuExpires :: Lens' CreateMultipartUpload (Maybe UTCTime)-cmuExpires = lens _cmuExpires (\ s a -> s{_cmuExpires = a}) . mapping _Time---- | Allows grantee to read the object ACL.-cmuGrantReadACP :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantReadACP = lens _cmuGrantReadACP (\ s a -> s{_cmuGrantReadACP = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-cmuSSECustomerAlgorithm :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSECustomerAlgorithm = lens _cmuSSECustomerAlgorithm (\ s a -> s{_cmuSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.-cmuSSECustomerKey :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSECustomerKey = lens _cmuSSECustomerKey (\ s a -> s{_cmuSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-cmuRequestPayer :: Lens' CreateMultipartUpload (Maybe RequestPayer)-cmuRequestPayer = lens _cmuRequestPayer (\ s a -> s{_cmuRequestPayer = a})---- | Allows grantee to write the ACL for the applicable object.-cmuGrantWriteACP :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantWriteACP = lens _cmuGrantWriteACP (\ s a -> s{_cmuGrantWriteACP = a})---- | If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.-cmuWebsiteRedirectLocation :: Lens' CreateMultipartUpload (Maybe Text)-cmuWebsiteRedirectLocation = lens _cmuWebsiteRedirectLocation (\ s a -> s{_cmuWebsiteRedirectLocation = a})---- | Allows grantee to read the object data and its metadata.-cmuGrantRead :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantRead = lens _cmuGrantRead (\ s a -> s{_cmuGrantRead = a})---- | The type of storage to use for the object. Defaults to 'STANDARD'.-cmuStorageClass :: Lens' CreateMultipartUpload (Maybe StorageClass)-cmuStorageClass = lens _cmuStorageClass (\ s a -> s{_cmuStorageClass = a})---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-cmuSSECustomerKeyMD5 :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSECustomerKeyMD5 = lens _cmuSSECustomerKeyMD5 (\ s a -> s{_cmuSSECustomerKeyMD5 = a})---- | Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version-cmuSSEKMSKeyId :: Lens' CreateMultipartUpload (Maybe Text)-cmuSSEKMSKeyId = lens _cmuSSEKMSKeyId (\ s a -> s{_cmuSSEKMSKeyId = a}) . mapping _Sensitive---- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.-cmuGrantFullControl :: Lens' CreateMultipartUpload (Maybe Text)-cmuGrantFullControl = lens _cmuGrantFullControl (\ s a -> s{_cmuGrantFullControl = a})---- | Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.-cmuContentEncoding :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentEncoding = lens _cmuContentEncoding (\ s a -> s{_cmuContentEncoding = a})---- | The tag-set for the object. The tag-set must be encoded as URL Query parameters-cmuTagging :: Lens' CreateMultipartUpload (Maybe Text)-cmuTagging = lens _cmuTagging (\ s a -> s{_cmuTagging = a})---- | A map of metadata to store with the object in S3.-cmuMetadata :: Lens' CreateMultipartUpload (HashMap Text Text)-cmuMetadata = lens _cmuMetadata (\ s a -> s{_cmuMetadata = a}) . _Map---- | Specifies caching behavior along the request/reply chain.-cmuCacheControl :: Lens' CreateMultipartUpload (Maybe Text)-cmuCacheControl = lens _cmuCacheControl (\ s a -> s{_cmuCacheControl = a})---- | The language the content is in.-cmuContentLanguage :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentLanguage = lens _cmuContentLanguage (\ s a -> s{_cmuContentLanguage = a})---- | The canned ACL to apply to the object.-cmuACL :: Lens' CreateMultipartUpload (Maybe ObjectCannedACL)-cmuACL = lens _cmuACL (\ s a -> s{_cmuACL = a})---- | Specifies presentational information for the object.-cmuContentDisposition :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentDisposition = lens _cmuContentDisposition (\ s a -> s{_cmuContentDisposition = a})---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-cmuServerSideEncryption :: Lens' CreateMultipartUpload (Maybe ServerSideEncryption)-cmuServerSideEncryption = lens _cmuServerSideEncryption (\ s a -> s{_cmuServerSideEncryption = a})---- | A standard MIME type describing the format of the object data.-cmuContentType :: Lens' CreateMultipartUpload (Maybe Text)-cmuContentType = lens _cmuContentType (\ s a -> s{_cmuContentType = a})---- | Undocumented member.-cmuBucket :: Lens' CreateMultipartUpload BucketName-cmuBucket = lens _cmuBucket (\ s a -> s{_cmuBucket = a})---- | Undocumented member.-cmuKey :: Lens' CreateMultipartUpload ObjectKey-cmuKey = lens _cmuKey (\ s a -> s{_cmuKey = a})--instance AWSRequest CreateMultipartUpload where-        type Rs CreateMultipartUpload =-             CreateMultipartUploadResponse-        request = post s3-        response-          = receiveXML-              (\ s h x ->-                 CreateMultipartUploadResponse' <$>-                   (h .#? "x-amz-request-charged") <*> (x .@? "Bucket")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*> (h .#? "x-amz-abort-date")-                     <*> (h .#? "x-amz-abort-rule-id")-                     <*> (x .@? "Key")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (x .@? "UploadId")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (pure (fromEnum s)))--instance Hashable CreateMultipartUpload where--instance NFData CreateMultipartUpload where--instance ToHeaders CreateMultipartUpload where-        toHeaders CreateMultipartUpload'{..}-          = mconcat-              ["Expires" =# _cmuExpires,-               "x-amz-grant-read-acp" =# _cmuGrantReadACP,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _cmuSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _cmuSSECustomerKey,-               "x-amz-request-payer" =# _cmuRequestPayer,-               "x-amz-grant-write-acp" =# _cmuGrantWriteACP,-               "x-amz-website-redirect-location" =#-                 _cmuWebsiteRedirectLocation,-               "x-amz-grant-read" =# _cmuGrantRead,-               "x-amz-storage-class" =# _cmuStorageClass,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _cmuSSECustomerKeyMD5,-               "x-amz-server-side-encryption-aws-kms-key-id" =#-                 _cmuSSEKMSKeyId,-               "x-amz-grant-full-control" =# _cmuGrantFullControl,-               "Content-Encoding" =# _cmuContentEncoding,-               "x-amz-tagging" =# _cmuTagging,-               "x-amz-meta-" =# _cmuMetadata,-               "Cache-Control" =# _cmuCacheControl,-               "Content-Language" =# _cmuContentLanguage,-               "x-amz-acl" =# _cmuACL,-               "Content-Disposition" =# _cmuContentDisposition,-               "x-amz-server-side-encryption" =#-                 _cmuServerSideEncryption,-               "Content-Type" =# _cmuContentType]--instance ToPath CreateMultipartUpload where-        toPath CreateMultipartUpload'{..}-          = mconcat ["/", toBS _cmuBucket, "/", toBS _cmuKey]--instance ToQuery CreateMultipartUpload where-        toQuery = const (mconcat ["uploads"])---- | /See:/ 'createMultipartUploadResponse' smart constructor.-data CreateMultipartUploadResponse = CreateMultipartUploadResponse'-  { _cmursRequestCharged       :: !(Maybe RequestCharged)-  , _cmursBucket               :: !(Maybe BucketName)-  , _cmursSSECustomerAlgorithm :: !(Maybe Text)-  , _cmursAbortDate            :: !(Maybe RFC822)-  , _cmursAbortRuleId          :: !(Maybe Text)-  , _cmursKey                  :: !(Maybe ObjectKey)-  , _cmursSSECustomerKeyMD5    :: !(Maybe Text)-  , _cmursSSEKMSKeyId          :: !(Maybe (Sensitive Text))-  , _cmursUploadId             :: !(Maybe Text)-  , _cmursServerSideEncryption :: !(Maybe ServerSideEncryption)-  , _cmursResponseStatus       :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateMultipartUploadResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cmursRequestCharged' - Undocumented member.------ * 'cmursBucket' - Name of the bucket to which the multipart upload was initiated.------ * 'cmursSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'cmursAbortDate' - Date when multipart upload will become eligible for abort operation by lifecycle.------ * 'cmursAbortRuleId' - Id of the lifecycle rule that makes a multipart upload eligible for abort operation.------ * 'cmursKey' - Object key for which the multipart upload was initiated.------ * 'cmursSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'cmursSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'cmursUploadId' - ID for the initiated multipart upload.------ * 'cmursServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'cmursResponseStatus' - -- | The response status code.-createMultipartUploadResponse-    :: Int -- ^ 'cmursResponseStatus'-    -> CreateMultipartUploadResponse-createMultipartUploadResponse pResponseStatus_ =-  CreateMultipartUploadResponse'-    { _cmursRequestCharged = Nothing-    , _cmursBucket = Nothing-    , _cmursSSECustomerAlgorithm = Nothing-    , _cmursAbortDate = Nothing-    , _cmursAbortRuleId = Nothing-    , _cmursKey = Nothing-    , _cmursSSECustomerKeyMD5 = Nothing-    , _cmursSSEKMSKeyId = Nothing-    , _cmursUploadId = Nothing-    , _cmursServerSideEncryption = Nothing-    , _cmursResponseStatus = pResponseStatus_-    }----- | Undocumented member.-cmursRequestCharged :: Lens' CreateMultipartUploadResponse (Maybe RequestCharged)-cmursRequestCharged = lens _cmursRequestCharged (\ s a -> s{_cmursRequestCharged = a})---- | Name of the bucket to which the multipart upload was initiated.-cmursBucket :: Lens' CreateMultipartUploadResponse (Maybe BucketName)-cmursBucket = lens _cmursBucket (\ s a -> s{_cmursBucket = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-cmursSSECustomerAlgorithm :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmursSSECustomerAlgorithm = lens _cmursSSECustomerAlgorithm (\ s a -> s{_cmursSSECustomerAlgorithm = a})---- | Date when multipart upload will become eligible for abort operation by lifecycle.-cmursAbortDate :: Lens' CreateMultipartUploadResponse (Maybe UTCTime)-cmursAbortDate = lens _cmursAbortDate (\ s a -> s{_cmursAbortDate = a}) . mapping _Time---- | Id of the lifecycle rule that makes a multipart upload eligible for abort operation.-cmursAbortRuleId :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmursAbortRuleId = lens _cmursAbortRuleId (\ s a -> s{_cmursAbortRuleId = a})---- | Object key for which the multipart upload was initiated.-cmursKey :: Lens' CreateMultipartUploadResponse (Maybe ObjectKey)-cmursKey = lens _cmursKey (\ s a -> s{_cmursKey = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-cmursSSECustomerKeyMD5 :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmursSSECustomerKeyMD5 = lens _cmursSSECustomerKeyMD5 (\ s a -> s{_cmursSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-cmursSSEKMSKeyId :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmursSSEKMSKeyId = lens _cmursSSEKMSKeyId (\ s a -> s{_cmursSSEKMSKeyId = a}) . mapping _Sensitive---- | ID for the initiated multipart upload.-cmursUploadId :: Lens' CreateMultipartUploadResponse (Maybe Text)-cmursUploadId = lens _cmursUploadId (\ s a -> s{_cmursUploadId = a})---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-cmursServerSideEncryption :: Lens' CreateMultipartUploadResponse (Maybe ServerSideEncryption)-cmursServerSideEncryption = lens _cmursServerSideEncryption (\ s a -> s{_cmursServerSideEncryption = a})---- | -- | The response status code.-cmursResponseStatus :: Lens' CreateMultipartUploadResponse Int-cmursResponseStatus = lens _cmursResponseStatus (\ s a -> s{_cmursResponseStatus = a})--instance NFData CreateMultipartUploadResponse where
− gen/Network/AWS/S3/DeleteBucket.hs
@@ -1,95 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucket--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the bucket. All objects (including all object versions and Delete Markers) in the bucket must be deleted before the bucket itself can be deleted.-module Network.AWS.S3.DeleteBucket-    (-    -- * Creating a Request-      deleteBucket-    , DeleteBucket-    -- * Request Lenses-    , dbBucket--    -- * Destructuring the Response-    , deleteBucketResponse-    , DeleteBucketResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucket' smart constructor.-newtype DeleteBucket = DeleteBucket'-  { _dbBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbBucket' - Undocumented member.-deleteBucket-    :: BucketName -- ^ 'dbBucket'-    -> DeleteBucket-deleteBucket pBucket_ = DeleteBucket' {_dbBucket = pBucket_}----- | Undocumented member.-dbBucket :: Lens' DeleteBucket BucketName-dbBucket = lens _dbBucket (\ s a -> s{_dbBucket = a})--instance AWSRequest DeleteBucket where-        type Rs DeleteBucket = DeleteBucketResponse-        request = delete s3-        response = receiveNull DeleteBucketResponse'--instance Hashable DeleteBucket where--instance NFData DeleteBucket where--instance ToHeaders DeleteBucket where-        toHeaders = const mempty--instance ToPath DeleteBucket where-        toPath DeleteBucket'{..}-          = mconcat ["/", toBS _dbBucket]--instance ToQuery DeleteBucket where-        toQuery = const mempty---- | /See:/ 'deleteBucketResponse' smart constructor.-data DeleteBucketResponse =-  DeleteBucketResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketResponse' with the minimum fields required to make a request.----deleteBucketResponse-    :: DeleteBucketResponse-deleteBucketResponse = DeleteBucketResponse'---instance NFData DeleteBucketResponse where
− gen/Network/AWS/S3/DeleteBucketAnalyticsConfiguration.hs
@@ -1,119 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketAnalyticsConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).-module Network.AWS.S3.DeleteBucketAnalyticsConfiguration-    (-    -- * Creating a Request-      deleteBucketAnalyticsConfiguration-    , DeleteBucketAnalyticsConfiguration-    -- * Request Lenses-    , dbacBucket-    , dbacId--    -- * Destructuring the Response-    , deleteBucketAnalyticsConfigurationResponse-    , DeleteBucketAnalyticsConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketAnalyticsConfiguration' smart constructor.-data DeleteBucketAnalyticsConfiguration = DeleteBucketAnalyticsConfiguration'-  { _dbacBucket :: !BucketName-  , _dbacId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketAnalyticsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbacBucket' - The name of the bucket from which an analytics configuration is deleted.------ * 'dbacId' - The identifier used to represent an analytics configuration.-deleteBucketAnalyticsConfiguration-    :: BucketName -- ^ 'dbacBucket'-    -> Text -- ^ 'dbacId'-    -> DeleteBucketAnalyticsConfiguration-deleteBucketAnalyticsConfiguration pBucket_ pId_ =-  DeleteBucketAnalyticsConfiguration' {_dbacBucket = pBucket_, _dbacId = pId_}----- | The name of the bucket from which an analytics configuration is deleted.-dbacBucket :: Lens' DeleteBucketAnalyticsConfiguration BucketName-dbacBucket = lens _dbacBucket (\ s a -> s{_dbacBucket = a})---- | The identifier used to represent an analytics configuration.-dbacId :: Lens' DeleteBucketAnalyticsConfiguration Text-dbacId = lens _dbacId (\ s a -> s{_dbacId = a})--instance AWSRequest-           DeleteBucketAnalyticsConfiguration-         where-        type Rs DeleteBucketAnalyticsConfiguration =-             DeleteBucketAnalyticsConfigurationResponse-        request = delete s3-        response-          = receiveNull-              DeleteBucketAnalyticsConfigurationResponse'--instance Hashable DeleteBucketAnalyticsConfiguration-         where--instance NFData DeleteBucketAnalyticsConfiguration-         where--instance ToHeaders DeleteBucketAnalyticsConfiguration-         where-        toHeaders = const mempty--instance ToPath DeleteBucketAnalyticsConfiguration-         where-        toPath DeleteBucketAnalyticsConfiguration'{..}-          = mconcat ["/", toBS _dbacBucket]--instance ToQuery DeleteBucketAnalyticsConfiguration-         where-        toQuery DeleteBucketAnalyticsConfiguration'{..}-          = mconcat ["id" =: _dbacId, "analytics"]---- | /See:/ 'deleteBucketAnalyticsConfigurationResponse' smart constructor.-data DeleteBucketAnalyticsConfigurationResponse =-  DeleteBucketAnalyticsConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketAnalyticsConfigurationResponse' with the minimum fields required to make a request.----deleteBucketAnalyticsConfigurationResponse-    :: DeleteBucketAnalyticsConfigurationResponse-deleteBucketAnalyticsConfigurationResponse =-  DeleteBucketAnalyticsConfigurationResponse'---instance NFData-           DeleteBucketAnalyticsConfigurationResponse-         where
− gen/Network/AWS/S3/DeleteBucketCORS.hs
@@ -1,95 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketCORS--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the cors configuration information set for the bucket.-module Network.AWS.S3.DeleteBucketCORS-    (-    -- * Creating a Request-      deleteBucketCORS-    , DeleteBucketCORS-    -- * Request Lenses-    , dbcBucket--    -- * Destructuring the Response-    , deleteBucketCORSResponse-    , DeleteBucketCORSResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketCORS' smart constructor.-newtype DeleteBucketCORS = DeleteBucketCORS'-  { _dbcBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketCORS' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbcBucket' - Undocumented member.-deleteBucketCORS-    :: BucketName -- ^ 'dbcBucket'-    -> DeleteBucketCORS-deleteBucketCORS pBucket_ = DeleteBucketCORS' {_dbcBucket = pBucket_}----- | Undocumented member.-dbcBucket :: Lens' DeleteBucketCORS BucketName-dbcBucket = lens _dbcBucket (\ s a -> s{_dbcBucket = a})--instance AWSRequest DeleteBucketCORS where-        type Rs DeleteBucketCORS = DeleteBucketCORSResponse-        request = delete s3-        response = receiveNull DeleteBucketCORSResponse'--instance Hashable DeleteBucketCORS where--instance NFData DeleteBucketCORS where--instance ToHeaders DeleteBucketCORS where-        toHeaders = const mempty--instance ToPath DeleteBucketCORS where-        toPath DeleteBucketCORS'{..}-          = mconcat ["/", toBS _dbcBucket]--instance ToQuery DeleteBucketCORS where-        toQuery = const (mconcat ["cors"])---- | /See:/ 'deleteBucketCORSResponse' smart constructor.-data DeleteBucketCORSResponse =-  DeleteBucketCORSResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketCORSResponse' with the minimum fields required to make a request.----deleteBucketCORSResponse-    :: DeleteBucketCORSResponse-deleteBucketCORSResponse = DeleteBucketCORSResponse'---instance NFData DeleteBucketCORSResponse where
− gen/Network/AWS/S3/DeleteBucketEncryption.hs
@@ -1,98 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketEncryption--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the server-side encryption configuration from the bucket.-module Network.AWS.S3.DeleteBucketEncryption-    (-    -- * Creating a Request-      deleteBucketEncryption-    , DeleteBucketEncryption-    -- * Request Lenses-    , dbeBucket--    -- * Destructuring the Response-    , deleteBucketEncryptionResponse-    , DeleteBucketEncryptionResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketEncryption' smart constructor.-newtype DeleteBucketEncryption = DeleteBucketEncryption'-  { _dbeBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketEncryption' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbeBucket' - The name of the bucket containing the server-side encryption configuration to delete.-deleteBucketEncryption-    :: BucketName -- ^ 'dbeBucket'-    -> DeleteBucketEncryption-deleteBucketEncryption pBucket_ =-  DeleteBucketEncryption' {_dbeBucket = pBucket_}----- | The name of the bucket containing the server-side encryption configuration to delete.-dbeBucket :: Lens' DeleteBucketEncryption BucketName-dbeBucket = lens _dbeBucket (\ s a -> s{_dbeBucket = a})--instance AWSRequest DeleteBucketEncryption where-        type Rs DeleteBucketEncryption =-             DeleteBucketEncryptionResponse-        request = delete s3-        response-          = receiveNull DeleteBucketEncryptionResponse'--instance Hashable DeleteBucketEncryption where--instance NFData DeleteBucketEncryption where--instance ToHeaders DeleteBucketEncryption where-        toHeaders = const mempty--instance ToPath DeleteBucketEncryption where-        toPath DeleteBucketEncryption'{..}-          = mconcat ["/", toBS _dbeBucket]--instance ToQuery DeleteBucketEncryption where-        toQuery = const (mconcat ["encryption"])---- | /See:/ 'deleteBucketEncryptionResponse' smart constructor.-data DeleteBucketEncryptionResponse =-  DeleteBucketEncryptionResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketEncryptionResponse' with the minimum fields required to make a request.----deleteBucketEncryptionResponse-    :: DeleteBucketEncryptionResponse-deleteBucketEncryptionResponse = DeleteBucketEncryptionResponse'---instance NFData DeleteBucketEncryptionResponse where
− gen/Network/AWS/S3/DeleteBucketInventoryConfiguration.hs
@@ -1,119 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketInventoryConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes an inventory configuration (identified by the inventory ID) from the bucket.-module Network.AWS.S3.DeleteBucketInventoryConfiguration-    (-    -- * Creating a Request-      deleteBucketInventoryConfiguration-    , DeleteBucketInventoryConfiguration-    -- * Request Lenses-    , dbicBucket-    , dbicId--    -- * Destructuring the Response-    , deleteBucketInventoryConfigurationResponse-    , DeleteBucketInventoryConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketInventoryConfiguration' smart constructor.-data DeleteBucketInventoryConfiguration = DeleteBucketInventoryConfiguration'-  { _dbicBucket :: !BucketName-  , _dbicId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketInventoryConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbicBucket' - The name of the bucket containing the inventory configuration to delete.------ * 'dbicId' - The ID used to identify the inventory configuration.-deleteBucketInventoryConfiguration-    :: BucketName -- ^ 'dbicBucket'-    -> Text -- ^ 'dbicId'-    -> DeleteBucketInventoryConfiguration-deleteBucketInventoryConfiguration pBucket_ pId_ =-  DeleteBucketInventoryConfiguration' {_dbicBucket = pBucket_, _dbicId = pId_}----- | The name of the bucket containing the inventory configuration to delete.-dbicBucket :: Lens' DeleteBucketInventoryConfiguration BucketName-dbicBucket = lens _dbicBucket (\ s a -> s{_dbicBucket = a})---- | The ID used to identify the inventory configuration.-dbicId :: Lens' DeleteBucketInventoryConfiguration Text-dbicId = lens _dbicId (\ s a -> s{_dbicId = a})--instance AWSRequest-           DeleteBucketInventoryConfiguration-         where-        type Rs DeleteBucketInventoryConfiguration =-             DeleteBucketInventoryConfigurationResponse-        request = delete s3-        response-          = receiveNull-              DeleteBucketInventoryConfigurationResponse'--instance Hashable DeleteBucketInventoryConfiguration-         where--instance NFData DeleteBucketInventoryConfiguration-         where--instance ToHeaders DeleteBucketInventoryConfiguration-         where-        toHeaders = const mempty--instance ToPath DeleteBucketInventoryConfiguration-         where-        toPath DeleteBucketInventoryConfiguration'{..}-          = mconcat ["/", toBS _dbicBucket]--instance ToQuery DeleteBucketInventoryConfiguration-         where-        toQuery DeleteBucketInventoryConfiguration'{..}-          = mconcat ["id" =: _dbicId, "inventory"]---- | /See:/ 'deleteBucketInventoryConfigurationResponse' smart constructor.-data DeleteBucketInventoryConfigurationResponse =-  DeleteBucketInventoryConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketInventoryConfigurationResponse' with the minimum fields required to make a request.----deleteBucketInventoryConfigurationResponse-    :: DeleteBucketInventoryConfigurationResponse-deleteBucketInventoryConfigurationResponse =-  DeleteBucketInventoryConfigurationResponse'---instance NFData-           DeleteBucketInventoryConfigurationResponse-         where
− gen/Network/AWS/S3/DeleteBucketLifecycle.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketLifecycle--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the lifecycle configuration from the bucket.-module Network.AWS.S3.DeleteBucketLifecycle-    (-    -- * Creating a Request-      deleteBucketLifecycle-    , DeleteBucketLifecycle-    -- * Request Lenses-    , dblBucket--    -- * Destructuring the Response-    , deleteBucketLifecycleResponse-    , DeleteBucketLifecycleResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketLifecycle' smart constructor.-newtype DeleteBucketLifecycle = DeleteBucketLifecycle'-  { _dblBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketLifecycle' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dblBucket' - Undocumented member.-deleteBucketLifecycle-    :: BucketName -- ^ 'dblBucket'-    -> DeleteBucketLifecycle-deleteBucketLifecycle pBucket_ = DeleteBucketLifecycle' {_dblBucket = pBucket_}----- | Undocumented member.-dblBucket :: Lens' DeleteBucketLifecycle BucketName-dblBucket = lens _dblBucket (\ s a -> s{_dblBucket = a})--instance AWSRequest DeleteBucketLifecycle where-        type Rs DeleteBucketLifecycle =-             DeleteBucketLifecycleResponse-        request = delete s3-        response = receiveNull DeleteBucketLifecycleResponse'--instance Hashable DeleteBucketLifecycle where--instance NFData DeleteBucketLifecycle where--instance ToHeaders DeleteBucketLifecycle where-        toHeaders = const mempty--instance ToPath DeleteBucketLifecycle where-        toPath DeleteBucketLifecycle'{..}-          = mconcat ["/", toBS _dblBucket]--instance ToQuery DeleteBucketLifecycle where-        toQuery = const (mconcat ["lifecycle"])---- | /See:/ 'deleteBucketLifecycleResponse' smart constructor.-data DeleteBucketLifecycleResponse =-  DeleteBucketLifecycleResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketLifecycleResponse' with the minimum fields required to make a request.----deleteBucketLifecycleResponse-    :: DeleteBucketLifecycleResponse-deleteBucketLifecycleResponse = DeleteBucketLifecycleResponse'---instance NFData DeleteBucketLifecycleResponse where
− gen/Network/AWS/S3/DeleteBucketMetricsConfiguration.hs
@@ -1,118 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketMetricsConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes a metrics configuration (specified by the metrics configuration ID) from the bucket.-module Network.AWS.S3.DeleteBucketMetricsConfiguration-    (-    -- * Creating a Request-      deleteBucketMetricsConfiguration-    , DeleteBucketMetricsConfiguration-    -- * Request Lenses-    , dbmcBucket-    , dbmcId--    -- * Destructuring the Response-    , deleteBucketMetricsConfigurationResponse-    , DeleteBucketMetricsConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketMetricsConfiguration' smart constructor.-data DeleteBucketMetricsConfiguration = DeleteBucketMetricsConfiguration'-  { _dbmcBucket :: !BucketName-  , _dbmcId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketMetricsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbmcBucket' - The name of the bucket containing the metrics configuration to delete.------ * 'dbmcId' - The ID used to identify the metrics configuration.-deleteBucketMetricsConfiguration-    :: BucketName -- ^ 'dbmcBucket'-    -> Text -- ^ 'dbmcId'-    -> DeleteBucketMetricsConfiguration-deleteBucketMetricsConfiguration pBucket_ pId_ =-  DeleteBucketMetricsConfiguration' {_dbmcBucket = pBucket_, _dbmcId = pId_}----- | The name of the bucket containing the metrics configuration to delete.-dbmcBucket :: Lens' DeleteBucketMetricsConfiguration BucketName-dbmcBucket = lens _dbmcBucket (\ s a -> s{_dbmcBucket = a})---- | The ID used to identify the metrics configuration.-dbmcId :: Lens' DeleteBucketMetricsConfiguration Text-dbmcId = lens _dbmcId (\ s a -> s{_dbmcId = a})--instance AWSRequest DeleteBucketMetricsConfiguration-         where-        type Rs DeleteBucketMetricsConfiguration =-             DeleteBucketMetricsConfigurationResponse-        request = delete s3-        response-          = receiveNull-              DeleteBucketMetricsConfigurationResponse'--instance Hashable DeleteBucketMetricsConfiguration-         where--instance NFData DeleteBucketMetricsConfiguration-         where--instance ToHeaders DeleteBucketMetricsConfiguration-         where-        toHeaders = const mempty--instance ToPath DeleteBucketMetricsConfiguration-         where-        toPath DeleteBucketMetricsConfiguration'{..}-          = mconcat ["/", toBS _dbmcBucket]--instance ToQuery DeleteBucketMetricsConfiguration-         where-        toQuery DeleteBucketMetricsConfiguration'{..}-          = mconcat ["id" =: _dbmcId, "metrics"]---- | /See:/ 'deleteBucketMetricsConfigurationResponse' smart constructor.-data DeleteBucketMetricsConfigurationResponse =-  DeleteBucketMetricsConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketMetricsConfigurationResponse' with the minimum fields required to make a request.----deleteBucketMetricsConfigurationResponse-    :: DeleteBucketMetricsConfigurationResponse-deleteBucketMetricsConfigurationResponse =-  DeleteBucketMetricsConfigurationResponse'---instance NFData-           DeleteBucketMetricsConfigurationResponse-         where
− gen/Network/AWS/S3/DeleteBucketPolicy.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketPolicy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the policy from the bucket.-module Network.AWS.S3.DeleteBucketPolicy-    (-    -- * Creating a Request-      deleteBucketPolicy-    , DeleteBucketPolicy-    -- * Request Lenses-    , dbpBucket--    -- * Destructuring the Response-    , deleteBucketPolicyResponse-    , DeleteBucketPolicyResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketPolicy' smart constructor.-newtype DeleteBucketPolicy = DeleteBucketPolicy'-  { _dbpBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbpBucket' - Undocumented member.-deleteBucketPolicy-    :: BucketName -- ^ 'dbpBucket'-    -> DeleteBucketPolicy-deleteBucketPolicy pBucket_ = DeleteBucketPolicy' {_dbpBucket = pBucket_}----- | Undocumented member.-dbpBucket :: Lens' DeleteBucketPolicy BucketName-dbpBucket = lens _dbpBucket (\ s a -> s{_dbpBucket = a})--instance AWSRequest DeleteBucketPolicy where-        type Rs DeleteBucketPolicy =-             DeleteBucketPolicyResponse-        request = delete s3-        response = receiveNull DeleteBucketPolicyResponse'--instance Hashable DeleteBucketPolicy where--instance NFData DeleteBucketPolicy where--instance ToHeaders DeleteBucketPolicy where-        toHeaders = const mempty--instance ToPath DeleteBucketPolicy where-        toPath DeleteBucketPolicy'{..}-          = mconcat ["/", toBS _dbpBucket]--instance ToQuery DeleteBucketPolicy where-        toQuery = const (mconcat ["policy"])---- | /See:/ 'deleteBucketPolicyResponse' smart constructor.-data DeleteBucketPolicyResponse =-  DeleteBucketPolicyResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketPolicyResponse' with the minimum fields required to make a request.----deleteBucketPolicyResponse-    :: DeleteBucketPolicyResponse-deleteBucketPolicyResponse = DeleteBucketPolicyResponse'---instance NFData DeleteBucketPolicyResponse where
− gen/Network/AWS/S3/DeleteBucketReplication.hs
@@ -1,98 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketReplication--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the replication configuration from the bucket.-module Network.AWS.S3.DeleteBucketReplication-    (-    -- * Creating a Request-      deleteBucketReplication-    , DeleteBucketReplication-    -- * Request Lenses-    , dbrBucket--    -- * Destructuring the Response-    , deleteBucketReplicationResponse-    , DeleteBucketReplicationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketReplication' smart constructor.-newtype DeleteBucketReplication = DeleteBucketReplication'-  { _dbrBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketReplication' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbrBucket' - Undocumented member.-deleteBucketReplication-    :: BucketName -- ^ 'dbrBucket'-    -> DeleteBucketReplication-deleteBucketReplication pBucket_ =-  DeleteBucketReplication' {_dbrBucket = pBucket_}----- | Undocumented member.-dbrBucket :: Lens' DeleteBucketReplication BucketName-dbrBucket = lens _dbrBucket (\ s a -> s{_dbrBucket = a})--instance AWSRequest DeleteBucketReplication where-        type Rs DeleteBucketReplication =-             DeleteBucketReplicationResponse-        request = delete s3-        response-          = receiveNull DeleteBucketReplicationResponse'--instance Hashable DeleteBucketReplication where--instance NFData DeleteBucketReplication where--instance ToHeaders DeleteBucketReplication where-        toHeaders = const mempty--instance ToPath DeleteBucketReplication where-        toPath DeleteBucketReplication'{..}-          = mconcat ["/", toBS _dbrBucket]--instance ToQuery DeleteBucketReplication where-        toQuery = const (mconcat ["replication"])---- | /See:/ 'deleteBucketReplicationResponse' smart constructor.-data DeleteBucketReplicationResponse =-  DeleteBucketReplicationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketReplicationResponse' with the minimum fields required to make a request.----deleteBucketReplicationResponse-    :: DeleteBucketReplicationResponse-deleteBucketReplicationResponse = DeleteBucketReplicationResponse'---instance NFData DeleteBucketReplicationResponse where
− gen/Network/AWS/S3/DeleteBucketTagging.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketTagging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Deletes the tags from the bucket.-module Network.AWS.S3.DeleteBucketTagging-    (-    -- * Creating a Request-      deleteBucketTagging-    , DeleteBucketTagging-    -- * Request Lenses-    , dbtBucket--    -- * Destructuring the Response-    , deleteBucketTaggingResponse-    , DeleteBucketTaggingResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketTagging' smart constructor.-newtype DeleteBucketTagging = DeleteBucketTagging'-  { _dbtBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketTagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbtBucket' - Undocumented member.-deleteBucketTagging-    :: BucketName -- ^ 'dbtBucket'-    -> DeleteBucketTagging-deleteBucketTagging pBucket_ = DeleteBucketTagging' {_dbtBucket = pBucket_}----- | Undocumented member.-dbtBucket :: Lens' DeleteBucketTagging BucketName-dbtBucket = lens _dbtBucket (\ s a -> s{_dbtBucket = a})--instance AWSRequest DeleteBucketTagging where-        type Rs DeleteBucketTagging =-             DeleteBucketTaggingResponse-        request = delete s3-        response = receiveNull DeleteBucketTaggingResponse'--instance Hashable DeleteBucketTagging where--instance NFData DeleteBucketTagging where--instance ToHeaders DeleteBucketTagging where-        toHeaders = const mempty--instance ToPath DeleteBucketTagging where-        toPath DeleteBucketTagging'{..}-          = mconcat ["/", toBS _dbtBucket]--instance ToQuery DeleteBucketTagging where-        toQuery = const (mconcat ["tagging"])---- | /See:/ 'deleteBucketTaggingResponse' smart constructor.-data DeleteBucketTaggingResponse =-  DeleteBucketTaggingResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketTaggingResponse' with the minimum fields required to make a request.----deleteBucketTaggingResponse-    :: DeleteBucketTaggingResponse-deleteBucketTaggingResponse = DeleteBucketTaggingResponse'---instance NFData DeleteBucketTaggingResponse where
− gen/Network/AWS/S3/DeleteBucketWebsite.hs
@@ -1,96 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteBucketWebsite--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ This operation removes the website configuration from the bucket.-module Network.AWS.S3.DeleteBucketWebsite-    (-    -- * Creating a Request-      deleteBucketWebsite-    , DeleteBucketWebsite-    -- * Request Lenses-    , dbwBucket--    -- * Destructuring the Response-    , deleteBucketWebsiteResponse-    , DeleteBucketWebsiteResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteBucketWebsite' smart constructor.-newtype DeleteBucketWebsite = DeleteBucketWebsite'-  { _dbwBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketWebsite' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dbwBucket' - Undocumented member.-deleteBucketWebsite-    :: BucketName -- ^ 'dbwBucket'-    -> DeleteBucketWebsite-deleteBucketWebsite pBucket_ = DeleteBucketWebsite' {_dbwBucket = pBucket_}----- | Undocumented member.-dbwBucket :: Lens' DeleteBucketWebsite BucketName-dbwBucket = lens _dbwBucket (\ s a -> s{_dbwBucket = a})--instance AWSRequest DeleteBucketWebsite where-        type Rs DeleteBucketWebsite =-             DeleteBucketWebsiteResponse-        request = delete s3-        response = receiveNull DeleteBucketWebsiteResponse'--instance Hashable DeleteBucketWebsite where--instance NFData DeleteBucketWebsite where--instance ToHeaders DeleteBucketWebsite where-        toHeaders = const mempty--instance ToPath DeleteBucketWebsite where-        toPath DeleteBucketWebsite'{..}-          = mconcat ["/", toBS _dbwBucket]--instance ToQuery DeleteBucketWebsite where-        toQuery = const (mconcat ["website"])---- | /See:/ 'deleteBucketWebsiteResponse' smart constructor.-data DeleteBucketWebsiteResponse =-  DeleteBucketWebsiteResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteBucketWebsiteResponse' with the minimum fields required to make a request.----deleteBucketWebsiteResponse-    :: DeleteBucketWebsiteResponse-deleteBucketWebsiteResponse = DeleteBucketWebsiteResponse'---instance NFData DeleteBucketWebsiteResponse where
− gen/Network/AWS/S3/DeleteObject.hs
@@ -1,186 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteObject--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Removes the null version (if there is one) of an object and inserts a delete marker, which becomes the latest version of the object. If there isn't a null version, Amazon S3 does not remove any objects.-module Network.AWS.S3.DeleteObject-    (-    -- * Creating a Request-      deleteObject-    , DeleteObject-    -- * Request Lenses-    , doVersionId-    , doMFA-    , doRequestPayer-    , doBucket-    , doKey--    -- * Destructuring the Response-    , deleteObjectResponse-    , DeleteObjectResponse-    -- * Response Lenses-    , dorsRequestCharged-    , dorsVersionId-    , dorsDeleteMarker-    , dorsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteObject' smart constructor.-data DeleteObject = DeleteObject'-  { _doVersionId    :: !(Maybe ObjectVersionId)-  , _doMFA          :: !(Maybe Text)-  , _doRequestPayer :: !(Maybe RequestPayer)-  , _doBucket       :: !BucketName-  , _doKey          :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'doVersionId' - VersionId used to reference a specific version of the object.------ * 'doMFA' - The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.------ * 'doRequestPayer' - Undocumented member.------ * 'doBucket' - Undocumented member.------ * 'doKey' - Undocumented member.-deleteObject-    :: BucketName -- ^ 'doBucket'-    -> ObjectKey -- ^ 'doKey'-    -> DeleteObject-deleteObject pBucket_ pKey_ =-  DeleteObject'-    { _doVersionId = Nothing-    , _doMFA = Nothing-    , _doRequestPayer = Nothing-    , _doBucket = pBucket_-    , _doKey = pKey_-    }----- | VersionId used to reference a specific version of the object.-doVersionId :: Lens' DeleteObject (Maybe ObjectVersionId)-doVersionId = lens _doVersionId (\ s a -> s{_doVersionId = a})---- | The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.-doMFA :: Lens' DeleteObject (Maybe Text)-doMFA = lens _doMFA (\ s a -> s{_doMFA = a})---- | Undocumented member.-doRequestPayer :: Lens' DeleteObject (Maybe RequestPayer)-doRequestPayer = lens _doRequestPayer (\ s a -> s{_doRequestPayer = a})---- | Undocumented member.-doBucket :: Lens' DeleteObject BucketName-doBucket = lens _doBucket (\ s a -> s{_doBucket = a})---- | Undocumented member.-doKey :: Lens' DeleteObject ObjectKey-doKey = lens _doKey (\ s a -> s{_doKey = a})--instance AWSRequest DeleteObject where-        type Rs DeleteObject = DeleteObjectResponse-        request = delete s3-        response-          = receiveEmpty-              (\ s h x ->-                 DeleteObjectResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (h .#? "x-amz-version-id")-                     <*> (h .#? "x-amz-delete-marker")-                     <*> (pure (fromEnum s)))--instance Hashable DeleteObject where--instance NFData DeleteObject where--instance ToHeaders DeleteObject where-        toHeaders DeleteObject'{..}-          = mconcat-              ["x-amz-mfa" =# _doMFA,-               "x-amz-request-payer" =# _doRequestPayer]--instance ToPath DeleteObject where-        toPath DeleteObject'{..}-          = mconcat ["/", toBS _doBucket, "/", toBS _doKey]--instance ToQuery DeleteObject where-        toQuery DeleteObject'{..}-          = mconcat ["versionId" =: _doVersionId]---- | /See:/ 'deleteObjectResponse' smart constructor.-data DeleteObjectResponse = DeleteObjectResponse'-  { _dorsRequestCharged :: !(Maybe RequestCharged)-  , _dorsVersionId      :: !(Maybe ObjectVersionId)-  , _dorsDeleteMarker   :: !(Maybe Bool)-  , _dorsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dorsRequestCharged' - Undocumented member.------ * 'dorsVersionId' - Returns the version ID of the delete marker created as a result of the DELETE operation.------ * 'dorsDeleteMarker' - Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.------ * 'dorsResponseStatus' - -- | The response status code.-deleteObjectResponse-    :: Int -- ^ 'dorsResponseStatus'-    -> DeleteObjectResponse-deleteObjectResponse pResponseStatus_ =-  DeleteObjectResponse'-    { _dorsRequestCharged = Nothing-    , _dorsVersionId = Nothing-    , _dorsDeleteMarker = Nothing-    , _dorsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-dorsRequestCharged :: Lens' DeleteObjectResponse (Maybe RequestCharged)-dorsRequestCharged = lens _dorsRequestCharged (\ s a -> s{_dorsRequestCharged = a})---- | Returns the version ID of the delete marker created as a result of the DELETE operation.-dorsVersionId :: Lens' DeleteObjectResponse (Maybe ObjectVersionId)-dorsVersionId = lens _dorsVersionId (\ s a -> s{_dorsVersionId = a})---- | Specifies whether the versioned object that was permanently deleted was (true) or was not (false) a delete marker.-dorsDeleteMarker :: Lens' DeleteObjectResponse (Maybe Bool)-dorsDeleteMarker = lens _dorsDeleteMarker (\ s a -> s{_dorsDeleteMarker = a})---- | -- | The response status code.-dorsResponseStatus :: Lens' DeleteObjectResponse Int-dorsResponseStatus = lens _dorsResponseStatus (\ s a -> s{_dorsResponseStatus = a})--instance NFData DeleteObjectResponse where
− gen/Network/AWS/S3/DeleteObjectTagging.hs
@@ -1,140 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteObjectTagging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Removes the tag-set from an existing object.-module Network.AWS.S3.DeleteObjectTagging-    (-    -- * Creating a Request-      deleteObjectTagging-    , DeleteObjectTagging-    -- * Request Lenses-    , dotVersionId-    , dotBucket-    , dotKey--    -- * Destructuring the Response-    , deleteObjectTaggingResponse-    , DeleteObjectTaggingResponse-    -- * Response Lenses-    , dotrsVersionId-    , dotrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteObjectTagging' smart constructor.-data DeleteObjectTagging = DeleteObjectTagging'-  { _dotVersionId :: !(Maybe ObjectVersionId)-  , _dotBucket    :: !BucketName-  , _dotKey       :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteObjectTagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dotVersionId' - The versionId of the object that the tag-set will be removed from.------ * 'dotBucket' - Undocumented member.------ * 'dotKey' - Undocumented member.-deleteObjectTagging-    :: BucketName -- ^ 'dotBucket'-    -> ObjectKey -- ^ 'dotKey'-    -> DeleteObjectTagging-deleteObjectTagging pBucket_ pKey_ =-  DeleteObjectTagging'-    {_dotVersionId = Nothing, _dotBucket = pBucket_, _dotKey = pKey_}----- | The versionId of the object that the tag-set will be removed from.-dotVersionId :: Lens' DeleteObjectTagging (Maybe ObjectVersionId)-dotVersionId = lens _dotVersionId (\ s a -> s{_dotVersionId = a})---- | Undocumented member.-dotBucket :: Lens' DeleteObjectTagging BucketName-dotBucket = lens _dotBucket (\ s a -> s{_dotBucket = a})---- | Undocumented member.-dotKey :: Lens' DeleteObjectTagging ObjectKey-dotKey = lens _dotKey (\ s a -> s{_dotKey = a})--instance AWSRequest DeleteObjectTagging where-        type Rs DeleteObjectTagging =-             DeleteObjectTaggingResponse-        request = delete s3-        response-          = receiveEmpty-              (\ s h x ->-                 DeleteObjectTaggingResponse' <$>-                   (h .#? "x-amz-version-id") <*> (pure (fromEnum s)))--instance Hashable DeleteObjectTagging where--instance NFData DeleteObjectTagging where--instance ToHeaders DeleteObjectTagging where-        toHeaders = const mempty--instance ToPath DeleteObjectTagging where-        toPath DeleteObjectTagging'{..}-          = mconcat ["/", toBS _dotBucket, "/", toBS _dotKey]--instance ToQuery DeleteObjectTagging where-        toQuery DeleteObjectTagging'{..}-          = mconcat ["versionId" =: _dotVersionId, "tagging"]---- | /See:/ 'deleteObjectTaggingResponse' smart constructor.-data DeleteObjectTaggingResponse = DeleteObjectTaggingResponse'-  { _dotrsVersionId      :: !(Maybe ObjectVersionId)-  , _dotrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteObjectTaggingResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dotrsVersionId' - The versionId of the object the tag-set was removed from.------ * 'dotrsResponseStatus' - -- | The response status code.-deleteObjectTaggingResponse-    :: Int -- ^ 'dotrsResponseStatus'-    -> DeleteObjectTaggingResponse-deleteObjectTaggingResponse pResponseStatus_ =-  DeleteObjectTaggingResponse'-    {_dotrsVersionId = Nothing, _dotrsResponseStatus = pResponseStatus_}----- | The versionId of the object the tag-set was removed from.-dotrsVersionId :: Lens' DeleteObjectTaggingResponse (Maybe ObjectVersionId)-dotrsVersionId = lens _dotrsVersionId (\ s a -> s{_dotrsVersionId = a})---- | -- | The response status code.-dotrsResponseStatus :: Lens' DeleteObjectTaggingResponse Int-dotrsResponseStatus = lens _dotrsResponseStatus (\ s a -> s{_dotrsResponseStatus = a})--instance NFData DeleteObjectTaggingResponse where
− gen/Network/AWS/S3/DeleteObjects.hs
@@ -1,183 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.DeleteObjects--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ This operation enables you to delete multiple objects from a bucket using a single HTTP request. You may specify up to 1000 keys.-module Network.AWS.S3.DeleteObjects-    (-    -- * Creating a Request-      deleteObjects-    , DeleteObjects-    -- * Request Lenses-    , dosMFA-    , dosRequestPayer-    , dosBucket-    , dosDelete--    -- * Destructuring the Response-    , deleteObjectsResponse-    , DeleteObjectsResponse-    -- * Response Lenses-    , drsRequestCharged-    , drsDeleted-    , drsErrors-    , drsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'deleteObjects' smart constructor.-data DeleteObjects = DeleteObjects'-  { _dosMFA          :: !(Maybe Text)-  , _dosRequestPayer :: !(Maybe RequestPayer)-  , _dosBucket       :: !BucketName-  , _dosDelete       :: !Delete-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteObjects' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dosMFA' - The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.------ * 'dosRequestPayer' - Undocumented member.------ * 'dosBucket' - Undocumented member.------ * 'dosDelete' - Undocumented member.-deleteObjects-    :: BucketName -- ^ 'dosBucket'-    -> Delete -- ^ 'dosDelete'-    -> DeleteObjects-deleteObjects pBucket_ pDelete_ =-  DeleteObjects'-    { _dosMFA = Nothing-    , _dosRequestPayer = Nothing-    , _dosBucket = pBucket_-    , _dosDelete = pDelete_-    }----- | The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.-dosMFA :: Lens' DeleteObjects (Maybe Text)-dosMFA = lens _dosMFA (\ s a -> s{_dosMFA = a})---- | Undocumented member.-dosRequestPayer :: Lens' DeleteObjects (Maybe RequestPayer)-dosRequestPayer = lens _dosRequestPayer (\ s a -> s{_dosRequestPayer = a})---- | Undocumented member.-dosBucket :: Lens' DeleteObjects BucketName-dosBucket = lens _dosBucket (\ s a -> s{_dosBucket = a})---- | Undocumented member.-dosDelete :: Lens' DeleteObjects Delete-dosDelete = lens _dosDelete (\ s a -> s{_dosDelete = a})--instance AWSRequest DeleteObjects where-        type Rs DeleteObjects = DeleteObjectsResponse-        request = contentMD5Header . postXML s3-        response-          = receiveXML-              (\ s h x ->-                 DeleteObjectsResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (may (parseXMLList "Deleted") x)-                     <*> (may (parseXMLList "Error") x)-                     <*> (pure (fromEnum s)))--instance Hashable DeleteObjects where--instance NFData DeleteObjects where--instance ToElement DeleteObjects where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}Delete"-              .-              _dosDelete--instance ToHeaders DeleteObjects where-        toHeaders DeleteObjects'{..}-          = mconcat-              ["x-amz-mfa" =# _dosMFA,-               "x-amz-request-payer" =# _dosRequestPayer]--instance ToPath DeleteObjects where-        toPath DeleteObjects'{..}-          = mconcat ["/", toBS _dosBucket]--instance ToQuery DeleteObjects where-        toQuery = const (mconcat ["delete"])---- | /See:/ 'deleteObjectsResponse' smart constructor.-data DeleteObjectsResponse = DeleteObjectsResponse'-  { _drsRequestCharged :: !(Maybe RequestCharged)-  , _drsDeleted        :: !(Maybe [DeletedObject])-  , _drsErrors         :: !(Maybe [S3ServiceError])-  , _drsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteObjectsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'drsRequestCharged' - Undocumented member.------ * 'drsDeleted' - Undocumented member.------ * 'drsErrors' - Undocumented member.------ * 'drsResponseStatus' - -- | The response status code.-deleteObjectsResponse-    :: Int -- ^ 'drsResponseStatus'-    -> DeleteObjectsResponse-deleteObjectsResponse pResponseStatus_ =-  DeleteObjectsResponse'-    { _drsRequestCharged = Nothing-    , _drsDeleted = Nothing-    , _drsErrors = Nothing-    , _drsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-drsRequestCharged :: Lens' DeleteObjectsResponse (Maybe RequestCharged)-drsRequestCharged = lens _drsRequestCharged (\ s a -> s{_drsRequestCharged = a})---- | Undocumented member.-drsDeleted :: Lens' DeleteObjectsResponse [DeletedObject]-drsDeleted = lens _drsDeleted (\ s a -> s{_drsDeleted = a}) . _Default . _Coerce---- | Undocumented member.-drsErrors :: Lens' DeleteObjectsResponse [S3ServiceError]-drsErrors = lens _drsErrors (\ s a -> s{_drsErrors = a}) . _Default . _Coerce---- | -- | The response status code.-drsResponseStatus :: Lens' DeleteObjectsResponse Int-drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a})--instance NFData DeleteObjectsResponse where
− gen/Network/AWS/S3/GetBucketACL.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketACL--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Gets the access control policy for the bucket.-module Network.AWS.S3.GetBucketACL-    (-    -- * Creating a Request-      getBucketACL-    , GetBucketACL-    -- * Request Lenses-    , gbaBucket--    -- * Destructuring the Response-    , getBucketACLResponse-    , GetBucketACLResponse-    -- * Response Lenses-    , gbarsGrants-    , gbarsOwner-    , gbarsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketACL' smart constructor.-newtype GetBucketACL = GetBucketACL'-  { _gbaBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbaBucket' - Undocumented member.-getBucketACL-    :: BucketName -- ^ 'gbaBucket'-    -> GetBucketACL-getBucketACL pBucket_ = GetBucketACL' {_gbaBucket = pBucket_}----- | Undocumented member.-gbaBucket :: Lens' GetBucketACL BucketName-gbaBucket = lens _gbaBucket (\ s a -> s{_gbaBucket = a})--instance AWSRequest GetBucketACL where-        type Rs GetBucketACL = GetBucketACLResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketACLResponse' <$>-                   (x .@? "AccessControlList" .!@ mempty >>=-                      may (parseXMLList "Grant"))-                     <*> (x .@? "Owner")-                     <*> (pure (fromEnum s)))--instance Hashable GetBucketACL where--instance NFData GetBucketACL where--instance ToHeaders GetBucketACL where-        toHeaders = const mempty--instance ToPath GetBucketACL where-        toPath GetBucketACL'{..}-          = mconcat ["/", toBS _gbaBucket]--instance ToQuery GetBucketACL where-        toQuery = const (mconcat ["acl"])---- | /See:/ 'getBucketACLResponse' smart constructor.-data GetBucketACLResponse = GetBucketACLResponse'-  { _gbarsGrants         :: !(Maybe [Grant])-  , _gbarsOwner          :: !(Maybe Owner)-  , _gbarsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbarsGrants' - A list of grants.------ * 'gbarsOwner' - Undocumented member.------ * 'gbarsResponseStatus' - -- | The response status code.-getBucketACLResponse-    :: Int -- ^ 'gbarsResponseStatus'-    -> GetBucketACLResponse-getBucketACLResponse pResponseStatus_ =-  GetBucketACLResponse'-    { _gbarsGrants = Nothing-    , _gbarsOwner = Nothing-    , _gbarsResponseStatus = pResponseStatus_-    }----- | A list of grants.-gbarsGrants :: Lens' GetBucketACLResponse [Grant]-gbarsGrants = lens _gbarsGrants (\ s a -> s{_gbarsGrants = a}) . _Default . _Coerce---- | Undocumented member.-gbarsOwner :: Lens' GetBucketACLResponse (Maybe Owner)-gbarsOwner = lens _gbarsOwner (\ s a -> s{_gbarsOwner = a})---- | -- | The response status code.-gbarsResponseStatus :: Lens' GetBucketACLResponse Int-gbarsResponseStatus = lens _gbarsResponseStatus (\ s a -> s{_gbarsResponseStatus = a})--instance NFData GetBucketACLResponse where
− gen/Network/AWS/S3/GetBucketAccelerateConfiguration.hs
@@ -1,129 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketAccelerateConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the accelerate configuration of a bucket.-module Network.AWS.S3.GetBucketAccelerateConfiguration-    (-    -- * Creating a Request-      getBucketAccelerateConfiguration-    , GetBucketAccelerateConfiguration-    -- * Request Lenses-    , gbacBucket--    -- * Destructuring the Response-    , getBucketAccelerateConfigurationResponse-    , GetBucketAccelerateConfigurationResponse-    -- * Response Lenses-    , grsStatus-    , grsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketAccelerateConfiguration' smart constructor.-newtype GetBucketAccelerateConfiguration = GetBucketAccelerateConfiguration'-  { _gbacBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketAccelerateConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbacBucket' - Name of the bucket for which the accelerate configuration is retrieved.-getBucketAccelerateConfiguration-    :: BucketName -- ^ 'gbacBucket'-    -> GetBucketAccelerateConfiguration-getBucketAccelerateConfiguration pBucket_ =-  GetBucketAccelerateConfiguration' {_gbacBucket = pBucket_}----- | Name of the bucket for which the accelerate configuration is retrieved.-gbacBucket :: Lens' GetBucketAccelerateConfiguration BucketName-gbacBucket = lens _gbacBucket (\ s a -> s{_gbacBucket = a})--instance AWSRequest GetBucketAccelerateConfiguration-         where-        type Rs GetBucketAccelerateConfiguration =-             GetBucketAccelerateConfigurationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketAccelerateConfigurationResponse' <$>-                   (x .@? "Status") <*> (pure (fromEnum s)))--instance Hashable GetBucketAccelerateConfiguration-         where--instance NFData GetBucketAccelerateConfiguration-         where--instance ToHeaders GetBucketAccelerateConfiguration-         where-        toHeaders = const mempty--instance ToPath GetBucketAccelerateConfiguration-         where-        toPath GetBucketAccelerateConfiguration'{..}-          = mconcat ["/", toBS _gbacBucket]--instance ToQuery GetBucketAccelerateConfiguration-         where-        toQuery = const (mconcat ["accelerate"])---- | /See:/ 'getBucketAccelerateConfigurationResponse' smart constructor.-data GetBucketAccelerateConfigurationResponse = GetBucketAccelerateConfigurationResponse'-  { _grsStatus         :: !(Maybe BucketAccelerateStatus)-  , _grsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketAccelerateConfigurationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'grsStatus' - The accelerate configuration of the bucket.------ * 'grsResponseStatus' - -- | The response status code.-getBucketAccelerateConfigurationResponse-    :: Int -- ^ 'grsResponseStatus'-    -> GetBucketAccelerateConfigurationResponse-getBucketAccelerateConfigurationResponse pResponseStatus_ =-  GetBucketAccelerateConfigurationResponse'-    {_grsStatus = Nothing, _grsResponseStatus = pResponseStatus_}----- | The accelerate configuration of the bucket.-grsStatus :: Lens' GetBucketAccelerateConfigurationResponse (Maybe BucketAccelerateStatus)-grsStatus = lens _grsStatus (\ s a -> s{_grsStatus = a})---- | -- | The response status code.-grsResponseStatus :: Lens' GetBucketAccelerateConfigurationResponse Int-grsResponseStatus = lens _grsResponseStatus (\ s a -> s{_grsResponseStatus = a})--instance NFData-           GetBucketAccelerateConfigurationResponse-         where
− gen/Network/AWS/S3/GetBucketAnalyticsConfiguration.hs
@@ -1,139 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketAnalyticsConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Gets an analytics configuration for the bucket (specified by the analytics configuration ID).-module Network.AWS.S3.GetBucketAnalyticsConfiguration-    (-    -- * Creating a Request-      getBucketAnalyticsConfiguration-    , GetBucketAnalyticsConfiguration-    -- * Request Lenses-    , getBucket-    , getId--    -- * Destructuring the Response-    , getBucketAnalyticsConfigurationResponse-    , GetBucketAnalyticsConfigurationResponse-    -- * Response Lenses-    , gbacrsAnalyticsConfiguration-    , gbacrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketAnalyticsConfiguration' smart constructor.-data GetBucketAnalyticsConfiguration = GetBucketAnalyticsConfiguration'-  { _getBucket :: !BucketName-  , _getId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketAnalyticsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'getBucket' - The name of the bucket from which an analytics configuration is retrieved.------ * 'getId' - The identifier used to represent an analytics configuration.-getBucketAnalyticsConfiguration-    :: BucketName -- ^ 'getBucket'-    -> Text -- ^ 'getId'-    -> GetBucketAnalyticsConfiguration-getBucketAnalyticsConfiguration pBucket_ pId_ =-  GetBucketAnalyticsConfiguration' {_getBucket = pBucket_, _getId = pId_}----- | The name of the bucket from which an analytics configuration is retrieved.-getBucket :: Lens' GetBucketAnalyticsConfiguration BucketName-getBucket = lens _getBucket (\ s a -> s{_getBucket = a})---- | The identifier used to represent an analytics configuration.-getId :: Lens' GetBucketAnalyticsConfiguration Text-getId = lens _getId (\ s a -> s{_getId = a})--instance AWSRequest GetBucketAnalyticsConfiguration-         where-        type Rs GetBucketAnalyticsConfiguration =-             GetBucketAnalyticsConfigurationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketAnalyticsConfigurationResponse' <$>-                   (parseXML x) <*> (pure (fromEnum s)))--instance Hashable GetBucketAnalyticsConfiguration-         where--instance NFData GetBucketAnalyticsConfiguration where--instance ToHeaders GetBucketAnalyticsConfiguration-         where-        toHeaders = const mempty--instance ToPath GetBucketAnalyticsConfiguration where-        toPath GetBucketAnalyticsConfiguration'{..}-          = mconcat ["/", toBS _getBucket]--instance ToQuery GetBucketAnalyticsConfiguration-         where-        toQuery GetBucketAnalyticsConfiguration'{..}-          = mconcat ["id" =: _getId, "analytics"]---- | /See:/ 'getBucketAnalyticsConfigurationResponse' smart constructor.-data GetBucketAnalyticsConfigurationResponse = GetBucketAnalyticsConfigurationResponse'-  { _gbacrsAnalyticsConfiguration :: !(Maybe AnalyticsConfiguration)-  , _gbacrsResponseStatus         :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketAnalyticsConfigurationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbacrsAnalyticsConfiguration' - The configuration and any analyses for the analytics filter.------ * 'gbacrsResponseStatus' - -- | The response status code.-getBucketAnalyticsConfigurationResponse-    :: Int -- ^ 'gbacrsResponseStatus'-    -> GetBucketAnalyticsConfigurationResponse-getBucketAnalyticsConfigurationResponse pResponseStatus_ =-  GetBucketAnalyticsConfigurationResponse'-    { _gbacrsAnalyticsConfiguration = Nothing-    , _gbacrsResponseStatus = pResponseStatus_-    }----- | The configuration and any analyses for the analytics filter.-gbacrsAnalyticsConfiguration :: Lens' GetBucketAnalyticsConfigurationResponse (Maybe AnalyticsConfiguration)-gbacrsAnalyticsConfiguration = lens _gbacrsAnalyticsConfiguration (\ s a -> s{_gbacrsAnalyticsConfiguration = a})---- | -- | The response status code.-gbacrsResponseStatus :: Lens' GetBucketAnalyticsConfigurationResponse Int-gbacrsResponseStatus = lens _gbacrsResponseStatus (\ s a -> s{_gbacrsResponseStatus = a})--instance NFData-           GetBucketAnalyticsConfigurationResponse-         where
− gen/Network/AWS/S3/GetBucketCORS.hs
@@ -1,120 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketCORS--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the cors configuration for the bucket.-module Network.AWS.S3.GetBucketCORS-    (-    -- * Creating a Request-      getBucketCORS-    , GetBucketCORS-    -- * Request Lenses-    , gbcBucket--    -- * Destructuring the Response-    , getBucketCORSResponse-    , GetBucketCORSResponse-    -- * Response Lenses-    , gbcrsCORSRules-    , gbcrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketCORS' smart constructor.-newtype GetBucketCORS = GetBucketCORS'-  { _gbcBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketCORS' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbcBucket' - Undocumented member.-getBucketCORS-    :: BucketName -- ^ 'gbcBucket'-    -> GetBucketCORS-getBucketCORS pBucket_ = GetBucketCORS' {_gbcBucket = pBucket_}----- | Undocumented member.-gbcBucket :: Lens' GetBucketCORS BucketName-gbcBucket = lens _gbcBucket (\ s a -> s{_gbcBucket = a})--instance AWSRequest GetBucketCORS where-        type Rs GetBucketCORS = GetBucketCORSResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketCORSResponse' <$>-                   (may (parseXMLList "CORSRule") x) <*>-                     (pure (fromEnum s)))--instance Hashable GetBucketCORS where--instance NFData GetBucketCORS where--instance ToHeaders GetBucketCORS where-        toHeaders = const mempty--instance ToPath GetBucketCORS where-        toPath GetBucketCORS'{..}-          = mconcat ["/", toBS _gbcBucket]--instance ToQuery GetBucketCORS where-        toQuery = const (mconcat ["cors"])---- | /See:/ 'getBucketCORSResponse' smart constructor.-data GetBucketCORSResponse = GetBucketCORSResponse'-  { _gbcrsCORSRules      :: !(Maybe [CORSRule])-  , _gbcrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketCORSResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbcrsCORSRules' - Undocumented member.------ * 'gbcrsResponseStatus' - -- | The response status code.-getBucketCORSResponse-    :: Int -- ^ 'gbcrsResponseStatus'-    -> GetBucketCORSResponse-getBucketCORSResponse pResponseStatus_ =-  GetBucketCORSResponse'-    {_gbcrsCORSRules = Nothing, _gbcrsResponseStatus = pResponseStatus_}----- | Undocumented member.-gbcrsCORSRules :: Lens' GetBucketCORSResponse [CORSRule]-gbcrsCORSRules = lens _gbcrsCORSRules (\ s a -> s{_gbcrsCORSRules = a}) . _Default . _Coerce---- | -- | The response status code.-gbcrsResponseStatus :: Lens' GetBucketCORSResponse Int-gbcrsResponseStatus = lens _gbcrsResponseStatus (\ s a -> s{_gbcrsResponseStatus = a})--instance NFData GetBucketCORSResponse where
− gen/Network/AWS/S3/GetBucketEncryption.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketEncryption--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the server-side encryption configuration of a bucket.-module Network.AWS.S3.GetBucketEncryption-    (-    -- * Creating a Request-      getBucketEncryption-    , GetBucketEncryption-    -- * Request Lenses-    , gbeBucket--    -- * Destructuring the Response-    , getBucketEncryptionResponse-    , GetBucketEncryptionResponse-    -- * Response Lenses-    , gbersServerSideEncryptionConfiguration-    , gbersResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketEncryption' smart constructor.-newtype GetBucketEncryption = GetBucketEncryption'-  { _gbeBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketEncryption' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbeBucket' - The name of the bucket from which the server-side encryption configuration is retrieved.-getBucketEncryption-    :: BucketName -- ^ 'gbeBucket'-    -> GetBucketEncryption-getBucketEncryption pBucket_ = GetBucketEncryption' {_gbeBucket = pBucket_}----- | The name of the bucket from which the server-side encryption configuration is retrieved.-gbeBucket :: Lens' GetBucketEncryption BucketName-gbeBucket = lens _gbeBucket (\ s a -> s{_gbeBucket = a})--instance AWSRequest GetBucketEncryption where-        type Rs GetBucketEncryption =-             GetBucketEncryptionResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketEncryptionResponse' <$>-                   (parseXML x) <*> (pure (fromEnum s)))--instance Hashable GetBucketEncryption where--instance NFData GetBucketEncryption where--instance ToHeaders GetBucketEncryption where-        toHeaders = const mempty--instance ToPath GetBucketEncryption where-        toPath GetBucketEncryption'{..}-          = mconcat ["/", toBS _gbeBucket]--instance ToQuery GetBucketEncryption where-        toQuery = const (mconcat ["encryption"])---- | /See:/ 'getBucketEncryptionResponse' smart constructor.-data GetBucketEncryptionResponse = GetBucketEncryptionResponse'-  { _gbersServerSideEncryptionConfiguration :: !(Maybe ServerSideEncryptionConfiguration)-  , _gbersResponseStatus :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketEncryptionResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbersServerSideEncryptionConfiguration' - Undocumented member.------ * 'gbersResponseStatus' - -- | The response status code.-getBucketEncryptionResponse-    :: Int -- ^ 'gbersResponseStatus'-    -> GetBucketEncryptionResponse-getBucketEncryptionResponse pResponseStatus_ =-  GetBucketEncryptionResponse'-    { _gbersServerSideEncryptionConfiguration = Nothing-    , _gbersResponseStatus = pResponseStatus_-    }----- | Undocumented member.-gbersServerSideEncryptionConfiguration :: Lens' GetBucketEncryptionResponse (Maybe ServerSideEncryptionConfiguration)-gbersServerSideEncryptionConfiguration = lens _gbersServerSideEncryptionConfiguration (\ s a -> s{_gbersServerSideEncryptionConfiguration = a})---- | -- | The response status code.-gbersResponseStatus :: Lens' GetBucketEncryptionResponse Int-gbersResponseStatus = lens _gbersResponseStatus (\ s a -> s{_gbersResponseStatus = a})--instance NFData GetBucketEncryptionResponse where
− gen/Network/AWS/S3/GetBucketInventoryConfiguration.hs
@@ -1,139 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketInventoryConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns an inventory configuration (identified by the inventory ID) from the bucket.-module Network.AWS.S3.GetBucketInventoryConfiguration-    (-    -- * Creating a Request-      getBucketInventoryConfiguration-    , GetBucketInventoryConfiguration-    -- * Request Lenses-    , gbicBucket-    , gbicId--    -- * Destructuring the Response-    , getBucketInventoryConfigurationResponse-    , GetBucketInventoryConfigurationResponse-    -- * Response Lenses-    , gbicrsInventoryConfiguration-    , gbicrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketInventoryConfiguration' smart constructor.-data GetBucketInventoryConfiguration = GetBucketInventoryConfiguration'-  { _gbicBucket :: !BucketName-  , _gbicId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketInventoryConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbicBucket' - The name of the bucket containing the inventory configuration to retrieve.------ * 'gbicId' - The ID used to identify the inventory configuration.-getBucketInventoryConfiguration-    :: BucketName -- ^ 'gbicBucket'-    -> Text -- ^ 'gbicId'-    -> GetBucketInventoryConfiguration-getBucketInventoryConfiguration pBucket_ pId_ =-  GetBucketInventoryConfiguration' {_gbicBucket = pBucket_, _gbicId = pId_}----- | The name of the bucket containing the inventory configuration to retrieve.-gbicBucket :: Lens' GetBucketInventoryConfiguration BucketName-gbicBucket = lens _gbicBucket (\ s a -> s{_gbicBucket = a})---- | The ID used to identify the inventory configuration.-gbicId :: Lens' GetBucketInventoryConfiguration Text-gbicId = lens _gbicId (\ s a -> s{_gbicId = a})--instance AWSRequest GetBucketInventoryConfiguration-         where-        type Rs GetBucketInventoryConfiguration =-             GetBucketInventoryConfigurationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketInventoryConfigurationResponse' <$>-                   (parseXML x) <*> (pure (fromEnum s)))--instance Hashable GetBucketInventoryConfiguration-         where--instance NFData GetBucketInventoryConfiguration where--instance ToHeaders GetBucketInventoryConfiguration-         where-        toHeaders = const mempty--instance ToPath GetBucketInventoryConfiguration where-        toPath GetBucketInventoryConfiguration'{..}-          = mconcat ["/", toBS _gbicBucket]--instance ToQuery GetBucketInventoryConfiguration-         where-        toQuery GetBucketInventoryConfiguration'{..}-          = mconcat ["id" =: _gbicId, "inventory"]---- | /See:/ 'getBucketInventoryConfigurationResponse' smart constructor.-data GetBucketInventoryConfigurationResponse = GetBucketInventoryConfigurationResponse'-  { _gbicrsInventoryConfiguration :: !(Maybe InventoryConfiguration)-  , _gbicrsResponseStatus         :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketInventoryConfigurationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbicrsInventoryConfiguration' - Specifies the inventory configuration.------ * 'gbicrsResponseStatus' - -- | The response status code.-getBucketInventoryConfigurationResponse-    :: Int -- ^ 'gbicrsResponseStatus'-    -> GetBucketInventoryConfigurationResponse-getBucketInventoryConfigurationResponse pResponseStatus_ =-  GetBucketInventoryConfigurationResponse'-    { _gbicrsInventoryConfiguration = Nothing-    , _gbicrsResponseStatus = pResponseStatus_-    }----- | Specifies the inventory configuration.-gbicrsInventoryConfiguration :: Lens' GetBucketInventoryConfigurationResponse (Maybe InventoryConfiguration)-gbicrsInventoryConfiguration = lens _gbicrsInventoryConfiguration (\ s a -> s{_gbicrsInventoryConfiguration = a})---- | -- | The response status code.-gbicrsResponseStatus :: Lens' GetBucketInventoryConfigurationResponse Int-gbicrsResponseStatus = lens _gbicrsResponseStatus (\ s a -> s{_gbicrsResponseStatus = a})--instance NFData-           GetBucketInventoryConfigurationResponse-         where
− gen/Network/AWS/S3/GetBucketLifecycleConfiguration.hs
@@ -1,128 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketLifecycleConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the lifecycle configuration information set on the bucket.-module Network.AWS.S3.GetBucketLifecycleConfiguration-    (-    -- * Creating a Request-      getBucketLifecycleConfiguration-    , GetBucketLifecycleConfiguration-    -- * Request Lenses-    , gblcBucket--    -- * Destructuring the Response-    , getBucketLifecycleConfigurationResponse-    , GetBucketLifecycleConfigurationResponse-    -- * Response Lenses-    , gblcrsRules-    , gblcrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketLifecycleConfiguration' smart constructor.-newtype GetBucketLifecycleConfiguration = GetBucketLifecycleConfiguration'-  { _gblcBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketLifecycleConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gblcBucket' - Undocumented member.-getBucketLifecycleConfiguration-    :: BucketName -- ^ 'gblcBucket'-    -> GetBucketLifecycleConfiguration-getBucketLifecycleConfiguration pBucket_ =-  GetBucketLifecycleConfiguration' {_gblcBucket = pBucket_}----- | Undocumented member.-gblcBucket :: Lens' GetBucketLifecycleConfiguration BucketName-gblcBucket = lens _gblcBucket (\ s a -> s{_gblcBucket = a})--instance AWSRequest GetBucketLifecycleConfiguration-         where-        type Rs GetBucketLifecycleConfiguration =-             GetBucketLifecycleConfigurationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketLifecycleConfigurationResponse' <$>-                   (may (parseXMLList "Rule") x) <*>-                     (pure (fromEnum s)))--instance Hashable GetBucketLifecycleConfiguration-         where--instance NFData GetBucketLifecycleConfiguration where--instance ToHeaders GetBucketLifecycleConfiguration-         where-        toHeaders = const mempty--instance ToPath GetBucketLifecycleConfiguration where-        toPath GetBucketLifecycleConfiguration'{..}-          = mconcat ["/", toBS _gblcBucket]--instance ToQuery GetBucketLifecycleConfiguration-         where-        toQuery = const (mconcat ["lifecycle"])---- | /See:/ 'getBucketLifecycleConfigurationResponse' smart constructor.-data GetBucketLifecycleConfigurationResponse = GetBucketLifecycleConfigurationResponse'-  { _gblcrsRules          :: !(Maybe [LifecycleRule])-  , _gblcrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketLifecycleConfigurationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gblcrsRules' - Undocumented member.------ * 'gblcrsResponseStatus' - -- | The response status code.-getBucketLifecycleConfigurationResponse-    :: Int -- ^ 'gblcrsResponseStatus'-    -> GetBucketLifecycleConfigurationResponse-getBucketLifecycleConfigurationResponse pResponseStatus_ =-  GetBucketLifecycleConfigurationResponse'-    {_gblcrsRules = Nothing, _gblcrsResponseStatus = pResponseStatus_}----- | Undocumented member.-gblcrsRules :: Lens' GetBucketLifecycleConfigurationResponse [LifecycleRule]-gblcrsRules = lens _gblcrsRules (\ s a -> s{_gblcrsRules = a}) . _Default . _Coerce---- | -- | The response status code.-gblcrsResponseStatus :: Lens' GetBucketLifecycleConfigurationResponse Int-gblcrsResponseStatus = lens _gblcrsResponseStatus (\ s a -> s{_gblcrsResponseStatus = a})--instance NFData-           GetBucketLifecycleConfigurationResponse-         where
− gen/Network/AWS/S3/GetBucketLocation.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketLocation--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the region the bucket resides in.-module Network.AWS.S3.GetBucketLocation-    (-    -- * Creating a Request-      getBucketLocation-    , GetBucketLocation-    -- * Request Lenses-    , gblBucket--    -- * Destructuring the Response-    , getBucketLocationResponse-    , GetBucketLocationResponse-    -- * Response Lenses-    , gblbrsResponseStatus-    , gblbrsLocationConstraint-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketLocation' smart constructor.-newtype GetBucketLocation = GetBucketLocation'-  { _gblBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gblBucket' - Undocumented member.-getBucketLocation-    :: BucketName -- ^ 'gblBucket'-    -> GetBucketLocation-getBucketLocation pBucket_ = GetBucketLocation' {_gblBucket = pBucket_}----- | Undocumented member.-gblBucket :: Lens' GetBucketLocation BucketName-gblBucket = lens _gblBucket (\ s a -> s{_gblBucket = a})--instance AWSRequest GetBucketLocation where-        type Rs GetBucketLocation = GetBucketLocationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketLocationResponse' <$>-                   (pure (fromEnum s)) <*> (parseXML x))--instance Hashable GetBucketLocation where--instance NFData GetBucketLocation where--instance ToHeaders GetBucketLocation where-        toHeaders = const mempty--instance ToPath GetBucketLocation where-        toPath GetBucketLocation'{..}-          = mconcat ["/", toBS _gblBucket]--instance ToQuery GetBucketLocation where-        toQuery = const (mconcat ["location"])---- | /See:/ 'getBucketLocationResponse' smart constructor.-data GetBucketLocationResponse = GetBucketLocationResponse'-  { _gblbrsResponseStatus     :: !Int-  , _gblbrsLocationConstraint :: !LocationConstraint-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketLocationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gblbrsResponseStatus' - -- | The response status code.------ * 'gblbrsLocationConstraint' - Undocumented member.-getBucketLocationResponse-    :: Int -- ^ 'gblbrsResponseStatus'-    -> LocationConstraint -- ^ 'gblbrsLocationConstraint'-    -> GetBucketLocationResponse-getBucketLocationResponse pResponseStatus_ pLocationConstraint_ =-  GetBucketLocationResponse'-    { _gblbrsResponseStatus = pResponseStatus_-    , _gblbrsLocationConstraint = pLocationConstraint_-    }----- | -- | The response status code.-gblbrsResponseStatus :: Lens' GetBucketLocationResponse Int-gblbrsResponseStatus = lens _gblbrsResponseStatus (\ s a -> s{_gblbrsResponseStatus = a})---- | Undocumented member.-gblbrsLocationConstraint :: Lens' GetBucketLocationResponse LocationConstraint-gblbrsLocationConstraint = lens _gblbrsLocationConstraint (\ s a -> s{_gblbrsLocationConstraint = a})--instance NFData GetBucketLocationResponse where
− gen/Network/AWS/S3/GetBucketLogging.hs
@@ -1,119 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketLogging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the logging status of a bucket and the permissions users have to view and modify that status. To use GET, you must be the bucket owner.-module Network.AWS.S3.GetBucketLogging-    (-    -- * Creating a Request-      getBucketLogging-    , GetBucketLogging-    -- * Request Lenses-    , gBucket--    -- * Destructuring the Response-    , getBucketLoggingResponse-    , GetBucketLoggingResponse-    -- * Response Lenses-    , gblrsLoggingEnabled-    , gblrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketLogging' smart constructor.-newtype GetBucketLogging = GetBucketLogging'-  { _gBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketLogging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gBucket' - Undocumented member.-getBucketLogging-    :: BucketName -- ^ 'gBucket'-    -> GetBucketLogging-getBucketLogging pBucket_ = GetBucketLogging' {_gBucket = pBucket_}----- | Undocumented member.-gBucket :: Lens' GetBucketLogging BucketName-gBucket = lens _gBucket (\ s a -> s{_gBucket = a})--instance AWSRequest GetBucketLogging where-        type Rs GetBucketLogging = GetBucketLoggingResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketLoggingResponse' <$>-                   (x .@? "LoggingEnabled") <*> (pure (fromEnum s)))--instance Hashable GetBucketLogging where--instance NFData GetBucketLogging where--instance ToHeaders GetBucketLogging where-        toHeaders = const mempty--instance ToPath GetBucketLogging where-        toPath GetBucketLogging'{..}-          = mconcat ["/", toBS _gBucket]--instance ToQuery GetBucketLogging where-        toQuery = const (mconcat ["logging"])---- | /See:/ 'getBucketLoggingResponse' smart constructor.-data GetBucketLoggingResponse = GetBucketLoggingResponse'-  { _gblrsLoggingEnabled :: !(Maybe LoggingEnabled)-  , _gblrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketLoggingResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gblrsLoggingEnabled' - Undocumented member.------ * 'gblrsResponseStatus' - -- | The response status code.-getBucketLoggingResponse-    :: Int -- ^ 'gblrsResponseStatus'-    -> GetBucketLoggingResponse-getBucketLoggingResponse pResponseStatus_ =-  GetBucketLoggingResponse'-    {_gblrsLoggingEnabled = Nothing, _gblrsResponseStatus = pResponseStatus_}----- | Undocumented member.-gblrsLoggingEnabled :: Lens' GetBucketLoggingResponse (Maybe LoggingEnabled)-gblrsLoggingEnabled = lens _gblrsLoggingEnabled (\ s a -> s{_gblrsLoggingEnabled = a})---- | -- | The response status code.-gblrsResponseStatus :: Lens' GetBucketLoggingResponse Int-gblrsResponseStatus = lens _gblrsResponseStatus (\ s a -> s{_gblrsResponseStatus = a})--instance NFData GetBucketLoggingResponse where
− gen/Network/AWS/S3/GetBucketMetricsConfiguration.hs
@@ -1,136 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketMetricsConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Gets a metrics configuration (specified by the metrics configuration ID) from the bucket.-module Network.AWS.S3.GetBucketMetricsConfiguration-    (-    -- * Creating a Request-      getBucketMetricsConfiguration-    , GetBucketMetricsConfiguration-    -- * Request Lenses-    , gbmcBucket-    , gbmcId--    -- * Destructuring the Response-    , getBucketMetricsConfigurationResponse-    , GetBucketMetricsConfigurationResponse-    -- * Response Lenses-    , gbmcrsMetricsConfiguration-    , gbmcrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketMetricsConfiguration' smart constructor.-data GetBucketMetricsConfiguration = GetBucketMetricsConfiguration'-  { _gbmcBucket :: !BucketName-  , _gbmcId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketMetricsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbmcBucket' - The name of the bucket containing the metrics configuration to retrieve.------ * 'gbmcId' - The ID used to identify the metrics configuration.-getBucketMetricsConfiguration-    :: BucketName -- ^ 'gbmcBucket'-    -> Text -- ^ 'gbmcId'-    -> GetBucketMetricsConfiguration-getBucketMetricsConfiguration pBucket_ pId_ =-  GetBucketMetricsConfiguration' {_gbmcBucket = pBucket_, _gbmcId = pId_}----- | The name of the bucket containing the metrics configuration to retrieve.-gbmcBucket :: Lens' GetBucketMetricsConfiguration BucketName-gbmcBucket = lens _gbmcBucket (\ s a -> s{_gbmcBucket = a})---- | The ID used to identify the metrics configuration.-gbmcId :: Lens' GetBucketMetricsConfiguration Text-gbmcId = lens _gbmcId (\ s a -> s{_gbmcId = a})--instance AWSRequest GetBucketMetricsConfiguration-         where-        type Rs GetBucketMetricsConfiguration =-             GetBucketMetricsConfigurationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketMetricsConfigurationResponse' <$>-                   (parseXML x) <*> (pure (fromEnum s)))--instance Hashable GetBucketMetricsConfiguration where--instance NFData GetBucketMetricsConfiguration where--instance ToHeaders GetBucketMetricsConfiguration-         where-        toHeaders = const mempty--instance ToPath GetBucketMetricsConfiguration where-        toPath GetBucketMetricsConfiguration'{..}-          = mconcat ["/", toBS _gbmcBucket]--instance ToQuery GetBucketMetricsConfiguration where-        toQuery GetBucketMetricsConfiguration'{..}-          = mconcat ["id" =: _gbmcId, "metrics"]---- | /See:/ 'getBucketMetricsConfigurationResponse' smart constructor.-data GetBucketMetricsConfigurationResponse = GetBucketMetricsConfigurationResponse'-  { _gbmcrsMetricsConfiguration :: !(Maybe MetricsConfiguration)-  , _gbmcrsResponseStatus       :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketMetricsConfigurationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbmcrsMetricsConfiguration' - Specifies the metrics configuration.------ * 'gbmcrsResponseStatus' - -- | The response status code.-getBucketMetricsConfigurationResponse-    :: Int -- ^ 'gbmcrsResponseStatus'-    -> GetBucketMetricsConfigurationResponse-getBucketMetricsConfigurationResponse pResponseStatus_ =-  GetBucketMetricsConfigurationResponse'-    { _gbmcrsMetricsConfiguration = Nothing-    , _gbmcrsResponseStatus = pResponseStatus_-    }----- | Specifies the metrics configuration.-gbmcrsMetricsConfiguration :: Lens' GetBucketMetricsConfigurationResponse (Maybe MetricsConfiguration)-gbmcrsMetricsConfiguration = lens _gbmcrsMetricsConfiguration (\ s a -> s{_gbmcrsMetricsConfiguration = a})---- | -- | The response status code.-gbmcrsResponseStatus :: Lens' GetBucketMetricsConfigurationResponse Int-gbmcrsResponseStatus = lens _gbmcrsResponseStatus (\ s a -> s{_gbmcrsResponseStatus = a})--instance NFData GetBucketMetricsConfigurationResponse-         where
− gen/Network/AWS/S3/GetBucketNotificationConfiguration.hs
@@ -1,93 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketNotificationConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the notification configuration of a bucket.-module Network.AWS.S3.GetBucketNotificationConfiguration-    (-    -- * Creating a Request-      getBucketNotificationConfiguration-    , GetBucketNotificationConfiguration-    -- * Request Lenses-    , gbncBucket--    -- * Destructuring the Response-    , notificationConfiguration-    , NotificationConfiguration-    -- * Response Lenses-    , ncQueueConfigurations-    , ncTopicConfigurations-    , ncLambdaFunctionConfigurations-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketNotificationConfiguration' smart constructor.-newtype GetBucketNotificationConfiguration = GetBucketNotificationConfiguration'-  { _gbncBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketNotificationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbncBucket' - Name of the bucket to get the notification configuration for.-getBucketNotificationConfiguration-    :: BucketName -- ^ 'gbncBucket'-    -> GetBucketNotificationConfiguration-getBucketNotificationConfiguration pBucket_ =-  GetBucketNotificationConfiguration' {_gbncBucket = pBucket_}----- | Name of the bucket to get the notification configuration for.-gbncBucket :: Lens' GetBucketNotificationConfiguration BucketName-gbncBucket = lens _gbncBucket (\ s a -> s{_gbncBucket = a})--instance AWSRequest-           GetBucketNotificationConfiguration-         where-        type Rs GetBucketNotificationConfiguration =-             NotificationConfiguration-        request = get s3-        response = receiveXML (\ s h x -> parseXML x)--instance Hashable GetBucketNotificationConfiguration-         where--instance NFData GetBucketNotificationConfiguration-         where--instance ToHeaders GetBucketNotificationConfiguration-         where-        toHeaders = const mempty--instance ToPath GetBucketNotificationConfiguration-         where-        toPath GetBucketNotificationConfiguration'{..}-          = mconcat ["/", toBS _gbncBucket]--instance ToQuery GetBucketNotificationConfiguration-         where-        toQuery = const (mconcat ["notification"])
− gen/Network/AWS/S3/GetBucketPolicy.hs
@@ -1,120 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketPolicy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the policy of a specified bucket.-module Network.AWS.S3.GetBucketPolicy-    (-    -- * Creating a Request-      getBucketPolicy-    , GetBucketPolicy-    -- * Request Lenses-    , gbpBucket--    -- * Destructuring the Response-    , getBucketPolicyResponse-    , GetBucketPolicyResponse-    -- * Response Lenses-    , gbprsResponseStatus-    , gbprsPolicy-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketPolicy' smart constructor.-newtype GetBucketPolicy = GetBucketPolicy'-  { _gbpBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbpBucket' - Undocumented member.-getBucketPolicy-    :: BucketName -- ^ 'gbpBucket'-    -> GetBucketPolicy-getBucketPolicy pBucket_ = GetBucketPolicy' {_gbpBucket = pBucket_}----- | Undocumented member.-gbpBucket :: Lens' GetBucketPolicy BucketName-gbpBucket = lens _gbpBucket (\ s a -> s{_gbpBucket = a})--instance AWSRequest GetBucketPolicy where-        type Rs GetBucketPolicy = GetBucketPolicyResponse-        request = get s3-        response-          = receiveBytes-              (\ s h x ->-                 GetBucketPolicyResponse' <$>-                   (pure (fromEnum s)) <*> (pure x))--instance Hashable GetBucketPolicy where--instance NFData GetBucketPolicy where--instance ToHeaders GetBucketPolicy where-        toHeaders = const mempty--instance ToPath GetBucketPolicy where-        toPath GetBucketPolicy'{..}-          = mconcat ["/", toBS _gbpBucket]--instance ToQuery GetBucketPolicy where-        toQuery = const (mconcat ["policy"])---- | /See:/ 'getBucketPolicyResponse' smart constructor.-data GetBucketPolicyResponse = GetBucketPolicyResponse'-  { _gbprsResponseStatus :: !Int-  , _gbprsPolicy         :: !ByteString-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketPolicyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbprsResponseStatus' - -- | The response status code.------ * 'gbprsPolicy' - The bucket policy as a JSON document.-getBucketPolicyResponse-    :: Int -- ^ 'gbprsResponseStatus'-    -> ByteString -- ^ 'gbprsPolicy'-    -> GetBucketPolicyResponse-getBucketPolicyResponse pResponseStatus_ pPolicy_ =-  GetBucketPolicyResponse'-    {_gbprsResponseStatus = pResponseStatus_, _gbprsPolicy = pPolicy_}----- | -- | The response status code.-gbprsResponseStatus :: Lens' GetBucketPolicyResponse Int-gbprsResponseStatus = lens _gbprsResponseStatus (\ s a -> s{_gbprsResponseStatus = a})---- | The bucket policy as a JSON document.-gbprsPolicy :: Lens' GetBucketPolicyResponse ByteString-gbprsPolicy = lens _gbprsPolicy (\ s a -> s{_gbprsPolicy = a})--instance NFData GetBucketPolicyResponse where
− gen/Network/AWS/S3/GetBucketReplication.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketReplication--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the replication configuration of a bucket.-module Network.AWS.S3.GetBucketReplication-    (-    -- * Creating a Request-      getBucketReplication-    , GetBucketReplication-    -- * Request Lenses-    , gbrBucket--    -- * Destructuring the Response-    , getBucketReplicationResponse-    , GetBucketReplicationResponse-    -- * Response Lenses-    , gbrrsReplicationConfiguration-    , gbrrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketReplication' smart constructor.-newtype GetBucketReplication = GetBucketReplication'-  { _gbrBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketReplication' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbrBucket' - Undocumented member.-getBucketReplication-    :: BucketName -- ^ 'gbrBucket'-    -> GetBucketReplication-getBucketReplication pBucket_ = GetBucketReplication' {_gbrBucket = pBucket_}----- | Undocumented member.-gbrBucket :: Lens' GetBucketReplication BucketName-gbrBucket = lens _gbrBucket (\ s a -> s{_gbrBucket = a})--instance AWSRequest GetBucketReplication where-        type Rs GetBucketReplication =-             GetBucketReplicationResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketReplicationResponse' <$>-                   (parseXML x) <*> (pure (fromEnum s)))--instance Hashable GetBucketReplication where--instance NFData GetBucketReplication where--instance ToHeaders GetBucketReplication where-        toHeaders = const mempty--instance ToPath GetBucketReplication where-        toPath GetBucketReplication'{..}-          = mconcat ["/", toBS _gbrBucket]--instance ToQuery GetBucketReplication where-        toQuery = const (mconcat ["replication"])---- | /See:/ 'getBucketReplicationResponse' smart constructor.-data GetBucketReplicationResponse = GetBucketReplicationResponse'-  { _gbrrsReplicationConfiguration :: !(Maybe ReplicationConfiguration)-  , _gbrrsResponseStatus           :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketReplicationResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbrrsReplicationConfiguration' - Undocumented member.------ * 'gbrrsResponseStatus' - -- | The response status code.-getBucketReplicationResponse-    :: Int -- ^ 'gbrrsResponseStatus'-    -> GetBucketReplicationResponse-getBucketReplicationResponse pResponseStatus_ =-  GetBucketReplicationResponse'-    { _gbrrsReplicationConfiguration = Nothing-    , _gbrrsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-gbrrsReplicationConfiguration :: Lens' GetBucketReplicationResponse (Maybe ReplicationConfiguration)-gbrrsReplicationConfiguration = lens _gbrrsReplicationConfiguration (\ s a -> s{_gbrrsReplicationConfiguration = a})---- | -- | The response status code.-gbrrsResponseStatus :: Lens' GetBucketReplicationResponse Int-gbrrsResponseStatus = lens _gbrrsResponseStatus (\ s a -> s{_gbrrsResponseStatus = a})--instance NFData GetBucketReplicationResponse where
− gen/Network/AWS/S3/GetBucketRequestPayment.hs
@@ -1,121 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketRequestPayment--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the request payment configuration of a bucket.-module Network.AWS.S3.GetBucketRequestPayment-    (-    -- * Creating a Request-      getBucketRequestPayment-    , GetBucketRequestPayment-    -- * Request Lenses-    , gbrpBucket--    -- * Destructuring the Response-    , getBucketRequestPaymentResponse-    , GetBucketRequestPaymentResponse-    -- * Response Lenses-    , gbrprsPayer-    , gbrprsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketRequestPayment' smart constructor.-newtype GetBucketRequestPayment = GetBucketRequestPayment'-  { _gbrpBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketRequestPayment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbrpBucket' - Undocumented member.-getBucketRequestPayment-    :: BucketName -- ^ 'gbrpBucket'-    -> GetBucketRequestPayment-getBucketRequestPayment pBucket_ =-  GetBucketRequestPayment' {_gbrpBucket = pBucket_}----- | Undocumented member.-gbrpBucket :: Lens' GetBucketRequestPayment BucketName-gbrpBucket = lens _gbrpBucket (\ s a -> s{_gbrpBucket = a})--instance AWSRequest GetBucketRequestPayment where-        type Rs GetBucketRequestPayment =-             GetBucketRequestPaymentResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketRequestPaymentResponse' <$>-                   (x .@? "Payer") <*> (pure (fromEnum s)))--instance Hashable GetBucketRequestPayment where--instance NFData GetBucketRequestPayment where--instance ToHeaders GetBucketRequestPayment where-        toHeaders = const mempty--instance ToPath GetBucketRequestPayment where-        toPath GetBucketRequestPayment'{..}-          = mconcat ["/", toBS _gbrpBucket]--instance ToQuery GetBucketRequestPayment where-        toQuery = const (mconcat ["requestPayment"])---- | /See:/ 'getBucketRequestPaymentResponse' smart constructor.-data GetBucketRequestPaymentResponse = GetBucketRequestPaymentResponse'-  { _gbrprsPayer          :: !(Maybe Payer)-  , _gbrprsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketRequestPaymentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbrprsPayer' - Specifies who pays for the download and request fees.------ * 'gbrprsResponseStatus' - -- | The response status code.-getBucketRequestPaymentResponse-    :: Int -- ^ 'gbrprsResponseStatus'-    -> GetBucketRequestPaymentResponse-getBucketRequestPaymentResponse pResponseStatus_ =-  GetBucketRequestPaymentResponse'-    {_gbrprsPayer = Nothing, _gbrprsResponseStatus = pResponseStatus_}----- | Specifies who pays for the download and request fees.-gbrprsPayer :: Lens' GetBucketRequestPaymentResponse (Maybe Payer)-gbrprsPayer = lens _gbrprsPayer (\ s a -> s{_gbrprsPayer = a})---- | -- | The response status code.-gbrprsResponseStatus :: Lens' GetBucketRequestPaymentResponse Int-gbrprsResponseStatus = lens _gbrprsResponseStatus (\ s a -> s{_gbrprsResponseStatus = a})--instance NFData GetBucketRequestPaymentResponse where
− gen/Network/AWS/S3/GetBucketTagging.hs
@@ -1,120 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketTagging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the tag set associated with the bucket.-module Network.AWS.S3.GetBucketTagging-    (-    -- * Creating a Request-      getBucketTagging-    , GetBucketTagging-    -- * Request Lenses-    , gbtBucket--    -- * Destructuring the Response-    , getBucketTaggingResponse-    , GetBucketTaggingResponse-    -- * Response Lenses-    , gbtrsResponseStatus-    , gbtrsTagSet-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketTagging' smart constructor.-newtype GetBucketTagging = GetBucketTagging'-  { _gbtBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketTagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbtBucket' - Undocumented member.-getBucketTagging-    :: BucketName -- ^ 'gbtBucket'-    -> GetBucketTagging-getBucketTagging pBucket_ = GetBucketTagging' {_gbtBucket = pBucket_}----- | Undocumented member.-gbtBucket :: Lens' GetBucketTagging BucketName-gbtBucket = lens _gbtBucket (\ s a -> s{_gbtBucket = a})--instance AWSRequest GetBucketTagging where-        type Rs GetBucketTagging = GetBucketTaggingResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketTaggingResponse' <$>-                   (pure (fromEnum s)) <*>-                     (x .@? "TagSet" .!@ mempty >>= parseXMLList "Tag"))--instance Hashable GetBucketTagging where--instance NFData GetBucketTagging where--instance ToHeaders GetBucketTagging where-        toHeaders = const mempty--instance ToPath GetBucketTagging where-        toPath GetBucketTagging'{..}-          = mconcat ["/", toBS _gbtBucket]--instance ToQuery GetBucketTagging where-        toQuery = const (mconcat ["tagging"])---- | /See:/ 'getBucketTaggingResponse' smart constructor.-data GetBucketTaggingResponse = GetBucketTaggingResponse'-  { _gbtrsResponseStatus :: !Int-  , _gbtrsTagSet         :: ![Tag]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketTaggingResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbtrsResponseStatus' - -- | The response status code.------ * 'gbtrsTagSet' - Undocumented member.-getBucketTaggingResponse-    :: Int -- ^ 'gbtrsResponseStatus'-    -> GetBucketTaggingResponse-getBucketTaggingResponse pResponseStatus_ =-  GetBucketTaggingResponse'-    {_gbtrsResponseStatus = pResponseStatus_, _gbtrsTagSet = mempty}----- | -- | The response status code.-gbtrsResponseStatus :: Lens' GetBucketTaggingResponse Int-gbtrsResponseStatus = lens _gbtrsResponseStatus (\ s a -> s{_gbtrsResponseStatus = a})---- | Undocumented member.-gbtrsTagSet :: Lens' GetBucketTaggingResponse [Tag]-gbtrsTagSet = lens _gbtrsTagSet (\ s a -> s{_gbtrsTagSet = a}) . _Coerce--instance NFData GetBucketTaggingResponse where
− gen/Network/AWS/S3/GetBucketVersioning.hs
@@ -1,132 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketVersioning--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the versioning state of a bucket.-module Network.AWS.S3.GetBucketVersioning-    (-    -- * Creating a Request-      getBucketVersioning-    , GetBucketVersioning-    -- * Request Lenses-    , gbvBucket--    -- * Destructuring the Response-    , getBucketVersioningResponse-    , GetBucketVersioningResponse-    -- * Response Lenses-    , gbvrsStatus-    , gbvrsMFADelete-    , gbvrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketVersioning' smart constructor.-newtype GetBucketVersioning = GetBucketVersioning'-  { _gbvBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketVersioning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbvBucket' - Undocumented member.-getBucketVersioning-    :: BucketName -- ^ 'gbvBucket'-    -> GetBucketVersioning-getBucketVersioning pBucket_ = GetBucketVersioning' {_gbvBucket = pBucket_}----- | Undocumented member.-gbvBucket :: Lens' GetBucketVersioning BucketName-gbvBucket = lens _gbvBucket (\ s a -> s{_gbvBucket = a})--instance AWSRequest GetBucketVersioning where-        type Rs GetBucketVersioning =-             GetBucketVersioningResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketVersioningResponse' <$>-                   (x .@? "Status") <*> (x .@? "MfaDelete") <*>-                     (pure (fromEnum s)))--instance Hashable GetBucketVersioning where--instance NFData GetBucketVersioning where--instance ToHeaders GetBucketVersioning where-        toHeaders = const mempty--instance ToPath GetBucketVersioning where-        toPath GetBucketVersioning'{..}-          = mconcat ["/", toBS _gbvBucket]--instance ToQuery GetBucketVersioning where-        toQuery = const (mconcat ["versioning"])---- | /See:/ 'getBucketVersioningResponse' smart constructor.-data GetBucketVersioningResponse = GetBucketVersioningResponse'-  { _gbvrsStatus         :: !(Maybe BucketVersioningStatus)-  , _gbvrsMFADelete      :: !(Maybe MFADeleteStatus)-  , _gbvrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketVersioningResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbvrsStatus' - The versioning state of the bucket.------ * 'gbvrsMFADelete' - Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.------ * 'gbvrsResponseStatus' - -- | The response status code.-getBucketVersioningResponse-    :: Int -- ^ 'gbvrsResponseStatus'-    -> GetBucketVersioningResponse-getBucketVersioningResponse pResponseStatus_ =-  GetBucketVersioningResponse'-    { _gbvrsStatus = Nothing-    , _gbvrsMFADelete = Nothing-    , _gbvrsResponseStatus = pResponseStatus_-    }----- | The versioning state of the bucket.-gbvrsStatus :: Lens' GetBucketVersioningResponse (Maybe BucketVersioningStatus)-gbvrsStatus = lens _gbvrsStatus (\ s a -> s{_gbvrsStatus = a})---- | Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.-gbvrsMFADelete :: Lens' GetBucketVersioningResponse (Maybe MFADeleteStatus)-gbvrsMFADelete = lens _gbvrsMFADelete (\ s a -> s{_gbvrsMFADelete = a})---- | -- | The response status code.-gbvrsResponseStatus :: Lens' GetBucketVersioningResponse Int-gbvrsResponseStatus = lens _gbvrsResponseStatus (\ s a -> s{_gbvrsResponseStatus = a})--instance NFData GetBucketVersioningResponse where
− gen/Network/AWS/S3/GetBucketWebsite.hs
@@ -1,154 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetBucketWebsite--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the website configuration for a bucket.-module Network.AWS.S3.GetBucketWebsite-    (-    -- * Creating a Request-      getBucketWebsite-    , GetBucketWebsite-    -- * Request Lenses-    , gbwBucket--    -- * Destructuring the Response-    , getBucketWebsiteResponse-    , GetBucketWebsiteResponse-    -- * Response Lenses-    , gbwrsRedirectAllRequestsTo-    , gbwrsErrorDocument-    , gbwrsIndexDocument-    , gbwrsRoutingRules-    , gbwrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getBucketWebsite' smart constructor.-newtype GetBucketWebsite = GetBucketWebsite'-  { _gbwBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketWebsite' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbwBucket' - Undocumented member.-getBucketWebsite-    :: BucketName -- ^ 'gbwBucket'-    -> GetBucketWebsite-getBucketWebsite pBucket_ = GetBucketWebsite' {_gbwBucket = pBucket_}----- | Undocumented member.-gbwBucket :: Lens' GetBucketWebsite BucketName-gbwBucket = lens _gbwBucket (\ s a -> s{_gbwBucket = a})--instance AWSRequest GetBucketWebsite where-        type Rs GetBucketWebsite = GetBucketWebsiteResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetBucketWebsiteResponse' <$>-                   (x .@? "RedirectAllRequestsTo") <*>-                     (x .@? "ErrorDocument")-                     <*> (x .@? "IndexDocument")-                     <*>-                     (x .@? "RoutingRules" .!@ mempty >>=-                        may (parseXMLList "RoutingRule"))-                     <*> (pure (fromEnum s)))--instance Hashable GetBucketWebsite where--instance NFData GetBucketWebsite where--instance ToHeaders GetBucketWebsite where-        toHeaders = const mempty--instance ToPath GetBucketWebsite where-        toPath GetBucketWebsite'{..}-          = mconcat ["/", toBS _gbwBucket]--instance ToQuery GetBucketWebsite where-        toQuery = const (mconcat ["website"])---- | /See:/ 'getBucketWebsiteResponse' smart constructor.-data GetBucketWebsiteResponse = GetBucketWebsiteResponse'-  { _gbwrsRedirectAllRequestsTo :: !(Maybe RedirectAllRequestsTo)-  , _gbwrsErrorDocument         :: !(Maybe ErrorDocument)-  , _gbwrsIndexDocument         :: !(Maybe IndexDocument)-  , _gbwrsRoutingRules          :: !(Maybe [RoutingRule])-  , _gbwrsResponseStatus        :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetBucketWebsiteResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gbwrsRedirectAllRequestsTo' - Undocumented member.------ * 'gbwrsErrorDocument' - Undocumented member.------ * 'gbwrsIndexDocument' - Undocumented member.------ * 'gbwrsRoutingRules' - Undocumented member.------ * 'gbwrsResponseStatus' - -- | The response status code.-getBucketWebsiteResponse-    :: Int -- ^ 'gbwrsResponseStatus'-    -> GetBucketWebsiteResponse-getBucketWebsiteResponse pResponseStatus_ =-  GetBucketWebsiteResponse'-    { _gbwrsRedirectAllRequestsTo = Nothing-    , _gbwrsErrorDocument = Nothing-    , _gbwrsIndexDocument = Nothing-    , _gbwrsRoutingRules = Nothing-    , _gbwrsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-gbwrsRedirectAllRequestsTo :: Lens' GetBucketWebsiteResponse (Maybe RedirectAllRequestsTo)-gbwrsRedirectAllRequestsTo = lens _gbwrsRedirectAllRequestsTo (\ s a -> s{_gbwrsRedirectAllRequestsTo = a})---- | Undocumented member.-gbwrsErrorDocument :: Lens' GetBucketWebsiteResponse (Maybe ErrorDocument)-gbwrsErrorDocument = lens _gbwrsErrorDocument (\ s a -> s{_gbwrsErrorDocument = a})---- | Undocumented member.-gbwrsIndexDocument :: Lens' GetBucketWebsiteResponse (Maybe IndexDocument)-gbwrsIndexDocument = lens _gbwrsIndexDocument (\ s a -> s{_gbwrsIndexDocument = a})---- | Undocumented member.-gbwrsRoutingRules :: Lens' GetBucketWebsiteResponse [RoutingRule]-gbwrsRoutingRules = lens _gbwrsRoutingRules (\ s a -> s{_gbwrsRoutingRules = a}) . _Default . _Coerce---- | -- | The response status code.-gbwrsResponseStatus :: Lens' GetBucketWebsiteResponse Int-gbwrsResponseStatus = lens _gbwrsResponseStatus (\ s a -> s{_gbwrsResponseStatus = a})--instance NFData GetBucketWebsiteResponse where
− gen/Network/AWS/S3/GetObject.hs
@@ -1,587 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetObject--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Retrieves objects from Amazon S3.-module Network.AWS.S3.GetObject-    (-    -- * Creating a Request-      getObject-    , GetObject-    -- * Request Lenses-    , goIfMatch-    , goVersionId-    , goResponseContentType-    , goResponseContentDisposition-    , goResponseContentLanguage-    , goSSECustomerAlgorithm-    , goSSECustomerKey-    , goRequestPayer-    , goResponseContentEncoding-    , goIfModifiedSince-    , goPartNumber-    , goRange-    , goIfUnmodifiedSince-    , goSSECustomerKeyMD5-    , goResponseCacheControl-    , goResponseExpires-    , goIfNoneMatch-    , goBucket-    , goKey--    -- * Destructuring the Response-    , getObjectResponse-    , GetObjectResponse-    -- * Response Lenses-    , gorsRequestCharged-    , gorsPartsCount-    , gorsETag-    , gorsVersionId-    , gorsContentLength-    , gorsExpires-    , gorsRestore-    , gorsExpiration-    , gorsDeleteMarker-    , gorsSSECustomerAlgorithm-    , gorsTagCount-    , gorsMissingMeta-    , gorsWebsiteRedirectLocation-    , gorsAcceptRanges-    , gorsStorageClass-    , gorsSSECustomerKeyMD5-    , gorsSSEKMSKeyId-    , gorsContentEncoding-    , gorsMetadata-    , gorsReplicationStatus-    , gorsCacheControl-    , gorsContentLanguage-    , gorsLastModified-    , gorsContentDisposition-    , gorsContentRange-    , gorsServerSideEncryption-    , gorsContentType-    , gorsResponseStatus-    , gorsBody-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getObject' smart constructor.-data GetObject = GetObject'-  { _goIfMatch                    :: !(Maybe Text)-  , _goVersionId                  :: !(Maybe ObjectVersionId)-  , _goResponseContentType        :: !(Maybe Text)-  , _goResponseContentDisposition :: !(Maybe Text)-  , _goResponseContentLanguage    :: !(Maybe Text)-  , _goSSECustomerAlgorithm       :: !(Maybe Text)-  , _goSSECustomerKey             :: !(Maybe (Sensitive Text))-  , _goRequestPayer               :: !(Maybe RequestPayer)-  , _goResponseContentEncoding    :: !(Maybe Text)-  , _goIfModifiedSince            :: !(Maybe RFC822)-  , _goPartNumber                 :: !(Maybe Int)-  , _goRange                      :: !(Maybe Text)-  , _goIfUnmodifiedSince          :: !(Maybe RFC822)-  , _goSSECustomerKeyMD5          :: !(Maybe Text)-  , _goResponseCacheControl       :: !(Maybe Text)-  , _goResponseExpires            :: !(Maybe RFC822)-  , _goIfNoneMatch                :: !(Maybe Text)-  , _goBucket                     :: !BucketName-  , _goKey                        :: !ObjectKey-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'GetObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'goIfMatch' - Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).------ * 'goVersionId' - VersionId used to reference a specific version of the object.------ * 'goResponseContentType' - Sets the Content-Type header of the response.------ * 'goResponseContentDisposition' - Sets the Content-Disposition header of the response------ * 'goResponseContentLanguage' - Sets the Content-Language header of the response.------ * 'goSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'goSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.------ * 'goRequestPayer' - Undocumented member.------ * 'goResponseContentEncoding' - Sets the Content-Encoding header of the response.------ * 'goIfModifiedSince' - Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).------ * 'goPartNumber' - Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.------ * 'goRange' - Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.------ * 'goIfUnmodifiedSince' - Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).------ * 'goSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'goResponseCacheControl' - Sets the Cache-Control header of the response.------ * 'goResponseExpires' - Sets the Expires header of the response.------ * 'goIfNoneMatch' - Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).------ * 'goBucket' - Undocumented member.------ * 'goKey' - Undocumented member.-getObject-    :: BucketName -- ^ 'goBucket'-    -> ObjectKey -- ^ 'goKey'-    -> GetObject-getObject pBucket_ pKey_ =-  GetObject'-    { _goIfMatch = Nothing-    , _goVersionId = Nothing-    , _goResponseContentType = Nothing-    , _goResponseContentDisposition = Nothing-    , _goResponseContentLanguage = Nothing-    , _goSSECustomerAlgorithm = Nothing-    , _goSSECustomerKey = Nothing-    , _goRequestPayer = Nothing-    , _goResponseContentEncoding = Nothing-    , _goIfModifiedSince = Nothing-    , _goPartNumber = Nothing-    , _goRange = Nothing-    , _goIfUnmodifiedSince = Nothing-    , _goSSECustomerKeyMD5 = Nothing-    , _goResponseCacheControl = Nothing-    , _goResponseExpires = Nothing-    , _goIfNoneMatch = Nothing-    , _goBucket = pBucket_-    , _goKey = pKey_-    }----- | Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).-goIfMatch :: Lens' GetObject (Maybe Text)-goIfMatch = lens _goIfMatch (\ s a -> s{_goIfMatch = a})---- | VersionId used to reference a specific version of the object.-goVersionId :: Lens' GetObject (Maybe ObjectVersionId)-goVersionId = lens _goVersionId (\ s a -> s{_goVersionId = a})---- | Sets the Content-Type header of the response.-goResponseContentType :: Lens' GetObject (Maybe Text)-goResponseContentType = lens _goResponseContentType (\ s a -> s{_goResponseContentType = a})---- | Sets the Content-Disposition header of the response-goResponseContentDisposition :: Lens' GetObject (Maybe Text)-goResponseContentDisposition = lens _goResponseContentDisposition (\ s a -> s{_goResponseContentDisposition = a})---- | Sets the Content-Language header of the response.-goResponseContentLanguage :: Lens' GetObject (Maybe Text)-goResponseContentLanguage = lens _goResponseContentLanguage (\ s a -> s{_goResponseContentLanguage = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-goSSECustomerAlgorithm :: Lens' GetObject (Maybe Text)-goSSECustomerAlgorithm = lens _goSSECustomerAlgorithm (\ s a -> s{_goSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.-goSSECustomerKey :: Lens' GetObject (Maybe Text)-goSSECustomerKey = lens _goSSECustomerKey (\ s a -> s{_goSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-goRequestPayer :: Lens' GetObject (Maybe RequestPayer)-goRequestPayer = lens _goRequestPayer (\ s a -> s{_goRequestPayer = a})---- | Sets the Content-Encoding header of the response.-goResponseContentEncoding :: Lens' GetObject (Maybe Text)-goResponseContentEncoding = lens _goResponseContentEncoding (\ s a -> s{_goResponseContentEncoding = a})---- | Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).-goIfModifiedSince :: Lens' GetObject (Maybe UTCTime)-goIfModifiedSince = lens _goIfModifiedSince (\ s a -> s{_goIfModifiedSince = a}) . mapping _Time---- | Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' GET request for the part specified. Useful for downloading just a part of an object.-goPartNumber :: Lens' GetObject (Maybe Int)-goPartNumber = lens _goPartNumber (\ s a -> s{_goPartNumber = a})---- | Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.-goRange :: Lens' GetObject (Maybe Text)-goRange = lens _goRange (\ s a -> s{_goRange = a})---- | Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).-goIfUnmodifiedSince :: Lens' GetObject (Maybe UTCTime)-goIfUnmodifiedSince = lens _goIfUnmodifiedSince (\ s a -> s{_goIfUnmodifiedSince = a}) . mapping _Time---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-goSSECustomerKeyMD5 :: Lens' GetObject (Maybe Text)-goSSECustomerKeyMD5 = lens _goSSECustomerKeyMD5 (\ s a -> s{_goSSECustomerKeyMD5 = a})---- | Sets the Cache-Control header of the response.-goResponseCacheControl :: Lens' GetObject (Maybe Text)-goResponseCacheControl = lens _goResponseCacheControl (\ s a -> s{_goResponseCacheControl = a})---- | Sets the Expires header of the response.-goResponseExpires :: Lens' GetObject (Maybe UTCTime)-goResponseExpires = lens _goResponseExpires (\ s a -> s{_goResponseExpires = a}) . mapping _Time---- | Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).-goIfNoneMatch :: Lens' GetObject (Maybe Text)-goIfNoneMatch = lens _goIfNoneMatch (\ s a -> s{_goIfNoneMatch = a})---- | Undocumented member.-goBucket :: Lens' GetObject BucketName-goBucket = lens _goBucket (\ s a -> s{_goBucket = a})---- | Undocumented member.-goKey :: Lens' GetObject ObjectKey-goKey = lens _goKey (\ s a -> s{_goKey = a})--instance AWSRequest GetObject where-        type Rs GetObject = GetObjectResponse-        request = get s3-        response-          = receiveBody-              (\ s h x ->-                 GetObjectResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (h .#? "x-amz-mp-parts-count")-                     <*> (h .#? "ETag")-                     <*> (h .#? "x-amz-version-id")-                     <*> (h .#? "Content-Length")-                     <*> (h .#? "Expires")-                     <*> (h .#? "x-amz-restore")-                     <*> (h .#? "x-amz-expiration")-                     <*> (h .#? "x-amz-delete-marker")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*> (h .#? "x-amz-tagging-count")-                     <*> (h .#? "x-amz-missing-meta")-                     <*> (h .#? "x-amz-website-redirect-location")-                     <*> (h .#? "accept-ranges")-                     <*> (h .#? "x-amz-storage-class")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "Content-Encoding")-                     <*> (parseHeadersMap "x-amz-meta-" h)-                     <*> (h .#? "x-amz-replication-status")-                     <*> (h .#? "Cache-Control")-                     <*> (h .#? "Content-Language")-                     <*> (h .#? "Last-Modified")-                     <*> (h .#? "Content-Disposition")-                     <*> (h .#? "Content-Range")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (h .#? "Content-Type")-                     <*> (pure (fromEnum s))-                     <*> (pure x))--instance Hashable GetObject where--instance NFData GetObject where--instance ToHeaders GetObject where-        toHeaders GetObject'{..}-          = mconcat-              ["If-Match" =# _goIfMatch,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _goSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _goSSECustomerKey,-               "x-amz-request-payer" =# _goRequestPayer,-               "If-Modified-Since" =# _goIfModifiedSince,-               "Range" =# _goRange,-               "If-Unmodified-Since" =# _goIfUnmodifiedSince,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _goSSECustomerKeyMD5,-               "If-None-Match" =# _goIfNoneMatch]--instance ToPath GetObject where-        toPath GetObject'{..}-          = mconcat ["/", toBS _goBucket, "/", toBS _goKey]--instance ToQuery GetObject where-        toQuery GetObject'{..}-          = mconcat-              ["versionId" =: _goVersionId,-               "response-content-type" =: _goResponseContentType,-               "response-content-disposition" =:-                 _goResponseContentDisposition,-               "response-content-language" =:-                 _goResponseContentLanguage,-               "response-content-encoding" =:-                 _goResponseContentEncoding,-               "partNumber" =: _goPartNumber,-               "response-cache-control" =: _goResponseCacheControl,-               "response-expires" =: _goResponseExpires]---- | /See:/ 'getObjectResponse' smart constructor.-data GetObjectResponse = GetObjectResponse'-  { _gorsRequestCharged          :: !(Maybe RequestCharged)-  , _gorsPartsCount              :: !(Maybe Int)-  , _gorsETag                    :: !(Maybe ETag)-  , _gorsVersionId               :: !(Maybe ObjectVersionId)-  , _gorsContentLength           :: !(Maybe Integer)-  , _gorsExpires                 :: !(Maybe RFC822)-  , _gorsRestore                 :: !(Maybe Text)-  , _gorsExpiration              :: !(Maybe Text)-  , _gorsDeleteMarker            :: !(Maybe Bool)-  , _gorsSSECustomerAlgorithm    :: !(Maybe Text)-  , _gorsTagCount                :: !(Maybe Int)-  , _gorsMissingMeta             :: !(Maybe Int)-  , _gorsWebsiteRedirectLocation :: !(Maybe Text)-  , _gorsAcceptRanges            :: !(Maybe Text)-  , _gorsStorageClass            :: !(Maybe StorageClass)-  , _gorsSSECustomerKeyMD5       :: !(Maybe Text)-  , _gorsSSEKMSKeyId             :: !(Maybe (Sensitive Text))-  , _gorsContentEncoding         :: !(Maybe Text)-  , _gorsMetadata                :: !(Map Text Text)-  , _gorsReplicationStatus       :: !(Maybe ReplicationStatus)-  , _gorsCacheControl            :: !(Maybe Text)-  , _gorsContentLanguage         :: !(Maybe Text)-  , _gorsLastModified            :: !(Maybe RFC822)-  , _gorsContentDisposition      :: !(Maybe Text)-  , _gorsContentRange            :: !(Maybe Text)-  , _gorsServerSideEncryption    :: !(Maybe ServerSideEncryption)-  , _gorsContentType             :: !(Maybe Text)-  , _gorsResponseStatus          :: !Int-  , _gorsBody                    :: !RsBody-  } deriving (Show, Generic)----- | Creates a value of 'GetObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gorsRequestCharged' - Undocumented member.------ * 'gorsPartsCount' - The count of parts this object has.------ * 'gorsETag' - An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL------ * 'gorsVersionId' - Version of the object.------ * 'gorsContentLength' - Size of the body in bytes.------ * 'gorsExpires' - The date and time at which the object is no longer cacheable.------ * 'gorsRestore' - Provides information about object restoration operation and expiration time of the restored object copy.------ * 'gorsExpiration' - If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.------ * 'gorsDeleteMarker' - Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.------ * 'gorsSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'gorsTagCount' - The number of tags, if any, on the object.------ * 'gorsMissingMeta' - This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.------ * 'gorsWebsiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.------ * 'gorsAcceptRanges' - Undocumented member.------ * 'gorsStorageClass' - Undocumented member.------ * 'gorsSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'gorsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'gorsContentEncoding' - Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.------ * 'gorsMetadata' - A map of metadata to store with the object in S3.------ * 'gorsReplicationStatus' - Undocumented member.------ * 'gorsCacheControl' - Specifies caching behavior along the request/reply chain.------ * 'gorsContentLanguage' - The language the content is in.------ * 'gorsLastModified' - Last modified date of the object------ * 'gorsContentDisposition' - Specifies presentational information for the object.------ * 'gorsContentRange' - The portion of the object returned in the response.------ * 'gorsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'gorsContentType' - A standard MIME type describing the format of the object data.------ * 'gorsResponseStatus' - -- | The response status code.------ * 'gorsBody' - Object data.-getObjectResponse-    :: Int -- ^ 'gorsResponseStatus'-    -> RsBody -- ^ 'gorsBody'-    -> GetObjectResponse-getObjectResponse pResponseStatus_ pBody_ =-  GetObjectResponse'-    { _gorsRequestCharged = Nothing-    , _gorsPartsCount = Nothing-    , _gorsETag = Nothing-    , _gorsVersionId = Nothing-    , _gorsContentLength = Nothing-    , _gorsExpires = Nothing-    , _gorsRestore = Nothing-    , _gorsExpiration = Nothing-    , _gorsDeleteMarker = Nothing-    , _gorsSSECustomerAlgorithm = Nothing-    , _gorsTagCount = Nothing-    , _gorsMissingMeta = Nothing-    , _gorsWebsiteRedirectLocation = Nothing-    , _gorsAcceptRanges = Nothing-    , _gorsStorageClass = Nothing-    , _gorsSSECustomerKeyMD5 = Nothing-    , _gorsSSEKMSKeyId = Nothing-    , _gorsContentEncoding = Nothing-    , _gorsMetadata = mempty-    , _gorsReplicationStatus = Nothing-    , _gorsCacheControl = Nothing-    , _gorsContentLanguage = Nothing-    , _gorsLastModified = Nothing-    , _gorsContentDisposition = Nothing-    , _gorsContentRange = Nothing-    , _gorsServerSideEncryption = Nothing-    , _gorsContentType = Nothing-    , _gorsResponseStatus = pResponseStatus_-    , _gorsBody = pBody_-    }----- | Undocumented member.-gorsRequestCharged :: Lens' GetObjectResponse (Maybe RequestCharged)-gorsRequestCharged = lens _gorsRequestCharged (\ s a -> s{_gorsRequestCharged = a})---- | The count of parts this object has.-gorsPartsCount :: Lens' GetObjectResponse (Maybe Int)-gorsPartsCount = lens _gorsPartsCount (\ s a -> s{_gorsPartsCount = a})---- | An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL-gorsETag :: Lens' GetObjectResponse (Maybe ETag)-gorsETag = lens _gorsETag (\ s a -> s{_gorsETag = a})---- | Version of the object.-gorsVersionId :: Lens' GetObjectResponse (Maybe ObjectVersionId)-gorsVersionId = lens _gorsVersionId (\ s a -> s{_gorsVersionId = a})---- | Size of the body in bytes.-gorsContentLength :: Lens' GetObjectResponse (Maybe Integer)-gorsContentLength = lens _gorsContentLength (\ s a -> s{_gorsContentLength = a})---- | The date and time at which the object is no longer cacheable.-gorsExpires :: Lens' GetObjectResponse (Maybe UTCTime)-gorsExpires = lens _gorsExpires (\ s a -> s{_gorsExpires = a}) . mapping _Time---- | Provides information about object restoration operation and expiration time of the restored object copy.-gorsRestore :: Lens' GetObjectResponse (Maybe Text)-gorsRestore = lens _gorsRestore (\ s a -> s{_gorsRestore = a})---- | If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.-gorsExpiration :: Lens' GetObjectResponse (Maybe Text)-gorsExpiration = lens _gorsExpiration (\ s a -> s{_gorsExpiration = a})---- | Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.-gorsDeleteMarker :: Lens' GetObjectResponse (Maybe Bool)-gorsDeleteMarker = lens _gorsDeleteMarker (\ s a -> s{_gorsDeleteMarker = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-gorsSSECustomerAlgorithm :: Lens' GetObjectResponse (Maybe Text)-gorsSSECustomerAlgorithm = lens _gorsSSECustomerAlgorithm (\ s a -> s{_gorsSSECustomerAlgorithm = a})---- | The number of tags, if any, on the object.-gorsTagCount :: Lens' GetObjectResponse (Maybe Int)-gorsTagCount = lens _gorsTagCount (\ s a -> s{_gorsTagCount = a})---- | This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.-gorsMissingMeta :: Lens' GetObjectResponse (Maybe Int)-gorsMissingMeta = lens _gorsMissingMeta (\ s a -> s{_gorsMissingMeta = a})---- | If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.-gorsWebsiteRedirectLocation :: Lens' GetObjectResponse (Maybe Text)-gorsWebsiteRedirectLocation = lens _gorsWebsiteRedirectLocation (\ s a -> s{_gorsWebsiteRedirectLocation = a})---- | Undocumented member.-gorsAcceptRanges :: Lens' GetObjectResponse (Maybe Text)-gorsAcceptRanges = lens _gorsAcceptRanges (\ s a -> s{_gorsAcceptRanges = a})---- | Undocumented member.-gorsStorageClass :: Lens' GetObjectResponse (Maybe StorageClass)-gorsStorageClass = lens _gorsStorageClass (\ s a -> s{_gorsStorageClass = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-gorsSSECustomerKeyMD5 :: Lens' GetObjectResponse (Maybe Text)-gorsSSECustomerKeyMD5 = lens _gorsSSECustomerKeyMD5 (\ s a -> s{_gorsSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-gorsSSEKMSKeyId :: Lens' GetObjectResponse (Maybe Text)-gorsSSEKMSKeyId = lens _gorsSSEKMSKeyId (\ s a -> s{_gorsSSEKMSKeyId = a}) . mapping _Sensitive---- | Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.-gorsContentEncoding :: Lens' GetObjectResponse (Maybe Text)-gorsContentEncoding = lens _gorsContentEncoding (\ s a -> s{_gorsContentEncoding = a})---- | A map of metadata to store with the object in S3.-gorsMetadata :: Lens' GetObjectResponse (HashMap Text Text)-gorsMetadata = lens _gorsMetadata (\ s a -> s{_gorsMetadata = a}) . _Map---- | Undocumented member.-gorsReplicationStatus :: Lens' GetObjectResponse (Maybe ReplicationStatus)-gorsReplicationStatus = lens _gorsReplicationStatus (\ s a -> s{_gorsReplicationStatus = a})---- | Specifies caching behavior along the request/reply chain.-gorsCacheControl :: Lens' GetObjectResponse (Maybe Text)-gorsCacheControl = lens _gorsCacheControl (\ s a -> s{_gorsCacheControl = a})---- | The language the content is in.-gorsContentLanguage :: Lens' GetObjectResponse (Maybe Text)-gorsContentLanguage = lens _gorsContentLanguage (\ s a -> s{_gorsContentLanguage = a})---- | Last modified date of the object-gorsLastModified :: Lens' GetObjectResponse (Maybe UTCTime)-gorsLastModified = lens _gorsLastModified (\ s a -> s{_gorsLastModified = a}) . mapping _Time---- | Specifies presentational information for the object.-gorsContentDisposition :: Lens' GetObjectResponse (Maybe Text)-gorsContentDisposition = lens _gorsContentDisposition (\ s a -> s{_gorsContentDisposition = a})---- | The portion of the object returned in the response.-gorsContentRange :: Lens' GetObjectResponse (Maybe Text)-gorsContentRange = lens _gorsContentRange (\ s a -> s{_gorsContentRange = a})---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-gorsServerSideEncryption :: Lens' GetObjectResponse (Maybe ServerSideEncryption)-gorsServerSideEncryption = lens _gorsServerSideEncryption (\ s a -> s{_gorsServerSideEncryption = a})---- | A standard MIME type describing the format of the object data.-gorsContentType :: Lens' GetObjectResponse (Maybe Text)-gorsContentType = lens _gorsContentType (\ s a -> s{_gorsContentType = a})---- | -- | The response status code.-gorsResponseStatus :: Lens' GetObjectResponse Int-gorsResponseStatus = lens _gorsResponseStatus (\ s a -> s{_gorsResponseStatus = a})---- | Object data.-gorsBody :: Lens' GetObjectResponse RsBody-gorsBody = lens _gorsBody (\ s a -> s{_gorsBody = a})
− gen/Network/AWS/S3/GetObjectACL.hs
@@ -1,176 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetObjectACL--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the access control list (ACL) of an object.-module Network.AWS.S3.GetObjectACL-    (-    -- * Creating a Request-      getObjectACL-    , GetObjectACL-    -- * Request Lenses-    , goaVersionId-    , goaRequestPayer-    , goaBucket-    , goaKey--    -- * Destructuring the Response-    , getObjectACLResponse-    , GetObjectACLResponse-    -- * Response Lenses-    , goarsRequestCharged-    , goarsGrants-    , goarsOwner-    , goarsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getObjectACL' smart constructor.-data GetObjectACL = GetObjectACL'-  { _goaVersionId    :: !(Maybe ObjectVersionId)-  , _goaRequestPayer :: !(Maybe RequestPayer)-  , _goaBucket       :: !BucketName-  , _goaKey          :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetObjectACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'goaVersionId' - VersionId used to reference a specific version of the object.------ * 'goaRequestPayer' - Undocumented member.------ * 'goaBucket' - Undocumented member.------ * 'goaKey' - Undocumented member.-getObjectACL-    :: BucketName -- ^ 'goaBucket'-    -> ObjectKey -- ^ 'goaKey'-    -> GetObjectACL-getObjectACL pBucket_ pKey_ =-  GetObjectACL'-    { _goaVersionId = Nothing-    , _goaRequestPayer = Nothing-    , _goaBucket = pBucket_-    , _goaKey = pKey_-    }----- | VersionId used to reference a specific version of the object.-goaVersionId :: Lens' GetObjectACL (Maybe ObjectVersionId)-goaVersionId = lens _goaVersionId (\ s a -> s{_goaVersionId = a})---- | Undocumented member.-goaRequestPayer :: Lens' GetObjectACL (Maybe RequestPayer)-goaRequestPayer = lens _goaRequestPayer (\ s a -> s{_goaRequestPayer = a})---- | Undocumented member.-goaBucket :: Lens' GetObjectACL BucketName-goaBucket = lens _goaBucket (\ s a -> s{_goaBucket = a})---- | Undocumented member.-goaKey :: Lens' GetObjectACL ObjectKey-goaKey = lens _goaKey (\ s a -> s{_goaKey = a})--instance AWSRequest GetObjectACL where-        type Rs GetObjectACL = GetObjectACLResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetObjectACLResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (x .@? "AccessControlList" .!@ mempty >>=-                        may (parseXMLList "Grant"))-                     <*> (x .@? "Owner")-                     <*> (pure (fromEnum s)))--instance Hashable GetObjectACL where--instance NFData GetObjectACL where--instance ToHeaders GetObjectACL where-        toHeaders GetObjectACL'{..}-          = mconcat ["x-amz-request-payer" =# _goaRequestPayer]--instance ToPath GetObjectACL where-        toPath GetObjectACL'{..}-          = mconcat ["/", toBS _goaBucket, "/", toBS _goaKey]--instance ToQuery GetObjectACL where-        toQuery GetObjectACL'{..}-          = mconcat ["versionId" =: _goaVersionId, "acl"]---- | /See:/ 'getObjectACLResponse' smart constructor.-data GetObjectACLResponse = GetObjectACLResponse'-  { _goarsRequestCharged :: !(Maybe RequestCharged)-  , _goarsGrants         :: !(Maybe [Grant])-  , _goarsOwner          :: !(Maybe Owner)-  , _goarsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetObjectACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'goarsRequestCharged' - Undocumented member.------ * 'goarsGrants' - A list of grants.------ * 'goarsOwner' - Undocumented member.------ * 'goarsResponseStatus' - -- | The response status code.-getObjectACLResponse-    :: Int -- ^ 'goarsResponseStatus'-    -> GetObjectACLResponse-getObjectACLResponse pResponseStatus_ =-  GetObjectACLResponse'-    { _goarsRequestCharged = Nothing-    , _goarsGrants = Nothing-    , _goarsOwner = Nothing-    , _goarsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-goarsRequestCharged :: Lens' GetObjectACLResponse (Maybe RequestCharged)-goarsRequestCharged = lens _goarsRequestCharged (\ s a -> s{_goarsRequestCharged = a})---- | A list of grants.-goarsGrants :: Lens' GetObjectACLResponse [Grant]-goarsGrants = lens _goarsGrants (\ s a -> s{_goarsGrants = a}) . _Default . _Coerce---- | Undocumented member.-goarsOwner :: Lens' GetObjectACLResponse (Maybe Owner)-goarsOwner = lens _goarsOwner (\ s a -> s{_goarsOwner = a})---- | -- | The response status code.-goarsResponseStatus :: Lens' GetObjectACLResponse Int-goarsResponseStatus = lens _goarsResponseStatus (\ s a -> s{_goarsResponseStatus = a})--instance NFData GetObjectACLResponse where
− gen/Network/AWS/S3/GetObjectTagging.hs
@@ -1,152 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetObjectTagging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns the tag-set of an object.-module Network.AWS.S3.GetObjectTagging-    (-    -- * Creating a Request-      getObjectTagging-    , GetObjectTagging-    -- * Request Lenses-    , gotoVersionId-    , gotoBucket-    , gotoKey--    -- * Destructuring the Response-    , getObjectTaggingResponse-    , GetObjectTaggingResponse-    -- * Response Lenses-    , gotrsVersionId-    , gotrsResponseStatus-    , gotrsTagSet-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getObjectTagging' smart constructor.-data GetObjectTagging = GetObjectTagging'-  { _gotoVersionId :: !(Maybe ObjectVersionId)-  , _gotoBucket    :: !BucketName-  , _gotoKey       :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetObjectTagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gotoVersionId' - Undocumented member.------ * 'gotoBucket' - Undocumented member.------ * 'gotoKey' - Undocumented member.-getObjectTagging-    :: BucketName -- ^ 'gotoBucket'-    -> ObjectKey -- ^ 'gotoKey'-    -> GetObjectTagging-getObjectTagging pBucket_ pKey_ =-  GetObjectTagging'-    {_gotoVersionId = Nothing, _gotoBucket = pBucket_, _gotoKey = pKey_}----- | Undocumented member.-gotoVersionId :: Lens' GetObjectTagging (Maybe ObjectVersionId)-gotoVersionId = lens _gotoVersionId (\ s a -> s{_gotoVersionId = a})---- | Undocumented member.-gotoBucket :: Lens' GetObjectTagging BucketName-gotoBucket = lens _gotoBucket (\ s a -> s{_gotoBucket = a})---- | Undocumented member.-gotoKey :: Lens' GetObjectTagging ObjectKey-gotoKey = lens _gotoKey (\ s a -> s{_gotoKey = a})--instance AWSRequest GetObjectTagging where-        type Rs GetObjectTagging = GetObjectTaggingResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 GetObjectTaggingResponse' <$>-                   (h .#? "x-amz-version-id") <*> (pure (fromEnum s))-                     <*>-                     (x .@? "TagSet" .!@ mempty >>= parseXMLList "Tag"))--instance Hashable GetObjectTagging where--instance NFData GetObjectTagging where--instance ToHeaders GetObjectTagging where-        toHeaders = const mempty--instance ToPath GetObjectTagging where-        toPath GetObjectTagging'{..}-          = mconcat ["/", toBS _gotoBucket, "/", toBS _gotoKey]--instance ToQuery GetObjectTagging where-        toQuery GetObjectTagging'{..}-          = mconcat ["versionId" =: _gotoVersionId, "tagging"]---- | /See:/ 'getObjectTaggingResponse' smart constructor.-data GetObjectTaggingResponse = GetObjectTaggingResponse'-  { _gotrsVersionId      :: !(Maybe ObjectVersionId)-  , _gotrsResponseStatus :: !Int-  , _gotrsTagSet         :: ![Tag]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetObjectTaggingResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gotrsVersionId' - Undocumented member.------ * 'gotrsResponseStatus' - -- | The response status code.------ * 'gotrsTagSet' - Undocumented member.-getObjectTaggingResponse-    :: Int -- ^ 'gotrsResponseStatus'-    -> GetObjectTaggingResponse-getObjectTaggingResponse pResponseStatus_ =-  GetObjectTaggingResponse'-    { _gotrsVersionId = Nothing-    , _gotrsResponseStatus = pResponseStatus_-    , _gotrsTagSet = mempty-    }----- | Undocumented member.-gotrsVersionId :: Lens' GetObjectTaggingResponse (Maybe ObjectVersionId)-gotrsVersionId = lens _gotrsVersionId (\ s a -> s{_gotrsVersionId = a})---- | -- | The response status code.-gotrsResponseStatus :: Lens' GetObjectTaggingResponse Int-gotrsResponseStatus = lens _gotrsResponseStatus (\ s a -> s{_gotrsResponseStatus = a})---- | Undocumented member.-gotrsTagSet :: Lens' GetObjectTaggingResponse [Tag]-gotrsTagSet = lens _gotrsTagSet (\ s a -> s{_gotrsTagSet = a}) . _Coerce--instance NFData GetObjectTaggingResponse where
− gen/Network/AWS/S3/GetObjectTorrent.hs
@@ -1,151 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.GetObjectTorrent--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Return torrent files from a bucket.-module Network.AWS.S3.GetObjectTorrent-    (-    -- * Creating a Request-      getObjectTorrent-    , GetObjectTorrent-    -- * Request Lenses-    , gotRequestPayer-    , gotBucket-    , gotKey--    -- * Destructuring the Response-    , getObjectTorrentResponse-    , GetObjectTorrentResponse-    -- * Response Lenses-    , getrsRequestCharged-    , getrsResponseStatus-    , getrsBody-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'getObjectTorrent' smart constructor.-data GetObjectTorrent = GetObjectTorrent'-  { _gotRequestPayer :: !(Maybe RequestPayer)-  , _gotBucket       :: !BucketName-  , _gotKey          :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GetObjectTorrent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gotRequestPayer' - Undocumented member.------ * 'gotBucket' - Undocumented member.------ * 'gotKey' - Undocumented member.-getObjectTorrent-    :: BucketName -- ^ 'gotBucket'-    -> ObjectKey -- ^ 'gotKey'-    -> GetObjectTorrent-getObjectTorrent pBucket_ pKey_ =-  GetObjectTorrent'-    {_gotRequestPayer = Nothing, _gotBucket = pBucket_, _gotKey = pKey_}----- | Undocumented member.-gotRequestPayer :: Lens' GetObjectTorrent (Maybe RequestPayer)-gotRequestPayer = lens _gotRequestPayer (\ s a -> s{_gotRequestPayer = a})---- | Undocumented member.-gotBucket :: Lens' GetObjectTorrent BucketName-gotBucket = lens _gotBucket (\ s a -> s{_gotBucket = a})---- | Undocumented member.-gotKey :: Lens' GetObjectTorrent ObjectKey-gotKey = lens _gotKey (\ s a -> s{_gotKey = a})--instance AWSRequest GetObjectTorrent where-        type Rs GetObjectTorrent = GetObjectTorrentResponse-        request = get s3-        response-          = receiveBody-              (\ s h x ->-                 GetObjectTorrentResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (pure (fromEnum s))-                     <*> (pure x))--instance Hashable GetObjectTorrent where--instance NFData GetObjectTorrent where--instance ToHeaders GetObjectTorrent where-        toHeaders GetObjectTorrent'{..}-          = mconcat ["x-amz-request-payer" =# _gotRequestPayer]--instance ToPath GetObjectTorrent where-        toPath GetObjectTorrent'{..}-          = mconcat ["/", toBS _gotBucket, "/", toBS _gotKey]--instance ToQuery GetObjectTorrent where-        toQuery = const (mconcat ["torrent"])---- | /See:/ 'getObjectTorrentResponse' smart constructor.-data GetObjectTorrentResponse = GetObjectTorrentResponse'-  { _getrsRequestCharged :: !(Maybe RequestCharged)-  , _getrsResponseStatus :: !Int-  , _getrsBody           :: !RsBody-  } deriving (Show, Generic)----- | Creates a value of 'GetObjectTorrentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'getrsRequestCharged' - Undocumented member.------ * 'getrsResponseStatus' - -- | The response status code.------ * 'getrsBody' - Undocumented member.-getObjectTorrentResponse-    :: Int -- ^ 'getrsResponseStatus'-    -> RsBody -- ^ 'getrsBody'-    -> GetObjectTorrentResponse-getObjectTorrentResponse pResponseStatus_ pBody_ =-  GetObjectTorrentResponse'-    { _getrsRequestCharged = Nothing-    , _getrsResponseStatus = pResponseStatus_-    , _getrsBody = pBody_-    }----- | Undocumented member.-getrsRequestCharged :: Lens' GetObjectTorrentResponse (Maybe RequestCharged)-getrsRequestCharged = lens _getrsRequestCharged (\ s a -> s{_getrsRequestCharged = a})---- | -- | The response status code.-getrsResponseStatus :: Lens' GetObjectTorrentResponse Int-getrsResponseStatus = lens _getrsResponseStatus (\ s a -> s{_getrsResponseStatus = a})---- | Undocumented member.-getrsBody :: Lens' GetObjectTorrentResponse RsBody-getrsBody = lens _getrsBody (\ s a -> s{_getrsBody = a})
− gen/Network/AWS/S3/HeadBucket.hs
@@ -1,95 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.HeadBucket--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ This operation is useful to determine if a bucket exists and you have permission to access it.-module Network.AWS.S3.HeadBucket-    (-    -- * Creating a Request-      headBucket-    , HeadBucket-    -- * Request Lenses-    , hbBucket--    -- * Destructuring the Response-    , headBucketResponse-    , HeadBucketResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'headBucket' smart constructor.-newtype HeadBucket = HeadBucket'-  { _hbBucket :: BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'HeadBucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hbBucket' - Undocumented member.-headBucket-    :: BucketName -- ^ 'hbBucket'-    -> HeadBucket-headBucket pBucket_ = HeadBucket' {_hbBucket = pBucket_}----- | Undocumented member.-hbBucket :: Lens' HeadBucket BucketName-hbBucket = lens _hbBucket (\ s a -> s{_hbBucket = a})--instance AWSRequest HeadBucket where-        type Rs HeadBucket = HeadBucketResponse-        request = head' s3-        response = receiveNull HeadBucketResponse'--instance Hashable HeadBucket where--instance NFData HeadBucket where--instance ToHeaders HeadBucket where-        toHeaders = const mempty--instance ToPath HeadBucket where-        toPath HeadBucket'{..}-          = mconcat ["/", toBS _hbBucket]--instance ToQuery HeadBucket where-        toQuery = const mempty---- | /See:/ 'headBucketResponse' smart constructor.-data HeadBucketResponse =-  HeadBucketResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'HeadBucketResponse' with the minimum fields required to make a request.----headBucketResponse-    :: HeadBucketResponse-headBucketResponse = HeadBucketResponse'---instance NFData HeadBucketResponse where
− gen/Network/AWS/S3/HeadObject.hs
@@ -1,495 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.HeadObject--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.-module Network.AWS.S3.HeadObject-    (-    -- * Creating a Request-      headObject-    , HeadObject-    -- * Request Lenses-    , hoIfMatch-    , hoVersionId-    , hoSSECustomerAlgorithm-    , hoSSECustomerKey-    , hoRequestPayer-    , hoIfModifiedSince-    , hoPartNumber-    , hoRange-    , hoIfUnmodifiedSince-    , hoSSECustomerKeyMD5-    , hoIfNoneMatch-    , hoBucket-    , hoKey--    -- * Destructuring the Response-    , headObjectResponse-    , HeadObjectResponse-    -- * Response Lenses-    , horsRequestCharged-    , horsPartsCount-    , horsETag-    , horsVersionId-    , horsContentLength-    , horsExpires-    , horsRestore-    , horsExpiration-    , horsDeleteMarker-    , horsSSECustomerAlgorithm-    , horsMissingMeta-    , horsWebsiteRedirectLocation-    , horsAcceptRanges-    , horsStorageClass-    , horsSSECustomerKeyMD5-    , horsSSEKMSKeyId-    , horsContentEncoding-    , horsMetadata-    , horsReplicationStatus-    , horsCacheControl-    , horsContentLanguage-    , horsLastModified-    , horsContentDisposition-    , horsServerSideEncryption-    , horsContentType-    , horsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'headObject' smart constructor.-data HeadObject = HeadObject'-  { _hoIfMatch              :: !(Maybe Text)-  , _hoVersionId            :: !(Maybe ObjectVersionId)-  , _hoSSECustomerAlgorithm :: !(Maybe Text)-  , _hoSSECustomerKey       :: !(Maybe (Sensitive Text))-  , _hoRequestPayer         :: !(Maybe RequestPayer)-  , _hoIfModifiedSince      :: !(Maybe RFC822)-  , _hoPartNumber           :: !(Maybe Int)-  , _hoRange                :: !(Maybe Text)-  , _hoIfUnmodifiedSince    :: !(Maybe RFC822)-  , _hoSSECustomerKeyMD5    :: !(Maybe Text)-  , _hoIfNoneMatch          :: !(Maybe Text)-  , _hoBucket               :: !BucketName-  , _hoKey                  :: !ObjectKey-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'HeadObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'hoIfMatch' - Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).------ * 'hoVersionId' - VersionId used to reference a specific version of the object.------ * 'hoSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'hoSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.------ * 'hoRequestPayer' - Undocumented member.------ * 'hoIfModifiedSince' - Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).------ * 'hoPartNumber' - Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.------ * 'hoRange' - Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.------ * 'hoIfUnmodifiedSince' - Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).------ * 'hoSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'hoIfNoneMatch' - Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).------ * 'hoBucket' - Undocumented member.------ * 'hoKey' - Undocumented member.-headObject-    :: BucketName -- ^ 'hoBucket'-    -> ObjectKey -- ^ 'hoKey'-    -> HeadObject-headObject pBucket_ pKey_ =-  HeadObject'-    { _hoIfMatch = Nothing-    , _hoVersionId = Nothing-    , _hoSSECustomerAlgorithm = Nothing-    , _hoSSECustomerKey = Nothing-    , _hoRequestPayer = Nothing-    , _hoIfModifiedSince = Nothing-    , _hoPartNumber = Nothing-    , _hoRange = Nothing-    , _hoIfUnmodifiedSince = Nothing-    , _hoSSECustomerKeyMD5 = Nothing-    , _hoIfNoneMatch = Nothing-    , _hoBucket = pBucket_-    , _hoKey = pKey_-    }----- | Return the object only if its entity tag (ETag) is the same as the one specified, otherwise return a 412 (precondition failed).-hoIfMatch :: Lens' HeadObject (Maybe Text)-hoIfMatch = lens _hoIfMatch (\ s a -> s{_hoIfMatch = a})---- | VersionId used to reference a specific version of the object.-hoVersionId :: Lens' HeadObject (Maybe ObjectVersionId)-hoVersionId = lens _hoVersionId (\ s a -> s{_hoVersionId = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-hoSSECustomerAlgorithm :: Lens' HeadObject (Maybe Text)-hoSSECustomerAlgorithm = lens _hoSSECustomerAlgorithm (\ s a -> s{_hoSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.-hoSSECustomerKey :: Lens' HeadObject (Maybe Text)-hoSSECustomerKey = lens _hoSSECustomerKey (\ s a -> s{_hoSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-hoRequestPayer :: Lens' HeadObject (Maybe RequestPayer)-hoRequestPayer = lens _hoRequestPayer (\ s a -> s{_hoRequestPayer = a})---- | Return the object only if it has been modified since the specified time, otherwise return a 304 (not modified).-hoIfModifiedSince :: Lens' HeadObject (Maybe UTCTime)-hoIfModifiedSince = lens _hoIfModifiedSince (\ s a -> s{_hoIfModifiedSince = a}) . mapping _Time---- | Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.-hoPartNumber :: Lens' HeadObject (Maybe Int)-hoPartNumber = lens _hoPartNumber (\ s a -> s{_hoPartNumber = a})---- | Downloads the specified range bytes of an object. For more information about the HTTP Range header, go to http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.-hoRange :: Lens' HeadObject (Maybe Text)-hoRange = lens _hoRange (\ s a -> s{_hoRange = a})---- | Return the object only if it has not been modified since the specified time, otherwise return a 412 (precondition failed).-hoIfUnmodifiedSince :: Lens' HeadObject (Maybe UTCTime)-hoIfUnmodifiedSince = lens _hoIfUnmodifiedSince (\ s a -> s{_hoIfUnmodifiedSince = a}) . mapping _Time---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-hoSSECustomerKeyMD5 :: Lens' HeadObject (Maybe Text)-hoSSECustomerKeyMD5 = lens _hoSSECustomerKeyMD5 (\ s a -> s{_hoSSECustomerKeyMD5 = a})---- | Return the object only if its entity tag (ETag) is different from the one specified, otherwise return a 304 (not modified).-hoIfNoneMatch :: Lens' HeadObject (Maybe Text)-hoIfNoneMatch = lens _hoIfNoneMatch (\ s a -> s{_hoIfNoneMatch = a})---- | Undocumented member.-hoBucket :: Lens' HeadObject BucketName-hoBucket = lens _hoBucket (\ s a -> s{_hoBucket = a})---- | Undocumented member.-hoKey :: Lens' HeadObject ObjectKey-hoKey = lens _hoKey (\ s a -> s{_hoKey = a})--instance AWSRequest HeadObject where-        type Rs HeadObject = HeadObjectResponse-        request = head' s3-        response-          = receiveEmpty-              (\ s h x ->-                 HeadObjectResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (h .#? "x-amz-mp-parts-count")-                     <*> (h .#? "ETag")-                     <*> (h .#? "x-amz-version-id")-                     <*> (h .#? "Content-Length")-                     <*> (h .#? "Expires")-                     <*> (h .#? "x-amz-restore")-                     <*> (h .#? "x-amz-expiration")-                     <*> (h .#? "x-amz-delete-marker")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*> (h .#? "x-amz-missing-meta")-                     <*> (h .#? "x-amz-website-redirect-location")-                     <*> (h .#? "accept-ranges")-                     <*> (h .#? "x-amz-storage-class")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "Content-Encoding")-                     <*> (parseHeadersMap "x-amz-meta-" h)-                     <*> (h .#? "x-amz-replication-status")-                     <*> (h .#? "Cache-Control")-                     <*> (h .#? "Content-Language")-                     <*> (h .#? "Last-Modified")-                     <*> (h .#? "Content-Disposition")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (h .#? "Content-Type")-                     <*> (pure (fromEnum s)))--instance Hashable HeadObject where--instance NFData HeadObject where--instance ToHeaders HeadObject where-        toHeaders HeadObject'{..}-          = mconcat-              ["If-Match" =# _hoIfMatch,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _hoSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _hoSSECustomerKey,-               "x-amz-request-payer" =# _hoRequestPayer,-               "If-Modified-Since" =# _hoIfModifiedSince,-               "Range" =# _hoRange,-               "If-Unmodified-Since" =# _hoIfUnmodifiedSince,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _hoSSECustomerKeyMD5,-               "If-None-Match" =# _hoIfNoneMatch]--instance ToPath HeadObject where-        toPath HeadObject'{..}-          = mconcat ["/", toBS _hoBucket, "/", toBS _hoKey]--instance ToQuery HeadObject where-        toQuery HeadObject'{..}-          = mconcat-              ["versionId" =: _hoVersionId,-               "partNumber" =: _hoPartNumber]---- | /See:/ 'headObjectResponse' smart constructor.-data HeadObjectResponse = HeadObjectResponse'-  { _horsRequestCharged          :: !(Maybe RequestCharged)-  , _horsPartsCount              :: !(Maybe Int)-  , _horsETag                    :: !(Maybe ETag)-  , _horsVersionId               :: !(Maybe ObjectVersionId)-  , _horsContentLength           :: !(Maybe Integer)-  , _horsExpires                 :: !(Maybe RFC822)-  , _horsRestore                 :: !(Maybe Text)-  , _horsExpiration              :: !(Maybe Text)-  , _horsDeleteMarker            :: !(Maybe Bool)-  , _horsSSECustomerAlgorithm    :: !(Maybe Text)-  , _horsMissingMeta             :: !(Maybe Int)-  , _horsWebsiteRedirectLocation :: !(Maybe Text)-  , _horsAcceptRanges            :: !(Maybe Text)-  , _horsStorageClass            :: !(Maybe StorageClass)-  , _horsSSECustomerKeyMD5       :: !(Maybe Text)-  , _horsSSEKMSKeyId             :: !(Maybe (Sensitive Text))-  , _horsContentEncoding         :: !(Maybe Text)-  , _horsMetadata                :: !(Map Text Text)-  , _horsReplicationStatus       :: !(Maybe ReplicationStatus)-  , _horsCacheControl            :: !(Maybe Text)-  , _horsContentLanguage         :: !(Maybe Text)-  , _horsLastModified            :: !(Maybe RFC822)-  , _horsContentDisposition      :: !(Maybe Text)-  , _horsServerSideEncryption    :: !(Maybe ServerSideEncryption)-  , _horsContentType             :: !(Maybe Text)-  , _horsResponseStatus          :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'HeadObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'horsRequestCharged' - Undocumented member.------ * 'horsPartsCount' - The count of parts this object has.------ * 'horsETag' - An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL------ * 'horsVersionId' - Version of the object.------ * 'horsContentLength' - Size of the body in bytes.------ * 'horsExpires' - The date and time at which the object is no longer cacheable.------ * 'horsRestore' - Provides information about object restoration operation and expiration time of the restored object copy.------ * 'horsExpiration' - If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.------ * 'horsDeleteMarker' - Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.------ * 'horsSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'horsMissingMeta' - This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.------ * 'horsWebsiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.------ * 'horsAcceptRanges' - Undocumented member.------ * 'horsStorageClass' - Undocumented member.------ * 'horsSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'horsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'horsContentEncoding' - Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.------ * 'horsMetadata' - A map of metadata to store with the object in S3.------ * 'horsReplicationStatus' - Undocumented member.------ * 'horsCacheControl' - Specifies caching behavior along the request/reply chain.------ * 'horsContentLanguage' - The language the content is in.------ * 'horsLastModified' - Last modified date of the object------ * 'horsContentDisposition' - Specifies presentational information for the object.------ * 'horsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'horsContentType' - A standard MIME type describing the format of the object data.------ * 'horsResponseStatus' - -- | The response status code.-headObjectResponse-    :: Int -- ^ 'horsResponseStatus'-    -> HeadObjectResponse-headObjectResponse pResponseStatus_ =-  HeadObjectResponse'-    { _horsRequestCharged = Nothing-    , _horsPartsCount = Nothing-    , _horsETag = Nothing-    , _horsVersionId = Nothing-    , _horsContentLength = Nothing-    , _horsExpires = Nothing-    , _horsRestore = Nothing-    , _horsExpiration = Nothing-    , _horsDeleteMarker = Nothing-    , _horsSSECustomerAlgorithm = Nothing-    , _horsMissingMeta = Nothing-    , _horsWebsiteRedirectLocation = Nothing-    , _horsAcceptRanges = Nothing-    , _horsStorageClass = Nothing-    , _horsSSECustomerKeyMD5 = Nothing-    , _horsSSEKMSKeyId = Nothing-    , _horsContentEncoding = Nothing-    , _horsMetadata = mempty-    , _horsReplicationStatus = Nothing-    , _horsCacheControl = Nothing-    , _horsContentLanguage = Nothing-    , _horsLastModified = Nothing-    , _horsContentDisposition = Nothing-    , _horsServerSideEncryption = Nothing-    , _horsContentType = Nothing-    , _horsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-horsRequestCharged :: Lens' HeadObjectResponse (Maybe RequestCharged)-horsRequestCharged = lens _horsRequestCharged (\ s a -> s{_horsRequestCharged = a})---- | The count of parts this object has.-horsPartsCount :: Lens' HeadObjectResponse (Maybe Int)-horsPartsCount = lens _horsPartsCount (\ s a -> s{_horsPartsCount = a})---- | An ETag is an opaque identifier assigned by a web server to a specific version of a resource found at a URL-horsETag :: Lens' HeadObjectResponse (Maybe ETag)-horsETag = lens _horsETag (\ s a -> s{_horsETag = a})---- | Version of the object.-horsVersionId :: Lens' HeadObjectResponse (Maybe ObjectVersionId)-horsVersionId = lens _horsVersionId (\ s a -> s{_horsVersionId = a})---- | Size of the body in bytes.-horsContentLength :: Lens' HeadObjectResponse (Maybe Integer)-horsContentLength = lens _horsContentLength (\ s a -> s{_horsContentLength = a})---- | The date and time at which the object is no longer cacheable.-horsExpires :: Lens' HeadObjectResponse (Maybe UTCTime)-horsExpires = lens _horsExpires (\ s a -> s{_horsExpires = a}) . mapping _Time---- | Provides information about object restoration operation and expiration time of the restored object copy.-horsRestore :: Lens' HeadObjectResponse (Maybe Text)-horsRestore = lens _horsRestore (\ s a -> s{_horsRestore = a})---- | If the object expiration is configured (see PUT Bucket lifecycle), the response includes this header. It includes the expiry-date and rule-id key value pairs providing object expiration information. The value of the rule-id is URL encoded.-horsExpiration :: Lens' HeadObjectResponse (Maybe Text)-horsExpiration = lens _horsExpiration (\ s a -> s{_horsExpiration = a})---- | Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.-horsDeleteMarker :: Lens' HeadObjectResponse (Maybe Bool)-horsDeleteMarker = lens _horsDeleteMarker (\ s a -> s{_horsDeleteMarker = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-horsSSECustomerAlgorithm :: Lens' HeadObjectResponse (Maybe Text)-horsSSECustomerAlgorithm = lens _horsSSECustomerAlgorithm (\ s a -> s{_horsSSECustomerAlgorithm = a})---- | This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.-horsMissingMeta :: Lens' HeadObjectResponse (Maybe Int)-horsMissingMeta = lens _horsMissingMeta (\ s a -> s{_horsMissingMeta = a})---- | If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.-horsWebsiteRedirectLocation :: Lens' HeadObjectResponse (Maybe Text)-horsWebsiteRedirectLocation = lens _horsWebsiteRedirectLocation (\ s a -> s{_horsWebsiteRedirectLocation = a})---- | Undocumented member.-horsAcceptRanges :: Lens' HeadObjectResponse (Maybe Text)-horsAcceptRanges = lens _horsAcceptRanges (\ s a -> s{_horsAcceptRanges = a})---- | Undocumented member.-horsStorageClass :: Lens' HeadObjectResponse (Maybe StorageClass)-horsStorageClass = lens _horsStorageClass (\ s a -> s{_horsStorageClass = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-horsSSECustomerKeyMD5 :: Lens' HeadObjectResponse (Maybe Text)-horsSSECustomerKeyMD5 = lens _horsSSECustomerKeyMD5 (\ s a -> s{_horsSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-horsSSEKMSKeyId :: Lens' HeadObjectResponse (Maybe Text)-horsSSEKMSKeyId = lens _horsSSEKMSKeyId (\ s a -> s{_horsSSEKMSKeyId = a}) . mapping _Sensitive---- | Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.-horsContentEncoding :: Lens' HeadObjectResponse (Maybe Text)-horsContentEncoding = lens _horsContentEncoding (\ s a -> s{_horsContentEncoding = a})---- | A map of metadata to store with the object in S3.-horsMetadata :: Lens' HeadObjectResponse (HashMap Text Text)-horsMetadata = lens _horsMetadata (\ s a -> s{_horsMetadata = a}) . _Map---- | Undocumented member.-horsReplicationStatus :: Lens' HeadObjectResponse (Maybe ReplicationStatus)-horsReplicationStatus = lens _horsReplicationStatus (\ s a -> s{_horsReplicationStatus = a})---- | Specifies caching behavior along the request/reply chain.-horsCacheControl :: Lens' HeadObjectResponse (Maybe Text)-horsCacheControl = lens _horsCacheControl (\ s a -> s{_horsCacheControl = a})---- | The language the content is in.-horsContentLanguage :: Lens' HeadObjectResponse (Maybe Text)-horsContentLanguage = lens _horsContentLanguage (\ s a -> s{_horsContentLanguage = a})---- | Last modified date of the object-horsLastModified :: Lens' HeadObjectResponse (Maybe UTCTime)-horsLastModified = lens _horsLastModified (\ s a -> s{_horsLastModified = a}) . mapping _Time---- | Specifies presentational information for the object.-horsContentDisposition :: Lens' HeadObjectResponse (Maybe Text)-horsContentDisposition = lens _horsContentDisposition (\ s a -> s{_horsContentDisposition = a})---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-horsServerSideEncryption :: Lens' HeadObjectResponse (Maybe ServerSideEncryption)-horsServerSideEncryption = lens _horsServerSideEncryption (\ s a -> s{_horsServerSideEncryption = a})---- | A standard MIME type describing the format of the object data.-horsContentType :: Lens' HeadObjectResponse (Maybe Text)-horsContentType = lens _horsContentType (\ s a -> s{_horsContentType = a})---- | -- | The response status code.-horsResponseStatus :: Lens' HeadObjectResponse Int-horsResponseStatus = lens _horsResponseStatus (\ s a -> s{_horsResponseStatus = a})--instance NFData HeadObjectResponse where
− gen/Network/AWS/S3/ListBucketAnalyticsConfigurations.hs
@@ -1,174 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListBucketAnalyticsConfigurations--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Lists the analytics configurations for the bucket.-module Network.AWS.S3.ListBucketAnalyticsConfigurations-    (-    -- * Creating a Request-      listBucketAnalyticsConfigurations-    , ListBucketAnalyticsConfigurations-    -- * Request Lenses-    , lbacContinuationToken-    , lbacBucket--    -- * Destructuring the Response-    , listBucketAnalyticsConfigurationsResponse-    , ListBucketAnalyticsConfigurationsResponse-    -- * Response Lenses-    , lbacrsAnalyticsConfigurationList-    , lbacrsContinuationToken-    , lbacrsNextContinuationToken-    , lbacrsIsTruncated-    , lbacrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listBucketAnalyticsConfigurations' smart constructor.-data ListBucketAnalyticsConfigurations = ListBucketAnalyticsConfigurations'-  { _lbacContinuationToken :: !(Maybe Text)-  , _lbacBucket            :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketAnalyticsConfigurations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbacContinuationToken' - The ContinuationToken that represents a placeholder from where this request should begin.------ * 'lbacBucket' - The name of the bucket from which analytics configurations are retrieved.-listBucketAnalyticsConfigurations-    :: BucketName -- ^ 'lbacBucket'-    -> ListBucketAnalyticsConfigurations-listBucketAnalyticsConfigurations pBucket_ =-  ListBucketAnalyticsConfigurations'-    {_lbacContinuationToken = Nothing, _lbacBucket = pBucket_}----- | The ContinuationToken that represents a placeholder from where this request should begin.-lbacContinuationToken :: Lens' ListBucketAnalyticsConfigurations (Maybe Text)-lbacContinuationToken = lens _lbacContinuationToken (\ s a -> s{_lbacContinuationToken = a})---- | The name of the bucket from which analytics configurations are retrieved.-lbacBucket :: Lens' ListBucketAnalyticsConfigurations BucketName-lbacBucket = lens _lbacBucket (\ s a -> s{_lbacBucket = a})--instance AWSRequest ListBucketAnalyticsConfigurations-         where-        type Rs ListBucketAnalyticsConfigurations =-             ListBucketAnalyticsConfigurationsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListBucketAnalyticsConfigurationsResponse' <$>-                   (may (parseXMLList "AnalyticsConfiguration") x) <*>-                     (x .@? "ContinuationToken")-                     <*> (x .@? "NextContinuationToken")-                     <*> (x .@? "IsTruncated")-                     <*> (pure (fromEnum s)))--instance Hashable ListBucketAnalyticsConfigurations-         where--instance NFData ListBucketAnalyticsConfigurations-         where--instance ToHeaders ListBucketAnalyticsConfigurations-         where-        toHeaders = const mempty--instance ToPath ListBucketAnalyticsConfigurations-         where-        toPath ListBucketAnalyticsConfigurations'{..}-          = mconcat ["/", toBS _lbacBucket]--instance ToQuery ListBucketAnalyticsConfigurations-         where-        toQuery ListBucketAnalyticsConfigurations'{..}-          = mconcat-              ["continuation-token" =: _lbacContinuationToken,-               "analytics"]---- | /See:/ 'listBucketAnalyticsConfigurationsResponse' smart constructor.-data ListBucketAnalyticsConfigurationsResponse = ListBucketAnalyticsConfigurationsResponse'-  { _lbacrsAnalyticsConfigurationList :: !(Maybe [AnalyticsConfiguration])-  , _lbacrsContinuationToken          :: !(Maybe Text)-  , _lbacrsNextContinuationToken      :: !(Maybe Text)-  , _lbacrsIsTruncated                :: !(Maybe Bool)-  , _lbacrsResponseStatus             :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketAnalyticsConfigurationsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbacrsAnalyticsConfigurationList' - The list of analytics configurations for a bucket.------ * 'lbacrsContinuationToken' - The ContinuationToken that represents where this request began.------ * 'lbacrsNextContinuationToken' - NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.------ * 'lbacrsIsTruncated' - Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.------ * 'lbacrsResponseStatus' - -- | The response status code.-listBucketAnalyticsConfigurationsResponse-    :: Int -- ^ 'lbacrsResponseStatus'-    -> ListBucketAnalyticsConfigurationsResponse-listBucketAnalyticsConfigurationsResponse pResponseStatus_ =-  ListBucketAnalyticsConfigurationsResponse'-    { _lbacrsAnalyticsConfigurationList = Nothing-    , _lbacrsContinuationToken = Nothing-    , _lbacrsNextContinuationToken = Nothing-    , _lbacrsIsTruncated = Nothing-    , _lbacrsResponseStatus = pResponseStatus_-    }----- | The list of analytics configurations for a bucket.-lbacrsAnalyticsConfigurationList :: Lens' ListBucketAnalyticsConfigurationsResponse [AnalyticsConfiguration]-lbacrsAnalyticsConfigurationList = lens _lbacrsAnalyticsConfigurationList (\ s a -> s{_lbacrsAnalyticsConfigurationList = a}) . _Default . _Coerce---- | The ContinuationToken that represents where this request began.-lbacrsContinuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)-lbacrsContinuationToken = lens _lbacrsContinuationToken (\ s a -> s{_lbacrsContinuationToken = a})---- | NextContinuationToken is sent when isTruncated is true, which indicates that there are more analytics configurations to list. The next request must include this NextContinuationToken. The token is obfuscated and is not a usable value.-lbacrsNextContinuationToken :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Text)-lbacrsNextContinuationToken = lens _lbacrsNextContinuationToken (\ s a -> s{_lbacrsNextContinuationToken = a})---- | Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.-lbacrsIsTruncated :: Lens' ListBucketAnalyticsConfigurationsResponse (Maybe Bool)-lbacrsIsTruncated = lens _lbacrsIsTruncated (\ s a -> s{_lbacrsIsTruncated = a})---- | -- | The response status code.-lbacrsResponseStatus :: Lens' ListBucketAnalyticsConfigurationsResponse Int-lbacrsResponseStatus = lens _lbacrsResponseStatus (\ s a -> s{_lbacrsResponseStatus = a})--instance NFData-           ListBucketAnalyticsConfigurationsResponse-         where
− gen/Network/AWS/S3/ListBucketInventoryConfigurations.hs
@@ -1,174 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListBucketInventoryConfigurations--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns a list of inventory configurations for the bucket.-module Network.AWS.S3.ListBucketInventoryConfigurations-    (-    -- * Creating a Request-      listBucketInventoryConfigurations-    , ListBucketInventoryConfigurations-    -- * Request Lenses-    , lbicContinuationToken-    , lbicBucket--    -- * Destructuring the Response-    , listBucketInventoryConfigurationsResponse-    , ListBucketInventoryConfigurationsResponse-    -- * Response Lenses-    , lbicrsContinuationToken-    , lbicrsInventoryConfigurationList-    , lbicrsNextContinuationToken-    , lbicrsIsTruncated-    , lbicrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listBucketInventoryConfigurations' smart constructor.-data ListBucketInventoryConfigurations = ListBucketInventoryConfigurations'-  { _lbicContinuationToken :: !(Maybe Text)-  , _lbicBucket            :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketInventoryConfigurations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbicContinuationToken' - The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.------ * 'lbicBucket' - The name of the bucket containing the inventory configurations to retrieve.-listBucketInventoryConfigurations-    :: BucketName -- ^ 'lbicBucket'-    -> ListBucketInventoryConfigurations-listBucketInventoryConfigurations pBucket_ =-  ListBucketInventoryConfigurations'-    {_lbicContinuationToken = Nothing, _lbicBucket = pBucket_}----- | The marker used to continue an inventory configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.-lbicContinuationToken :: Lens' ListBucketInventoryConfigurations (Maybe Text)-lbicContinuationToken = lens _lbicContinuationToken (\ s a -> s{_lbicContinuationToken = a})---- | The name of the bucket containing the inventory configurations to retrieve.-lbicBucket :: Lens' ListBucketInventoryConfigurations BucketName-lbicBucket = lens _lbicBucket (\ s a -> s{_lbicBucket = a})--instance AWSRequest ListBucketInventoryConfigurations-         where-        type Rs ListBucketInventoryConfigurations =-             ListBucketInventoryConfigurationsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListBucketInventoryConfigurationsResponse' <$>-                   (x .@? "ContinuationToken") <*>-                     (may (parseXMLList "InventoryConfiguration") x)-                     <*> (x .@? "NextContinuationToken")-                     <*> (x .@? "IsTruncated")-                     <*> (pure (fromEnum s)))--instance Hashable ListBucketInventoryConfigurations-         where--instance NFData ListBucketInventoryConfigurations-         where--instance ToHeaders ListBucketInventoryConfigurations-         where-        toHeaders = const mempty--instance ToPath ListBucketInventoryConfigurations-         where-        toPath ListBucketInventoryConfigurations'{..}-          = mconcat ["/", toBS _lbicBucket]--instance ToQuery ListBucketInventoryConfigurations-         where-        toQuery ListBucketInventoryConfigurations'{..}-          = mconcat-              ["continuation-token" =: _lbicContinuationToken,-               "inventory"]---- | /See:/ 'listBucketInventoryConfigurationsResponse' smart constructor.-data ListBucketInventoryConfigurationsResponse = ListBucketInventoryConfigurationsResponse'-  { _lbicrsContinuationToken          :: !(Maybe Text)-  , _lbicrsInventoryConfigurationList :: !(Maybe [InventoryConfiguration])-  , _lbicrsNextContinuationToken      :: !(Maybe Text)-  , _lbicrsIsTruncated                :: !(Maybe Bool)-  , _lbicrsResponseStatus             :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketInventoryConfigurationsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbicrsContinuationToken' - If sent in the request, the marker that is used as a starting point for this inventory configuration list response.------ * 'lbicrsInventoryConfigurationList' - The list of inventory configurations for a bucket.------ * 'lbicrsNextContinuationToken' - The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.------ * 'lbicrsIsTruncated' - Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.------ * 'lbicrsResponseStatus' - -- | The response status code.-listBucketInventoryConfigurationsResponse-    :: Int -- ^ 'lbicrsResponseStatus'-    -> ListBucketInventoryConfigurationsResponse-listBucketInventoryConfigurationsResponse pResponseStatus_ =-  ListBucketInventoryConfigurationsResponse'-    { _lbicrsContinuationToken = Nothing-    , _lbicrsInventoryConfigurationList = Nothing-    , _lbicrsNextContinuationToken = Nothing-    , _lbicrsIsTruncated = Nothing-    , _lbicrsResponseStatus = pResponseStatus_-    }----- | If sent in the request, the marker that is used as a starting point for this inventory configuration list response.-lbicrsContinuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)-lbicrsContinuationToken = lens _lbicrsContinuationToken (\ s a -> s{_lbicrsContinuationToken = a})---- | The list of inventory configurations for a bucket.-lbicrsInventoryConfigurationList :: Lens' ListBucketInventoryConfigurationsResponse [InventoryConfiguration]-lbicrsInventoryConfigurationList = lens _lbicrsInventoryConfigurationList (\ s a -> s{_lbicrsInventoryConfigurationList = a}) . _Default . _Coerce---- | The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.-lbicrsNextContinuationToken :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Text)-lbicrsNextContinuationToken = lens _lbicrsNextContinuationToken (\ s a -> s{_lbicrsNextContinuationToken = a})---- | Indicates whether the returned list of inventory configurations is truncated in this response. A value of true indicates that the list is truncated.-lbicrsIsTruncated :: Lens' ListBucketInventoryConfigurationsResponse (Maybe Bool)-lbicrsIsTruncated = lens _lbicrsIsTruncated (\ s a -> s{_lbicrsIsTruncated = a})---- | -- | The response status code.-lbicrsResponseStatus :: Lens' ListBucketInventoryConfigurationsResponse Int-lbicrsResponseStatus = lens _lbicrsResponseStatus (\ s a -> s{_lbicrsResponseStatus = a})--instance NFData-           ListBucketInventoryConfigurationsResponse-         where
− gen/Network/AWS/S3/ListBucketMetricsConfigurations.hs
@@ -1,172 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListBucketMetricsConfigurations--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Lists the metrics configurations for the bucket.-module Network.AWS.S3.ListBucketMetricsConfigurations-    (-    -- * Creating a Request-      listBucketMetricsConfigurations-    , ListBucketMetricsConfigurations-    -- * Request Lenses-    , lbmcContinuationToken-    , lbmcBucket--    -- * Destructuring the Response-    , listBucketMetricsConfigurationsResponse-    , ListBucketMetricsConfigurationsResponse-    -- * Response Lenses-    , lbmcrsContinuationToken-    , lbmcrsMetricsConfigurationList-    , lbmcrsNextContinuationToken-    , lbmcrsIsTruncated-    , lbmcrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listBucketMetricsConfigurations' smart constructor.-data ListBucketMetricsConfigurations = ListBucketMetricsConfigurations'-  { _lbmcContinuationToken :: !(Maybe Text)-  , _lbmcBucket            :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketMetricsConfigurations' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbmcContinuationToken' - The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.------ * 'lbmcBucket' - The name of the bucket containing the metrics configurations to retrieve.-listBucketMetricsConfigurations-    :: BucketName -- ^ 'lbmcBucket'-    -> ListBucketMetricsConfigurations-listBucketMetricsConfigurations pBucket_ =-  ListBucketMetricsConfigurations'-    {_lbmcContinuationToken = Nothing, _lbmcBucket = pBucket_}----- | The marker that is used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.-lbmcContinuationToken :: Lens' ListBucketMetricsConfigurations (Maybe Text)-lbmcContinuationToken = lens _lbmcContinuationToken (\ s a -> s{_lbmcContinuationToken = a})---- | The name of the bucket containing the metrics configurations to retrieve.-lbmcBucket :: Lens' ListBucketMetricsConfigurations BucketName-lbmcBucket = lens _lbmcBucket (\ s a -> s{_lbmcBucket = a})--instance AWSRequest ListBucketMetricsConfigurations-         where-        type Rs ListBucketMetricsConfigurations =-             ListBucketMetricsConfigurationsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListBucketMetricsConfigurationsResponse' <$>-                   (x .@? "ContinuationToken") <*>-                     (may (parseXMLList "MetricsConfiguration") x)-                     <*> (x .@? "NextContinuationToken")-                     <*> (x .@? "IsTruncated")-                     <*> (pure (fromEnum s)))--instance Hashable ListBucketMetricsConfigurations-         where--instance NFData ListBucketMetricsConfigurations where--instance ToHeaders ListBucketMetricsConfigurations-         where-        toHeaders = const mempty--instance ToPath ListBucketMetricsConfigurations where-        toPath ListBucketMetricsConfigurations'{..}-          = mconcat ["/", toBS _lbmcBucket]--instance ToQuery ListBucketMetricsConfigurations-         where-        toQuery ListBucketMetricsConfigurations'{..}-          = mconcat-              ["continuation-token" =: _lbmcContinuationToken,-               "metrics"]---- | /See:/ 'listBucketMetricsConfigurationsResponse' smart constructor.-data ListBucketMetricsConfigurationsResponse = ListBucketMetricsConfigurationsResponse'-  { _lbmcrsContinuationToken        :: !(Maybe Text)-  , _lbmcrsMetricsConfigurationList :: !(Maybe [MetricsConfiguration])-  , _lbmcrsNextContinuationToken    :: !(Maybe Text)-  , _lbmcrsIsTruncated              :: !(Maybe Bool)-  , _lbmcrsResponseStatus           :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketMetricsConfigurationsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbmcrsContinuationToken' - The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request.------ * 'lbmcrsMetricsConfigurationList' - The list of metrics configurations for a bucket.------ * 'lbmcrsNextContinuationToken' - The marker used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.------ * 'lbmcrsIsTruncated' - Indicates whether the returned list of metrics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.------ * 'lbmcrsResponseStatus' - -- | The response status code.-listBucketMetricsConfigurationsResponse-    :: Int -- ^ 'lbmcrsResponseStatus'-    -> ListBucketMetricsConfigurationsResponse-listBucketMetricsConfigurationsResponse pResponseStatus_ =-  ListBucketMetricsConfigurationsResponse'-    { _lbmcrsContinuationToken = Nothing-    , _lbmcrsMetricsConfigurationList = Nothing-    , _lbmcrsNextContinuationToken = Nothing-    , _lbmcrsIsTruncated = Nothing-    , _lbmcrsResponseStatus = pResponseStatus_-    }----- | The marker that is used as a starting point for this metrics configuration list response. This value is present if it was sent in the request.-lbmcrsContinuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)-lbmcrsContinuationToken = lens _lbmcrsContinuationToken (\ s a -> s{_lbmcrsContinuationToken = a})---- | The list of metrics configurations for a bucket.-lbmcrsMetricsConfigurationList :: Lens' ListBucketMetricsConfigurationsResponse [MetricsConfiguration]-lbmcrsMetricsConfigurationList = lens _lbmcrsMetricsConfigurationList (\ s a -> s{_lbmcrsMetricsConfigurationList = a}) . _Default . _Coerce---- | The marker used to continue a metrics configuration listing that has been truncated. Use the NextContinuationToken from a previously truncated list response to continue the listing. The continuation token is an opaque value that Amazon S3 understands.-lbmcrsNextContinuationToken :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Text)-lbmcrsNextContinuationToken = lens _lbmcrsNextContinuationToken (\ s a -> s{_lbmcrsNextContinuationToken = a})---- | Indicates whether the returned list of metrics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.-lbmcrsIsTruncated :: Lens' ListBucketMetricsConfigurationsResponse (Maybe Bool)-lbmcrsIsTruncated = lens _lbmcrsIsTruncated (\ s a -> s{_lbmcrsIsTruncated = a})---- | -- | The response status code.-lbmcrsResponseStatus :: Lens' ListBucketMetricsConfigurationsResponse Int-lbmcrsResponseStatus = lens _lbmcrsResponseStatus (\ s a -> s{_lbmcrsResponseStatus = a})--instance NFData-           ListBucketMetricsConfigurationsResponse-         where
− gen/Network/AWS/S3/ListBuckets.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListBuckets--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns a list of all buckets owned by the authenticated sender of the request.-module Network.AWS.S3.ListBuckets-    (-    -- * Creating a Request-      listBuckets-    , ListBuckets--    -- * Destructuring the Response-    , listBucketsResponse-    , ListBucketsResponse-    -- * Response Lenses-    , lbrsBuckets-    , lbrsOwner-    , lbrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listBuckets' smart constructor.-data ListBuckets =-  ListBuckets'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBuckets' with the minimum fields required to make a request.----listBuckets-    :: ListBuckets-listBuckets = ListBuckets'---instance AWSRequest ListBuckets where-        type Rs ListBuckets = ListBucketsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListBucketsResponse' <$>-                   (x .@? "Buckets" .!@ mempty >>=-                      may (parseXMLList "Bucket"))-                     <*> (x .@? "Owner")-                     <*> (pure (fromEnum s)))--instance Hashable ListBuckets where--instance NFData ListBuckets where--instance ToHeaders ListBuckets where-        toHeaders = const mempty--instance ToPath ListBuckets where-        toPath = const "/"--instance ToQuery ListBuckets where-        toQuery = const mempty---- | /See:/ 'listBucketsResponse' smart constructor.-data ListBucketsResponse = ListBucketsResponse'-  { _lbrsBuckets        :: !(Maybe [Bucket])-  , _lbrsOwner          :: !(Maybe Owner)-  , _lbrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListBucketsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lbrsBuckets' - Undocumented member.------ * 'lbrsOwner' - Undocumented member.------ * 'lbrsResponseStatus' - -- | The response status code.-listBucketsResponse-    :: Int -- ^ 'lbrsResponseStatus'-    -> ListBucketsResponse-listBucketsResponse pResponseStatus_ =-  ListBucketsResponse'-    { _lbrsBuckets = Nothing-    , _lbrsOwner = Nothing-    , _lbrsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-lbrsBuckets :: Lens' ListBucketsResponse [Bucket]-lbrsBuckets = lens _lbrsBuckets (\ s a -> s{_lbrsBuckets = a}) . _Default . _Coerce---- | Undocumented member.-lbrsOwner :: Lens' ListBucketsResponse (Maybe Owner)-lbrsOwner = lens _lbrsOwner (\ s a -> s{_lbrsOwner = a})---- | -- | The response status code.-lbrsResponseStatus :: Lens' ListBucketsResponse Int-lbrsResponseStatus = lens _lbrsResponseStatus (\ s a -> s{_lbrsResponseStatus = a})--instance NFData ListBucketsResponse where
− gen/Network/AWS/S3/ListMultipartUploads.hs
@@ -1,309 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListMultipartUploads--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ This operation lists in-progress multipart uploads.------ This operation returns paginated results.-module Network.AWS.S3.ListMultipartUploads-    (-    -- * Creating a Request-      listMultipartUploads-    , ListMultipartUploads-    -- * Request Lenses-    , lmuKeyMarker-    , lmuPrefix-    , lmuEncodingType-    , lmuUploadIdMarker-    , lmuMaxUploads-    , lmuDelimiter-    , lmuBucket--    -- * Destructuring the Response-    , listMultipartUploadsResponse-    , ListMultipartUploadsResponse-    -- * Response Lenses-    , lmursKeyMarker-    , lmursPrefix-    , lmursCommonPrefixes-    , lmursEncodingType-    , lmursBucket-    , lmursUploadIdMarker-    , lmursMaxUploads-    , lmursNextKeyMarker-    , lmursUploads-    , lmursIsTruncated-    , lmursNextUploadIdMarker-    , lmursDelimiter-    , lmursResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listMultipartUploads' smart constructor.-data ListMultipartUploads = ListMultipartUploads'-  { _lmuKeyMarker      :: !(Maybe Text)-  , _lmuPrefix         :: !(Maybe Text)-  , _lmuEncodingType   :: !(Maybe EncodingType)-  , _lmuUploadIdMarker :: !(Maybe Text)-  , _lmuMaxUploads     :: !(Maybe Int)-  , _lmuDelimiter      :: !(Maybe Delimiter)-  , _lmuBucket         :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListMultipartUploads' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lmuKeyMarker' - Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.------ * 'lmuPrefix' - Lists in-progress uploads only for those keys that begin with the specified prefix.------ * 'lmuEncodingType' - Undocumented member.------ * 'lmuUploadIdMarker' - Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored.------ * 'lmuMaxUploads' - Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.------ * 'lmuDelimiter' - Character you use to group keys.------ * 'lmuBucket' - Undocumented member.-listMultipartUploads-    :: BucketName -- ^ 'lmuBucket'-    -> ListMultipartUploads-listMultipartUploads pBucket_ =-  ListMultipartUploads'-    { _lmuKeyMarker = Nothing-    , _lmuPrefix = Nothing-    , _lmuEncodingType = Nothing-    , _lmuUploadIdMarker = Nothing-    , _lmuMaxUploads = Nothing-    , _lmuDelimiter = Nothing-    , _lmuBucket = pBucket_-    }----- | Together with upload-id-marker, this parameter specifies the multipart upload after which listing should begin.-lmuKeyMarker :: Lens' ListMultipartUploads (Maybe Text)-lmuKeyMarker = lens _lmuKeyMarker (\ s a -> s{_lmuKeyMarker = a})---- | Lists in-progress uploads only for those keys that begin with the specified prefix.-lmuPrefix :: Lens' ListMultipartUploads (Maybe Text)-lmuPrefix = lens _lmuPrefix (\ s a -> s{_lmuPrefix = a})---- | Undocumented member.-lmuEncodingType :: Lens' ListMultipartUploads (Maybe EncodingType)-lmuEncodingType = lens _lmuEncodingType (\ s a -> s{_lmuEncodingType = a})---- | Together with key-marker, specifies the multipart upload after which listing should begin. If key-marker is not specified, the upload-id-marker parameter is ignored.-lmuUploadIdMarker :: Lens' ListMultipartUploads (Maybe Text)-lmuUploadIdMarker = lens _lmuUploadIdMarker (\ s a -> s{_lmuUploadIdMarker = a})---- | Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the response body. 1,000 is the maximum number of uploads that can be returned in a response.-lmuMaxUploads :: Lens' ListMultipartUploads (Maybe Int)-lmuMaxUploads = lens _lmuMaxUploads (\ s a -> s{_lmuMaxUploads = a})---- | Character you use to group keys.-lmuDelimiter :: Lens' ListMultipartUploads (Maybe Delimiter)-lmuDelimiter = lens _lmuDelimiter (\ s a -> s{_lmuDelimiter = a})---- | Undocumented member.-lmuBucket :: Lens' ListMultipartUploads BucketName-lmuBucket = lens _lmuBucket (\ s a -> s{_lmuBucket = a})--instance AWSPager ListMultipartUploads where-        page rq rs-          | stop (rs ^. lmursIsTruncated) = Nothing-          | isNothing (rs ^. lmursNextKeyMarker) &&-              isNothing (rs ^. lmursNextUploadIdMarker)-            = Nothing-          | otherwise =-            Just $ rq & lmuKeyMarker .~ rs ^. lmursNextKeyMarker-              & lmuUploadIdMarker .~ rs ^. lmursNextUploadIdMarker--instance AWSRequest ListMultipartUploads where-        type Rs ListMultipartUploads =-             ListMultipartUploadsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListMultipartUploadsResponse' <$>-                   (x .@? "KeyMarker") <*> (x .@? "Prefix") <*>-                     (may (parseXMLList "CommonPrefixes") x)-                     <*> (x .@? "EncodingType")-                     <*> (x .@? "Bucket")-                     <*> (x .@? "UploadIdMarker")-                     <*> (x .@? "MaxUploads")-                     <*> (x .@? "NextKeyMarker")-                     <*> (may (parseXMLList "Upload") x)-                     <*> (x .@? "IsTruncated")-                     <*> (x .@? "NextUploadIdMarker")-                     <*> (x .@? "Delimiter")-                     <*> (pure (fromEnum s)))--instance Hashable ListMultipartUploads where--instance NFData ListMultipartUploads where--instance ToHeaders ListMultipartUploads where-        toHeaders = const mempty--instance ToPath ListMultipartUploads where-        toPath ListMultipartUploads'{..}-          = mconcat ["/", toBS _lmuBucket]--instance ToQuery ListMultipartUploads where-        toQuery ListMultipartUploads'{..}-          = mconcat-              ["key-marker" =: _lmuKeyMarker,-               "prefix" =: _lmuPrefix,-               "encoding-type" =: _lmuEncodingType,-               "upload-id-marker" =: _lmuUploadIdMarker,-               "max-uploads" =: _lmuMaxUploads,-               "delimiter" =: _lmuDelimiter, "uploads"]---- | /See:/ 'listMultipartUploadsResponse' smart constructor.-data ListMultipartUploadsResponse = ListMultipartUploadsResponse'-  { _lmursKeyMarker          :: !(Maybe Text)-  , _lmursPrefix             :: !(Maybe Text)-  , _lmursCommonPrefixes     :: !(Maybe [CommonPrefix])-  , _lmursEncodingType       :: !(Maybe EncodingType)-  , _lmursBucket             :: !(Maybe BucketName)-  , _lmursUploadIdMarker     :: !(Maybe Text)-  , _lmursMaxUploads         :: !(Maybe Int)-  , _lmursNextKeyMarker      :: !(Maybe Text)-  , _lmursUploads            :: !(Maybe [MultipartUpload])-  , _lmursIsTruncated        :: !(Maybe Bool)-  , _lmursNextUploadIdMarker :: !(Maybe Text)-  , _lmursDelimiter          :: !(Maybe Delimiter)-  , _lmursResponseStatus     :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListMultipartUploadsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lmursKeyMarker' - The key at or after which the listing began.------ * 'lmursPrefix' - When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.------ * 'lmursCommonPrefixes' - Undocumented member.------ * 'lmursEncodingType' - Encoding type used by Amazon S3 to encode object keys in the response.------ * 'lmursBucket' - Name of the bucket to which the multipart upload was initiated.------ * 'lmursUploadIdMarker' - Upload ID after which listing began.------ * 'lmursMaxUploads' - Maximum number of multipart uploads that could have been included in the response.------ * 'lmursNextKeyMarker' - When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.------ * 'lmursUploads' - Undocumented member.------ * 'lmursIsTruncated' - Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.------ * 'lmursNextUploadIdMarker' - When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request.------ * 'lmursDelimiter' - Undocumented member.------ * 'lmursResponseStatus' - -- | The response status code.-listMultipartUploadsResponse-    :: Int -- ^ 'lmursResponseStatus'-    -> ListMultipartUploadsResponse-listMultipartUploadsResponse pResponseStatus_ =-  ListMultipartUploadsResponse'-    { _lmursKeyMarker = Nothing-    , _lmursPrefix = Nothing-    , _lmursCommonPrefixes = Nothing-    , _lmursEncodingType = Nothing-    , _lmursBucket = Nothing-    , _lmursUploadIdMarker = Nothing-    , _lmursMaxUploads = Nothing-    , _lmursNextKeyMarker = Nothing-    , _lmursUploads = Nothing-    , _lmursIsTruncated = Nothing-    , _lmursNextUploadIdMarker = Nothing-    , _lmursDelimiter = Nothing-    , _lmursResponseStatus = pResponseStatus_-    }----- | The key at or after which the listing began.-lmursKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmursKeyMarker = lens _lmursKeyMarker (\ s a -> s{_lmursKeyMarker = a})---- | When a prefix is provided in the request, this field contains the specified prefix. The result contains only keys starting with the specified prefix.-lmursPrefix :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmursPrefix = lens _lmursPrefix (\ s a -> s{_lmursPrefix = a})---- | Undocumented member.-lmursCommonPrefixes :: Lens' ListMultipartUploadsResponse [CommonPrefix]-lmursCommonPrefixes = lens _lmursCommonPrefixes (\ s a -> s{_lmursCommonPrefixes = a}) . _Default . _Coerce---- | Encoding type used by Amazon S3 to encode object keys in the response.-lmursEncodingType :: Lens' ListMultipartUploadsResponse (Maybe EncodingType)-lmursEncodingType = lens _lmursEncodingType (\ s a -> s{_lmursEncodingType = a})---- | Name of the bucket to which the multipart upload was initiated.-lmursBucket :: Lens' ListMultipartUploadsResponse (Maybe BucketName)-lmursBucket = lens _lmursBucket (\ s a -> s{_lmursBucket = a})---- | Upload ID after which listing began.-lmursUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmursUploadIdMarker = lens _lmursUploadIdMarker (\ s a -> s{_lmursUploadIdMarker = a})---- | Maximum number of multipart uploads that could have been included in the response.-lmursMaxUploads :: Lens' ListMultipartUploadsResponse (Maybe Int)-lmursMaxUploads = lens _lmursMaxUploads (\ s a -> s{_lmursMaxUploads = a})---- | When a list is truncated, this element specifies the value that should be used for the key-marker request parameter in a subsequent request.-lmursNextKeyMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmursNextKeyMarker = lens _lmursNextKeyMarker (\ s a -> s{_lmursNextKeyMarker = a})---- | Undocumented member.-lmursUploads :: Lens' ListMultipartUploadsResponse [MultipartUpload]-lmursUploads = lens _lmursUploads (\ s a -> s{_lmursUploads = a}) . _Default . _Coerce---- | Indicates whether the returned list of multipart uploads is truncated. A value of true indicates that the list was truncated. The list can be truncated if the number of multipart uploads exceeds the limit allowed or specified by max uploads.-lmursIsTruncated :: Lens' ListMultipartUploadsResponse (Maybe Bool)-lmursIsTruncated = lens _lmursIsTruncated (\ s a -> s{_lmursIsTruncated = a})---- | When a list is truncated, this element specifies the value that should be used for the upload-id-marker request parameter in a subsequent request.-lmursNextUploadIdMarker :: Lens' ListMultipartUploadsResponse (Maybe Text)-lmursNextUploadIdMarker = lens _lmursNextUploadIdMarker (\ s a -> s{_lmursNextUploadIdMarker = a})---- | Undocumented member.-lmursDelimiter :: Lens' ListMultipartUploadsResponse (Maybe Delimiter)-lmursDelimiter = lens _lmursDelimiter (\ s a -> s{_lmursDelimiter = a})---- | -- | The response status code.-lmursResponseStatus :: Lens' ListMultipartUploadsResponse Int-lmursResponseStatus = lens _lmursResponseStatus (\ s a -> s{_lmursResponseStatus = a})--instance NFData ListMultipartUploadsResponse where
− gen/Network/AWS/S3/ListObjectVersions.hs
@@ -1,318 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListObjectVersions--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns metadata about all of the versions of objects in a bucket.------ This operation returns paginated results.-module Network.AWS.S3.ListObjectVersions-    (-    -- * Creating a Request-      listObjectVersions-    , ListObjectVersions-    -- * Request Lenses-    , lKeyMarker-    , lPrefix-    , lEncodingType-    , lVersionIdMarker-    , lMaxKeys-    , lDelimiter-    , lBucket--    -- * Destructuring the Response-    , listObjectVersionsResponse-    , ListObjectVersionsResponse-    -- * Response Lenses-    , lrsNextVersionIdMarker-    , lrsKeyMarker-    , lrsDeleteMarkers-    , lrsPrefix-    , lrsCommonPrefixes-    , lrsEncodingType-    , lrsVersions-    , lrsName-    , lrsNextKeyMarker-    , lrsVersionIdMarker-    , lrsMaxKeys-    , lrsIsTruncated-    , lrsDelimiter-    , lrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listObjectVersions' smart constructor.-data ListObjectVersions = ListObjectVersions'-  { _lKeyMarker       :: !(Maybe Text)-  , _lPrefix          :: !(Maybe Text)-  , _lEncodingType    :: !(Maybe EncodingType)-  , _lVersionIdMarker :: !(Maybe Text)-  , _lMaxKeys         :: !(Maybe Int)-  , _lDelimiter       :: !(Maybe Delimiter)-  , _lBucket          :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListObjectVersions' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lKeyMarker' - Specifies the key to start with when listing objects in a bucket.------ * 'lPrefix' - Limits the response to keys that begin with the specified prefix.------ * 'lEncodingType' - Undocumented member.------ * 'lVersionIdMarker' - Specifies the object version you want to start listing from.------ * 'lMaxKeys' - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.------ * 'lDelimiter' - A delimiter is a character you use to group keys.------ * 'lBucket' - Undocumented member.-listObjectVersions-    :: BucketName -- ^ 'lBucket'-    -> ListObjectVersions-listObjectVersions pBucket_ =-  ListObjectVersions'-    { _lKeyMarker = Nothing-    , _lPrefix = Nothing-    , _lEncodingType = Nothing-    , _lVersionIdMarker = Nothing-    , _lMaxKeys = Nothing-    , _lDelimiter = Nothing-    , _lBucket = pBucket_-    }----- | Specifies the key to start with when listing objects in a bucket.-lKeyMarker :: Lens' ListObjectVersions (Maybe Text)-lKeyMarker = lens _lKeyMarker (\ s a -> s{_lKeyMarker = a})---- | Limits the response to keys that begin with the specified prefix.-lPrefix :: Lens' ListObjectVersions (Maybe Text)-lPrefix = lens _lPrefix (\ s a -> s{_lPrefix = a})---- | Undocumented member.-lEncodingType :: Lens' ListObjectVersions (Maybe EncodingType)-lEncodingType = lens _lEncodingType (\ s a -> s{_lEncodingType = a})---- | Specifies the object version you want to start listing from.-lVersionIdMarker :: Lens' ListObjectVersions (Maybe Text)-lVersionIdMarker = lens _lVersionIdMarker (\ s a -> s{_lVersionIdMarker = a})---- | Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.-lMaxKeys :: Lens' ListObjectVersions (Maybe Int)-lMaxKeys = lens _lMaxKeys (\ s a -> s{_lMaxKeys = a})---- | A delimiter is a character you use to group keys.-lDelimiter :: Lens' ListObjectVersions (Maybe Delimiter)-lDelimiter = lens _lDelimiter (\ s a -> s{_lDelimiter = a})---- | Undocumented member.-lBucket :: Lens' ListObjectVersions BucketName-lBucket = lens _lBucket (\ s a -> s{_lBucket = a})--instance AWSPager ListObjectVersions where-        page rq rs-          | stop (rs ^. lrsIsTruncated) = Nothing-          | isNothing (rs ^. lrsNextKeyMarker) &&-              isNothing (rs ^. lrsNextVersionIdMarker)-            = Nothing-          | otherwise =-            Just $ rq & lKeyMarker .~ rs ^. lrsNextKeyMarker &-              lVersionIdMarker .~ rs ^. lrsNextVersionIdMarker--instance AWSRequest ListObjectVersions where-        type Rs ListObjectVersions =-             ListObjectVersionsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListObjectVersionsResponse' <$>-                   (x .@? "NextVersionIdMarker") <*> (x .@? "KeyMarker")-                     <*> (may (parseXMLList "DeleteMarker") x)-                     <*> (x .@? "Prefix")-                     <*> (may (parseXMLList "CommonPrefixes") x)-                     <*> (x .@? "EncodingType")-                     <*> (may (parseXMLList "Version") x)-                     <*> (x .@? "Name")-                     <*> (x .@? "NextKeyMarker")-                     <*> (x .@? "VersionIdMarker")-                     <*> (x .@? "MaxKeys")-                     <*> (x .@? "IsTruncated")-                     <*> (x .@? "Delimiter")-                     <*> (pure (fromEnum s)))--instance Hashable ListObjectVersions where--instance NFData ListObjectVersions where--instance ToHeaders ListObjectVersions where-        toHeaders = const mempty--instance ToPath ListObjectVersions where-        toPath ListObjectVersions'{..}-          = mconcat ["/", toBS _lBucket]--instance ToQuery ListObjectVersions where-        toQuery ListObjectVersions'{..}-          = mconcat-              ["key-marker" =: _lKeyMarker, "prefix" =: _lPrefix,-               "encoding-type" =: _lEncodingType,-               "version-id-marker" =: _lVersionIdMarker,-               "max-keys" =: _lMaxKeys, "delimiter" =: _lDelimiter,-               "versions"]---- | /See:/ 'listObjectVersionsResponse' smart constructor.-data ListObjectVersionsResponse = ListObjectVersionsResponse'-  { _lrsNextVersionIdMarker :: !(Maybe Text)-  , _lrsKeyMarker           :: !(Maybe Text)-  , _lrsDeleteMarkers       :: !(Maybe [DeleteMarkerEntry])-  , _lrsPrefix              :: !(Maybe Text)-  , _lrsCommonPrefixes      :: !(Maybe [CommonPrefix])-  , _lrsEncodingType        :: !(Maybe EncodingType)-  , _lrsVersions            :: !(Maybe [ObjectVersion])-  , _lrsName                :: !(Maybe BucketName)-  , _lrsNextKeyMarker       :: !(Maybe Text)-  , _lrsVersionIdMarker     :: !(Maybe Text)-  , _lrsMaxKeys             :: !(Maybe Int)-  , _lrsIsTruncated         :: !(Maybe Bool)-  , _lrsDelimiter           :: !(Maybe Delimiter)-  , _lrsResponseStatus      :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListObjectVersionsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrsNextVersionIdMarker' - Use this value for the next version id marker parameter in a subsequent request.------ * 'lrsKeyMarker' - Marks the last Key returned in a truncated response.------ * 'lrsDeleteMarkers' - Undocumented member.------ * 'lrsPrefix' - Undocumented member.------ * 'lrsCommonPrefixes' - Undocumented member.------ * 'lrsEncodingType' - Encoding type used by Amazon S3 to encode object keys in the response.------ * 'lrsVersions' - Undocumented member.------ * 'lrsName' - Undocumented member.------ * 'lrsNextKeyMarker' - Use this value for the key marker request parameter in a subsequent request.------ * 'lrsVersionIdMarker' - Undocumented member.------ * 'lrsMaxKeys' - Undocumented member.------ * 'lrsIsTruncated' - A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in another request to return the rest of the results.------ * 'lrsDelimiter' - Undocumented member.------ * 'lrsResponseStatus' - -- | The response status code.-listObjectVersionsResponse-    :: Int -- ^ 'lrsResponseStatus'-    -> ListObjectVersionsResponse-listObjectVersionsResponse pResponseStatus_ =-  ListObjectVersionsResponse'-    { _lrsNextVersionIdMarker = Nothing-    , _lrsKeyMarker = Nothing-    , _lrsDeleteMarkers = Nothing-    , _lrsPrefix = Nothing-    , _lrsCommonPrefixes = Nothing-    , _lrsEncodingType = Nothing-    , _lrsVersions = Nothing-    , _lrsName = Nothing-    , _lrsNextKeyMarker = Nothing-    , _lrsVersionIdMarker = Nothing-    , _lrsMaxKeys = Nothing-    , _lrsIsTruncated = Nothing-    , _lrsDelimiter = Nothing-    , _lrsResponseStatus = pResponseStatus_-    }----- | Use this value for the next version id marker parameter in a subsequent request.-lrsNextVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lrsNextVersionIdMarker = lens _lrsNextVersionIdMarker (\ s a -> s{_lrsNextVersionIdMarker = a})---- | Marks the last Key returned in a truncated response.-lrsKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lrsKeyMarker = lens _lrsKeyMarker (\ s a -> s{_lrsKeyMarker = a})---- | Undocumented member.-lrsDeleteMarkers :: Lens' ListObjectVersionsResponse [DeleteMarkerEntry]-lrsDeleteMarkers = lens _lrsDeleteMarkers (\ s a -> s{_lrsDeleteMarkers = a}) . _Default . _Coerce---- | Undocumented member.-lrsPrefix :: Lens' ListObjectVersionsResponse (Maybe Text)-lrsPrefix = lens _lrsPrefix (\ s a -> s{_lrsPrefix = a})---- | Undocumented member.-lrsCommonPrefixes :: Lens' ListObjectVersionsResponse [CommonPrefix]-lrsCommonPrefixes = lens _lrsCommonPrefixes (\ s a -> s{_lrsCommonPrefixes = a}) . _Default . _Coerce---- | Encoding type used by Amazon S3 to encode object keys in the response.-lrsEncodingType :: Lens' ListObjectVersionsResponse (Maybe EncodingType)-lrsEncodingType = lens _lrsEncodingType (\ s a -> s{_lrsEncodingType = a})---- | Undocumented member.-lrsVersions :: Lens' ListObjectVersionsResponse [ObjectVersion]-lrsVersions = lens _lrsVersions (\ s a -> s{_lrsVersions = a}) . _Default . _Coerce---- | Undocumented member.-lrsName :: Lens' ListObjectVersionsResponse (Maybe BucketName)-lrsName = lens _lrsName (\ s a -> s{_lrsName = a})---- | Use this value for the key marker request parameter in a subsequent request.-lrsNextKeyMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lrsNextKeyMarker = lens _lrsNextKeyMarker (\ s a -> s{_lrsNextKeyMarker = a})---- | Undocumented member.-lrsVersionIdMarker :: Lens' ListObjectVersionsResponse (Maybe Text)-lrsVersionIdMarker = lens _lrsVersionIdMarker (\ s a -> s{_lrsVersionIdMarker = a})---- | Undocumented member.-lrsMaxKeys :: Lens' ListObjectVersionsResponse (Maybe Int)-lrsMaxKeys = lens _lrsMaxKeys (\ s a -> s{_lrsMaxKeys = a})---- | A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria. If your results were truncated, you can make a follow-up paginated request using the NextKeyMarker and NextVersionIdMarker response parameters as a starting place in another request to return the rest of the results.-lrsIsTruncated :: Lens' ListObjectVersionsResponse (Maybe Bool)-lrsIsTruncated = lens _lrsIsTruncated (\ s a -> s{_lrsIsTruncated = a})---- | Undocumented member.-lrsDelimiter :: Lens' ListObjectVersionsResponse (Maybe Delimiter)-lrsDelimiter = lens _lrsDelimiter (\ s a -> s{_lrsDelimiter = a})---- | -- | The response status code.-lrsResponseStatus :: Lens' ListObjectVersionsResponse Int-lrsResponseStatus = lens _lrsResponseStatus (\ s a -> s{_lrsResponseStatus = a})--instance NFData ListObjectVersionsResponse where
− gen/Network/AWS/S3/ListObjects.hs
@@ -1,293 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListObjects--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket.------ This operation returns paginated results.-module Network.AWS.S3.ListObjects-    (-    -- * Creating a Request-      listObjects-    , ListObjects-    -- * Request Lenses-    , loPrefix-    , loEncodingType-    , loRequestPayer-    , loMarker-    , loMaxKeys-    , loDelimiter-    , loBucket--    -- * Destructuring the Response-    , listObjectsResponse-    , ListObjectsResponse-    -- * Response Lenses-    , lorsContents-    , lorsPrefix-    , lorsCommonPrefixes-    , lorsEncodingType-    , lorsName-    , lorsMarker-    , lorsNextMarker-    , lorsMaxKeys-    , lorsIsTruncated-    , lorsDelimiter-    , lorsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listObjects' smart constructor.-data ListObjects = ListObjects'-  { _loPrefix       :: !(Maybe Text)-  , _loEncodingType :: !(Maybe EncodingType)-  , _loRequestPayer :: !(Maybe RequestPayer)-  , _loMarker       :: !(Maybe Text)-  , _loMaxKeys      :: !(Maybe Int)-  , _loDelimiter    :: !(Maybe Delimiter)-  , _loBucket       :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListObjects' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'loPrefix' - Limits the response to keys that begin with the specified prefix.------ * 'loEncodingType' - Undocumented member.------ * 'loRequestPayer' - Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.------ * 'loMarker' - Specifies the key to start with when listing objects in a bucket.------ * 'loMaxKeys' - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.------ * 'loDelimiter' - A delimiter is a character you use to group keys.------ * 'loBucket' - Undocumented member.-listObjects-    :: BucketName -- ^ 'loBucket'-    -> ListObjects-listObjects pBucket_ =-  ListObjects'-    { _loPrefix = Nothing-    , _loEncodingType = Nothing-    , _loRequestPayer = Nothing-    , _loMarker = Nothing-    , _loMaxKeys = Nothing-    , _loDelimiter = Nothing-    , _loBucket = pBucket_-    }----- | Limits the response to keys that begin with the specified prefix.-loPrefix :: Lens' ListObjects (Maybe Text)-loPrefix = lens _loPrefix (\ s a -> s{_loPrefix = a})---- | Undocumented member.-loEncodingType :: Lens' ListObjects (Maybe EncodingType)-loEncodingType = lens _loEncodingType (\ s a -> s{_loEncodingType = a})---- | Confirms that the requester knows that she or he will be charged for the list objects request. Bucket owners need not specify this parameter in their requests.-loRequestPayer :: Lens' ListObjects (Maybe RequestPayer)-loRequestPayer = lens _loRequestPayer (\ s a -> s{_loRequestPayer = a})---- | Specifies the key to start with when listing objects in a bucket.-loMarker :: Lens' ListObjects (Maybe Text)-loMarker = lens _loMarker (\ s a -> s{_loMarker = a})---- | Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.-loMaxKeys :: Lens' ListObjects (Maybe Int)-loMaxKeys = lens _loMaxKeys (\ s a -> s{_loMaxKeys = a})---- | A delimiter is a character you use to group keys.-loDelimiter :: Lens' ListObjects (Maybe Delimiter)-loDelimiter = lens _loDelimiter (\ s a -> s{_loDelimiter = a})---- | Undocumented member.-loBucket :: Lens' ListObjects BucketName-loBucket = lens _loBucket (\ s a -> s{_loBucket = a})--instance AWSPager ListObjects where-        page rq rs-          | stop (rs ^. lorsIsTruncated) = Nothing-          | isNothing-              (rs ^.-                 choice (^. lorsNextMarker)-                   (^? (lorsContents . _last . oKey)))-            = Nothing-          | otherwise =-            Just $ rq &-              loMarker .~-                rs ^.-                  choice (^. lorsNextMarker)-                    (^? (lorsContents . _last . oKey))--instance AWSRequest ListObjects where-        type Rs ListObjects = ListObjectsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListObjectsResponse' <$>-                   (may (parseXMLList "Contents") x) <*>-                     (x .@? "Prefix")-                     <*> (may (parseXMLList "CommonPrefixes") x)-                     <*> (x .@? "EncodingType")-                     <*> (x .@? "Name")-                     <*> (x .@? "Marker")-                     <*> (x .@? "NextMarker")-                     <*> (x .@? "MaxKeys")-                     <*> (x .@? "IsTruncated")-                     <*> (x .@? "Delimiter")-                     <*> (pure (fromEnum s)))--instance Hashable ListObjects where--instance NFData ListObjects where--instance ToHeaders ListObjects where-        toHeaders ListObjects'{..}-          = mconcat ["x-amz-request-payer" =# _loRequestPayer]--instance ToPath ListObjects where-        toPath ListObjects'{..}-          = mconcat ["/", toBS _loBucket]--instance ToQuery ListObjects where-        toQuery ListObjects'{..}-          = mconcat-              ["prefix" =: _loPrefix,-               "encoding-type" =: _loEncodingType,-               "marker" =: _loMarker, "max-keys" =: _loMaxKeys,-               "delimiter" =: _loDelimiter]---- | /See:/ 'listObjectsResponse' smart constructor.-data ListObjectsResponse = ListObjectsResponse'-  { _lorsContents       :: !(Maybe [Object])-  , _lorsPrefix         :: !(Maybe Text)-  , _lorsCommonPrefixes :: !(Maybe [CommonPrefix])-  , _lorsEncodingType   :: !(Maybe EncodingType)-  , _lorsName           :: !(Maybe BucketName)-  , _lorsMarker         :: !(Maybe Text)-  , _lorsNextMarker     :: !(Maybe Text)-  , _lorsMaxKeys        :: !(Maybe Int)-  , _lorsIsTruncated    :: !(Maybe Bool)-  , _lorsDelimiter      :: !(Maybe Delimiter)-  , _lorsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListObjectsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lorsContents' - Undocumented member.------ * 'lorsPrefix' - Undocumented member.------ * 'lorsCommonPrefixes' - Undocumented member.------ * 'lorsEncodingType' - Encoding type used by Amazon S3 to encode object keys in the response.------ * 'lorsName' - Undocumented member.------ * 'lorsMarker' - Undocumented member.------ * 'lorsNextMarker' - When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.------ * 'lorsMaxKeys' - Undocumented member.------ * 'lorsIsTruncated' - A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.------ * 'lorsDelimiter' - Undocumented member.------ * 'lorsResponseStatus' - -- | The response status code.-listObjectsResponse-    :: Int -- ^ 'lorsResponseStatus'-    -> ListObjectsResponse-listObjectsResponse pResponseStatus_ =-  ListObjectsResponse'-    { _lorsContents = Nothing-    , _lorsPrefix = Nothing-    , _lorsCommonPrefixes = Nothing-    , _lorsEncodingType = Nothing-    , _lorsName = Nothing-    , _lorsMarker = Nothing-    , _lorsNextMarker = Nothing-    , _lorsMaxKeys = Nothing-    , _lorsIsTruncated = Nothing-    , _lorsDelimiter = Nothing-    , _lorsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-lorsContents :: Lens' ListObjectsResponse [Object]-lorsContents = lens _lorsContents (\ s a -> s{_lorsContents = a}) . _Default . _Coerce---- | Undocumented member.-lorsPrefix :: Lens' ListObjectsResponse (Maybe Text)-lorsPrefix = lens _lorsPrefix (\ s a -> s{_lorsPrefix = a})---- | Undocumented member.-lorsCommonPrefixes :: Lens' ListObjectsResponse [CommonPrefix]-lorsCommonPrefixes = lens _lorsCommonPrefixes (\ s a -> s{_lorsCommonPrefixes = a}) . _Default . _Coerce---- | Encoding type used by Amazon S3 to encode object keys in the response.-lorsEncodingType :: Lens' ListObjectsResponse (Maybe EncodingType)-lorsEncodingType = lens _lorsEncodingType (\ s a -> s{_lorsEncodingType = a})---- | Undocumented member.-lorsName :: Lens' ListObjectsResponse (Maybe BucketName)-lorsName = lens _lorsName (\ s a -> s{_lorsName = a})---- | Undocumented member.-lorsMarker :: Lens' ListObjectsResponse (Maybe Text)-lorsMarker = lens _lorsMarker (\ s a -> s{_lorsMarker = a})---- | When response is truncated (the IsTruncated element value in the response is true), you can use the key name in this field as marker in the subsequent request to get next set of objects. Amazon S3 lists objects in alphabetical order Note: This element is returned only if you have delimiter request parameter specified. If response does not include the NextMaker and it is truncated, you can use the value of the last Key in the response as the marker in the subsequent request to get the next set of object keys.-lorsNextMarker :: Lens' ListObjectsResponse (Maybe Text)-lorsNextMarker = lens _lorsNextMarker (\ s a -> s{_lorsNextMarker = a})---- | Undocumented member.-lorsMaxKeys :: Lens' ListObjectsResponse (Maybe Int)-lorsMaxKeys = lens _lorsMaxKeys (\ s a -> s{_lorsMaxKeys = a})---- | A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.-lorsIsTruncated :: Lens' ListObjectsResponse (Maybe Bool)-lorsIsTruncated = lens _lorsIsTruncated (\ s a -> s{_lorsIsTruncated = a})---- | Undocumented member.-lorsDelimiter :: Lens' ListObjectsResponse (Maybe Delimiter)-lorsDelimiter = lens _lorsDelimiter (\ s a -> s{_lorsDelimiter = a})---- | -- | The response status code.-lorsResponseStatus :: Lens' ListObjectsResponse Int-lorsResponseStatus = lens _lorsResponseStatus (\ s a -> s{_lorsResponseStatus = a})--instance NFData ListObjectsResponse where
− gen/Network/AWS/S3/ListObjectsV2.hs
@@ -1,328 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListObjectsV2--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Returns some or all (up to 1000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. Note: ListObjectsV2 is the revised List Objects API and we recommend you use this revised API for new application development.------ This operation returns paginated results.-module Network.AWS.S3.ListObjectsV2-    (-    -- * Creating a Request-      listObjectsV2-    , ListObjectsV2-    -- * Request Lenses-    , lovStartAfter-    , lovContinuationToken-    , lovFetchOwner-    , lovPrefix-    , lovEncodingType-    , lovRequestPayer-    , lovMaxKeys-    , lovDelimiter-    , lovBucket--    -- * Destructuring the Response-    , listObjectsV2Response-    , ListObjectsV2Response-    -- * Response Lenses-    , lovrsStartAfter-    , lovrsKeyCount-    , lovrsContents-    , lovrsContinuationToken-    , lovrsPrefix-    , lovrsCommonPrefixes-    , lovrsEncodingType-    , lovrsName-    , lovrsNextContinuationToken-    , lovrsMaxKeys-    , lovrsIsTruncated-    , lovrsDelimiter-    , lovrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listObjectsV2' smart constructor.-data ListObjectsV2 = ListObjectsV2'-  { _lovStartAfter        :: !(Maybe Text)-  , _lovContinuationToken :: !(Maybe Text)-  , _lovFetchOwner        :: !(Maybe Bool)-  , _lovPrefix            :: !(Maybe Text)-  , _lovEncodingType      :: !(Maybe EncodingType)-  , _lovRequestPayer      :: !(Maybe RequestPayer)-  , _lovMaxKeys           :: !(Maybe Int)-  , _lovDelimiter         :: !(Maybe Delimiter)-  , _lovBucket            :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListObjectsV2' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lovStartAfter' - StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket------ * 'lovContinuationToken' - ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key------ * 'lovFetchOwner' - The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true------ * 'lovPrefix' - Limits the response to keys that begin with the specified prefix.------ * 'lovEncodingType' - Encoding type used by Amazon S3 to encode object keys in the response.------ * 'lovRequestPayer' - Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.------ * 'lovMaxKeys' - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.------ * 'lovDelimiter' - A delimiter is a character you use to group keys.------ * 'lovBucket' - Name of the bucket to list.-listObjectsV2-    :: BucketName -- ^ 'lovBucket'-    -> ListObjectsV2-listObjectsV2 pBucket_ =-  ListObjectsV2'-    { _lovStartAfter = Nothing-    , _lovContinuationToken = Nothing-    , _lovFetchOwner = Nothing-    , _lovPrefix = Nothing-    , _lovEncodingType = Nothing-    , _lovRequestPayer = Nothing-    , _lovMaxKeys = Nothing-    , _lovDelimiter = Nothing-    , _lovBucket = pBucket_-    }----- | StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket-lovStartAfter :: Lens' ListObjectsV2 (Maybe Text)-lovStartAfter = lens _lovStartAfter (\ s a -> s{_lovStartAfter = a})---- | ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key-lovContinuationToken :: Lens' ListObjectsV2 (Maybe Text)-lovContinuationToken = lens _lovContinuationToken (\ s a -> s{_lovContinuationToken = a})---- | The owner field is not present in listV2 by default, if you want to return owner field with each key in the result then set the fetch owner field to true-lovFetchOwner :: Lens' ListObjectsV2 (Maybe Bool)-lovFetchOwner = lens _lovFetchOwner (\ s a -> s{_lovFetchOwner = a})---- | Limits the response to keys that begin with the specified prefix.-lovPrefix :: Lens' ListObjectsV2 (Maybe Text)-lovPrefix = lens _lovPrefix (\ s a -> s{_lovPrefix = a})---- | Encoding type used by Amazon S3 to encode object keys in the response.-lovEncodingType :: Lens' ListObjectsV2 (Maybe EncodingType)-lovEncodingType = lens _lovEncodingType (\ s a -> s{_lovEncodingType = a})---- | Confirms that the requester knows that she or he will be charged for the list objects request in V2 style. Bucket owners need not specify this parameter in their requests.-lovRequestPayer :: Lens' ListObjectsV2 (Maybe RequestPayer)-lovRequestPayer = lens _lovRequestPayer (\ s a -> s{_lovRequestPayer = a})---- | Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.-lovMaxKeys :: Lens' ListObjectsV2 (Maybe Int)-lovMaxKeys = lens _lovMaxKeys (\ s a -> s{_lovMaxKeys = a})---- | A delimiter is a character you use to group keys.-lovDelimiter :: Lens' ListObjectsV2 (Maybe Delimiter)-lovDelimiter = lens _lovDelimiter (\ s a -> s{_lovDelimiter = a})---- | Name of the bucket to list.-lovBucket :: Lens' ListObjectsV2 BucketName-lovBucket = lens _lovBucket (\ s a -> s{_lovBucket = a})--instance AWSPager ListObjectsV2 where-        page rq rs-          | stop (rs ^. lovrsIsTruncated) = Nothing-          | isNothing (rs ^. lovrsNextContinuationToken) =-            Nothing-          | otherwise =-            Just $ rq &-              lovContinuationToken .~-                rs ^. lovrsNextContinuationToken--instance AWSRequest ListObjectsV2 where-        type Rs ListObjectsV2 = ListObjectsV2Response-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListObjectsV2Response' <$>-                   (x .@? "StartAfter") <*> (x .@? "KeyCount") <*>-                     (may (parseXMLList "Contents") x)-                     <*> (x .@? "ContinuationToken")-                     <*> (x .@? "Prefix")-                     <*> (may (parseXMLList "CommonPrefixes") x)-                     <*> (x .@? "EncodingType")-                     <*> (x .@? "Name")-                     <*> (x .@? "NextContinuationToken")-                     <*> (x .@? "MaxKeys")-                     <*> (x .@? "IsTruncated")-                     <*> (x .@? "Delimiter")-                     <*> (pure (fromEnum s)))--instance Hashable ListObjectsV2 where--instance NFData ListObjectsV2 where--instance ToHeaders ListObjectsV2 where-        toHeaders ListObjectsV2'{..}-          = mconcat ["x-amz-request-payer" =# _lovRequestPayer]--instance ToPath ListObjectsV2 where-        toPath ListObjectsV2'{..}-          = mconcat ["/", toBS _lovBucket]--instance ToQuery ListObjectsV2 where-        toQuery ListObjectsV2'{..}-          = mconcat-              ["start-after" =: _lovStartAfter,-               "continuation-token" =: _lovContinuationToken,-               "fetch-owner" =: _lovFetchOwner,-               "prefix" =: _lovPrefix,-               "encoding-type" =: _lovEncodingType,-               "max-keys" =: _lovMaxKeys,-               "delimiter" =: _lovDelimiter, "list-type=2"]---- | /See:/ 'listObjectsV2Response' smart constructor.-data ListObjectsV2Response = ListObjectsV2Response'-  { _lovrsStartAfter            :: !(Maybe Text)-  , _lovrsKeyCount              :: !(Maybe Int)-  , _lovrsContents              :: !(Maybe [Object])-  , _lovrsContinuationToken     :: !(Maybe Text)-  , _lovrsPrefix                :: !(Maybe Text)-  , _lovrsCommonPrefixes        :: !(Maybe [CommonPrefix])-  , _lovrsEncodingType          :: !(Maybe EncodingType)-  , _lovrsName                  :: !(Maybe BucketName)-  , _lovrsNextContinuationToken :: !(Maybe Text)-  , _lovrsMaxKeys               :: !(Maybe Int)-  , _lovrsIsTruncated           :: !(Maybe Bool)-  , _lovrsDelimiter             :: !(Maybe Delimiter)-  , _lovrsResponseStatus        :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListObjectsV2Response' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lovrsStartAfter' - StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket------ * 'lovrsKeyCount' - KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys------ * 'lovrsContents' - Metadata about each object returned.------ * 'lovrsContinuationToken' - ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key------ * 'lovrsPrefix' - Limits the response to keys that begin with the specified prefix.------ * 'lovrsCommonPrefixes' - CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter------ * 'lovrsEncodingType' - Encoding type used by Amazon S3 to encode object keys in the response.------ * 'lovrsName' - Name of the bucket to list.------ * 'lovrsNextContinuationToken' - NextContinuationToken is sent when isTruncated is true which means there are more keys in the bucket that can be listed. The next list requests to Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken is obfuscated and is not a real key------ * 'lovrsMaxKeys' - Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.------ * 'lovrsIsTruncated' - A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.------ * 'lovrsDelimiter' - A delimiter is a character you use to group keys.------ * 'lovrsResponseStatus' - -- | The response status code.-listObjectsV2Response-    :: Int -- ^ 'lovrsResponseStatus'-    -> ListObjectsV2Response-listObjectsV2Response pResponseStatus_ =-  ListObjectsV2Response'-    { _lovrsStartAfter = Nothing-    , _lovrsKeyCount = Nothing-    , _lovrsContents = Nothing-    , _lovrsContinuationToken = Nothing-    , _lovrsPrefix = Nothing-    , _lovrsCommonPrefixes = Nothing-    , _lovrsEncodingType = Nothing-    , _lovrsName = Nothing-    , _lovrsNextContinuationToken = Nothing-    , _lovrsMaxKeys = Nothing-    , _lovrsIsTruncated = Nothing-    , _lovrsDelimiter = Nothing-    , _lovrsResponseStatus = pResponseStatus_-    }----- | StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. StartAfter can be any key in the bucket-lovrsStartAfter :: Lens' ListObjectsV2Response (Maybe Text)-lovrsStartAfter = lens _lovrsStartAfter (\ s a -> s{_lovrsStartAfter = a})---- | KeyCount is the number of keys returned with this request. KeyCount will always be less than equals to MaxKeys field. Say you ask for 50 keys, your result will include less than equals 50 keys-lovrsKeyCount :: Lens' ListObjectsV2Response (Maybe Int)-lovrsKeyCount = lens _lovrsKeyCount (\ s a -> s{_lovrsKeyCount = a})---- | Metadata about each object returned.-lovrsContents :: Lens' ListObjectsV2Response [Object]-lovrsContents = lens _lovrsContents (\ s a -> s{_lovrsContents = a}) . _Default . _Coerce---- | ContinuationToken indicates Amazon S3 that the list is being continued on this bucket with a token. ContinuationToken is obfuscated and is not a real key-lovrsContinuationToken :: Lens' ListObjectsV2Response (Maybe Text)-lovrsContinuationToken = lens _lovrsContinuationToken (\ s a -> s{_lovrsContinuationToken = a})---- | Limits the response to keys that begin with the specified prefix.-lovrsPrefix :: Lens' ListObjectsV2Response (Maybe Text)-lovrsPrefix = lens _lovrsPrefix (\ s a -> s{_lovrsPrefix = a})---- | CommonPrefixes contains all (if there are any) keys between Prefix and the next occurrence of the string specified by delimiter-lovrsCommonPrefixes :: Lens' ListObjectsV2Response [CommonPrefix]-lovrsCommonPrefixes = lens _lovrsCommonPrefixes (\ s a -> s{_lovrsCommonPrefixes = a}) . _Default . _Coerce---- | Encoding type used by Amazon S3 to encode object keys in the response.-lovrsEncodingType :: Lens' ListObjectsV2Response (Maybe EncodingType)-lovrsEncodingType = lens _lovrsEncodingType (\ s a -> s{_lovrsEncodingType = a})---- | Name of the bucket to list.-lovrsName :: Lens' ListObjectsV2Response (Maybe BucketName)-lovrsName = lens _lovrsName (\ s a -> s{_lovrsName = a})---- | NextContinuationToken is sent when isTruncated is true which means there are more keys in the bucket that can be listed. The next list requests to Amazon S3 can be continued with this NextContinuationToken. NextContinuationToken is obfuscated and is not a real key-lovrsNextContinuationToken :: Lens' ListObjectsV2Response (Maybe Text)-lovrsNextContinuationToken = lens _lovrsNextContinuationToken (\ s a -> s{_lovrsNextContinuationToken = a})---- | Sets the maximum number of keys returned in the response. The response might contain fewer keys but will never contain more.-lovrsMaxKeys :: Lens' ListObjectsV2Response (Maybe Int)-lovrsMaxKeys = lens _lovrsMaxKeys (\ s a -> s{_lovrsMaxKeys = a})---- | A flag that indicates whether or not Amazon S3 returned all of the results that satisfied the search criteria.-lovrsIsTruncated :: Lens' ListObjectsV2Response (Maybe Bool)-lovrsIsTruncated = lens _lovrsIsTruncated (\ s a -> s{_lovrsIsTruncated = a})---- | A delimiter is a character you use to group keys.-lovrsDelimiter :: Lens' ListObjectsV2Response (Maybe Delimiter)-lovrsDelimiter = lens _lovrsDelimiter (\ s a -> s{_lovrsDelimiter = a})---- | -- | The response status code.-lovrsResponseStatus :: Lens' ListObjectsV2Response Int-lovrsResponseStatus = lens _lovrsResponseStatus (\ s a -> s{_lovrsResponseStatus = a})--instance NFData ListObjectsV2Response where
− gen/Network/AWS/S3/ListParts.hs
@@ -1,319 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.ListParts--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Lists the parts that have been uploaded for a specific multipart upload.------ This operation returns paginated results.-module Network.AWS.S3.ListParts-    (-    -- * Creating a Request-      listParts-    , ListParts-    -- * Request Lenses-    , lpMaxParts-    , lpRequestPayer-    , lpPartNumberMarker-    , lpBucket-    , lpKey-    , lpUploadId--    -- * Destructuring the Response-    , listPartsResponse-    , ListPartsResponse-    -- * Response Lenses-    , lprsParts-    , lprsRequestCharged-    , lprsMaxParts-    , lprsInitiator-    , lprsBucket-    , lprsAbortDate-    , lprsNextPartNumberMarker-    , lprsAbortRuleId-    , lprsOwner-    , lprsKey-    , lprsStorageClass-    , lprsIsTruncated-    , lprsPartNumberMarker-    , lprsUploadId-    , lprsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Pager-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'listParts' smart constructor.-data ListParts = ListParts'-  { _lpMaxParts         :: !(Maybe Int)-  , _lpRequestPayer     :: !(Maybe RequestPayer)-  , _lpPartNumberMarker :: !(Maybe Int)-  , _lpBucket           :: !BucketName-  , _lpKey              :: !ObjectKey-  , _lpUploadId         :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListParts' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lpMaxParts' - Sets the maximum number of parts to return.------ * 'lpRequestPayer' - Undocumented member.------ * 'lpPartNumberMarker' - Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.------ * 'lpBucket' - Undocumented member.------ * 'lpKey' - Undocumented member.------ * 'lpUploadId' - Upload ID identifying the multipart upload whose parts are being listed.-listParts-    :: BucketName -- ^ 'lpBucket'-    -> ObjectKey -- ^ 'lpKey'-    -> Text -- ^ 'lpUploadId'-    -> ListParts-listParts pBucket_ pKey_ pUploadId_ =-  ListParts'-    { _lpMaxParts = Nothing-    , _lpRequestPayer = Nothing-    , _lpPartNumberMarker = Nothing-    , _lpBucket = pBucket_-    , _lpKey = pKey_-    , _lpUploadId = pUploadId_-    }----- | Sets the maximum number of parts to return.-lpMaxParts :: Lens' ListParts (Maybe Int)-lpMaxParts = lens _lpMaxParts (\ s a -> s{_lpMaxParts = a})---- | Undocumented member.-lpRequestPayer :: Lens' ListParts (Maybe RequestPayer)-lpRequestPayer = lens _lpRequestPayer (\ s a -> s{_lpRequestPayer = a})---- | Specifies the part after which listing should begin. Only parts with higher part numbers will be listed.-lpPartNumberMarker :: Lens' ListParts (Maybe Int)-lpPartNumberMarker = lens _lpPartNumberMarker (\ s a -> s{_lpPartNumberMarker = a})---- | Undocumented member.-lpBucket :: Lens' ListParts BucketName-lpBucket = lens _lpBucket (\ s a -> s{_lpBucket = a})---- | Undocumented member.-lpKey :: Lens' ListParts ObjectKey-lpKey = lens _lpKey (\ s a -> s{_lpKey = a})---- | Upload ID identifying the multipart upload whose parts are being listed.-lpUploadId :: Lens' ListParts Text-lpUploadId = lens _lpUploadId (\ s a -> s{_lpUploadId = a})--instance AWSPager ListParts where-        page rq rs-          | stop (rs ^. lprsIsTruncated) = Nothing-          | isNothing (rs ^. lprsNextPartNumberMarker) =-            Nothing-          | otherwise =-            Just $ rq &-              lpPartNumberMarker .~ rs ^. lprsNextPartNumberMarker--instance AWSRequest ListParts where-        type Rs ListParts = ListPartsResponse-        request = get s3-        response-          = receiveXML-              (\ s h x ->-                 ListPartsResponse' <$>-                   (may (parseXMLList "Part") x) <*>-                     (h .#? "x-amz-request-charged")-                     <*> (x .@? "MaxParts")-                     <*> (x .@? "Initiator")-                     <*> (x .@? "Bucket")-                     <*> (h .#? "x-amz-abort-date")-                     <*> (x .@? "NextPartNumberMarker")-                     <*> (h .#? "x-amz-abort-rule-id")-                     <*> (x .@? "Owner")-                     <*> (x .@? "Key")-                     <*> (x .@? "StorageClass")-                     <*> (x .@? "IsTruncated")-                     <*> (x .@? "PartNumberMarker")-                     <*> (x .@? "UploadId")-                     <*> (pure (fromEnum s)))--instance Hashable ListParts where--instance NFData ListParts where--instance ToHeaders ListParts where-        toHeaders ListParts'{..}-          = mconcat ["x-amz-request-payer" =# _lpRequestPayer]--instance ToPath ListParts where-        toPath ListParts'{..}-          = mconcat ["/", toBS _lpBucket, "/", toBS _lpKey]--instance ToQuery ListParts where-        toQuery ListParts'{..}-          = mconcat-              ["max-parts" =: _lpMaxParts,-               "part-number-marker" =: _lpPartNumberMarker,-               "uploadId" =: _lpUploadId]---- | /See:/ 'listPartsResponse' smart constructor.-data ListPartsResponse = ListPartsResponse'-  { _lprsParts                :: !(Maybe [Part])-  , _lprsRequestCharged       :: !(Maybe RequestCharged)-  , _lprsMaxParts             :: !(Maybe Int)-  , _lprsInitiator            :: !(Maybe Initiator)-  , _lprsBucket               :: !(Maybe BucketName)-  , _lprsAbortDate            :: !(Maybe RFC822)-  , _lprsNextPartNumberMarker :: !(Maybe Int)-  , _lprsAbortRuleId          :: !(Maybe Text)-  , _lprsOwner                :: !(Maybe Owner)-  , _lprsKey                  :: !(Maybe ObjectKey)-  , _lprsStorageClass         :: !(Maybe StorageClass)-  , _lprsIsTruncated          :: !(Maybe Bool)-  , _lprsPartNumberMarker     :: !(Maybe Int)-  , _lprsUploadId             :: !(Maybe Text)-  , _lprsResponseStatus       :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ListPartsResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lprsParts' - Undocumented member.------ * 'lprsRequestCharged' - Undocumented member.------ * 'lprsMaxParts' - Maximum number of parts that were allowed in the response.------ * 'lprsInitiator' - Identifies who initiated the multipart upload.------ * 'lprsBucket' - Name of the bucket to which the multipart upload was initiated.------ * 'lprsAbortDate' - Date when multipart upload will become eligible for abort operation by lifecycle.------ * 'lprsNextPartNumberMarker' - When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.------ * 'lprsAbortRuleId' - Id of the lifecycle rule that makes a multipart upload eligible for abort operation.------ * 'lprsOwner' - Undocumented member.------ * 'lprsKey' - Object key for which the multipart upload was initiated.------ * 'lprsStorageClass' - The class of storage used to store the object.------ * 'lprsIsTruncated' - Indicates whether the returned list of parts is truncated.------ * 'lprsPartNumberMarker' - Part number after which listing begins.------ * 'lprsUploadId' - Upload ID identifying the multipart upload whose parts are being listed.------ * 'lprsResponseStatus' - -- | The response status code.-listPartsResponse-    :: Int -- ^ 'lprsResponseStatus'-    -> ListPartsResponse-listPartsResponse pResponseStatus_ =-  ListPartsResponse'-    { _lprsParts = Nothing-    , _lprsRequestCharged = Nothing-    , _lprsMaxParts = Nothing-    , _lprsInitiator = Nothing-    , _lprsBucket = Nothing-    , _lprsAbortDate = Nothing-    , _lprsNextPartNumberMarker = Nothing-    , _lprsAbortRuleId = Nothing-    , _lprsOwner = Nothing-    , _lprsKey = Nothing-    , _lprsStorageClass = Nothing-    , _lprsIsTruncated = Nothing-    , _lprsPartNumberMarker = Nothing-    , _lprsUploadId = Nothing-    , _lprsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-lprsParts :: Lens' ListPartsResponse [Part]-lprsParts = lens _lprsParts (\ s a -> s{_lprsParts = a}) . _Default . _Coerce---- | Undocumented member.-lprsRequestCharged :: Lens' ListPartsResponse (Maybe RequestCharged)-lprsRequestCharged = lens _lprsRequestCharged (\ s a -> s{_lprsRequestCharged = a})---- | Maximum number of parts that were allowed in the response.-lprsMaxParts :: Lens' ListPartsResponse (Maybe Int)-lprsMaxParts = lens _lprsMaxParts (\ s a -> s{_lprsMaxParts = a})---- | Identifies who initiated the multipart upload.-lprsInitiator :: Lens' ListPartsResponse (Maybe Initiator)-lprsInitiator = lens _lprsInitiator (\ s a -> s{_lprsInitiator = a})---- | Name of the bucket to which the multipart upload was initiated.-lprsBucket :: Lens' ListPartsResponse (Maybe BucketName)-lprsBucket = lens _lprsBucket (\ s a -> s{_lprsBucket = a})---- | Date when multipart upload will become eligible for abort operation by lifecycle.-lprsAbortDate :: Lens' ListPartsResponse (Maybe UTCTime)-lprsAbortDate = lens _lprsAbortDate (\ s a -> s{_lprsAbortDate = a}) . mapping _Time---- | When a list is truncated, this element specifies the last part in the list, as well as the value to use for the part-number-marker request parameter in a subsequent request.-lprsNextPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)-lprsNextPartNumberMarker = lens _lprsNextPartNumberMarker (\ s a -> s{_lprsNextPartNumberMarker = a})---- | Id of the lifecycle rule that makes a multipart upload eligible for abort operation.-lprsAbortRuleId :: Lens' ListPartsResponse (Maybe Text)-lprsAbortRuleId = lens _lprsAbortRuleId (\ s a -> s{_lprsAbortRuleId = a})---- | Undocumented member.-lprsOwner :: Lens' ListPartsResponse (Maybe Owner)-lprsOwner = lens _lprsOwner (\ s a -> s{_lprsOwner = a})---- | Object key for which the multipart upload was initiated.-lprsKey :: Lens' ListPartsResponse (Maybe ObjectKey)-lprsKey = lens _lprsKey (\ s a -> s{_lprsKey = a})---- | The class of storage used to store the object.-lprsStorageClass :: Lens' ListPartsResponse (Maybe StorageClass)-lprsStorageClass = lens _lprsStorageClass (\ s a -> s{_lprsStorageClass = a})---- | Indicates whether the returned list of parts is truncated.-lprsIsTruncated :: Lens' ListPartsResponse (Maybe Bool)-lprsIsTruncated = lens _lprsIsTruncated (\ s a -> s{_lprsIsTruncated = a})---- | Part number after which listing begins.-lprsPartNumberMarker :: Lens' ListPartsResponse (Maybe Int)-lprsPartNumberMarker = lens _lprsPartNumberMarker (\ s a -> s{_lprsPartNumberMarker = a})---- | Upload ID identifying the multipart upload whose parts are being listed.-lprsUploadId :: Lens' ListPartsResponse (Maybe Text)-lprsUploadId = lens _lprsUploadId (\ s a -> s{_lprsUploadId = a})---- | -- | The response status code.-lprsResponseStatus :: Lens' ListPartsResponse Int-lprsResponseStatus = lens _lprsResponseStatus (\ s a -> s{_lprsResponseStatus = a})--instance NFData ListPartsResponse where
− gen/Network/AWS/S3/PutBucketACL.hs
@@ -1,185 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketACL--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the permissions on a bucket using access control lists (ACL).-module Network.AWS.S3.PutBucketACL-    (-    -- * Creating a Request-      putBucketACL-    , PutBucketACL-    -- * Request Lenses-    , pbaGrantReadACP-    , pbaGrantWriteACP-    , pbaGrantRead-    , pbaGrantFullControl-    , pbaContentMD5-    , pbaAccessControlPolicy-    , pbaGrantWrite-    , pbaACL-    , pbaBucket--    -- * Destructuring the Response-    , putBucketACLResponse-    , PutBucketACLResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketACL' smart constructor.-data PutBucketACL = PutBucketACL'-  { _pbaGrantReadACP        :: !(Maybe Text)-  , _pbaGrantWriteACP       :: !(Maybe Text)-  , _pbaGrantRead           :: !(Maybe Text)-  , _pbaGrantFullControl    :: !(Maybe Text)-  , _pbaContentMD5          :: !(Maybe Text)-  , _pbaAccessControlPolicy :: !(Maybe AccessControlPolicy)-  , _pbaGrantWrite          :: !(Maybe Text)-  , _pbaACL                 :: !(Maybe BucketCannedACL)-  , _pbaBucket              :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbaGrantReadACP' - Allows grantee to read the bucket ACL.------ * 'pbaGrantWriteACP' - Allows grantee to write the ACL for the applicable bucket.------ * 'pbaGrantRead' - Allows grantee to list the objects in the bucket.------ * 'pbaGrantFullControl' - Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.------ * 'pbaContentMD5' - Undocumented member.------ * 'pbaAccessControlPolicy' - Undocumented member.------ * 'pbaGrantWrite' - Allows grantee to create, overwrite, and delete any object in the bucket.------ * 'pbaACL' - The canned ACL to apply to the bucket.------ * 'pbaBucket' - Undocumented member.-putBucketACL-    :: BucketName -- ^ 'pbaBucket'-    -> PutBucketACL-putBucketACL pBucket_ =-  PutBucketACL'-    { _pbaGrantReadACP = Nothing-    , _pbaGrantWriteACP = Nothing-    , _pbaGrantRead = Nothing-    , _pbaGrantFullControl = Nothing-    , _pbaContentMD5 = Nothing-    , _pbaAccessControlPolicy = Nothing-    , _pbaGrantWrite = Nothing-    , _pbaACL = Nothing-    , _pbaBucket = pBucket_-    }----- | Allows grantee to read the bucket ACL.-pbaGrantReadACP :: Lens' PutBucketACL (Maybe Text)-pbaGrantReadACP = lens _pbaGrantReadACP (\ s a -> s{_pbaGrantReadACP = a})---- | Allows grantee to write the ACL for the applicable bucket.-pbaGrantWriteACP :: Lens' PutBucketACL (Maybe Text)-pbaGrantWriteACP = lens _pbaGrantWriteACP (\ s a -> s{_pbaGrantWriteACP = a})---- | Allows grantee to list the objects in the bucket.-pbaGrantRead :: Lens' PutBucketACL (Maybe Text)-pbaGrantRead = lens _pbaGrantRead (\ s a -> s{_pbaGrantRead = a})---- | Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.-pbaGrantFullControl :: Lens' PutBucketACL (Maybe Text)-pbaGrantFullControl = lens _pbaGrantFullControl (\ s a -> s{_pbaGrantFullControl = a})---- | Undocumented member.-pbaContentMD5 :: Lens' PutBucketACL (Maybe Text)-pbaContentMD5 = lens _pbaContentMD5 (\ s a -> s{_pbaContentMD5 = a})---- | Undocumented member.-pbaAccessControlPolicy :: Lens' PutBucketACL (Maybe AccessControlPolicy)-pbaAccessControlPolicy = lens _pbaAccessControlPolicy (\ s a -> s{_pbaAccessControlPolicy = a})---- | Allows grantee to create, overwrite, and delete any object in the bucket.-pbaGrantWrite :: Lens' PutBucketACL (Maybe Text)-pbaGrantWrite = lens _pbaGrantWrite (\ s a -> s{_pbaGrantWrite = a})---- | The canned ACL to apply to the bucket.-pbaACL :: Lens' PutBucketACL (Maybe BucketCannedACL)-pbaACL = lens _pbaACL (\ s a -> s{_pbaACL = a})---- | Undocumented member.-pbaBucket :: Lens' PutBucketACL BucketName-pbaBucket = lens _pbaBucket (\ s a -> s{_pbaBucket = a})--instance AWSRequest PutBucketACL where-        type Rs PutBucketACL = PutBucketACLResponse-        request = putXML s3-        response = receiveNull PutBucketACLResponse'--instance Hashable PutBucketACL where--instance NFData PutBucketACL where--instance ToElement PutBucketACL where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}AccessControlPolicy"-              .-              _pbaAccessControlPolicy--instance ToHeaders PutBucketACL where-        toHeaders PutBucketACL'{..}-          = mconcat-              ["x-amz-grant-read-acp" =# _pbaGrantReadACP,-               "x-amz-grant-write-acp" =# _pbaGrantWriteACP,-               "x-amz-grant-read" =# _pbaGrantRead,-               "x-amz-grant-full-control" =# _pbaGrantFullControl,-               "Content-MD5" =# _pbaContentMD5,-               "x-amz-grant-write" =# _pbaGrantWrite,-               "x-amz-acl" =# _pbaACL]--instance ToPath PutBucketACL where-        toPath PutBucketACL'{..}-          = mconcat ["/", toBS _pbaBucket]--instance ToQuery PutBucketACL where-        toQuery = const (mconcat ["acl"])---- | /See:/ 'putBucketACLResponse' smart constructor.-data PutBucketACLResponse =-  PutBucketACLResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketACLResponse' with the minimum fields required to make a request.----putBucketACLResponse-    :: PutBucketACLResponse-putBucketACLResponse = PutBucketACLResponse'---instance NFData PutBucketACLResponse where
− gen/Network/AWS/S3/PutBucketAccelerateConfiguration.hs
@@ -1,128 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketAccelerateConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the accelerate configuration of an existing bucket.-module Network.AWS.S3.PutBucketAccelerateConfiguration-    (-    -- * Creating a Request-      putBucketAccelerateConfiguration-    , PutBucketAccelerateConfiguration-    -- * Request Lenses-    , pbacBucket-    , pbacAccelerateConfiguration--    -- * Destructuring the Response-    , putBucketAccelerateConfigurationResponse-    , PutBucketAccelerateConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketAccelerateConfiguration' smart constructor.-data PutBucketAccelerateConfiguration = PutBucketAccelerateConfiguration'-  { _pbacBucket                  :: !BucketName-  , _pbacAccelerateConfiguration :: !AccelerateConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketAccelerateConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbacBucket' - Name of the bucket for which the accelerate configuration is set.------ * 'pbacAccelerateConfiguration' - Specifies the Accelerate Configuration you want to set for the bucket.-putBucketAccelerateConfiguration-    :: BucketName -- ^ 'pbacBucket'-    -> AccelerateConfiguration -- ^ 'pbacAccelerateConfiguration'-    -> PutBucketAccelerateConfiguration-putBucketAccelerateConfiguration pBucket_ pAccelerateConfiguration_ =-  PutBucketAccelerateConfiguration'-    { _pbacBucket = pBucket_-    , _pbacAccelerateConfiguration = pAccelerateConfiguration_-    }----- | Name of the bucket for which the accelerate configuration is set.-pbacBucket :: Lens' PutBucketAccelerateConfiguration BucketName-pbacBucket = lens _pbacBucket (\ s a -> s{_pbacBucket = a})---- | Specifies the Accelerate Configuration you want to set for the bucket.-pbacAccelerateConfiguration :: Lens' PutBucketAccelerateConfiguration AccelerateConfiguration-pbacAccelerateConfiguration = lens _pbacAccelerateConfiguration (\ s a -> s{_pbacAccelerateConfiguration = a})--instance AWSRequest PutBucketAccelerateConfiguration-         where-        type Rs PutBucketAccelerateConfiguration =-             PutBucketAccelerateConfigurationResponse-        request = putXML s3-        response-          = receiveNull-              PutBucketAccelerateConfigurationResponse'--instance Hashable PutBucketAccelerateConfiguration-         where--instance NFData PutBucketAccelerateConfiguration-         where--instance ToElement PutBucketAccelerateConfiguration-         where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}AccelerateConfiguration"-              .-              _pbacAccelerateConfiguration--instance ToHeaders PutBucketAccelerateConfiguration-         where-        toHeaders = const mempty--instance ToPath PutBucketAccelerateConfiguration-         where-        toPath PutBucketAccelerateConfiguration'{..}-          = mconcat ["/", toBS _pbacBucket]--instance ToQuery PutBucketAccelerateConfiguration-         where-        toQuery = const (mconcat ["accelerate"])---- | /See:/ 'putBucketAccelerateConfigurationResponse' smart constructor.-data PutBucketAccelerateConfigurationResponse =-  PutBucketAccelerateConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketAccelerateConfigurationResponse' with the minimum fields required to make a request.----putBucketAccelerateConfigurationResponse-    :: PutBucketAccelerateConfigurationResponse-putBucketAccelerateConfigurationResponse =-  PutBucketAccelerateConfigurationResponse'---instance NFData-           PutBucketAccelerateConfigurationResponse-         where
− gen/Network/AWS/S3/PutBucketAnalyticsConfiguration.hs
@@ -1,137 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketAnalyticsConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets an analytics configuration for the bucket (specified by the analytics configuration ID).-module Network.AWS.S3.PutBucketAnalyticsConfiguration-    (-    -- * Creating a Request-      putBucketAnalyticsConfiguration-    , PutBucketAnalyticsConfiguration-    -- * Request Lenses-    , pBucket-    , pId-    , pAnalyticsConfiguration--    -- * Destructuring the Response-    , putBucketAnalyticsConfigurationResponse-    , PutBucketAnalyticsConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketAnalyticsConfiguration' smart constructor.-data PutBucketAnalyticsConfiguration = PutBucketAnalyticsConfiguration'-  { _pBucket                 :: !BucketName-  , _pId                     :: !Text-  , _pAnalyticsConfiguration :: !AnalyticsConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketAnalyticsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pBucket' - The name of the bucket to which an analytics configuration is stored.------ * 'pId' - The identifier used to represent an analytics configuration.------ * 'pAnalyticsConfiguration' - The configuration and any analyses for the analytics filter.-putBucketAnalyticsConfiguration-    :: BucketName -- ^ 'pBucket'-    -> Text -- ^ 'pId'-    -> AnalyticsConfiguration -- ^ 'pAnalyticsConfiguration'-    -> PutBucketAnalyticsConfiguration-putBucketAnalyticsConfiguration pBucket_ pId_ pAnalyticsConfiguration_ =-  PutBucketAnalyticsConfiguration'-    { _pBucket = pBucket_-    , _pId = pId_-    , _pAnalyticsConfiguration = pAnalyticsConfiguration_-    }----- | The name of the bucket to which an analytics configuration is stored.-pBucket :: Lens' PutBucketAnalyticsConfiguration BucketName-pBucket = lens _pBucket (\ s a -> s{_pBucket = a})---- | The identifier used to represent an analytics configuration.-pId :: Lens' PutBucketAnalyticsConfiguration Text-pId = lens _pId (\ s a -> s{_pId = a})---- | The configuration and any analyses for the analytics filter.-pAnalyticsConfiguration :: Lens' PutBucketAnalyticsConfiguration AnalyticsConfiguration-pAnalyticsConfiguration = lens _pAnalyticsConfiguration (\ s a -> s{_pAnalyticsConfiguration = a})--instance AWSRequest PutBucketAnalyticsConfiguration-         where-        type Rs PutBucketAnalyticsConfiguration =-             PutBucketAnalyticsConfigurationResponse-        request = putXML s3-        response-          = receiveNull-              PutBucketAnalyticsConfigurationResponse'--instance Hashable PutBucketAnalyticsConfiguration-         where--instance NFData PutBucketAnalyticsConfiguration where--instance ToElement PutBucketAnalyticsConfiguration-         where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}AnalyticsConfiguration"-              .-              _pAnalyticsConfiguration--instance ToHeaders PutBucketAnalyticsConfiguration-         where-        toHeaders = const mempty--instance ToPath PutBucketAnalyticsConfiguration where-        toPath PutBucketAnalyticsConfiguration'{..}-          = mconcat ["/", toBS _pBucket]--instance ToQuery PutBucketAnalyticsConfiguration-         where-        toQuery PutBucketAnalyticsConfiguration'{..}-          = mconcat ["id" =: _pId, "analytics"]---- | /See:/ 'putBucketAnalyticsConfigurationResponse' smart constructor.-data PutBucketAnalyticsConfigurationResponse =-  PutBucketAnalyticsConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketAnalyticsConfigurationResponse' with the minimum fields required to make a request.----putBucketAnalyticsConfigurationResponse-    :: PutBucketAnalyticsConfigurationResponse-putBucketAnalyticsConfigurationResponse =-  PutBucketAnalyticsConfigurationResponse'---instance NFData-           PutBucketAnalyticsConfigurationResponse-         where
− gen/Network/AWS/S3/PutBucketCORS.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketCORS--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the cors configuration for a bucket.-module Network.AWS.S3.PutBucketCORS-    (-    -- * Creating a Request-      putBucketCORS-    , PutBucketCORS-    -- * Request Lenses-    , pbcContentMD5-    , pbcBucket-    , pbcCORSConfiguration--    -- * Destructuring the Response-    , putBucketCORSResponse-    , PutBucketCORSResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketCORS' smart constructor.-data PutBucketCORS = PutBucketCORS'-  { _pbcContentMD5        :: !(Maybe Text)-  , _pbcBucket            :: !BucketName-  , _pbcCORSConfiguration :: !CORSConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketCORS' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbcContentMD5' - Undocumented member.------ * 'pbcBucket' - Undocumented member.------ * 'pbcCORSConfiguration' - Undocumented member.-putBucketCORS-    :: BucketName -- ^ 'pbcBucket'-    -> CORSConfiguration -- ^ 'pbcCORSConfiguration'-    -> PutBucketCORS-putBucketCORS pBucket_ pCORSConfiguration_ =-  PutBucketCORS'-    { _pbcContentMD5 = Nothing-    , _pbcBucket = pBucket_-    , _pbcCORSConfiguration = pCORSConfiguration_-    }----- | Undocumented member.-pbcContentMD5 :: Lens' PutBucketCORS (Maybe Text)-pbcContentMD5 = lens _pbcContentMD5 (\ s a -> s{_pbcContentMD5 = a})---- | Undocumented member.-pbcBucket :: Lens' PutBucketCORS BucketName-pbcBucket = lens _pbcBucket (\ s a -> s{_pbcBucket = a})---- | Undocumented member.-pbcCORSConfiguration :: Lens' PutBucketCORS CORSConfiguration-pbcCORSConfiguration = lens _pbcCORSConfiguration (\ s a -> s{_pbcCORSConfiguration = a})--instance AWSRequest PutBucketCORS where-        type Rs PutBucketCORS = PutBucketCORSResponse-        request = putXML s3-        response = receiveNull PutBucketCORSResponse'--instance Hashable PutBucketCORS where--instance NFData PutBucketCORS where--instance ToElement PutBucketCORS where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}CORSConfiguration"-              .-              _pbcCORSConfiguration--instance ToHeaders PutBucketCORS where-        toHeaders PutBucketCORS'{..}-          = mconcat ["Content-MD5" =# _pbcContentMD5]--instance ToPath PutBucketCORS where-        toPath PutBucketCORS'{..}-          = mconcat ["/", toBS _pbcBucket]--instance ToQuery PutBucketCORS where-        toQuery = const (mconcat ["cors"])---- | /See:/ 'putBucketCORSResponse' smart constructor.-data PutBucketCORSResponse =-  PutBucketCORSResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketCORSResponse' with the minimum fields required to make a request.----putBucketCORSResponse-    :: PutBucketCORSResponse-putBucketCORSResponse = PutBucketCORSResponse'---instance NFData PutBucketCORSResponse where
− gen/Network/AWS/S3/PutBucketEncryption.hs
@@ -1,127 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketEncryption--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a new server-side encryption configuration (or replaces an existing one, if present).-module Network.AWS.S3.PutBucketEncryption-    (-    -- * Creating a Request-      putBucketEncryption-    , PutBucketEncryption-    -- * Request Lenses-    , pbeContentMD5-    , pbeBucket-    , pbeServerSideEncryptionConfiguration--    -- * Destructuring the Response-    , putBucketEncryptionResponse-    , PutBucketEncryptionResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketEncryption' smart constructor.-data PutBucketEncryption = PutBucketEncryption'-  { _pbeContentMD5                        :: !(Maybe Text)-  , _pbeBucket                            :: !BucketName-  , _pbeServerSideEncryptionConfiguration :: !ServerSideEncryptionConfiguration-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketEncryption' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbeContentMD5' - The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.------ * 'pbeBucket' - The name of the bucket for which the server-side encryption configuration is set.------ * 'pbeServerSideEncryptionConfiguration' - Undocumented member.-putBucketEncryption-    :: BucketName -- ^ 'pbeBucket'-    -> ServerSideEncryptionConfiguration -- ^ 'pbeServerSideEncryptionConfiguration'-    -> PutBucketEncryption-putBucketEncryption pBucket_ pServerSideEncryptionConfiguration_ =-  PutBucketEncryption'-    { _pbeContentMD5 = Nothing-    , _pbeBucket = pBucket_-    , _pbeServerSideEncryptionConfiguration =-        pServerSideEncryptionConfiguration_-    }----- | The base64-encoded 128-bit MD5 digest of the server-side encryption configuration.-pbeContentMD5 :: Lens' PutBucketEncryption (Maybe Text)-pbeContentMD5 = lens _pbeContentMD5 (\ s a -> s{_pbeContentMD5 = a})---- | The name of the bucket for which the server-side encryption configuration is set.-pbeBucket :: Lens' PutBucketEncryption BucketName-pbeBucket = lens _pbeBucket (\ s a -> s{_pbeBucket = a})---- | Undocumented member.-pbeServerSideEncryptionConfiguration :: Lens' PutBucketEncryption ServerSideEncryptionConfiguration-pbeServerSideEncryptionConfiguration = lens _pbeServerSideEncryptionConfiguration (\ s a -> s{_pbeServerSideEncryptionConfiguration = a})--instance AWSRequest PutBucketEncryption where-        type Rs PutBucketEncryption =-             PutBucketEncryptionResponse-        request = putXML s3-        response = receiveNull PutBucketEncryptionResponse'--instance Hashable PutBucketEncryption where--instance NFData PutBucketEncryption where--instance ToElement PutBucketEncryption where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}ServerSideEncryptionConfiguration"-              .-              _pbeServerSideEncryptionConfiguration--instance ToHeaders PutBucketEncryption where-        toHeaders PutBucketEncryption'{..}-          = mconcat ["Content-MD5" =# _pbeContentMD5]--instance ToPath PutBucketEncryption where-        toPath PutBucketEncryption'{..}-          = mconcat ["/", toBS _pbeBucket]--instance ToQuery PutBucketEncryption where-        toQuery = const (mconcat ["encryption"])---- | /See:/ 'putBucketEncryptionResponse' smart constructor.-data PutBucketEncryptionResponse =-  PutBucketEncryptionResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketEncryptionResponse' with the minimum fields required to make a request.----putBucketEncryptionResponse-    :: PutBucketEncryptionResponse-putBucketEncryptionResponse = PutBucketEncryptionResponse'---instance NFData PutBucketEncryptionResponse where
− gen/Network/AWS/S3/PutBucketInventoryConfiguration.hs
@@ -1,137 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketInventoryConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Adds an inventory configuration (identified by the inventory ID) from the bucket.-module Network.AWS.S3.PutBucketInventoryConfiguration-    (-    -- * Creating a Request-      putBucketInventoryConfiguration-    , PutBucketInventoryConfiguration-    -- * Request Lenses-    , pbicBucket-    , pbicId-    , pbicInventoryConfiguration--    -- * Destructuring the Response-    , putBucketInventoryConfigurationResponse-    , PutBucketInventoryConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketInventoryConfiguration' smart constructor.-data PutBucketInventoryConfiguration = PutBucketInventoryConfiguration'-  { _pbicBucket                 :: !BucketName-  , _pbicId                     :: !Text-  , _pbicInventoryConfiguration :: !InventoryConfiguration-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketInventoryConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbicBucket' - The name of the bucket where the inventory configuration will be stored.------ * 'pbicId' - The ID used to identify the inventory configuration.------ * 'pbicInventoryConfiguration' - Specifies the inventory configuration.-putBucketInventoryConfiguration-    :: BucketName -- ^ 'pbicBucket'-    -> Text -- ^ 'pbicId'-    -> InventoryConfiguration -- ^ 'pbicInventoryConfiguration'-    -> PutBucketInventoryConfiguration-putBucketInventoryConfiguration pBucket_ pId_ pInventoryConfiguration_ =-  PutBucketInventoryConfiguration'-    { _pbicBucket = pBucket_-    , _pbicId = pId_-    , _pbicInventoryConfiguration = pInventoryConfiguration_-    }----- | The name of the bucket where the inventory configuration will be stored.-pbicBucket :: Lens' PutBucketInventoryConfiguration BucketName-pbicBucket = lens _pbicBucket (\ s a -> s{_pbicBucket = a})---- | The ID used to identify the inventory configuration.-pbicId :: Lens' PutBucketInventoryConfiguration Text-pbicId = lens _pbicId (\ s a -> s{_pbicId = a})---- | Specifies the inventory configuration.-pbicInventoryConfiguration :: Lens' PutBucketInventoryConfiguration InventoryConfiguration-pbicInventoryConfiguration = lens _pbicInventoryConfiguration (\ s a -> s{_pbicInventoryConfiguration = a})--instance AWSRequest PutBucketInventoryConfiguration-         where-        type Rs PutBucketInventoryConfiguration =-             PutBucketInventoryConfigurationResponse-        request = putXML s3-        response-          = receiveNull-              PutBucketInventoryConfigurationResponse'--instance Hashable PutBucketInventoryConfiguration-         where--instance NFData PutBucketInventoryConfiguration where--instance ToElement PutBucketInventoryConfiguration-         where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}InventoryConfiguration"-              .-              _pbicInventoryConfiguration--instance ToHeaders PutBucketInventoryConfiguration-         where-        toHeaders = const mempty--instance ToPath PutBucketInventoryConfiguration where-        toPath PutBucketInventoryConfiguration'{..}-          = mconcat ["/", toBS _pbicBucket]--instance ToQuery PutBucketInventoryConfiguration-         where-        toQuery PutBucketInventoryConfiguration'{..}-          = mconcat ["id" =: _pbicId, "inventory"]---- | /See:/ 'putBucketInventoryConfigurationResponse' smart constructor.-data PutBucketInventoryConfigurationResponse =-  PutBucketInventoryConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketInventoryConfigurationResponse' with the minimum fields required to make a request.----putBucketInventoryConfigurationResponse-    :: PutBucketInventoryConfigurationResponse-putBucketInventoryConfigurationResponse =-  PutBucketInventoryConfigurationResponse'---instance NFData-           PutBucketInventoryConfigurationResponse-         where
− gen/Network/AWS/S3/PutBucketLifecycleConfiguration.hs
@@ -1,123 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketLifecycleConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets lifecycle configuration for your bucket. If a lifecycle configuration exists, it replaces it.-module Network.AWS.S3.PutBucketLifecycleConfiguration-    (-    -- * Creating a Request-      putBucketLifecycleConfiguration-    , PutBucketLifecycleConfiguration-    -- * Request Lenses-    , pblcLifecycleConfiguration-    , pblcBucket--    -- * Destructuring the Response-    , putBucketLifecycleConfigurationResponse-    , PutBucketLifecycleConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketLifecycleConfiguration' smart constructor.-data PutBucketLifecycleConfiguration = PutBucketLifecycleConfiguration'-  { _pblcLifecycleConfiguration :: !(Maybe BucketLifecycleConfiguration)-  , _pblcBucket                 :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketLifecycleConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pblcLifecycleConfiguration' - Undocumented member.------ * 'pblcBucket' - Undocumented member.-putBucketLifecycleConfiguration-    :: BucketName -- ^ 'pblcBucket'-    -> PutBucketLifecycleConfiguration-putBucketLifecycleConfiguration pBucket_ =-  PutBucketLifecycleConfiguration'-    {_pblcLifecycleConfiguration = Nothing, _pblcBucket = pBucket_}----- | Undocumented member.-pblcLifecycleConfiguration :: Lens' PutBucketLifecycleConfiguration (Maybe BucketLifecycleConfiguration)-pblcLifecycleConfiguration = lens _pblcLifecycleConfiguration (\ s a -> s{_pblcLifecycleConfiguration = a})---- | Undocumented member.-pblcBucket :: Lens' PutBucketLifecycleConfiguration BucketName-pblcBucket = lens _pblcBucket (\ s a -> s{_pblcBucket = a})--instance AWSRequest PutBucketLifecycleConfiguration-         where-        type Rs PutBucketLifecycleConfiguration =-             PutBucketLifecycleConfigurationResponse-        request = putXML s3-        response-          = receiveNull-              PutBucketLifecycleConfigurationResponse'--instance Hashable PutBucketLifecycleConfiguration-         where--instance NFData PutBucketLifecycleConfiguration where--instance ToElement PutBucketLifecycleConfiguration-         where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}LifecycleConfiguration"-              .-              _pblcLifecycleConfiguration--instance ToHeaders PutBucketLifecycleConfiguration-         where-        toHeaders = const mempty--instance ToPath PutBucketLifecycleConfiguration where-        toPath PutBucketLifecycleConfiguration'{..}-          = mconcat ["/", toBS _pblcBucket]--instance ToQuery PutBucketLifecycleConfiguration-         where-        toQuery = const (mconcat ["lifecycle"])---- | /See:/ 'putBucketLifecycleConfigurationResponse' smart constructor.-data PutBucketLifecycleConfigurationResponse =-  PutBucketLifecycleConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketLifecycleConfigurationResponse' with the minimum fields required to make a request.----putBucketLifecycleConfigurationResponse-    :: PutBucketLifecycleConfigurationResponse-putBucketLifecycleConfigurationResponse =-  PutBucketLifecycleConfigurationResponse'---instance NFData-           PutBucketLifecycleConfigurationResponse-         where
− gen/Network/AWS/S3/PutBucketLogging.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketLogging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. To set the logging status of a bucket, you must be the bucket owner.-module Network.AWS.S3.PutBucketLogging-    (-    -- * Creating a Request-      putBucketLogging-    , PutBucketLogging-    -- * Request Lenses-    , pblContentMD5-    , pblBucket-    , pblBucketLoggingStatus--    -- * Destructuring the Response-    , putBucketLoggingResponse-    , PutBucketLoggingResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketLogging' smart constructor.-data PutBucketLogging = PutBucketLogging'-  { _pblContentMD5          :: !(Maybe Text)-  , _pblBucket              :: !BucketName-  , _pblBucketLoggingStatus :: !BucketLoggingStatus-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketLogging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pblContentMD5' - Undocumented member.------ * 'pblBucket' - Undocumented member.------ * 'pblBucketLoggingStatus' - Undocumented member.-putBucketLogging-    :: BucketName -- ^ 'pblBucket'-    -> BucketLoggingStatus -- ^ 'pblBucketLoggingStatus'-    -> PutBucketLogging-putBucketLogging pBucket_ pBucketLoggingStatus_ =-  PutBucketLogging'-    { _pblContentMD5 = Nothing-    , _pblBucket = pBucket_-    , _pblBucketLoggingStatus = pBucketLoggingStatus_-    }----- | Undocumented member.-pblContentMD5 :: Lens' PutBucketLogging (Maybe Text)-pblContentMD5 = lens _pblContentMD5 (\ s a -> s{_pblContentMD5 = a})---- | Undocumented member.-pblBucket :: Lens' PutBucketLogging BucketName-pblBucket = lens _pblBucket (\ s a -> s{_pblBucket = a})---- | Undocumented member.-pblBucketLoggingStatus :: Lens' PutBucketLogging BucketLoggingStatus-pblBucketLoggingStatus = lens _pblBucketLoggingStatus (\ s a -> s{_pblBucketLoggingStatus = a})--instance AWSRequest PutBucketLogging where-        type Rs PutBucketLogging = PutBucketLoggingResponse-        request = putXML s3-        response = receiveNull PutBucketLoggingResponse'--instance Hashable PutBucketLogging where--instance NFData PutBucketLogging where--instance ToElement PutBucketLogging where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}BucketLoggingStatus"-              .-              _pblBucketLoggingStatus--instance ToHeaders PutBucketLogging where-        toHeaders PutBucketLogging'{..}-          = mconcat ["Content-MD5" =# _pblContentMD5]--instance ToPath PutBucketLogging where-        toPath PutBucketLogging'{..}-          = mconcat ["/", toBS _pblBucket]--instance ToQuery PutBucketLogging where-        toQuery = const (mconcat ["logging"])---- | /See:/ 'putBucketLoggingResponse' smart constructor.-data PutBucketLoggingResponse =-  PutBucketLoggingResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketLoggingResponse' with the minimum fields required to make a request.----putBucketLoggingResponse-    :: PutBucketLoggingResponse-putBucketLoggingResponse = PutBucketLoggingResponse'---instance NFData PutBucketLoggingResponse where
− gen/Network/AWS/S3/PutBucketMetricsConfiguration.hs
@@ -1,132 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketMetricsConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets a metrics configuration (specified by the metrics configuration ID) for the bucket.-module Network.AWS.S3.PutBucketMetricsConfiguration-    (-    -- * Creating a Request-      putBucketMetricsConfiguration-    , PutBucketMetricsConfiguration-    -- * Request Lenses-    , pbmcBucket-    , pbmcId-    , pbmcMetricsConfiguration--    -- * Destructuring the Response-    , putBucketMetricsConfigurationResponse-    , PutBucketMetricsConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketMetricsConfiguration' smart constructor.-data PutBucketMetricsConfiguration = PutBucketMetricsConfiguration'-  { _pbmcBucket               :: !BucketName-  , _pbmcId                   :: !Text-  , _pbmcMetricsConfiguration :: !MetricsConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketMetricsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbmcBucket' - The name of the bucket for which the metrics configuration is set.------ * 'pbmcId' - The ID used to identify the metrics configuration.------ * 'pbmcMetricsConfiguration' - Specifies the metrics configuration.-putBucketMetricsConfiguration-    :: BucketName -- ^ 'pbmcBucket'-    -> Text -- ^ 'pbmcId'-    -> MetricsConfiguration -- ^ 'pbmcMetricsConfiguration'-    -> PutBucketMetricsConfiguration-putBucketMetricsConfiguration pBucket_ pId_ pMetricsConfiguration_ =-  PutBucketMetricsConfiguration'-    { _pbmcBucket = pBucket_-    , _pbmcId = pId_-    , _pbmcMetricsConfiguration = pMetricsConfiguration_-    }----- | The name of the bucket for which the metrics configuration is set.-pbmcBucket :: Lens' PutBucketMetricsConfiguration BucketName-pbmcBucket = lens _pbmcBucket (\ s a -> s{_pbmcBucket = a})---- | The ID used to identify the metrics configuration.-pbmcId :: Lens' PutBucketMetricsConfiguration Text-pbmcId = lens _pbmcId (\ s a -> s{_pbmcId = a})---- | Specifies the metrics configuration.-pbmcMetricsConfiguration :: Lens' PutBucketMetricsConfiguration MetricsConfiguration-pbmcMetricsConfiguration = lens _pbmcMetricsConfiguration (\ s a -> s{_pbmcMetricsConfiguration = a})--instance AWSRequest PutBucketMetricsConfiguration-         where-        type Rs PutBucketMetricsConfiguration =-             PutBucketMetricsConfigurationResponse-        request = putXML s3-        response-          = receiveNull PutBucketMetricsConfigurationResponse'--instance Hashable PutBucketMetricsConfiguration where--instance NFData PutBucketMetricsConfiguration where--instance ToElement PutBucketMetricsConfiguration-         where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}MetricsConfiguration"-              .-              _pbmcMetricsConfiguration--instance ToHeaders PutBucketMetricsConfiguration-         where-        toHeaders = const mempty--instance ToPath PutBucketMetricsConfiguration where-        toPath PutBucketMetricsConfiguration'{..}-          = mconcat ["/", toBS _pbmcBucket]--instance ToQuery PutBucketMetricsConfiguration where-        toQuery PutBucketMetricsConfiguration'{..}-          = mconcat ["id" =: _pbmcId, "metrics"]---- | /See:/ 'putBucketMetricsConfigurationResponse' smart constructor.-data PutBucketMetricsConfigurationResponse =-  PutBucketMetricsConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketMetricsConfigurationResponse' with the minimum fields required to make a request.----putBucketMetricsConfigurationResponse-    :: PutBucketMetricsConfigurationResponse-putBucketMetricsConfigurationResponse = PutBucketMetricsConfigurationResponse'---instance NFData PutBucketMetricsConfigurationResponse-         where
− gen/Network/AWS/S3/PutBucketNotificationConfiguration.hs
@@ -1,129 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketNotificationConfiguration--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Enables notifications of specified events for a bucket.-module Network.AWS.S3.PutBucketNotificationConfiguration-    (-    -- * Creating a Request-      putBucketNotificationConfiguration-    , PutBucketNotificationConfiguration-    -- * Request Lenses-    , pbncBucket-    , pbncNotificationConfiguration--    -- * Destructuring the Response-    , putBucketNotificationConfigurationResponse-    , PutBucketNotificationConfigurationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketNotificationConfiguration' smart constructor.-data PutBucketNotificationConfiguration = PutBucketNotificationConfiguration'-  { _pbncBucket                    :: !BucketName-  , _pbncNotificationConfiguration :: !NotificationConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketNotificationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbncBucket' - Undocumented member.------ * 'pbncNotificationConfiguration' - Undocumented member.-putBucketNotificationConfiguration-    :: BucketName -- ^ 'pbncBucket'-    -> NotificationConfiguration -- ^ 'pbncNotificationConfiguration'-    -> PutBucketNotificationConfiguration-putBucketNotificationConfiguration pBucket_ pNotificationConfiguration_ =-  PutBucketNotificationConfiguration'-    { _pbncBucket = pBucket_-    , _pbncNotificationConfiguration = pNotificationConfiguration_-    }----- | Undocumented member.-pbncBucket :: Lens' PutBucketNotificationConfiguration BucketName-pbncBucket = lens _pbncBucket (\ s a -> s{_pbncBucket = a})---- | Undocumented member.-pbncNotificationConfiguration :: Lens' PutBucketNotificationConfiguration NotificationConfiguration-pbncNotificationConfiguration = lens _pbncNotificationConfiguration (\ s a -> s{_pbncNotificationConfiguration = a})--instance AWSRequest-           PutBucketNotificationConfiguration-         where-        type Rs PutBucketNotificationConfiguration =-             PutBucketNotificationConfigurationResponse-        request = putXML s3-        response-          = receiveNull-              PutBucketNotificationConfigurationResponse'--instance Hashable PutBucketNotificationConfiguration-         where--instance NFData PutBucketNotificationConfiguration-         where--instance ToElement PutBucketNotificationConfiguration-         where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}NotificationConfiguration"-              .-              _pbncNotificationConfiguration--instance ToHeaders PutBucketNotificationConfiguration-         where-        toHeaders = const mempty--instance ToPath PutBucketNotificationConfiguration-         where-        toPath PutBucketNotificationConfiguration'{..}-          = mconcat ["/", toBS _pbncBucket]--instance ToQuery PutBucketNotificationConfiguration-         where-        toQuery = const (mconcat ["notification"])---- | /See:/ 'putBucketNotificationConfigurationResponse' smart constructor.-data PutBucketNotificationConfigurationResponse =-  PutBucketNotificationConfigurationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketNotificationConfigurationResponse' with the minimum fields required to make a request.----putBucketNotificationConfigurationResponse-    :: PutBucketNotificationConfigurationResponse-putBucketNotificationConfigurationResponse =-  PutBucketNotificationConfigurationResponse'---instance NFData-           PutBucketNotificationConfigurationResponse-         where
− gen/Network/AWS/S3/PutBucketPolicy.hs
@@ -1,133 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketPolicy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Replaces a policy on a bucket. If the bucket already has a policy, the one in this request completely replaces it.-module Network.AWS.S3.PutBucketPolicy-    (-    -- * Creating a Request-      putBucketPolicy-    , PutBucketPolicy-    -- * Request Lenses-    , pbpConfirmRemoveSelfBucketAccess-    , pbpContentMD5-    , pbpBucket-    , pbpPolicy--    -- * Destructuring the Response-    , putBucketPolicyResponse-    , PutBucketPolicyResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketPolicy' smart constructor.-data PutBucketPolicy = PutBucketPolicy'-  { _pbpConfirmRemoveSelfBucketAccess :: !(Maybe Bool)-  , _pbpContentMD5                    :: !(Maybe Text)-  , _pbpBucket                        :: !BucketName-  , _pbpPolicy                        :: !ByteString-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbpConfirmRemoveSelfBucketAccess' - Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.------ * 'pbpContentMD5' - Undocumented member.------ * 'pbpBucket' - Undocumented member.------ * 'pbpPolicy' - The bucket policy as a JSON document.-putBucketPolicy-    :: BucketName -- ^ 'pbpBucket'-    -> ByteString -- ^ 'pbpPolicy'-    -> PutBucketPolicy-putBucketPolicy pBucket_ pPolicy_ =-  PutBucketPolicy'-    { _pbpConfirmRemoveSelfBucketAccess = Nothing-    , _pbpContentMD5 = Nothing-    , _pbpBucket = pBucket_-    , _pbpPolicy = pPolicy_-    }----- | Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.-pbpConfirmRemoveSelfBucketAccess :: Lens' PutBucketPolicy (Maybe Bool)-pbpConfirmRemoveSelfBucketAccess = lens _pbpConfirmRemoveSelfBucketAccess (\ s a -> s{_pbpConfirmRemoveSelfBucketAccess = a})---- | Undocumented member.-pbpContentMD5 :: Lens' PutBucketPolicy (Maybe Text)-pbpContentMD5 = lens _pbpContentMD5 (\ s a -> s{_pbpContentMD5 = a})---- | Undocumented member.-pbpBucket :: Lens' PutBucketPolicy BucketName-pbpBucket = lens _pbpBucket (\ s a -> s{_pbpBucket = a})---- | The bucket policy as a JSON document.-pbpPolicy :: Lens' PutBucketPolicy ByteString-pbpPolicy = lens _pbpPolicy (\ s a -> s{_pbpPolicy = a})--instance AWSRequest PutBucketPolicy where-        type Rs PutBucketPolicy = PutBucketPolicyResponse-        request = contentMD5Header . putBody s3-        response = receiveNull PutBucketPolicyResponse'--instance Hashable PutBucketPolicy where--instance NFData PutBucketPolicy where--instance ToBody PutBucketPolicy where-        toBody = toBody . _pbpPolicy--instance ToHeaders PutBucketPolicy where-        toHeaders PutBucketPolicy'{..}-          = mconcat-              ["x-amz-confirm-remove-self-bucket-access" =#-                 _pbpConfirmRemoveSelfBucketAccess,-               "Content-MD5" =# _pbpContentMD5]--instance ToPath PutBucketPolicy where-        toPath PutBucketPolicy'{..}-          = mconcat ["/", toBS _pbpBucket]--instance ToQuery PutBucketPolicy where-        toQuery = const (mconcat ["policy"])---- | /See:/ 'putBucketPolicyResponse' smart constructor.-data PutBucketPolicyResponse =-  PutBucketPolicyResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketPolicyResponse' with the minimum fields required to make a request.----putBucketPolicyResponse-    :: PutBucketPolicyResponse-putBucketPolicyResponse = PutBucketPolicyResponse'---instance NFData PutBucketPolicyResponse where
− gen/Network/AWS/S3/PutBucketReplication.hs
@@ -1,126 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketReplication--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Creates a new replication configuration (or replaces an existing one, if present).-module Network.AWS.S3.PutBucketReplication-    (-    -- * Creating a Request-      putBucketReplication-    , PutBucketReplication-    -- * Request Lenses-    , pbrContentMD5-    , pbrBucket-    , pbrReplicationConfiguration--    -- * Destructuring the Response-    , putBucketReplicationResponse-    , PutBucketReplicationResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketReplication' smart constructor.-data PutBucketReplication = PutBucketReplication'-  { _pbrContentMD5               :: !(Maybe Text)-  , _pbrBucket                   :: !BucketName-  , _pbrReplicationConfiguration :: !ReplicationConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketReplication' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbrContentMD5' - Undocumented member.------ * 'pbrBucket' - Undocumented member.------ * 'pbrReplicationConfiguration' - Undocumented member.-putBucketReplication-    :: BucketName -- ^ 'pbrBucket'-    -> ReplicationConfiguration -- ^ 'pbrReplicationConfiguration'-    -> PutBucketReplication-putBucketReplication pBucket_ pReplicationConfiguration_ =-  PutBucketReplication'-    { _pbrContentMD5 = Nothing-    , _pbrBucket = pBucket_-    , _pbrReplicationConfiguration = pReplicationConfiguration_-    }----- | Undocumented member.-pbrContentMD5 :: Lens' PutBucketReplication (Maybe Text)-pbrContentMD5 = lens _pbrContentMD5 (\ s a -> s{_pbrContentMD5 = a})---- | Undocumented member.-pbrBucket :: Lens' PutBucketReplication BucketName-pbrBucket = lens _pbrBucket (\ s a -> s{_pbrBucket = a})---- | Undocumented member.-pbrReplicationConfiguration :: Lens' PutBucketReplication ReplicationConfiguration-pbrReplicationConfiguration = lens _pbrReplicationConfiguration (\ s a -> s{_pbrReplicationConfiguration = a})--instance AWSRequest PutBucketReplication where-        type Rs PutBucketReplication =-             PutBucketReplicationResponse-        request = putXML s3-        response = receiveNull PutBucketReplicationResponse'--instance Hashable PutBucketReplication where--instance NFData PutBucketReplication where--instance ToElement PutBucketReplication where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}ReplicationConfiguration"-              .-              _pbrReplicationConfiguration--instance ToHeaders PutBucketReplication where-        toHeaders PutBucketReplication'{..}-          = mconcat ["Content-MD5" =# _pbrContentMD5]--instance ToPath PutBucketReplication where-        toPath PutBucketReplication'{..}-          = mconcat ["/", toBS _pbrBucket]--instance ToQuery PutBucketReplication where-        toQuery = const (mconcat ["replication"])---- | /See:/ 'putBucketReplicationResponse' smart constructor.-data PutBucketReplicationResponse =-  PutBucketReplicationResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketReplicationResponse' with the minimum fields required to make a request.----putBucketReplicationResponse-    :: PutBucketReplicationResponse-putBucketReplicationResponse = PutBucketReplicationResponse'---instance NFData PutBucketReplicationResponse where
− gen/Network/AWS/S3/PutBucketRequestPayment.hs
@@ -1,127 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketRequestPayment--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. Documentation on requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html-module Network.AWS.S3.PutBucketRequestPayment-    (-    -- * Creating a Request-      putBucketRequestPayment-    , PutBucketRequestPayment-    -- * Request Lenses-    , pbrpContentMD5-    , pbrpBucket-    , pbrpRequestPaymentConfiguration--    -- * Destructuring the Response-    , putBucketRequestPaymentResponse-    , PutBucketRequestPaymentResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketRequestPayment' smart constructor.-data PutBucketRequestPayment = PutBucketRequestPayment'-  { _pbrpContentMD5                  :: !(Maybe Text)-  , _pbrpBucket                      :: !BucketName-  , _pbrpRequestPaymentConfiguration :: !RequestPaymentConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketRequestPayment' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbrpContentMD5' - Undocumented member.------ * 'pbrpBucket' - Undocumented member.------ * 'pbrpRequestPaymentConfiguration' - Undocumented member.-putBucketRequestPayment-    :: BucketName -- ^ 'pbrpBucket'-    -> RequestPaymentConfiguration -- ^ 'pbrpRequestPaymentConfiguration'-    -> PutBucketRequestPayment-putBucketRequestPayment pBucket_ pRequestPaymentConfiguration_ =-  PutBucketRequestPayment'-    { _pbrpContentMD5 = Nothing-    , _pbrpBucket = pBucket_-    , _pbrpRequestPaymentConfiguration = pRequestPaymentConfiguration_-    }----- | Undocumented member.-pbrpContentMD5 :: Lens' PutBucketRequestPayment (Maybe Text)-pbrpContentMD5 = lens _pbrpContentMD5 (\ s a -> s{_pbrpContentMD5 = a})---- | Undocumented member.-pbrpBucket :: Lens' PutBucketRequestPayment BucketName-pbrpBucket = lens _pbrpBucket (\ s a -> s{_pbrpBucket = a})---- | Undocumented member.-pbrpRequestPaymentConfiguration :: Lens' PutBucketRequestPayment RequestPaymentConfiguration-pbrpRequestPaymentConfiguration = lens _pbrpRequestPaymentConfiguration (\ s a -> s{_pbrpRequestPaymentConfiguration = a})--instance AWSRequest PutBucketRequestPayment where-        type Rs PutBucketRequestPayment =-             PutBucketRequestPaymentResponse-        request = putXML s3-        response-          = receiveNull PutBucketRequestPaymentResponse'--instance Hashable PutBucketRequestPayment where--instance NFData PutBucketRequestPayment where--instance ToElement PutBucketRequestPayment where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}RequestPaymentConfiguration"-              .-              _pbrpRequestPaymentConfiguration--instance ToHeaders PutBucketRequestPayment where-        toHeaders PutBucketRequestPayment'{..}-          = mconcat ["Content-MD5" =# _pbrpContentMD5]--instance ToPath PutBucketRequestPayment where-        toPath PutBucketRequestPayment'{..}-          = mconcat ["/", toBS _pbrpBucket]--instance ToQuery PutBucketRequestPayment where-        toQuery = const (mconcat ["requestPayment"])---- | /See:/ 'putBucketRequestPaymentResponse' smart constructor.-data PutBucketRequestPaymentResponse =-  PutBucketRequestPaymentResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketRequestPaymentResponse' with the minimum fields required to make a request.----putBucketRequestPaymentResponse-    :: PutBucketRequestPaymentResponse-putBucketRequestPaymentResponse = PutBucketRequestPaymentResponse'---instance NFData PutBucketRequestPaymentResponse where
− gen/Network/AWS/S3/PutBucketTagging.hs
@@ -1,122 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketTagging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the tags for a bucket.-module Network.AWS.S3.PutBucketTagging-    (-    -- * Creating a Request-      putBucketTagging-    , PutBucketTagging-    -- * Request Lenses-    , pbtContentMD5-    , pbtBucket-    , pbtTagging--    -- * Destructuring the Response-    , putBucketTaggingResponse-    , PutBucketTaggingResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketTagging' smart constructor.-data PutBucketTagging = PutBucketTagging'-  { _pbtContentMD5 :: !(Maybe Text)-  , _pbtBucket     :: !BucketName-  , _pbtTagging    :: !Tagging-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketTagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbtContentMD5' - Undocumented member.------ * 'pbtBucket' - Undocumented member.------ * 'pbtTagging' - Undocumented member.-putBucketTagging-    :: BucketName -- ^ 'pbtBucket'-    -> Tagging -- ^ 'pbtTagging'-    -> PutBucketTagging-putBucketTagging pBucket_ pTagging_ =-  PutBucketTagging'-    {_pbtContentMD5 = Nothing, _pbtBucket = pBucket_, _pbtTagging = pTagging_}----- | Undocumented member.-pbtContentMD5 :: Lens' PutBucketTagging (Maybe Text)-pbtContentMD5 = lens _pbtContentMD5 (\ s a -> s{_pbtContentMD5 = a})---- | Undocumented member.-pbtBucket :: Lens' PutBucketTagging BucketName-pbtBucket = lens _pbtBucket (\ s a -> s{_pbtBucket = a})---- | Undocumented member.-pbtTagging :: Lens' PutBucketTagging Tagging-pbtTagging = lens _pbtTagging (\ s a -> s{_pbtTagging = a})--instance AWSRequest PutBucketTagging where-        type Rs PutBucketTagging = PutBucketTaggingResponse-        request = contentMD5Header . putXML s3-        response = receiveNull PutBucketTaggingResponse'--instance Hashable PutBucketTagging where--instance NFData PutBucketTagging where--instance ToElement PutBucketTagging where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}Tagging"-              .-              _pbtTagging--instance ToHeaders PutBucketTagging where-        toHeaders PutBucketTagging'{..}-          = mconcat ["Content-MD5" =# _pbtContentMD5]--instance ToPath PutBucketTagging where-        toPath PutBucketTagging'{..}-          = mconcat ["/", toBS _pbtBucket]--instance ToQuery PutBucketTagging where-        toQuery = const (mconcat ["tagging"])---- | /See:/ 'putBucketTaggingResponse' smart constructor.-data PutBucketTaggingResponse =-  PutBucketTaggingResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketTaggingResponse' with the minimum fields required to make a request.----putBucketTaggingResponse-    :: PutBucketTaggingResponse-putBucketTaggingResponse = PutBucketTaggingResponse'---instance NFData PutBucketTaggingResponse where
− gen/Network/AWS/S3/PutBucketVersioning.hs
@@ -1,137 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketVersioning--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.-module Network.AWS.S3.PutBucketVersioning-    (-    -- * Creating a Request-      putBucketVersioning-    , PutBucketVersioning-    -- * Request Lenses-    , pbvMFA-    , pbvContentMD5-    , pbvBucket-    , pbvVersioningConfiguration--    -- * Destructuring the Response-    , putBucketVersioningResponse-    , PutBucketVersioningResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketVersioning' smart constructor.-data PutBucketVersioning = PutBucketVersioning'-  { _pbvMFA                     :: !(Maybe Text)-  , _pbvContentMD5              :: !(Maybe Text)-  , _pbvBucket                  :: !BucketName-  , _pbvVersioningConfiguration :: !VersioningConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketVersioning' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbvMFA' - The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.------ * 'pbvContentMD5' - Undocumented member.------ * 'pbvBucket' - Undocumented member.------ * 'pbvVersioningConfiguration' - Undocumented member.-putBucketVersioning-    :: BucketName -- ^ 'pbvBucket'-    -> VersioningConfiguration -- ^ 'pbvVersioningConfiguration'-    -> PutBucketVersioning-putBucketVersioning pBucket_ pVersioningConfiguration_ =-  PutBucketVersioning'-    { _pbvMFA = Nothing-    , _pbvContentMD5 = Nothing-    , _pbvBucket = pBucket_-    , _pbvVersioningConfiguration = pVersioningConfiguration_-    }----- | The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device.-pbvMFA :: Lens' PutBucketVersioning (Maybe Text)-pbvMFA = lens _pbvMFA (\ s a -> s{_pbvMFA = a})---- | Undocumented member.-pbvContentMD5 :: Lens' PutBucketVersioning (Maybe Text)-pbvContentMD5 = lens _pbvContentMD5 (\ s a -> s{_pbvContentMD5 = a})---- | Undocumented member.-pbvBucket :: Lens' PutBucketVersioning BucketName-pbvBucket = lens _pbvBucket (\ s a -> s{_pbvBucket = a})---- | Undocumented member.-pbvVersioningConfiguration :: Lens' PutBucketVersioning VersioningConfiguration-pbvVersioningConfiguration = lens _pbvVersioningConfiguration (\ s a -> s{_pbvVersioningConfiguration = a})--instance AWSRequest PutBucketVersioning where-        type Rs PutBucketVersioning =-             PutBucketVersioningResponse-        request = putXML s3-        response = receiveNull PutBucketVersioningResponse'--instance Hashable PutBucketVersioning where--instance NFData PutBucketVersioning where--instance ToElement PutBucketVersioning where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}VersioningConfiguration"-              .-              _pbvVersioningConfiguration--instance ToHeaders PutBucketVersioning where-        toHeaders PutBucketVersioning'{..}-          = mconcat-              ["x-amz-mfa" =# _pbvMFA,-               "Content-MD5" =# _pbvContentMD5]--instance ToPath PutBucketVersioning where-        toPath PutBucketVersioning'{..}-          = mconcat ["/", toBS _pbvBucket]--instance ToQuery PutBucketVersioning where-        toQuery = const (mconcat ["versioning"])---- | /See:/ 'putBucketVersioningResponse' smart constructor.-data PutBucketVersioningResponse =-  PutBucketVersioningResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketVersioningResponse' with the minimum fields required to make a request.----putBucketVersioningResponse-    :: PutBucketVersioningResponse-putBucketVersioningResponse = PutBucketVersioningResponse'---instance NFData PutBucketVersioningResponse where
− gen/Network/AWS/S3/PutBucketWebsite.hs
@@ -1,125 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutBucketWebsite--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Set the website configuration for a bucket.-module Network.AWS.S3.PutBucketWebsite-    (-    -- * Creating a Request-      putBucketWebsite-    , PutBucketWebsite-    -- * Request Lenses-    , pbwContentMD5-    , pbwBucket-    , pbwWebsiteConfiguration--    -- * Destructuring the Response-    , putBucketWebsiteResponse-    , PutBucketWebsiteResponse-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putBucketWebsite' smart constructor.-data PutBucketWebsite = PutBucketWebsite'-  { _pbwContentMD5           :: !(Maybe Text)-  , _pbwBucket               :: !BucketName-  , _pbwWebsiteConfiguration :: !WebsiteConfiguration-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketWebsite' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pbwContentMD5' - Undocumented member.------ * 'pbwBucket' - Undocumented member.------ * 'pbwWebsiteConfiguration' - Undocumented member.-putBucketWebsite-    :: BucketName -- ^ 'pbwBucket'-    -> WebsiteConfiguration -- ^ 'pbwWebsiteConfiguration'-    -> PutBucketWebsite-putBucketWebsite pBucket_ pWebsiteConfiguration_ =-  PutBucketWebsite'-    { _pbwContentMD5 = Nothing-    , _pbwBucket = pBucket_-    , _pbwWebsiteConfiguration = pWebsiteConfiguration_-    }----- | Undocumented member.-pbwContentMD5 :: Lens' PutBucketWebsite (Maybe Text)-pbwContentMD5 = lens _pbwContentMD5 (\ s a -> s{_pbwContentMD5 = a})---- | Undocumented member.-pbwBucket :: Lens' PutBucketWebsite BucketName-pbwBucket = lens _pbwBucket (\ s a -> s{_pbwBucket = a})---- | Undocumented member.-pbwWebsiteConfiguration :: Lens' PutBucketWebsite WebsiteConfiguration-pbwWebsiteConfiguration = lens _pbwWebsiteConfiguration (\ s a -> s{_pbwWebsiteConfiguration = a})--instance AWSRequest PutBucketWebsite where-        type Rs PutBucketWebsite = PutBucketWebsiteResponse-        request = putXML s3-        response = receiveNull PutBucketWebsiteResponse'--instance Hashable PutBucketWebsite where--instance NFData PutBucketWebsite where--instance ToElement PutBucketWebsite where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}WebsiteConfiguration"-              .-              _pbwWebsiteConfiguration--instance ToHeaders PutBucketWebsite where-        toHeaders PutBucketWebsite'{..}-          = mconcat ["Content-MD5" =# _pbwContentMD5]--instance ToPath PutBucketWebsite where-        toPath PutBucketWebsite'{..}-          = mconcat ["/", toBS _pbwBucket]--instance ToQuery PutBucketWebsite where-        toQuery = const (mconcat ["website"])---- | /See:/ 'putBucketWebsiteResponse' smart constructor.-data PutBucketWebsiteResponse =-  PutBucketWebsiteResponse'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutBucketWebsiteResponse' with the minimum fields required to make a request.----putBucketWebsiteResponse-    :: PutBucketWebsiteResponse-putBucketWebsiteResponse = PutBucketWebsiteResponse'---instance NFData PutBucketWebsiteResponse where
− gen/Network/AWS/S3/PutObject.hs
@@ -1,455 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutObject--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Adds an object to a bucket.-module Network.AWS.S3.PutObject-    (-    -- * Creating a Request-      putObject-    , PutObject-    -- * Request Lenses-    , poContentLength-    , poExpires-    , poGrantReadACP-    , poSSECustomerAlgorithm-    , poSSECustomerKey-    , poRequestPayer-    , poGrantWriteACP-    , poWebsiteRedirectLocation-    , poGrantRead-    , poStorageClass-    , poSSECustomerKeyMD5-    , poSSEKMSKeyId-    , poGrantFullControl-    , poContentEncoding-    , poTagging-    , poContentMD5-    , poMetadata-    , poCacheControl-    , poContentLanguage-    , poACL-    , poContentDisposition-    , poServerSideEncryption-    , poContentType-    , poBucket-    , poKey-    , poBody--    -- * Destructuring the Response-    , putObjectResponse-    , PutObjectResponse-    -- * Response Lenses-    , porsRequestCharged-    , porsETag-    , porsVersionId-    , porsExpiration-    , porsSSECustomerAlgorithm-    , porsSSECustomerKeyMD5-    , porsSSEKMSKeyId-    , porsServerSideEncryption-    , porsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putObject' smart constructor.-data PutObject = PutObject'-  { _poContentLength           :: !(Maybe Integer)-  , _poExpires                 :: !(Maybe RFC822)-  , _poGrantReadACP            :: !(Maybe Text)-  , _poSSECustomerAlgorithm    :: !(Maybe Text)-  , _poSSECustomerKey          :: !(Maybe (Sensitive Text))-  , _poRequestPayer            :: !(Maybe RequestPayer)-  , _poGrantWriteACP           :: !(Maybe Text)-  , _poWebsiteRedirectLocation :: !(Maybe Text)-  , _poGrantRead               :: !(Maybe Text)-  , _poStorageClass            :: !(Maybe StorageClass)-  , _poSSECustomerKeyMD5       :: !(Maybe Text)-  , _poSSEKMSKeyId             :: !(Maybe (Sensitive Text))-  , _poGrantFullControl        :: !(Maybe Text)-  , _poContentEncoding         :: !(Maybe Text)-  , _poTagging                 :: !(Maybe Text)-  , _poContentMD5              :: !(Maybe Text)-  , _poMetadata                :: !(Map Text Text)-  , _poCacheControl            :: !(Maybe Text)-  , _poContentLanguage         :: !(Maybe Text)-  , _poACL                     :: !(Maybe ObjectCannedACL)-  , _poContentDisposition      :: !(Maybe Text)-  , _poServerSideEncryption    :: !(Maybe ServerSideEncryption)-  , _poContentType             :: !(Maybe Text)-  , _poBucket                  :: !BucketName-  , _poKey                     :: !ObjectKey-  , _poBody                    :: !RqBody-  } deriving (Show, Generic)----- | Creates a value of 'PutObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'poContentLength' - Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.------ * 'poExpires' - The date and time at which the object is no longer cacheable.------ * 'poGrantReadACP' - Allows grantee to read the object ACL.------ * 'poSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'poSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.------ * 'poRequestPayer' - Undocumented member.------ * 'poGrantWriteACP' - Allows grantee to write the ACL for the applicable object.------ * 'poWebsiteRedirectLocation' - If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.------ * 'poGrantRead' - Allows grantee to read the object data and its metadata.------ * 'poStorageClass' - The type of storage to use for the object. Defaults to 'STANDARD'.------ * 'poSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'poSSEKMSKeyId' - Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version------ * 'poGrantFullControl' - Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.------ * 'poContentEncoding' - Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.------ * 'poTagging' - The tag-set for the object. The tag-set must be encoded as URL Query parameters------ * 'poContentMD5' - The base64-encoded 128-bit MD5 digest of the part data.------ * 'poMetadata' - A map of metadata to store with the object in S3.------ * 'poCacheControl' - Specifies caching behavior along the request/reply chain.------ * 'poContentLanguage' - The language the content is in.------ * 'poACL' - The canned ACL to apply to the object.------ * 'poContentDisposition' - Specifies presentational information for the object.------ * 'poServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'poContentType' - A standard MIME type describing the format of the object data.------ * 'poBucket' - Name of the bucket to which the PUT operation was initiated.------ * 'poKey' - Object key for which the PUT operation was initiated.------ * 'poBody' - Object data.-putObject-    :: BucketName -- ^ 'poBucket'-    -> ObjectKey -- ^ 'poKey'-    -> RqBody -- ^ 'poBody'-    -> PutObject-putObject pBucket_ pKey_ pBody_ =-  PutObject'-    { _poContentLength = Nothing-    , _poExpires = Nothing-    , _poGrantReadACP = Nothing-    , _poSSECustomerAlgorithm = Nothing-    , _poSSECustomerKey = Nothing-    , _poRequestPayer = Nothing-    , _poGrantWriteACP = Nothing-    , _poWebsiteRedirectLocation = Nothing-    , _poGrantRead = Nothing-    , _poStorageClass = Nothing-    , _poSSECustomerKeyMD5 = Nothing-    , _poSSEKMSKeyId = Nothing-    , _poGrantFullControl = Nothing-    , _poContentEncoding = Nothing-    , _poTagging = Nothing-    , _poContentMD5 = Nothing-    , _poMetadata = mempty-    , _poCacheControl = Nothing-    , _poContentLanguage = Nothing-    , _poACL = Nothing-    , _poContentDisposition = Nothing-    , _poServerSideEncryption = Nothing-    , _poContentType = Nothing-    , _poBucket = pBucket_-    , _poKey = pKey_-    , _poBody = pBody_-    }----- | Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.-poContentLength :: Lens' PutObject (Maybe Integer)-poContentLength = lens _poContentLength (\ s a -> s{_poContentLength = a})---- | The date and time at which the object is no longer cacheable.-poExpires :: Lens' PutObject (Maybe UTCTime)-poExpires = lens _poExpires (\ s a -> s{_poExpires = a}) . mapping _Time---- | Allows grantee to read the object ACL.-poGrantReadACP :: Lens' PutObject (Maybe Text)-poGrantReadACP = lens _poGrantReadACP (\ s a -> s{_poGrantReadACP = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-poSSECustomerAlgorithm :: Lens' PutObject (Maybe Text)-poSSECustomerAlgorithm = lens _poSSECustomerAlgorithm (\ s a -> s{_poSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header.-poSSECustomerKey :: Lens' PutObject (Maybe Text)-poSSECustomerKey = lens _poSSECustomerKey (\ s a -> s{_poSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-poRequestPayer :: Lens' PutObject (Maybe RequestPayer)-poRequestPayer = lens _poRequestPayer (\ s a -> s{_poRequestPayer = a})---- | Allows grantee to write the ACL for the applicable object.-poGrantWriteACP :: Lens' PutObject (Maybe Text)-poGrantWriteACP = lens _poGrantWriteACP (\ s a -> s{_poGrantWriteACP = a})---- | If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.-poWebsiteRedirectLocation :: Lens' PutObject (Maybe Text)-poWebsiteRedirectLocation = lens _poWebsiteRedirectLocation (\ s a -> s{_poWebsiteRedirectLocation = a})---- | Allows grantee to read the object data and its metadata.-poGrantRead :: Lens' PutObject (Maybe Text)-poGrantRead = lens _poGrantRead (\ s a -> s{_poGrantRead = a})---- | The type of storage to use for the object. Defaults to 'STANDARD'.-poStorageClass :: Lens' PutObject (Maybe StorageClass)-poStorageClass = lens _poStorageClass (\ s a -> s{_poStorageClass = a})---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-poSSECustomerKeyMD5 :: Lens' PutObject (Maybe Text)-poSSECustomerKeyMD5 = lens _poSSECustomerKeyMD5 (\ s a -> s{_poSSECustomerKeyMD5 = a})---- | Specifies the AWS KMS key ID to use for object encryption. All GET and PUT requests for an object protected by AWS KMS will fail if not made via SSL or using SigV4. Documentation on configuring any of the officially supported AWS SDKs and CLI can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version-poSSEKMSKeyId :: Lens' PutObject (Maybe Text)-poSSEKMSKeyId = lens _poSSEKMSKeyId (\ s a -> s{_poSSEKMSKeyId = a}) . mapping _Sensitive---- | Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.-poGrantFullControl :: Lens' PutObject (Maybe Text)-poGrantFullControl = lens _poGrantFullControl (\ s a -> s{_poGrantFullControl = a})---- | Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.-poContentEncoding :: Lens' PutObject (Maybe Text)-poContentEncoding = lens _poContentEncoding (\ s a -> s{_poContentEncoding = a})---- | The tag-set for the object. The tag-set must be encoded as URL Query parameters-poTagging :: Lens' PutObject (Maybe Text)-poTagging = lens _poTagging (\ s a -> s{_poTagging = a})---- | The base64-encoded 128-bit MD5 digest of the part data.-poContentMD5 :: Lens' PutObject (Maybe Text)-poContentMD5 = lens _poContentMD5 (\ s a -> s{_poContentMD5 = a})---- | A map of metadata to store with the object in S3.-poMetadata :: Lens' PutObject (HashMap Text Text)-poMetadata = lens _poMetadata (\ s a -> s{_poMetadata = a}) . _Map---- | Specifies caching behavior along the request/reply chain.-poCacheControl :: Lens' PutObject (Maybe Text)-poCacheControl = lens _poCacheControl (\ s a -> s{_poCacheControl = a})---- | The language the content is in.-poContentLanguage :: Lens' PutObject (Maybe Text)-poContentLanguage = lens _poContentLanguage (\ s a -> s{_poContentLanguage = a})---- | The canned ACL to apply to the object.-poACL :: Lens' PutObject (Maybe ObjectCannedACL)-poACL = lens _poACL (\ s a -> s{_poACL = a})---- | Specifies presentational information for the object.-poContentDisposition :: Lens' PutObject (Maybe Text)-poContentDisposition = lens _poContentDisposition (\ s a -> s{_poContentDisposition = a})---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-poServerSideEncryption :: Lens' PutObject (Maybe ServerSideEncryption)-poServerSideEncryption = lens _poServerSideEncryption (\ s a -> s{_poServerSideEncryption = a})---- | A standard MIME type describing the format of the object data.-poContentType :: Lens' PutObject (Maybe Text)-poContentType = lens _poContentType (\ s a -> s{_poContentType = a})---- | Name of the bucket to which the PUT operation was initiated.-poBucket :: Lens' PutObject BucketName-poBucket = lens _poBucket (\ s a -> s{_poBucket = a})---- | Object key for which the PUT operation was initiated.-poKey :: Lens' PutObject ObjectKey-poKey = lens _poKey (\ s a -> s{_poKey = a})---- | Object data.-poBody :: Lens' PutObject RqBody-poBody = lens _poBody (\ s a -> s{_poBody = a})--instance AWSRequest PutObject where-        type Rs PutObject = PutObjectResponse-        request = expectHeader . putBody s3-        response-          = receiveEmpty-              (\ s h x ->-                 PutObjectResponse' <$>-                   (h .#? "x-amz-request-charged") <*> (h .#? "ETag")-                     <*> (h .#? "x-amz-version-id")-                     <*> (h .#? "x-amz-expiration")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (pure (fromEnum s)))--instance ToBody PutObject where-        toBody = toBody . _poBody--instance ToHeaders PutObject where-        toHeaders PutObject'{..}-          = mconcat-              ["Content-Length" =# _poContentLength,-               "Expires" =# _poExpires,-               "x-amz-grant-read-acp" =# _poGrantReadACP,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _poSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _poSSECustomerKey,-               "x-amz-request-payer" =# _poRequestPayer,-               "x-amz-grant-write-acp" =# _poGrantWriteACP,-               "x-amz-website-redirect-location" =#-                 _poWebsiteRedirectLocation,-               "x-amz-grant-read" =# _poGrantRead,-               "x-amz-storage-class" =# _poStorageClass,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _poSSECustomerKeyMD5,-               "x-amz-server-side-encryption-aws-kms-key-id" =#-                 _poSSEKMSKeyId,-               "x-amz-grant-full-control" =# _poGrantFullControl,-               "Content-Encoding" =# _poContentEncoding,-               "x-amz-tagging" =# _poTagging,-               "Content-MD5" =# _poContentMD5,-               "x-amz-meta-" =# _poMetadata,-               "Cache-Control" =# _poCacheControl,-               "Content-Language" =# _poContentLanguage,-               "x-amz-acl" =# _poACL,-               "Content-Disposition" =# _poContentDisposition,-               "x-amz-server-side-encryption" =#-                 _poServerSideEncryption,-               "Content-Type" =# _poContentType]--instance ToPath PutObject where-        toPath PutObject'{..}-          = mconcat ["/", toBS _poBucket, "/", toBS _poKey]--instance ToQuery PutObject where-        toQuery = const mempty---- | /See:/ 'putObjectResponse' smart constructor.-data PutObjectResponse = PutObjectResponse'-  { _porsRequestCharged       :: !(Maybe RequestCharged)-  , _porsETag                 :: !(Maybe ETag)-  , _porsVersionId            :: !(Maybe ObjectVersionId)-  , _porsExpiration           :: !(Maybe Text)-  , _porsSSECustomerAlgorithm :: !(Maybe Text)-  , _porsSSECustomerKeyMD5    :: !(Maybe Text)-  , _porsSSEKMSKeyId          :: !(Maybe (Sensitive Text))-  , _porsServerSideEncryption :: !(Maybe ServerSideEncryption)-  , _porsResponseStatus       :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'PutObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'porsRequestCharged' - Undocumented member.------ * 'porsETag' - Entity tag for the uploaded object.------ * 'porsVersionId' - Version of the object.------ * 'porsExpiration' - If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.------ * 'porsSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'porsSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'porsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'porsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'porsResponseStatus' - -- | The response status code.-putObjectResponse-    :: Int -- ^ 'porsResponseStatus'-    -> PutObjectResponse-putObjectResponse pResponseStatus_ =-  PutObjectResponse'-    { _porsRequestCharged = Nothing-    , _porsETag = Nothing-    , _porsVersionId = Nothing-    , _porsExpiration = Nothing-    , _porsSSECustomerAlgorithm = Nothing-    , _porsSSECustomerKeyMD5 = Nothing-    , _porsSSEKMSKeyId = Nothing-    , _porsServerSideEncryption = Nothing-    , _porsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-porsRequestCharged :: Lens' PutObjectResponse (Maybe RequestCharged)-porsRequestCharged = lens _porsRequestCharged (\ s a -> s{_porsRequestCharged = a})---- | Entity tag for the uploaded object.-porsETag :: Lens' PutObjectResponse (Maybe ETag)-porsETag = lens _porsETag (\ s a -> s{_porsETag = a})---- | Version of the object.-porsVersionId :: Lens' PutObjectResponse (Maybe ObjectVersionId)-porsVersionId = lens _porsVersionId (\ s a -> s{_porsVersionId = a})---- | If the object expiration is configured, this will contain the expiration date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.-porsExpiration :: Lens' PutObjectResponse (Maybe Text)-porsExpiration = lens _porsExpiration (\ s a -> s{_porsExpiration = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-porsSSECustomerAlgorithm :: Lens' PutObjectResponse (Maybe Text)-porsSSECustomerAlgorithm = lens _porsSSECustomerAlgorithm (\ s a -> s{_porsSSECustomerAlgorithm = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-porsSSECustomerKeyMD5 :: Lens' PutObjectResponse (Maybe Text)-porsSSECustomerKeyMD5 = lens _porsSSECustomerKeyMD5 (\ s a -> s{_porsSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-porsSSEKMSKeyId :: Lens' PutObjectResponse (Maybe Text)-porsSSEKMSKeyId = lens _porsSSEKMSKeyId (\ s a -> s{_porsSSEKMSKeyId = a}) . mapping _Sensitive---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-porsServerSideEncryption :: Lens' PutObjectResponse (Maybe ServerSideEncryption)-porsServerSideEncryption = lens _porsServerSideEncryption (\ s a -> s{_porsServerSideEncryption = a})---- | -- | The response status code.-porsResponseStatus :: Lens' PutObjectResponse Int-porsResponseStatus = lens _porsResponseStatus (\ s a -> s{_porsResponseStatus = a})--instance NFData PutObjectResponse where
− gen/Network/AWS/S3/PutObjectACL.hs
@@ -1,240 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutObjectACL--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ uses the acl subresource to set the access control list (ACL) permissions for an object that already exists in a bucket-module Network.AWS.S3.PutObjectACL-    (-    -- * Creating a Request-      putObjectACL-    , PutObjectACL-    -- * Request Lenses-    , poaVersionId-    , poaGrantReadACP-    , poaRequestPayer-    , poaGrantWriteACP-    , poaGrantRead-    , poaGrantFullControl-    , poaContentMD5-    , poaAccessControlPolicy-    , poaGrantWrite-    , poaACL-    , poaBucket-    , poaKey--    -- * Destructuring the Response-    , putObjectACLResponse-    , PutObjectACLResponse-    -- * Response Lenses-    , poarsRequestCharged-    , poarsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putObjectACL' smart constructor.-data PutObjectACL = PutObjectACL'-  { _poaVersionId           :: !(Maybe ObjectVersionId)-  , _poaGrantReadACP        :: !(Maybe Text)-  , _poaRequestPayer        :: !(Maybe RequestPayer)-  , _poaGrantWriteACP       :: !(Maybe Text)-  , _poaGrantRead           :: !(Maybe Text)-  , _poaGrantFullControl    :: !(Maybe Text)-  , _poaContentMD5          :: !(Maybe Text)-  , _poaAccessControlPolicy :: !(Maybe AccessControlPolicy)-  , _poaGrantWrite          :: !(Maybe Text)-  , _poaACL                 :: !(Maybe ObjectCannedACL)-  , _poaBucket              :: !BucketName-  , _poaKey                 :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutObjectACL' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'poaVersionId' - VersionId used to reference a specific version of the object.------ * 'poaGrantReadACP' - Allows grantee to read the bucket ACL.------ * 'poaRequestPayer' - Undocumented member.------ * 'poaGrantWriteACP' - Allows grantee to write the ACL for the applicable bucket.------ * 'poaGrantRead' - Allows grantee to list the objects in the bucket.------ * 'poaGrantFullControl' - Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.------ * 'poaContentMD5' - Undocumented member.------ * 'poaAccessControlPolicy' - Undocumented member.------ * 'poaGrantWrite' - Allows grantee to create, overwrite, and delete any object in the bucket.------ * 'poaACL' - The canned ACL to apply to the object.------ * 'poaBucket' - Undocumented member.------ * 'poaKey' - Undocumented member.-putObjectACL-    :: BucketName -- ^ 'poaBucket'-    -> ObjectKey -- ^ 'poaKey'-    -> PutObjectACL-putObjectACL pBucket_ pKey_ =-  PutObjectACL'-    { _poaVersionId = Nothing-    , _poaGrantReadACP = Nothing-    , _poaRequestPayer = Nothing-    , _poaGrantWriteACP = Nothing-    , _poaGrantRead = Nothing-    , _poaGrantFullControl = Nothing-    , _poaContentMD5 = Nothing-    , _poaAccessControlPolicy = Nothing-    , _poaGrantWrite = Nothing-    , _poaACL = Nothing-    , _poaBucket = pBucket_-    , _poaKey = pKey_-    }----- | VersionId used to reference a specific version of the object.-poaVersionId :: Lens' PutObjectACL (Maybe ObjectVersionId)-poaVersionId = lens _poaVersionId (\ s a -> s{_poaVersionId = a})---- | Allows grantee to read the bucket ACL.-poaGrantReadACP :: Lens' PutObjectACL (Maybe Text)-poaGrantReadACP = lens _poaGrantReadACP (\ s a -> s{_poaGrantReadACP = a})---- | Undocumented member.-poaRequestPayer :: Lens' PutObjectACL (Maybe RequestPayer)-poaRequestPayer = lens _poaRequestPayer (\ s a -> s{_poaRequestPayer = a})---- | Allows grantee to write the ACL for the applicable bucket.-poaGrantWriteACP :: Lens' PutObjectACL (Maybe Text)-poaGrantWriteACP = lens _poaGrantWriteACP (\ s a -> s{_poaGrantWriteACP = a})---- | Allows grantee to list the objects in the bucket.-poaGrantRead :: Lens' PutObjectACL (Maybe Text)-poaGrantRead = lens _poaGrantRead (\ s a -> s{_poaGrantRead = a})---- | Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.-poaGrantFullControl :: Lens' PutObjectACL (Maybe Text)-poaGrantFullControl = lens _poaGrantFullControl (\ s a -> s{_poaGrantFullControl = a})---- | Undocumented member.-poaContentMD5 :: Lens' PutObjectACL (Maybe Text)-poaContentMD5 = lens _poaContentMD5 (\ s a -> s{_poaContentMD5 = a})---- | Undocumented member.-poaAccessControlPolicy :: Lens' PutObjectACL (Maybe AccessControlPolicy)-poaAccessControlPolicy = lens _poaAccessControlPolicy (\ s a -> s{_poaAccessControlPolicy = a})---- | Allows grantee to create, overwrite, and delete any object in the bucket.-poaGrantWrite :: Lens' PutObjectACL (Maybe Text)-poaGrantWrite = lens _poaGrantWrite (\ s a -> s{_poaGrantWrite = a})---- | The canned ACL to apply to the object.-poaACL :: Lens' PutObjectACL (Maybe ObjectCannedACL)-poaACL = lens _poaACL (\ s a -> s{_poaACL = a})---- | Undocumented member.-poaBucket :: Lens' PutObjectACL BucketName-poaBucket = lens _poaBucket (\ s a -> s{_poaBucket = a})---- | Undocumented member.-poaKey :: Lens' PutObjectACL ObjectKey-poaKey = lens _poaKey (\ s a -> s{_poaKey = a})--instance AWSRequest PutObjectACL where-        type Rs PutObjectACL = PutObjectACLResponse-        request = putXML s3-        response-          = receiveEmpty-              (\ s h x ->-                 PutObjectACLResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (pure (fromEnum s)))--instance Hashable PutObjectACL where--instance NFData PutObjectACL where--instance ToElement PutObjectACL where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}AccessControlPolicy"-              .-              _poaAccessControlPolicy--instance ToHeaders PutObjectACL where-        toHeaders PutObjectACL'{..}-          = mconcat-              ["x-amz-grant-read-acp" =# _poaGrantReadACP,-               "x-amz-request-payer" =# _poaRequestPayer,-               "x-amz-grant-write-acp" =# _poaGrantWriteACP,-               "x-amz-grant-read" =# _poaGrantRead,-               "x-amz-grant-full-control" =# _poaGrantFullControl,-               "Content-MD5" =# _poaContentMD5,-               "x-amz-grant-write" =# _poaGrantWrite,-               "x-amz-acl" =# _poaACL]--instance ToPath PutObjectACL where-        toPath PutObjectACL'{..}-          = mconcat ["/", toBS _poaBucket, "/", toBS _poaKey]--instance ToQuery PutObjectACL where-        toQuery PutObjectACL'{..}-          = mconcat ["versionId" =: _poaVersionId, "acl"]---- | /See:/ 'putObjectACLResponse' smart constructor.-data PutObjectACLResponse = PutObjectACLResponse'-  { _poarsRequestCharged :: !(Maybe RequestCharged)-  , _poarsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutObjectACLResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'poarsRequestCharged' - Undocumented member.------ * 'poarsResponseStatus' - -- | The response status code.-putObjectACLResponse-    :: Int -- ^ 'poarsResponseStatus'-    -> PutObjectACLResponse-putObjectACLResponse pResponseStatus_ =-  PutObjectACLResponse'-    {_poarsRequestCharged = Nothing, _poarsResponseStatus = pResponseStatus_}----- | Undocumented member.-poarsRequestCharged :: Lens' PutObjectACLResponse (Maybe RequestCharged)-poarsRequestCharged = lens _poarsRequestCharged (\ s a -> s{_poarsRequestCharged = a})---- | -- | The response status code.-poarsResponseStatus :: Lens' PutObjectACLResponse Int-poarsResponseStatus = lens _poarsResponseStatus (\ s a -> s{_poarsResponseStatus = a})--instance NFData PutObjectACLResponse where
− gen/Network/AWS/S3/PutObjectTagging.hs
@@ -1,169 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.PutObjectTagging--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Sets the supplied tag-set to an object that already exists in a bucket-module Network.AWS.S3.PutObjectTagging-    (-    -- * Creating a Request-      putObjectTagging-    , PutObjectTagging-    -- * Request Lenses-    , potVersionId-    , potContentMD5-    , potBucket-    , potKey-    , potTagging--    -- * Destructuring the Response-    , putObjectTaggingResponse-    , PutObjectTaggingResponse-    -- * Response Lenses-    , potrsVersionId-    , potrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'putObjectTagging' smart constructor.-data PutObjectTagging = PutObjectTagging'-  { _potVersionId  :: !(Maybe ObjectVersionId)-  , _potContentMD5 :: !(Maybe Text)-  , _potBucket     :: !BucketName-  , _potKey        :: !ObjectKey-  , _potTagging    :: !Tagging-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutObjectTagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'potVersionId' - Undocumented member.------ * 'potContentMD5' - Undocumented member.------ * 'potBucket' - Undocumented member.------ * 'potKey' - Undocumented member.------ * 'potTagging' - Undocumented member.-putObjectTagging-    :: BucketName -- ^ 'potBucket'-    -> ObjectKey -- ^ 'potKey'-    -> Tagging -- ^ 'potTagging'-    -> PutObjectTagging-putObjectTagging pBucket_ pKey_ pTagging_ =-  PutObjectTagging'-    { _potVersionId = Nothing-    , _potContentMD5 = Nothing-    , _potBucket = pBucket_-    , _potKey = pKey_-    , _potTagging = pTagging_-    }----- | Undocumented member.-potVersionId :: Lens' PutObjectTagging (Maybe ObjectVersionId)-potVersionId = lens _potVersionId (\ s a -> s{_potVersionId = a})---- | Undocumented member.-potContentMD5 :: Lens' PutObjectTagging (Maybe Text)-potContentMD5 = lens _potContentMD5 (\ s a -> s{_potContentMD5 = a})---- | Undocumented member.-potBucket :: Lens' PutObjectTagging BucketName-potBucket = lens _potBucket (\ s a -> s{_potBucket = a})---- | Undocumented member.-potKey :: Lens' PutObjectTagging ObjectKey-potKey = lens _potKey (\ s a -> s{_potKey = a})---- | Undocumented member.-potTagging :: Lens' PutObjectTagging Tagging-potTagging = lens _potTagging (\ s a -> s{_potTagging = a})--instance AWSRequest PutObjectTagging where-        type Rs PutObjectTagging = PutObjectTaggingResponse-        request = putXML s3-        response-          = receiveEmpty-              (\ s h x ->-                 PutObjectTaggingResponse' <$>-                   (h .#? "x-amz-version-id") <*> (pure (fromEnum s)))--instance Hashable PutObjectTagging where--instance NFData PutObjectTagging where--instance ToElement PutObjectTagging where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}Tagging"-              .-              _potTagging--instance ToHeaders PutObjectTagging where-        toHeaders PutObjectTagging'{..}-          = mconcat ["Content-MD5" =# _potContentMD5]--instance ToPath PutObjectTagging where-        toPath PutObjectTagging'{..}-          = mconcat ["/", toBS _potBucket, "/", toBS _potKey]--instance ToQuery PutObjectTagging where-        toQuery PutObjectTagging'{..}-          = mconcat ["versionId" =: _potVersionId, "tagging"]---- | /See:/ 'putObjectTaggingResponse' smart constructor.-data PutObjectTaggingResponse = PutObjectTaggingResponse'-  { _potrsVersionId      :: !(Maybe ObjectVersionId)-  , _potrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'PutObjectTaggingResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'potrsVersionId' - Undocumented member.------ * 'potrsResponseStatus' - -- | The response status code.-putObjectTaggingResponse-    :: Int -- ^ 'potrsResponseStatus'-    -> PutObjectTaggingResponse-putObjectTaggingResponse pResponseStatus_ =-  PutObjectTaggingResponse'-    {_potrsVersionId = Nothing, _potrsResponseStatus = pResponseStatus_}----- | Undocumented member.-potrsVersionId :: Lens' PutObjectTaggingResponse (Maybe ObjectVersionId)-potrsVersionId = lens _potrsVersionId (\ s a -> s{_potrsVersionId = a})---- | -- | The response status code.-potrsResponseStatus :: Lens' PutObjectTaggingResponse Int-potrsResponseStatus = lens _potrsResponseStatus (\ s a -> s{_potrsResponseStatus = a})--instance NFData PutObjectTaggingResponse where
− gen/Network/AWS/S3/RestoreObject.hs
@@ -1,181 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.RestoreObject--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Restores an archived copy of an object back into Amazon S3-module Network.AWS.S3.RestoreObject-    (-    -- * Creating a Request-      restoreObject-    , RestoreObject-    -- * Request Lenses-    , roVersionId-    , roRequestPayer-    , roRestoreRequest-    , roBucket-    , roKey--    -- * Destructuring the Response-    , restoreObjectResponse-    , RestoreObjectResponse-    -- * Response Lenses-    , rorsRequestCharged-    , rorsRestoreOutputPath-    , rorsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'restoreObject' smart constructor.-data RestoreObject = RestoreObject'-  { _roVersionId      :: !(Maybe ObjectVersionId)-  , _roRequestPayer   :: !(Maybe RequestPayer)-  , _roRestoreRequest :: !(Maybe RestoreRequest)-  , _roBucket         :: !BucketName-  , _roKey            :: !ObjectKey-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestoreObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'roVersionId' - Undocumented member.------ * 'roRequestPayer' - Undocumented member.------ * 'roRestoreRequest' - Undocumented member.------ * 'roBucket' - Undocumented member.------ * 'roKey' - Undocumented member.-restoreObject-    :: BucketName -- ^ 'roBucket'-    -> ObjectKey -- ^ 'roKey'-    -> RestoreObject-restoreObject pBucket_ pKey_ =-  RestoreObject'-    { _roVersionId = Nothing-    , _roRequestPayer = Nothing-    , _roRestoreRequest = Nothing-    , _roBucket = pBucket_-    , _roKey = pKey_-    }----- | Undocumented member.-roVersionId :: Lens' RestoreObject (Maybe ObjectVersionId)-roVersionId = lens _roVersionId (\ s a -> s{_roVersionId = a})---- | Undocumented member.-roRequestPayer :: Lens' RestoreObject (Maybe RequestPayer)-roRequestPayer = lens _roRequestPayer (\ s a -> s{_roRequestPayer = a})---- | Undocumented member.-roRestoreRequest :: Lens' RestoreObject (Maybe RestoreRequest)-roRestoreRequest = lens _roRestoreRequest (\ s a -> s{_roRestoreRequest = a})---- | Undocumented member.-roBucket :: Lens' RestoreObject BucketName-roBucket = lens _roBucket (\ s a -> s{_roBucket = a})---- | Undocumented member.-roKey :: Lens' RestoreObject ObjectKey-roKey = lens _roKey (\ s a -> s{_roKey = a})--instance AWSRequest RestoreObject where-        type Rs RestoreObject = RestoreObjectResponse-        request = postXML s3-        response-          = receiveEmpty-              (\ s h x ->-                 RestoreObjectResponse' <$>-                   (h .#? "x-amz-request-charged") <*>-                     (h .#? "x-amz-restore-output-path")-                     <*> (pure (fromEnum s)))--instance Hashable RestoreObject where--instance NFData RestoreObject where--instance ToElement RestoreObject where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}RestoreRequest"-              .-              _roRestoreRequest--instance ToHeaders RestoreObject where-        toHeaders RestoreObject'{..}-          = mconcat ["x-amz-request-payer" =# _roRequestPayer]--instance ToPath RestoreObject where-        toPath RestoreObject'{..}-          = mconcat ["/", toBS _roBucket, "/", toBS _roKey]--instance ToQuery RestoreObject where-        toQuery RestoreObject'{..}-          = mconcat ["versionId" =: _roVersionId, "restore"]---- | /See:/ 'restoreObjectResponse' smart constructor.-data RestoreObjectResponse = RestoreObjectResponse'-  { _rorsRequestCharged    :: !(Maybe RequestCharged)-  , _rorsRestoreOutputPath :: !(Maybe Text)-  , _rorsResponseStatus    :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RestoreObjectResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rorsRequestCharged' - Undocumented member.------ * 'rorsRestoreOutputPath' - Indicates the path in the provided S3 output location where Select results will be restored to.------ * 'rorsResponseStatus' - -- | The response status code.-restoreObjectResponse-    :: Int -- ^ 'rorsResponseStatus'-    -> RestoreObjectResponse-restoreObjectResponse pResponseStatus_ =-  RestoreObjectResponse'-    { _rorsRequestCharged = Nothing-    , _rorsRestoreOutputPath = Nothing-    , _rorsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-rorsRequestCharged :: Lens' RestoreObjectResponse (Maybe RequestCharged)-rorsRequestCharged = lens _rorsRequestCharged (\ s a -> s{_rorsRequestCharged = a})---- | Indicates the path in the provided S3 output location where Select results will be restored to.-rorsRestoreOutputPath :: Lens' RestoreObjectResponse (Maybe Text)-rorsRestoreOutputPath = lens _rorsRestoreOutputPath (\ s a -> s{_rorsRestoreOutputPath = a})---- | -- | The response status code.-rorsResponseStatus :: Lens' RestoreObjectResponse Int-rorsResponseStatus = lens _rorsResponseStatus (\ s a -> s{_rorsResponseStatus = a})--instance NFData RestoreObjectResponse where
− gen/Network/AWS/S3/SelectObjectContent.hs
@@ -1,232 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.SelectObjectContent--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ This operation filters the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must also specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records, and returns only records that match the specified SQL expression. You must also specify the data serialization format for the response.-module Network.AWS.S3.SelectObjectContent-    (-    -- * Creating a Request-      selectObjectContent-    , SelectObjectContent-    -- * Request Lenses-    , socSSECustomerAlgorithm-    , socSSECustomerKey-    , socRequestProgress-    , socSSECustomerKeyMD5-    , socBucket-    , socKey-    , socExpression-    , socExpressionType-    , socInputSerialization-    , socOutputSerialization--    -- * Destructuring the Response-    , selectObjectContentResponse-    , SelectObjectContentResponse-    -- * Response Lenses-    , socrsPayload-    , socrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | <https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html S3Select API Documentation>------ /See:/ 'selectObjectContent' smart constructor.-data SelectObjectContent = SelectObjectContent'-  { _socSSECustomerAlgorithm :: !(Maybe Text)-  , _socSSECustomerKey       :: !(Maybe (Sensitive Text))-  , _socRequestProgress      :: !(Maybe RequestProgress)-  , _socSSECustomerKeyMD5    :: !(Maybe Text)-  , _socBucket               :: !BucketName-  , _socKey                  :: !ObjectKey-  , _socExpression           :: !Text-  , _socExpressionType       :: !ExpressionType-  , _socInputSerialization   :: !InputSerialization-  , _socOutputSerialization  :: !OutputSerialization-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SelectObjectContent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'socSSECustomerAlgorithm' - <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys>------ * 'socSSECustomerKey' - <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys>------ * 'socRequestProgress' - Specifies if periodic request progress information should be enabled.------ * 'socSSECustomerKeyMD5' - <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys>------ * 'socBucket' - The S3 Bucket.------ * 'socKey' - The Object Key.------ * 'socExpression' - The expression that is used to query the object.------ * 'socExpressionType' - The type of the provided expression (e.g., SQL).------ * 'socInputSerialization' - Describes the format of the data in the object that is being queried.------ * 'socOutputSerialization' - Describes the format of the data that you want Amazon S3 to return in response.-selectObjectContent-    :: BucketName -- ^ 'socBucket'-    -> ObjectKey -- ^ 'socKey'-    -> Text -- ^ 'socExpression'-    -> ExpressionType -- ^ 'socExpressionType'-    -> InputSerialization -- ^ 'socInputSerialization'-    -> OutputSerialization -- ^ 'socOutputSerialization'-    -> SelectObjectContent-selectObjectContent pBucket_ pKey_ pExpression_ pExpressionType_ pInputSerialization_ pOutputSerialization_ =-  SelectObjectContent'-    { _socSSECustomerAlgorithm = Nothing-    , _socSSECustomerKey = Nothing-    , _socRequestProgress = Nothing-    , _socSSECustomerKeyMD5 = Nothing-    , _socBucket = pBucket_-    , _socKey = pKey_-    , _socExpression = pExpression_-    , _socExpressionType = pExpressionType_-    , _socInputSerialization = pInputSerialization_-    , _socOutputSerialization = pOutputSerialization_-    }----- | <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys>-socSSECustomerAlgorithm :: Lens' SelectObjectContent (Maybe Text)-socSSECustomerAlgorithm = lens _socSSECustomerAlgorithm (\ s a -> s{_socSSECustomerAlgorithm = a})---- | <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys>-socSSECustomerKey :: Lens' SelectObjectContent (Maybe Text)-socSSECustomerKey = lens _socSSECustomerKey (\ s a -> s{_socSSECustomerKey = a}) . mapping _Sensitive---- | Specifies if periodic request progress information should be enabled.-socRequestProgress :: Lens' SelectObjectContent (Maybe RequestProgress)-socRequestProgress = lens _socRequestProgress (\ s a -> s{_socRequestProgress = a})---- | <https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html Server-Side Encryption (Using Customer-Provided Encryption Keys>-socSSECustomerKeyMD5 :: Lens' SelectObjectContent (Maybe Text)-socSSECustomerKeyMD5 = lens _socSSECustomerKeyMD5 (\ s a -> s{_socSSECustomerKeyMD5 = a})---- | The S3 Bucket.-socBucket :: Lens' SelectObjectContent BucketName-socBucket = lens _socBucket (\ s a -> s{_socBucket = a})---- | The Object Key.-socKey :: Lens' SelectObjectContent ObjectKey-socKey = lens _socKey (\ s a -> s{_socKey = a})---- | The expression that is used to query the object.-socExpression :: Lens' SelectObjectContent Text-socExpression = lens _socExpression (\ s a -> s{_socExpression = a})---- | The type of the provided expression (e.g., SQL).-socExpressionType :: Lens' SelectObjectContent ExpressionType-socExpressionType = lens _socExpressionType (\ s a -> s{_socExpressionType = a})---- | Describes the format of the data in the object that is being queried.-socInputSerialization :: Lens' SelectObjectContent InputSerialization-socInputSerialization = lens _socInputSerialization (\ s a -> s{_socInputSerialization = a})---- | Describes the format of the data that you want Amazon S3 to return in response.-socOutputSerialization :: Lens' SelectObjectContent OutputSerialization-socOutputSerialization = lens _socOutputSerialization (\ s a -> s{_socOutputSerialization = a})--instance AWSRequest SelectObjectContent where-        type Rs SelectObjectContent =-             SelectObjectContentResponse-        request = postXML s3-        response-          = receiveXML-              (\ s h x ->-                 SelectObjectContentResponse' <$>-                   (parseXML x) <*> (pure (fromEnum s)))--instance Hashable SelectObjectContent where--instance NFData SelectObjectContent where--instance ToElement SelectObjectContent where-        toElement-          = mkElement-              "{http://s3.amazonaws.com/doc/2006-03-01/}SelectObjectContentRequest"--instance ToHeaders SelectObjectContent where-        toHeaders SelectObjectContent'{..}-          = mconcat-              ["x-amz-server-side-encryption-customer-algorithm" =#-                 _socSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _socSSECustomerKey,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _socSSECustomerKeyMD5]--instance ToPath SelectObjectContent where-        toPath SelectObjectContent'{..}-          = mconcat ["/", toBS _socBucket, "/", toBS _socKey]--instance ToQuery SelectObjectContent where-        toQuery = const (mconcat ["select&select-type=2"])--instance ToXML SelectObjectContent where-        toXML SelectObjectContent'{..}-          = mconcat-              ["RequestProgress" @= _socRequestProgress,-               "Expression" @= _socExpression,-               "ExpressionType" @= _socExpressionType,-               "InputSerialization" @= _socInputSerialization,-               "OutputSerialization" @= _socOutputSerialization]---- | /See:/ 'selectObjectContentResponse' smart constructor.-data SelectObjectContentResponse = SelectObjectContentResponse'-  { _socrsPayload        :: !(Maybe SelectObjectContentEventStream)-  , _socrsResponseStatus :: !Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SelectObjectContentResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'socrsPayload' - Undocumented member.------ * 'socrsResponseStatus' - -- | The response status code.-selectObjectContentResponse-    :: Int -- ^ 'socrsResponseStatus'-    -> SelectObjectContentResponse-selectObjectContentResponse pResponseStatus_ =-  SelectObjectContentResponse'-    {_socrsPayload = Nothing, _socrsResponseStatus = pResponseStatus_}----- | Undocumented member.-socrsPayload :: Lens' SelectObjectContentResponse (Maybe SelectObjectContentEventStream)-socrsPayload = lens _socrsPayload (\ s a -> s{_socrsPayload = a})---- | -- | The response status code.-socrsResponseStatus :: Lens' SelectObjectContentResponse Int-socrsResponseStatus = lens _socrsResponseStatus (\ s a -> s{_socrsResponseStatus = a})--instance NFData SelectObjectContentResponse where
− gen/Network/AWS/S3/Types.hs
@@ -1,917 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.Types--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.S3.Types-    (-    -- * Service Configuration-      s3--    -- * Errors-    , _BucketAlreadyOwnedByYou-    , _ObjectAlreadyInActiveTierError-    , _BucketAlreadyExists-    , _ObjectNotInActiveTierError-    , _NoSuchUpload-    , _NoSuchBucket-    , _NoSuchKey--    -- * Re-exported Types-    , module Network.AWS.S3.Internal--    -- * AnalyticsS3ExportFileFormat-    , AnalyticsS3ExportFileFormat (..)--    -- * BucketAccelerateStatus-    , BucketAccelerateStatus (..)--    -- * BucketCannedACL-    , BucketCannedACL (..)--    -- * BucketLogsPermission-    , BucketLogsPermission (..)--    -- * BucketVersioningStatus-    , BucketVersioningStatus (..)--    -- * CompressionType-    , CompressionType (..)--    -- * EncodingType-    , EncodingType (..)--    -- * Event-    , Event (..)--    -- * ExpirationStatus-    , ExpirationStatus (..)--    -- * ExpressionType-    , ExpressionType (..)--    -- * FileHeaderInfo-    , FileHeaderInfo (..)--    -- * FilterRuleName-    , FilterRuleName (..)--    -- * InventoryFormat-    , InventoryFormat (..)--    -- * InventoryFrequency-    , InventoryFrequency (..)--    -- * InventoryIncludedObjectVersions-    , InventoryIncludedObjectVersions (..)--    -- * InventoryOptionalField-    , InventoryOptionalField (..)--    -- * JSONType-    , JSONType (..)--    -- * MFADelete-    , MFADelete (..)--    -- * MFADeleteStatus-    , MFADeleteStatus (..)--    -- * MetadataDirective-    , MetadataDirective (..)--    -- * ObjectCannedACL-    , ObjectCannedACL (..)--    -- * ObjectStorageClass-    , ObjectStorageClass (..)--    -- * ObjectVersionStorageClass-    , ObjectVersionStorageClass (..)--    -- * OwnerOverride-    , OwnerOverride (..)--    -- * Payer-    , Payer (..)--    -- * Permission-    , Permission (..)--    -- * Protocol-    , Protocol (..)--    -- * QuoteFields-    , QuoteFields (..)--    -- * ReplicationRuleStatus-    , ReplicationRuleStatus (..)--    -- * ReplicationStatus-    , ReplicationStatus (..)--    -- * RequestCharged-    , RequestCharged (..)--    -- * RequestPayer-    , RequestPayer (..)--    -- * RestoreRequestType-    , RestoreRequestType (..)--    -- * ServerSideEncryption-    , ServerSideEncryption (..)--    -- * SseKMSEncryptedObjectsStatus-    , SseKMSEncryptedObjectsStatus (..)--    -- * StorageClass-    , StorageClass (..)--    -- * StorageClassAnalysisSchemaVersion-    , StorageClassAnalysisSchemaVersion (..)--    -- * TaggingDirective-    , TaggingDirective (..)--    -- * Tier-    , Tier (..)--    -- * TransitionStorageClass-    , TransitionStorageClass (..)--    -- * Type-    , Type (..)--    -- * AbortIncompleteMultipartUpload-    , AbortIncompleteMultipartUpload-    , abortIncompleteMultipartUpload-    , aimuDaysAfterInitiation--    -- * AccelerateConfiguration-    , AccelerateConfiguration-    , accelerateConfiguration-    , acStatus--    -- * AccessControlPolicy-    , AccessControlPolicy-    , accessControlPolicy-    , acpGrants-    , acpOwner--    -- * AccessControlTranslation-    , AccessControlTranslation-    , accessControlTranslation-    , actOwner--    -- * AnalyticsAndOperator-    , AnalyticsAndOperator-    , analyticsAndOperator-    , aaoPrefix-    , aaoTags--    -- * AnalyticsConfiguration-    , AnalyticsConfiguration-    , analyticsConfiguration-    , acFilter-    , acId-    , acStorageClassAnalysis--    -- * AnalyticsExportDestination-    , AnalyticsExportDestination-    , analyticsExportDestination-    , aedS3BucketDestination--    -- * AnalyticsFilter-    , AnalyticsFilter-    , analyticsFilter-    , afTag-    , afPrefix-    , afAnd--    -- * AnalyticsS3BucketDestination-    , AnalyticsS3BucketDestination-    , analyticsS3BucketDestination-    , asbdBucketAccountId-    , asbdPrefix-    , asbdFormat-    , asbdBucket--    -- * Bucket-    , Bucket-    , bucket-    , bCreationDate-    , bName--    -- * BucketLifecycleConfiguration-    , BucketLifecycleConfiguration-    , bucketLifecycleConfiguration-    , blcRules--    -- * BucketLoggingStatus-    , BucketLoggingStatus-    , bucketLoggingStatus-    , blsLoggingEnabled--    -- * CORSConfiguration-    , CORSConfiguration-    , corsConfiguration-    , ccCORSRules--    -- * CORSRule-    , CORSRule-    , corsRule-    , crMaxAgeSeconds-    , crAllowedHeaders-    , crExposeHeaders-    , crAllowedMethods-    , crAllowedOrigins--    -- * CSVInput-    , CSVInput-    , csvInput-    , ciQuoteCharacter-    , ciRecordDelimiter-    , ciFileHeaderInfo-    , ciQuoteEscapeCharacter-    , ciComments-    , ciFieldDelimiter--    -- * CSVOutput-    , CSVOutput-    , csvOutput-    , coQuoteCharacter-    , coQuoteFields-    , coRecordDelimiter-    , coQuoteEscapeCharacter-    , coFieldDelimiter--    -- * CommonPrefix-    , CommonPrefix-    , commonPrefix-    , cpPrefix--    -- * CompletedMultipartUpload-    , CompletedMultipartUpload-    , completedMultipartUpload-    , cmuParts--    -- * CompletedPart-    , CompletedPart-    , completedPart-    , cpPartNumber-    , cpETag--    -- * Condition-    , Condition-    , condition-    , cKeyPrefixEquals-    , cHTTPErrorCodeReturnedEquals--    -- * ContinuationEvent-    , ContinuationEvent-    , continuationEvent--    -- * CopyObjectResult-    , CopyObjectResult-    , copyObjectResult-    , corETag-    , corLastModified--    -- * CopyPartResult-    , CopyPartResult-    , copyPartResult-    , cprETag-    , cprLastModified--    -- * CreateBucketConfiguration-    , CreateBucketConfiguration-    , createBucketConfiguration-    , cbcLocationConstraint--    -- * Delete-    , Delete-    , delete'-    , dQuiet-    , dObjects--    -- * DeleteMarkerEntry-    , DeleteMarkerEntry-    , deleteMarkerEntry-    , dmeVersionId-    , dmeIsLatest-    , dmeOwner-    , dmeKey-    , dmeLastModified--    -- * DeletedObject-    , DeletedObject-    , deletedObject-    , dVersionId-    , dDeleteMarker-    , dDeleteMarkerVersionId-    , dKey--    -- * Destination-    , Destination-    , destination-    , dAccessControlTranslation-    , dAccount-    , dStorageClass-    , dEncryptionConfiguration-    , dBucket--    -- * Encryption-    , Encryption-    , encryption-    , eKMSKeyId-    , eKMSContext-    , eEncryptionType--    -- * EncryptionConfiguration-    , EncryptionConfiguration-    , encryptionConfiguration-    , ecReplicaKMSKeyId--    -- * EndEvent-    , EndEvent-    , endEvent--    -- * ErrorDocument-    , ErrorDocument-    , errorDocument-    , edKey--    -- * FilterRule-    , FilterRule-    , filterRule-    , frValue-    , frName--    -- * GlacierJobParameters-    , GlacierJobParameters-    , glacierJobParameters-    , gjpTier--    -- * Grant-    , Grant-    , grant-    , gPermission-    , gGrantee--    -- * Grantee-    , Grantee-    , grantee-    , gURI-    , gEmailAddress-    , gDisplayName-    , gId-    , gType--    -- * IndexDocument-    , IndexDocument-    , indexDocument-    , idSuffix--    -- * Initiator-    , Initiator-    , initiator-    , iDisplayName-    , iId--    -- * InputSerialization-    , InputSerialization-    , inputSerialization-    , isJSON-    , isCSV-    , isCompressionType--    -- * InventoryConfiguration-    , InventoryConfiguration-    , inventoryConfiguration-    , icOptionalFields-    , icFilter-    , icDestination-    , icIsEnabled-    , icId-    , icIncludedObjectVersions-    , icSchedule--    -- * InventoryDestination-    , InventoryDestination-    , inventoryDestination-    , idS3BucketDestination--    -- * InventoryEncryption-    , InventoryEncryption-    , inventoryEncryption-    , ieSSES3-    , ieSSEKMS--    -- * InventoryFilter-    , InventoryFilter-    , inventoryFilter-    , ifPrefix--    -- * InventoryS3BucketDestination-    , InventoryS3BucketDestination-    , inventoryS3BucketDestination-    , isbdPrefix-    , isbdAccountId-    , isbdEncryption-    , isbdBucket-    , isbdFormat--    -- * InventorySchedule-    , InventorySchedule-    , inventorySchedule-    , isFrequency--    -- * JSONInput-    , JSONInput-    , jsonInput-    , jiType--    -- * JSONOutput-    , JSONOutput-    , jsonOutput-    , joRecordDelimiter--    -- * LambdaFunctionConfiguration-    , LambdaFunctionConfiguration-    , lambdaFunctionConfiguration-    , lfcId-    , lfcFilter-    , lfcLambdaFunctionARN-    , lfcEvents--    -- * LifecycleExpiration-    , LifecycleExpiration-    , lifecycleExpiration-    , leDays-    , leDate-    , leExpiredObjectDeleteMarker--    -- * LifecycleRule-    , LifecycleRule-    , lifecycleRule-    , lrTransitions-    , lrNoncurrentVersionExpiration-    , lrPrefix-    , lrNoncurrentVersionTransitions-    , lrExpiration-    , lrId-    , lrFilter-    , lrAbortIncompleteMultipartUpload-    , lrStatus--    -- * LifecycleRuleAndOperator-    , LifecycleRuleAndOperator-    , lifecycleRuleAndOperator-    , lraoPrefix-    , lraoTags--    -- * LifecycleRuleFilter-    , LifecycleRuleFilter-    , lifecycleRuleFilter-    , lrfTag-    , lrfPrefix-    , lrfAnd--    -- * LoggingEnabled-    , LoggingEnabled-    , loggingEnabled-    , leTargetGrants-    , leTargetBucket-    , leTargetPrefix--    -- * MetadataEntry-    , MetadataEntry-    , metadataEntry-    , meValue-    , meName--    -- * MetricsAndOperator-    , MetricsAndOperator-    , metricsAndOperator-    , maoPrefix-    , maoTags--    -- * MetricsConfiguration-    , MetricsConfiguration-    , metricsConfiguration-    , mcFilter-    , mcId--    -- * MetricsFilter-    , MetricsFilter-    , metricsFilter-    , mfTag-    , mfPrefix-    , mfAnd--    -- * MultipartUpload-    , MultipartUpload-    , multipartUpload-    , muInitiated-    , muInitiator-    , muOwner-    , muKey-    , muStorageClass-    , muUploadId--    -- * NoncurrentVersionExpiration-    , NoncurrentVersionExpiration-    , noncurrentVersionExpiration-    , nveNoncurrentDays--    -- * NoncurrentVersionTransition-    , NoncurrentVersionTransition-    , noncurrentVersionTransition-    , nvtNoncurrentDays-    , nvtStorageClass--    -- * NotificationConfiguration-    , NotificationConfiguration-    , notificationConfiguration-    , ncQueueConfigurations-    , ncTopicConfigurations-    , ncLambdaFunctionConfigurations--    -- * NotificationConfigurationFilter-    , NotificationConfigurationFilter-    , notificationConfigurationFilter-    , ncfKey--    -- * Object-    , Object-    , object'-    , oOwner-    , oETag-    , oSize-    , oKey-    , oStorageClass-    , oLastModified--    -- * ObjectIdentifier-    , ObjectIdentifier-    , objectIdentifier-    , oiVersionId-    , oiKey--    -- * ObjectVersion-    , ObjectVersion-    , objectVersion-    , ovETag-    , ovVersionId-    , ovSize-    , ovIsLatest-    , ovOwner-    , ovKey-    , ovStorageClass-    , ovLastModified--    -- * OutputLocation-    , OutputLocation-    , outputLocation-    , olS3--    -- * OutputSerialization-    , OutputSerialization-    , outputSerialization-    , osJSON-    , osCSV--    -- * Owner-    , Owner-    , owner-    , oDisplayName-    , oId--    -- * Part-    , Part-    , part-    , pETag-    , pSize-    , pPartNumber-    , pLastModified--    -- * Progress-    , Progress-    , progress-    , pBytesReturned-    , pBytesScanned-    , pBytesProcessed--    -- * ProgressEvent-    , ProgressEvent-    , progressEvent-    , peDetails--    -- * QueueConfiguration-    , QueueConfiguration-    , queueConfiguration-    , qcId-    , qcFilter-    , qcQueueARN-    , qcEvents--    -- * RecordsEvent-    , RecordsEvent-    , recordsEvent-    , rePayload--    -- * Redirect-    , Redirect-    , redirect-    , rHostName-    , rProtocol-    , rHTTPRedirectCode-    , rReplaceKeyWith-    , rReplaceKeyPrefixWith--    -- * RedirectAllRequestsTo-    , RedirectAllRequestsTo-    , redirectAllRequestsTo-    , rartProtocol-    , rartHostName--    -- * ReplicationConfiguration-    , ReplicationConfiguration-    , replicationConfiguration-    , rcRole-    , rcRules--    -- * ReplicationRule-    , ReplicationRule-    , replicationRule-    , rrId-    , rrSourceSelectionCriteria-    , rrPrefix-    , rrStatus-    , rrDestination--    -- * RequestPaymentConfiguration-    , RequestPaymentConfiguration-    , requestPaymentConfiguration-    , rpcPayer--    -- * RequestProgress-    , RequestProgress-    , requestProgress-    , rpEnabled--    -- * RestoreRequest-    , RestoreRequest-    , restoreRequest-    , rrDays-    , rrSelectParameters-    , rrOutputLocation-    , rrTier-    , rrGlacierJobParameters-    , rrType-    , rrDescription--    -- * RoutingRule-    , RoutingRule-    , routingRule-    , rrCondition-    , rrRedirect--    -- * S3KeyFilter-    , S3KeyFilter-    , s3KeyFilter-    , skfFilterRules--    -- * S3Location-    , S3Location-    , s3Location-    , slCannedACL-    , slAccessControlList-    , slUserMetadata-    , slEncryption-    , slStorageClass-    , slTagging-    , slBucketName-    , slPrefix--    -- * S3ServiceError-    , S3ServiceError-    , s3ServiceError-    , sseVersionId-    , sseKey-    , sseCode-    , sseMessage--    -- * SSEKMS-    , SSEKMS-    , sSEKMS-    , ssekKeyId--    -- * SSES3-    , SSES3-    , sSES3--    -- * SelectObjectContentEventStream-    , SelectObjectContentEventStream-    , selectObjectContentEventStream-    , socesProgress-    , socesRecords-    , socesCont-    , socesStats-    , socesEnd--    -- * SelectParameters-    , SelectParameters-    , selectParameters-    , spInputSerialization-    , spExpressionType-    , spExpression-    , spOutputSerialization--    -- * ServerSideEncryptionByDefault-    , ServerSideEncryptionByDefault-    , serverSideEncryptionByDefault-    , ssebdKMSMasterKeyId-    , ssebdSSEAlgorithm--    -- * ServerSideEncryptionConfiguration-    , ServerSideEncryptionConfiguration-    , serverSideEncryptionConfiguration-    , ssecRules--    -- * ServerSideEncryptionRule-    , ServerSideEncryptionRule-    , serverSideEncryptionRule-    , sserApplyServerSideEncryptionByDefault--    -- * SourceSelectionCriteria-    , SourceSelectionCriteria-    , sourceSelectionCriteria-    , sscSseKMSEncryptedObjects--    -- * SseKMSEncryptedObjects-    , SseKMSEncryptedObjects-    , sseKMSEncryptedObjects-    , skeoStatus--    -- * Stats-    , Stats-    , stats-    , sBytesReturned-    , sBytesScanned-    , sBytesProcessed--    -- * StatsEvent-    , StatsEvent-    , statsEvent-    , seDetails--    -- * StorageClassAnalysis-    , StorageClassAnalysis-    , storageClassAnalysis-    , scaDataExport--    -- * StorageClassAnalysisDataExport-    , StorageClassAnalysisDataExport-    , storageClassAnalysisDataExport-    , scadeOutputSchemaVersion-    , scadeDestination--    -- * Tag-    , Tag-    , tag-    , tagKey-    , tagValue--    -- * Tagging-    , Tagging-    , tagging-    , tTagSet--    -- * TargetGrant-    , TargetGrant-    , targetGrant-    , tgPermission-    , tgGrantee--    -- * TopicConfiguration-    , TopicConfiguration-    , topicConfiguration-    , tcId-    , tcFilter-    , tcTopicARN-    , tcEvents--    -- * Transition-    , Transition-    , transition-    , tDays-    , tDate-    , tStorageClass--    -- * VersioningConfiguration-    , VersioningConfiguration-    , versioningConfiguration-    , vcStatus-    , vcMFADelete--    -- * WebsiteConfiguration-    , WebsiteConfiguration-    , websiteConfiguration-    , wcRedirectAllRequestsTo-    , wcErrorDocument-    , wcIndexDocument-    , wcRoutingRules-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.S3.Internal-import Network.AWS.S3.Types.Product-import Network.AWS.S3.Types.Sum-import Network.AWS.Sign.V4---- | API version @2006-03-01@ of the Amazon Simple Storage Service SDK configuration.-s3 :: Service-s3 =-  Service-    { _svcAbbrev = "S3"-    , _svcSigner = v4-    , _svcPrefix = "s3"-    , _svcVersion = "2006-03-01"-    , _svcEndpoint = defaultEndpoint s3-    , _svcTimeout = Just 70-    , _svcCheck = statusSuccess-    , _svcError = parseXMLError "S3"-    , _svcRetry = retry-    }-  where-    retry =-      Exponential-        { _retryBase = 5.0e-2-        , _retryGrowth = 2-        , _retryAttempts = 5-        , _retryCheck = check-        }-    check e-      | has (hasCode "ThrottledException" . hasStatus 400) e =-        Just "throttled_exception"-      | has (hasStatus 429) e = Just "too_many_requests"-      | has (hasCode "ThrottlingException" . hasStatus 400) e =-        Just "throttling_exception"-      | has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"-      | has (hasStatus 504) e = Just "gateway_timeout"-      | has (hasCode "RequestThrottledException" . hasStatus 400) e =-        Just "request_throttled_exception"-      | has (hasCode "BadDigest" . hasStatus 400) e = Just "contentmd5"-      | has (hasStatus 502) e = Just "bad_gateway"-      | has (hasStatus 503) e = Just "service_unavailable"-      | has (hasCode "RequestTimeout" . hasStatus 400) e = Just "timeouts"-      | has (hasStatus 500) e = Just "general_server_error"-      | has (hasStatus 509) e = Just "limit_exceeded"-      | otherwise = Nothing----- | Prism for BucketAlreadyOwnedByYou' errors.-_BucketAlreadyOwnedByYou :: AsError a => Getting (First ServiceError) a ServiceError-_BucketAlreadyOwnedByYou = _MatchServiceError s3 "BucketAlreadyOwnedByYou"----- | This operation is not allowed against this storage tier-_ObjectAlreadyInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError-_ObjectAlreadyInActiveTierError =-  _MatchServiceError s3 "ObjectAlreadyInActiveTierError"----- | The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.-_BucketAlreadyExists :: AsError a => Getting (First ServiceError) a ServiceError-_BucketAlreadyExists = _MatchServiceError s3 "BucketAlreadyExists"----- | The source object of the COPY operation is not in the active tier and is only stored in Amazon Glacier.-_ObjectNotInActiveTierError :: AsError a => Getting (First ServiceError) a ServiceError-_ObjectNotInActiveTierError = _MatchServiceError s3 "ObjectNotInActiveTierError"----- | The specified multipart upload does not exist.-_NoSuchUpload :: AsError a => Getting (First ServiceError) a ServiceError-_NoSuchUpload = _MatchServiceError s3 "NoSuchUpload"----- | The specified bucket does not exist.-_NoSuchBucket :: AsError a => Getting (First ServiceError) a ServiceError-_NoSuchBucket = _MatchServiceError s3 "NoSuchBucket"----- | The specified key does not exist.-_NoSuchKey :: AsError a => Getting (First ServiceError) a ServiceError-_NoSuchKey = _MatchServiceError s3 "NoSuchKey"-
− gen/Network/AWS/S3/Types/Product.hs
@@ -1,4991 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.Types.Product--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.S3.Types.Product where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.S3.Internal-import Network.AWS.S3.Types.Sum---- | Specifies the days since the initiation of an Incomplete Multipart Upload that Lifecycle will wait before permanently removing all parts of the upload.------ /See:/ 'abortIncompleteMultipartUpload' smart constructor.-newtype AbortIncompleteMultipartUpload = AbortIncompleteMultipartUpload'-  { _aimuDaysAfterInitiation :: Maybe Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AbortIncompleteMultipartUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aimuDaysAfterInitiation' - Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.-abortIncompleteMultipartUpload-    :: AbortIncompleteMultipartUpload-abortIncompleteMultipartUpload =-  AbortIncompleteMultipartUpload' {_aimuDaysAfterInitiation = Nothing}----- | Indicates the number of days that must pass since initiation for Lifecycle to abort an Incomplete Multipart Upload.-aimuDaysAfterInitiation :: Lens' AbortIncompleteMultipartUpload (Maybe Int)-aimuDaysAfterInitiation = lens _aimuDaysAfterInitiation (\ s a -> s{_aimuDaysAfterInitiation = a})--instance FromXML AbortIncompleteMultipartUpload where-        parseXML x-          = AbortIncompleteMultipartUpload' <$>-              (x .@? "DaysAfterInitiation")--instance Hashable AbortIncompleteMultipartUpload-         where--instance NFData AbortIncompleteMultipartUpload where--instance ToXML AbortIncompleteMultipartUpload where-        toXML AbortIncompleteMultipartUpload'{..}-          = mconcat-              ["DaysAfterInitiation" @= _aimuDaysAfterInitiation]---- | /See:/ 'accelerateConfiguration' smart constructor.-newtype AccelerateConfiguration = AccelerateConfiguration'-  { _acStatus :: Maybe BucketAccelerateStatus-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AccelerateConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acStatus' - The accelerate configuration of the bucket.-accelerateConfiguration-    :: AccelerateConfiguration-accelerateConfiguration = AccelerateConfiguration' {_acStatus = Nothing}----- | The accelerate configuration of the bucket.-acStatus :: Lens' AccelerateConfiguration (Maybe BucketAccelerateStatus)-acStatus = lens _acStatus (\ s a -> s{_acStatus = a})--instance Hashable AccelerateConfiguration where--instance NFData AccelerateConfiguration where--instance ToXML AccelerateConfiguration where-        toXML AccelerateConfiguration'{..}-          = mconcat ["Status" @= _acStatus]---- | /See:/ 'accessControlPolicy' smart constructor.-data AccessControlPolicy = AccessControlPolicy'-  { _acpGrants :: !(Maybe [Grant])-  , _acpOwner  :: !(Maybe Owner)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AccessControlPolicy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acpGrants' - A list of grants.------ * 'acpOwner' - Undocumented member.-accessControlPolicy-    :: AccessControlPolicy-accessControlPolicy =-  AccessControlPolicy' {_acpGrants = Nothing, _acpOwner = Nothing}----- | A list of grants.-acpGrants :: Lens' AccessControlPolicy [Grant]-acpGrants = lens _acpGrants (\ s a -> s{_acpGrants = a}) . _Default . _Coerce---- | Undocumented member.-acpOwner :: Lens' AccessControlPolicy (Maybe Owner)-acpOwner = lens _acpOwner (\ s a -> s{_acpOwner = a})--instance Hashable AccessControlPolicy where--instance NFData AccessControlPolicy where--instance ToXML AccessControlPolicy where-        toXML AccessControlPolicy'{..}-          = mconcat-              ["AccessControlList" @=-                 toXML (toXMLList "Grant" <$> _acpGrants),-               "Owner" @= _acpOwner]---- | Container for information regarding the access control for replicas.------ /See:/ 'accessControlTranslation' smart constructor.-newtype AccessControlTranslation = AccessControlTranslation'-  { _actOwner :: OwnerOverride-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AccessControlTranslation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'actOwner' - The override value for the owner of the replica object.-accessControlTranslation-    :: OwnerOverride -- ^ 'actOwner'-    -> AccessControlTranslation-accessControlTranslation pOwner_ =-  AccessControlTranslation' {_actOwner = pOwner_}----- | The override value for the owner of the replica object.-actOwner :: Lens' AccessControlTranslation OwnerOverride-actOwner = lens _actOwner (\ s a -> s{_actOwner = a})--instance FromXML AccessControlTranslation where-        parseXML x-          = AccessControlTranslation' <$> (x .@ "Owner")--instance Hashable AccessControlTranslation where--instance NFData AccessControlTranslation where--instance ToXML AccessControlTranslation where-        toXML AccessControlTranslation'{..}-          = mconcat ["Owner" @= _actOwner]---- | /See:/ 'analyticsAndOperator' smart constructor.-data AnalyticsAndOperator = AnalyticsAndOperator'-  { _aaoPrefix :: !(Maybe Text)-  , _aaoTags   :: !(Maybe [Tag])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AnalyticsAndOperator' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aaoPrefix' - The prefix to use when evaluating an AND predicate.------ * 'aaoTags' - The list of tags to use when evaluating an AND predicate.-analyticsAndOperator-    :: AnalyticsAndOperator-analyticsAndOperator =-  AnalyticsAndOperator' {_aaoPrefix = Nothing, _aaoTags = Nothing}----- | The prefix to use when evaluating an AND predicate.-aaoPrefix :: Lens' AnalyticsAndOperator (Maybe Text)-aaoPrefix = lens _aaoPrefix (\ s a -> s{_aaoPrefix = a})---- | The list of tags to use when evaluating an AND predicate.-aaoTags :: Lens' AnalyticsAndOperator [Tag]-aaoTags = lens _aaoTags (\ s a -> s{_aaoTags = a}) . _Default . _Coerce--instance FromXML AnalyticsAndOperator where-        parseXML x-          = AnalyticsAndOperator' <$>-              (x .@? "Prefix") <*>-                (x .@? "Tag" .!@ mempty >>= may (parseXMLList "Tag"))--instance Hashable AnalyticsAndOperator where--instance NFData AnalyticsAndOperator where--instance ToXML AnalyticsAndOperator where-        toXML AnalyticsAndOperator'{..}-          = mconcat-              ["Prefix" @= _aaoPrefix,-               "Tag" @= toXML (toXMLList "Tag" <$> _aaoTags)]---- | /See:/ 'analyticsConfiguration' smart constructor.-data AnalyticsConfiguration = AnalyticsConfiguration'-  { _acFilter               :: !(Maybe AnalyticsFilter)-  , _acId                   :: !Text-  , _acStorageClassAnalysis :: !StorageClassAnalysis-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AnalyticsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'acFilter' - The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.------ * 'acId' - The identifier used to represent an analytics configuration.------ * 'acStorageClassAnalysis' - If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.-analyticsConfiguration-    :: Text -- ^ 'acId'-    -> StorageClassAnalysis -- ^ 'acStorageClassAnalysis'-    -> AnalyticsConfiguration-analyticsConfiguration pId_ pStorageClassAnalysis_ =-  AnalyticsConfiguration'-    { _acFilter = Nothing-    , _acId = pId_-    , _acStorageClassAnalysis = pStorageClassAnalysis_-    }----- | The filter used to describe a set of objects for analyses. A filter must have exactly one prefix, one tag, or one conjunction (AnalyticsAndOperator). If no filter is provided, all objects will be considered in any analysis.-acFilter :: Lens' AnalyticsConfiguration (Maybe AnalyticsFilter)-acFilter = lens _acFilter (\ s a -> s{_acFilter = a})---- | The identifier used to represent an analytics configuration.-acId :: Lens' AnalyticsConfiguration Text-acId = lens _acId (\ s a -> s{_acId = a})---- | If present, it indicates that data related to access patterns will be collected and made available to analyze the tradeoffs between different storage classes.-acStorageClassAnalysis :: Lens' AnalyticsConfiguration StorageClassAnalysis-acStorageClassAnalysis = lens _acStorageClassAnalysis (\ s a -> s{_acStorageClassAnalysis = a})--instance FromXML AnalyticsConfiguration where-        parseXML x-          = AnalyticsConfiguration' <$>-              (x .@? "Filter") <*> (x .@ "Id") <*>-                (x .@ "StorageClassAnalysis")--instance Hashable AnalyticsConfiguration where--instance NFData AnalyticsConfiguration where--instance ToXML AnalyticsConfiguration where-        toXML AnalyticsConfiguration'{..}-          = mconcat-              ["Filter" @= _acFilter, "Id" @= _acId,-               "StorageClassAnalysis" @= _acStorageClassAnalysis]---- | /See:/ 'analyticsExportDestination' smart constructor.-newtype AnalyticsExportDestination = AnalyticsExportDestination'-  { _aedS3BucketDestination :: AnalyticsS3BucketDestination-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AnalyticsExportDestination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'aedS3BucketDestination' - A destination signifying output to an S3 bucket.-analyticsExportDestination-    :: AnalyticsS3BucketDestination -- ^ 'aedS3BucketDestination'-    -> AnalyticsExportDestination-analyticsExportDestination pS3BucketDestination_ =-  AnalyticsExportDestination' {_aedS3BucketDestination = pS3BucketDestination_}----- | A destination signifying output to an S3 bucket.-aedS3BucketDestination :: Lens' AnalyticsExportDestination AnalyticsS3BucketDestination-aedS3BucketDestination = lens _aedS3BucketDestination (\ s a -> s{_aedS3BucketDestination = a})--instance FromXML AnalyticsExportDestination where-        parseXML x-          = AnalyticsExportDestination' <$>-              (x .@ "S3BucketDestination")--instance Hashable AnalyticsExportDestination where--instance NFData AnalyticsExportDestination where--instance ToXML AnalyticsExportDestination where-        toXML AnalyticsExportDestination'{..}-          = mconcat-              ["S3BucketDestination" @= _aedS3BucketDestination]---- | /See:/ 'analyticsFilter' smart constructor.-data AnalyticsFilter = AnalyticsFilter'-  { _afTag    :: !(Maybe Tag)-  , _afPrefix :: !(Maybe Text)-  , _afAnd    :: !(Maybe AnalyticsAndOperator)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AnalyticsFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'afTag' - The tag to use when evaluating an analytics filter.------ * 'afPrefix' - The prefix to use when evaluating an analytics filter.------ * 'afAnd' - A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.-analyticsFilter-    :: AnalyticsFilter-analyticsFilter =-  AnalyticsFilter' {_afTag = Nothing, _afPrefix = Nothing, _afAnd = Nothing}----- | The tag to use when evaluating an analytics filter.-afTag :: Lens' AnalyticsFilter (Maybe Tag)-afTag = lens _afTag (\ s a -> s{_afTag = a})---- | The prefix to use when evaluating an analytics filter.-afPrefix :: Lens' AnalyticsFilter (Maybe Text)-afPrefix = lens _afPrefix (\ s a -> s{_afPrefix = a})---- | A conjunction (logical AND) of predicates, which is used in evaluating an analytics filter. The operator must have at least two predicates.-afAnd :: Lens' AnalyticsFilter (Maybe AnalyticsAndOperator)-afAnd = lens _afAnd (\ s a -> s{_afAnd = a})--instance FromXML AnalyticsFilter where-        parseXML x-          = AnalyticsFilter' <$>-              (x .@? "Tag") <*> (x .@? "Prefix") <*> (x .@? "And")--instance Hashable AnalyticsFilter where--instance NFData AnalyticsFilter where--instance ToXML AnalyticsFilter where-        toXML AnalyticsFilter'{..}-          = mconcat-              ["Tag" @= _afTag, "Prefix" @= _afPrefix,-               "And" @= _afAnd]---- | /See:/ 'analyticsS3BucketDestination' smart constructor.-data AnalyticsS3BucketDestination = AnalyticsS3BucketDestination'-  { _asbdBucketAccountId :: !(Maybe Text)-  , _asbdPrefix          :: !(Maybe Text)-  , _asbdFormat          :: !AnalyticsS3ExportFileFormat-  , _asbdBucket          :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'AnalyticsS3BucketDestination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'asbdBucketAccountId' - The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.------ * 'asbdPrefix' - The prefix to use when exporting data. The exported data begins with this prefix.------ * 'asbdFormat' - The file format used when exporting data to Amazon S3.------ * 'asbdBucket' - The Amazon resource name (ARN) of the bucket to which data is exported.-analyticsS3BucketDestination-    :: AnalyticsS3ExportFileFormat -- ^ 'asbdFormat'-    -> BucketName -- ^ 'asbdBucket'-    -> AnalyticsS3BucketDestination-analyticsS3BucketDestination pFormat_ pBucket_ =-  AnalyticsS3BucketDestination'-    { _asbdBucketAccountId = Nothing-    , _asbdPrefix = Nothing-    , _asbdFormat = pFormat_-    , _asbdBucket = pBucket_-    }----- | The account ID that owns the destination bucket. If no account ID is provided, the owner will not be validated prior to exporting data.-asbdBucketAccountId :: Lens' AnalyticsS3BucketDestination (Maybe Text)-asbdBucketAccountId = lens _asbdBucketAccountId (\ s a -> s{_asbdBucketAccountId = a})---- | The prefix to use when exporting data. The exported data begins with this prefix.-asbdPrefix :: Lens' AnalyticsS3BucketDestination (Maybe Text)-asbdPrefix = lens _asbdPrefix (\ s a -> s{_asbdPrefix = a})---- | The file format used when exporting data to Amazon S3.-asbdFormat :: Lens' AnalyticsS3BucketDestination AnalyticsS3ExportFileFormat-asbdFormat = lens _asbdFormat (\ s a -> s{_asbdFormat = a})---- | The Amazon resource name (ARN) of the bucket to which data is exported.-asbdBucket :: Lens' AnalyticsS3BucketDestination BucketName-asbdBucket = lens _asbdBucket (\ s a -> s{_asbdBucket = a})--instance FromXML AnalyticsS3BucketDestination where-        parseXML x-          = AnalyticsS3BucketDestination' <$>-              (x .@? "BucketAccountId") <*> (x .@? "Prefix") <*>-                (x .@ "Format")-                <*> (x .@ "Bucket")--instance Hashable AnalyticsS3BucketDestination where--instance NFData AnalyticsS3BucketDestination where--instance ToXML AnalyticsS3BucketDestination where-        toXML AnalyticsS3BucketDestination'{..}-          = mconcat-              ["BucketAccountId" @= _asbdBucketAccountId,-               "Prefix" @= _asbdPrefix, "Format" @= _asbdFormat,-               "Bucket" @= _asbdBucket]---- | /See:/ 'bucket' smart constructor.-data Bucket = Bucket'-  { _bCreationDate :: !RFC822-  , _bName         :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Bucket' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'bCreationDate' - Date the bucket was created.------ * 'bName' - The name of the bucket.-bucket-    :: UTCTime -- ^ 'bCreationDate'-    -> BucketName -- ^ 'bName'-    -> Bucket-bucket pCreationDate_ pName_ =-  Bucket' {_bCreationDate = _Time # pCreationDate_, _bName = pName_}----- | Date the bucket was created.-bCreationDate :: Lens' Bucket UTCTime-bCreationDate = lens _bCreationDate (\ s a -> s{_bCreationDate = a}) . _Time---- | The name of the bucket.-bName :: Lens' Bucket BucketName-bName = lens _bName (\ s a -> s{_bName = a})--instance FromXML Bucket where-        parseXML x-          = Bucket' <$> (x .@ "CreationDate") <*> (x .@ "Name")--instance Hashable Bucket where--instance NFData Bucket where---- | /See:/ 'bucketLifecycleConfiguration' smart constructor.-newtype BucketLifecycleConfiguration = BucketLifecycleConfiguration'-  { _blcRules :: [LifecycleRule]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BucketLifecycleConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blcRules' - Undocumented member.-bucketLifecycleConfiguration-    :: BucketLifecycleConfiguration-bucketLifecycleConfiguration =-  BucketLifecycleConfiguration' {_blcRules = mempty}----- | Undocumented member.-blcRules :: Lens' BucketLifecycleConfiguration [LifecycleRule]-blcRules = lens _blcRules (\ s a -> s{_blcRules = a}) . _Coerce--instance Hashable BucketLifecycleConfiguration where--instance NFData BucketLifecycleConfiguration where--instance ToXML BucketLifecycleConfiguration where-        toXML BucketLifecycleConfiguration'{..}-          = mconcat [toXMLList "Rule" _blcRules]---- | /See:/ 'bucketLoggingStatus' smart constructor.-newtype BucketLoggingStatus = BucketLoggingStatus'-  { _blsLoggingEnabled :: Maybe LoggingEnabled-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'BucketLoggingStatus' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'blsLoggingEnabled' - Undocumented member.-bucketLoggingStatus-    :: BucketLoggingStatus-bucketLoggingStatus = BucketLoggingStatus' {_blsLoggingEnabled = Nothing}----- | Undocumented member.-blsLoggingEnabled :: Lens' BucketLoggingStatus (Maybe LoggingEnabled)-blsLoggingEnabled = lens _blsLoggingEnabled (\ s a -> s{_blsLoggingEnabled = a})--instance Hashable BucketLoggingStatus where--instance NFData BucketLoggingStatus where--instance ToXML BucketLoggingStatus where-        toXML BucketLoggingStatus'{..}-          = mconcat ["LoggingEnabled" @= _blsLoggingEnabled]---- | /See:/ 'corsConfiguration' smart constructor.-newtype CORSConfiguration = CORSConfiguration'-  { _ccCORSRules :: [CORSRule]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CORSConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ccCORSRules' - Undocumented member.-corsConfiguration-    :: CORSConfiguration-corsConfiguration = CORSConfiguration' {_ccCORSRules = mempty}----- | Undocumented member.-ccCORSRules :: Lens' CORSConfiguration [CORSRule]-ccCORSRules = lens _ccCORSRules (\ s a -> s{_ccCORSRules = a}) . _Coerce--instance Hashable CORSConfiguration where--instance NFData CORSConfiguration where--instance ToXML CORSConfiguration where-        toXML CORSConfiguration'{..}-          = mconcat [toXMLList "CORSRule" _ccCORSRules]---- | /See:/ 'corsRule' smart constructor.-data CORSRule = CORSRule'-  { _crMaxAgeSeconds  :: !(Maybe Int)-  , _crAllowedHeaders :: !(Maybe [Text])-  , _crExposeHeaders  :: !(Maybe [Text])-  , _crAllowedMethods :: ![Text]-  , _crAllowedOrigins :: ![Text]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CORSRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'crMaxAgeSeconds' - The time in seconds that your browser is to cache the preflight response for the specified resource.------ * 'crAllowedHeaders' - Specifies which headers are allowed in a pre-flight OPTIONS request.------ * 'crExposeHeaders' - One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).------ * 'crAllowedMethods' - Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.------ * 'crAllowedOrigins' - One or more origins you want customers to be able to access the bucket from.-corsRule-    :: CORSRule-corsRule =-  CORSRule'-    { _crMaxAgeSeconds = Nothing-    , _crAllowedHeaders = Nothing-    , _crExposeHeaders = Nothing-    , _crAllowedMethods = mempty-    , _crAllowedOrigins = mempty-    }----- | The time in seconds that your browser is to cache the preflight response for the specified resource.-crMaxAgeSeconds :: Lens' CORSRule (Maybe Int)-crMaxAgeSeconds = lens _crMaxAgeSeconds (\ s a -> s{_crMaxAgeSeconds = a})---- | Specifies which headers are allowed in a pre-flight OPTIONS request.-crAllowedHeaders :: Lens' CORSRule [Text]-crAllowedHeaders = lens _crAllowedHeaders (\ s a -> s{_crAllowedHeaders = a}) . _Default . _Coerce---- | One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).-crExposeHeaders :: Lens' CORSRule [Text]-crExposeHeaders = lens _crExposeHeaders (\ s a -> s{_crExposeHeaders = a}) . _Default . _Coerce---- | Identifies HTTP methods that the domain/origin specified in the rule is allowed to execute.-crAllowedMethods :: Lens' CORSRule [Text]-crAllowedMethods = lens _crAllowedMethods (\ s a -> s{_crAllowedMethods = a}) . _Coerce---- | One or more origins you want customers to be able to access the bucket from.-crAllowedOrigins :: Lens' CORSRule [Text]-crAllowedOrigins = lens _crAllowedOrigins (\ s a -> s{_crAllowedOrigins = a}) . _Coerce--instance FromXML CORSRule where-        parseXML x-          = CORSRule' <$>-              (x .@? "MaxAgeSeconds") <*>-                (may (parseXMLList "AllowedHeader") x)-                <*> (may (parseXMLList "ExposeHeader") x)-                <*> (parseXMLList "AllowedMethod" x)-                <*> (parseXMLList "AllowedOrigin" x)--instance Hashable CORSRule where--instance NFData CORSRule where--instance ToXML CORSRule where-        toXML CORSRule'{..}-          = mconcat-              ["MaxAgeSeconds" @= _crMaxAgeSeconds,-               toXML-                 (toXMLList "AllowedHeader" <$> _crAllowedHeaders),-               toXML-                 (toXMLList "ExposeHeader" <$> _crExposeHeaders),-               toXMLList "AllowedMethod" _crAllowedMethods,-               toXMLList "AllowedOrigin" _crAllowedOrigins]---- | Describes how a CSV-formatted input object is formatted.------ /See:/ 'csvInput' smart constructor.-data CSVInput = CSVInput'-  { _ciQuoteCharacter       :: !(Maybe Text)-  , _ciRecordDelimiter      :: !(Maybe Text)-  , _ciFileHeaderInfo       :: !(Maybe FileHeaderInfo)-  , _ciQuoteEscapeCharacter :: !(Maybe Text)-  , _ciComments             :: !(Maybe Text)-  , _ciFieldDelimiter       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CSVInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ciQuoteCharacter' - Value used for escaping where the field delimiter is part of the value.------ * 'ciRecordDelimiter' - Value used to separate individual records.------ * 'ciFileHeaderInfo' - Describes the first line of input. Valid values: None, Ignore, Use.------ * 'ciQuoteEscapeCharacter' - Single character used for escaping the quote character inside an already escaped value.------ * 'ciComments' - Single character used to indicate a row should be ignored when present at the start of a row.------ * 'ciFieldDelimiter' - Value used to separate individual fields in a record.-csvInput-    :: CSVInput-csvInput =-  CSVInput'-    { _ciQuoteCharacter = Nothing-    , _ciRecordDelimiter = Nothing-    , _ciFileHeaderInfo = Nothing-    , _ciQuoteEscapeCharacter = Nothing-    , _ciComments = Nothing-    , _ciFieldDelimiter = Nothing-    }----- | Value used for escaping where the field delimiter is part of the value.-ciQuoteCharacter :: Lens' CSVInput (Maybe Text)-ciQuoteCharacter = lens _ciQuoteCharacter (\ s a -> s{_ciQuoteCharacter = a})---- | Value used to separate individual records.-ciRecordDelimiter :: Lens' CSVInput (Maybe Text)-ciRecordDelimiter = lens _ciRecordDelimiter (\ s a -> s{_ciRecordDelimiter = a})---- | Describes the first line of input. Valid values: None, Ignore, Use.-ciFileHeaderInfo :: Lens' CSVInput (Maybe FileHeaderInfo)-ciFileHeaderInfo = lens _ciFileHeaderInfo (\ s a -> s{_ciFileHeaderInfo = a})---- | Single character used for escaping the quote character inside an already escaped value.-ciQuoteEscapeCharacter :: Lens' CSVInput (Maybe Text)-ciQuoteEscapeCharacter = lens _ciQuoteEscapeCharacter (\ s a -> s{_ciQuoteEscapeCharacter = a})---- | Single character used to indicate a row should be ignored when present at the start of a row.-ciComments :: Lens' CSVInput (Maybe Text)-ciComments = lens _ciComments (\ s a -> s{_ciComments = a})---- | Value used to separate individual fields in a record.-ciFieldDelimiter :: Lens' CSVInput (Maybe Text)-ciFieldDelimiter = lens _ciFieldDelimiter (\ s a -> s{_ciFieldDelimiter = a})--instance Hashable CSVInput where--instance NFData CSVInput where--instance ToXML CSVInput where-        toXML CSVInput'{..}-          = mconcat-              ["QuoteCharacter" @= _ciQuoteCharacter,-               "RecordDelimiter" @= _ciRecordDelimiter,-               "FileHeaderInfo" @= _ciFileHeaderInfo,-               "QuoteEscapeCharacter" @= _ciQuoteEscapeCharacter,-               "Comments" @= _ciComments,-               "FieldDelimiter" @= _ciFieldDelimiter]---- | Describes how CSV-formatted results are formatted.------ /See:/ 'csvOutput' smart constructor.-data CSVOutput = CSVOutput'-  { _coQuoteCharacter       :: !(Maybe Text)-  , _coQuoteFields          :: !(Maybe QuoteFields)-  , _coRecordDelimiter      :: !(Maybe Text)-  , _coQuoteEscapeCharacter :: !(Maybe Text)-  , _coFieldDelimiter       :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CSVOutput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'coQuoteCharacter' - Value used for escaping where the field delimiter is part of the value.------ * 'coQuoteFields' - Indicates whether or not all output fields should be quoted.------ * 'coRecordDelimiter' - Value used to separate individual records.------ * 'coQuoteEscapeCharacter' - Single character used for escaping the quote character inside an already escaped value.------ * 'coFieldDelimiter' - Value used to separate individual fields in a record.-csvOutput-    :: CSVOutput-csvOutput =-  CSVOutput'-    { _coQuoteCharacter = Nothing-    , _coQuoteFields = Nothing-    , _coRecordDelimiter = Nothing-    , _coQuoteEscapeCharacter = Nothing-    , _coFieldDelimiter = Nothing-    }----- | Value used for escaping where the field delimiter is part of the value.-coQuoteCharacter :: Lens' CSVOutput (Maybe Text)-coQuoteCharacter = lens _coQuoteCharacter (\ s a -> s{_coQuoteCharacter = a})---- | Indicates whether or not all output fields should be quoted.-coQuoteFields :: Lens' CSVOutput (Maybe QuoteFields)-coQuoteFields = lens _coQuoteFields (\ s a -> s{_coQuoteFields = a})---- | Value used to separate individual records.-coRecordDelimiter :: Lens' CSVOutput (Maybe Text)-coRecordDelimiter = lens _coRecordDelimiter (\ s a -> s{_coRecordDelimiter = a})---- | Single character used for escaping the quote character inside an already escaped value.-coQuoteEscapeCharacter :: Lens' CSVOutput (Maybe Text)-coQuoteEscapeCharacter = lens _coQuoteEscapeCharacter (\ s a -> s{_coQuoteEscapeCharacter = a})---- | Value used to separate individual fields in a record.-coFieldDelimiter :: Lens' CSVOutput (Maybe Text)-coFieldDelimiter = lens _coFieldDelimiter (\ s a -> s{_coFieldDelimiter = a})--instance Hashable CSVOutput where--instance NFData CSVOutput where--instance ToXML CSVOutput where-        toXML CSVOutput'{..}-          = mconcat-              ["QuoteCharacter" @= _coQuoteCharacter,-               "QuoteFields" @= _coQuoteFields,-               "RecordDelimiter" @= _coRecordDelimiter,-               "QuoteEscapeCharacter" @= _coQuoteEscapeCharacter,-               "FieldDelimiter" @= _coFieldDelimiter]---- | /See:/ 'commonPrefix' smart constructor.-newtype CommonPrefix = CommonPrefix'-  { _cpPrefix :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CommonPrefix' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpPrefix' - Undocumented member.-commonPrefix-    :: CommonPrefix-commonPrefix = CommonPrefix' {_cpPrefix = Nothing}----- | Undocumented member.-cpPrefix :: Lens' CommonPrefix (Maybe Text)-cpPrefix = lens _cpPrefix (\ s a -> s{_cpPrefix = a})--instance FromXML CommonPrefix where-        parseXML x = CommonPrefix' <$> (x .@? "Prefix")--instance Hashable CommonPrefix where--instance NFData CommonPrefix where---- | /See:/ 'completedMultipartUpload' smart constructor.-newtype CompletedMultipartUpload = CompletedMultipartUpload'-  { _cmuParts :: Maybe (List1 CompletedPart)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CompletedMultipartUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cmuParts' - Undocumented member.-completedMultipartUpload-    :: CompletedMultipartUpload-completedMultipartUpload = CompletedMultipartUpload' {_cmuParts = Nothing}----- | Undocumented member.-cmuParts :: Lens' CompletedMultipartUpload (Maybe (NonEmpty CompletedPart))-cmuParts = lens _cmuParts (\ s a -> s{_cmuParts = a}) . mapping _List1--instance Hashable CompletedMultipartUpload where--instance NFData CompletedMultipartUpload where--instance ToXML CompletedMultipartUpload where-        toXML CompletedMultipartUpload'{..}-          = mconcat [toXML (toXMLList "Part" <$> _cmuParts)]---- | /See:/ 'completedPart' smart constructor.-data CompletedPart = CompletedPart'-  { _cpPartNumber :: !Int-  , _cpETag       :: !ETag-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CompletedPart' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cpPartNumber' - Part number that identifies the part. This is a positive integer between 1 and 10,000.------ * 'cpETag' - Entity tag returned when the part was uploaded.-completedPart-    :: Int -- ^ 'cpPartNumber'-    -> ETag -- ^ 'cpETag'-    -> CompletedPart-completedPart pPartNumber_ pETag_ =-  CompletedPart' {_cpPartNumber = pPartNumber_, _cpETag = pETag_}----- | Part number that identifies the part. This is a positive integer between 1 and 10,000.-cpPartNumber :: Lens' CompletedPart Int-cpPartNumber = lens _cpPartNumber (\ s a -> s{_cpPartNumber = a})---- | Entity tag returned when the part was uploaded.-cpETag :: Lens' CompletedPart ETag-cpETag = lens _cpETag (\ s a -> s{_cpETag = a})--instance Hashable CompletedPart where--instance NFData CompletedPart where--instance ToXML CompletedPart where-        toXML CompletedPart'{..}-          = mconcat-              ["PartNumber" @= _cpPartNumber, "ETag" @= _cpETag]---- | /See:/ 'condition' smart constructor.-data Condition = Condition'-  { _cKeyPrefixEquals             :: !(Maybe Text)-  , _cHTTPErrorCodeReturnedEquals :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Condition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cKeyPrefixEquals' - The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.------ * 'cHTTPErrorCodeReturnedEquals' - The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.-condition-    :: Condition-condition =-  Condition'-    {_cKeyPrefixEquals = Nothing, _cHTTPErrorCodeReturnedEquals = Nothing}----- | The object key name prefix when the redirect is applied. For example, to redirect requests for ExamplePage.html, the key prefix will be ExamplePage.html. To redirect request for all pages with the prefix docs/, the key prefix will be /docs, which identifies all objects in the docs/ folder. Required when the parent element Condition is specified and sibling HttpErrorCodeReturnedEquals is not specified. If both conditions are specified, both must be true for the redirect to be applied.-cKeyPrefixEquals :: Lens' Condition (Maybe Text)-cKeyPrefixEquals = lens _cKeyPrefixEquals (\ s a -> s{_cKeyPrefixEquals = a})---- | The HTTP error code when the redirect is applied. In the event of an error, if the error code equals this value, then the specified redirect is applied. Required when parent element Condition is specified and sibling KeyPrefixEquals is not specified. If both are specified, then both must be true for the redirect to be applied.-cHTTPErrorCodeReturnedEquals :: Lens' Condition (Maybe Text)-cHTTPErrorCodeReturnedEquals = lens _cHTTPErrorCodeReturnedEquals (\ s a -> s{_cHTTPErrorCodeReturnedEquals = a})--instance FromXML Condition where-        parseXML x-          = Condition' <$>-              (x .@? "KeyPrefixEquals") <*>-                (x .@? "HttpErrorCodeReturnedEquals")--instance Hashable Condition where--instance NFData Condition where--instance ToXML Condition where-        toXML Condition'{..}-          = mconcat-              ["KeyPrefixEquals" @= _cKeyPrefixEquals,-               "HttpErrorCodeReturnedEquals" @=-                 _cHTTPErrorCodeReturnedEquals]---- | /See:/ 'continuationEvent' smart constructor.-data ContinuationEvent =-  ContinuationEvent'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ContinuationEvent' with the minimum fields required to make a request.----continuationEvent-    :: ContinuationEvent-continuationEvent = ContinuationEvent'---instance FromXML ContinuationEvent where-        parseXML = const (pure ContinuationEvent')--instance Hashable ContinuationEvent where--instance NFData ContinuationEvent where---- | /See:/ 'copyObjectResult' smart constructor.-data CopyObjectResult = CopyObjectResult'-  { _corETag         :: !(Maybe ETag)-  , _corLastModified :: !(Maybe RFC822)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CopyObjectResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'corETag' - Undocumented member.------ * 'corLastModified' - Undocumented member.-copyObjectResult-    :: CopyObjectResult-copyObjectResult =-  CopyObjectResult' {_corETag = Nothing, _corLastModified = Nothing}----- | Undocumented member.-corETag :: Lens' CopyObjectResult (Maybe ETag)-corETag = lens _corETag (\ s a -> s{_corETag = a})---- | Undocumented member.-corLastModified :: Lens' CopyObjectResult (Maybe UTCTime)-corLastModified = lens _corLastModified (\ s a -> s{_corLastModified = a}) . mapping _Time--instance FromXML CopyObjectResult where-        parseXML x-          = CopyObjectResult' <$>-              (x .@? "ETag") <*> (x .@? "LastModified")--instance Hashable CopyObjectResult where--instance NFData CopyObjectResult where---- | /See:/ 'copyPartResult' smart constructor.-data CopyPartResult = CopyPartResult'-  { _cprETag         :: !(Maybe ETag)-  , _cprLastModified :: !(Maybe RFC822)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CopyPartResult' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cprETag' - Entity tag of the object.------ * 'cprLastModified' - Date and time at which the object was uploaded.-copyPartResult-    :: CopyPartResult-copyPartResult =-  CopyPartResult' {_cprETag = Nothing, _cprLastModified = Nothing}----- | Entity tag of the object.-cprETag :: Lens' CopyPartResult (Maybe ETag)-cprETag = lens _cprETag (\ s a -> s{_cprETag = a})---- | Date and time at which the object was uploaded.-cprLastModified :: Lens' CopyPartResult (Maybe UTCTime)-cprLastModified = lens _cprLastModified (\ s a -> s{_cprLastModified = a}) . mapping _Time--instance FromXML CopyPartResult where-        parseXML x-          = CopyPartResult' <$>-              (x .@? "ETag") <*> (x .@? "LastModified")--instance Hashable CopyPartResult where--instance NFData CopyPartResult where---- | /See:/ 'createBucketConfiguration' smart constructor.-newtype CreateBucketConfiguration = CreateBucketConfiguration'-  { _cbcLocationConstraint :: Maybe LocationConstraint-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'CreateBucketConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'cbcLocationConstraint' - Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard.-createBucketConfiguration-    :: CreateBucketConfiguration-createBucketConfiguration =-  CreateBucketConfiguration' {_cbcLocationConstraint = Nothing}----- | Specifies the region where the bucket will be created. If you don't specify a region, the bucket will be created in US Standard.-cbcLocationConstraint :: Lens' CreateBucketConfiguration (Maybe LocationConstraint)-cbcLocationConstraint = lens _cbcLocationConstraint (\ s a -> s{_cbcLocationConstraint = a})--instance Hashable CreateBucketConfiguration where--instance NFData CreateBucketConfiguration where--instance ToXML CreateBucketConfiguration where-        toXML CreateBucketConfiguration'{..}-          = mconcat-              ["LocationConstraint" @= _cbcLocationConstraint]---- | /See:/ 'delete'' smart constructor.-data Delete = Delete'-  { _dQuiet   :: !(Maybe Bool)-  , _dObjects :: ![ObjectIdentifier]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Delete' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dQuiet' - Element to enable quiet mode for the request. When you add this element, you must set its value to true.------ * 'dObjects' - Undocumented member.-delete'-    :: Delete-delete' = Delete' {_dQuiet = Nothing, _dObjects = mempty}----- | Element to enable quiet mode for the request. When you add this element, you must set its value to true.-dQuiet :: Lens' Delete (Maybe Bool)-dQuiet = lens _dQuiet (\ s a -> s{_dQuiet = a})---- | Undocumented member.-dObjects :: Lens' Delete [ObjectIdentifier]-dObjects = lens _dObjects (\ s a -> s{_dObjects = a}) . _Coerce--instance Hashable Delete where--instance NFData Delete where--instance ToXML Delete where-        toXML Delete'{..}-          = mconcat-              ["Quiet" @= _dQuiet, toXMLList "Object" _dObjects]---- | /See:/ 'deleteMarkerEntry' smart constructor.-data DeleteMarkerEntry = DeleteMarkerEntry'-  { _dmeVersionId    :: !(Maybe ObjectVersionId)-  , _dmeIsLatest     :: !(Maybe Bool)-  , _dmeOwner        :: !(Maybe Owner)-  , _dmeKey          :: !(Maybe ObjectKey)-  , _dmeLastModified :: !(Maybe RFC822)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeleteMarkerEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dmeVersionId' - Version ID of an object.------ * 'dmeIsLatest' - Specifies whether the object is (true) or is not (false) the latest version of an object.------ * 'dmeOwner' - Undocumented member.------ * 'dmeKey' - The object key.------ * 'dmeLastModified' - Date and time the object was last modified.-deleteMarkerEntry-    :: DeleteMarkerEntry-deleteMarkerEntry =-  DeleteMarkerEntry'-    { _dmeVersionId = Nothing-    , _dmeIsLatest = Nothing-    , _dmeOwner = Nothing-    , _dmeKey = Nothing-    , _dmeLastModified = Nothing-    }----- | Version ID of an object.-dmeVersionId :: Lens' DeleteMarkerEntry (Maybe ObjectVersionId)-dmeVersionId = lens _dmeVersionId (\ s a -> s{_dmeVersionId = a})---- | Specifies whether the object is (true) or is not (false) the latest version of an object.-dmeIsLatest :: Lens' DeleteMarkerEntry (Maybe Bool)-dmeIsLatest = lens _dmeIsLatest (\ s a -> s{_dmeIsLatest = a})---- | Undocumented member.-dmeOwner :: Lens' DeleteMarkerEntry (Maybe Owner)-dmeOwner = lens _dmeOwner (\ s a -> s{_dmeOwner = a})---- | The object key.-dmeKey :: Lens' DeleteMarkerEntry (Maybe ObjectKey)-dmeKey = lens _dmeKey (\ s a -> s{_dmeKey = a})---- | Date and time the object was last modified.-dmeLastModified :: Lens' DeleteMarkerEntry (Maybe UTCTime)-dmeLastModified = lens _dmeLastModified (\ s a -> s{_dmeLastModified = a}) . mapping _Time--instance FromXML DeleteMarkerEntry where-        parseXML x-          = DeleteMarkerEntry' <$>-              (x .@? "VersionId") <*> (x .@? "IsLatest") <*>-                (x .@? "Owner")-                <*> (x .@? "Key")-                <*> (x .@? "LastModified")--instance Hashable DeleteMarkerEntry where--instance NFData DeleteMarkerEntry where---- | /See:/ 'deletedObject' smart constructor.-data DeletedObject = DeletedObject'-  { _dVersionId             :: !(Maybe ObjectVersionId)-  , _dDeleteMarker          :: !(Maybe Bool)-  , _dDeleteMarkerVersionId :: !(Maybe Text)-  , _dKey                   :: !(Maybe ObjectKey)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'DeletedObject' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dVersionId' - Undocumented member.------ * 'dDeleteMarker' - Undocumented member.------ * 'dDeleteMarkerVersionId' - Undocumented member.------ * 'dKey' - Undocumented member.-deletedObject-    :: DeletedObject-deletedObject =-  DeletedObject'-    { _dVersionId = Nothing-    , _dDeleteMarker = Nothing-    , _dDeleteMarkerVersionId = Nothing-    , _dKey = Nothing-    }----- | Undocumented member.-dVersionId :: Lens' DeletedObject (Maybe ObjectVersionId)-dVersionId = lens _dVersionId (\ s a -> s{_dVersionId = a})---- | Undocumented member.-dDeleteMarker :: Lens' DeletedObject (Maybe Bool)-dDeleteMarker = lens _dDeleteMarker (\ s a -> s{_dDeleteMarker = a})---- | Undocumented member.-dDeleteMarkerVersionId :: Lens' DeletedObject (Maybe Text)-dDeleteMarkerVersionId = lens _dDeleteMarkerVersionId (\ s a -> s{_dDeleteMarkerVersionId = a})---- | Undocumented member.-dKey :: Lens' DeletedObject (Maybe ObjectKey)-dKey = lens _dKey (\ s a -> s{_dKey = a})--instance FromXML DeletedObject where-        parseXML x-          = DeletedObject' <$>-              (x .@? "VersionId") <*> (x .@? "DeleteMarker") <*>-                (x .@? "DeleteMarkerVersionId")-                <*> (x .@? "Key")--instance Hashable DeletedObject where--instance NFData DeletedObject where---- | Container for replication destination information.------ /See:/ 'destination' smart constructor.-data Destination = Destination'-  { _dAccessControlTranslation :: !(Maybe AccessControlTranslation)-  , _dAccount                  :: !(Maybe Text)-  , _dStorageClass             :: !(Maybe StorageClass)-  , _dEncryptionConfiguration  :: !(Maybe EncryptionConfiguration)-  , _dBucket                   :: !BucketName-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Destination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'dAccessControlTranslation' - Container for information regarding the access control for replicas.------ * 'dAccount' - Account ID of the destination bucket. Currently this is only being verified if Access Control Translation is enabled------ * 'dStorageClass' - The class of storage used to store the object.------ * 'dEncryptionConfiguration' - Container for information regarding encryption based configuration for replicas.------ * 'dBucket' - Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.-destination-    :: BucketName -- ^ 'dBucket'-    -> Destination-destination pBucket_ =-  Destination'-    { _dAccessControlTranslation = Nothing-    , _dAccount = Nothing-    , _dStorageClass = Nothing-    , _dEncryptionConfiguration = Nothing-    , _dBucket = pBucket_-    }----- | Container for information regarding the access control for replicas.-dAccessControlTranslation :: Lens' Destination (Maybe AccessControlTranslation)-dAccessControlTranslation = lens _dAccessControlTranslation (\ s a -> s{_dAccessControlTranslation = a})---- | Account ID of the destination bucket. Currently this is only being verified if Access Control Translation is enabled-dAccount :: Lens' Destination (Maybe Text)-dAccount = lens _dAccount (\ s a -> s{_dAccount = a})---- | The class of storage used to store the object.-dStorageClass :: Lens' Destination (Maybe StorageClass)-dStorageClass = lens _dStorageClass (\ s a -> s{_dStorageClass = a})---- | Container for information regarding encryption based configuration for replicas.-dEncryptionConfiguration :: Lens' Destination (Maybe EncryptionConfiguration)-dEncryptionConfiguration = lens _dEncryptionConfiguration (\ s a -> s{_dEncryptionConfiguration = a})---- | Amazon resource name (ARN) of the bucket where you want Amazon S3 to store replicas of the object identified by the rule.-dBucket :: Lens' Destination BucketName-dBucket = lens _dBucket (\ s a -> s{_dBucket = a})--instance FromXML Destination where-        parseXML x-          = Destination' <$>-              (x .@? "AccessControlTranslation") <*>-                (x .@? "Account")-                <*> (x .@? "StorageClass")-                <*> (x .@? "EncryptionConfiguration")-                <*> (x .@ "Bucket")--instance Hashable Destination where--instance NFData Destination where--instance ToXML Destination where-        toXML Destination'{..}-          = mconcat-              ["AccessControlTranslation" @=-                 _dAccessControlTranslation,-               "Account" @= _dAccount,-               "StorageClass" @= _dStorageClass,-               "EncryptionConfiguration" @=-                 _dEncryptionConfiguration,-               "Bucket" @= _dBucket]---- | Describes the server-side encryption that will be applied to the restore results.------ /See:/ 'encryption' smart constructor.-data Encryption = Encryption'-  { _eKMSKeyId       :: !(Maybe (Sensitive Text))-  , _eKMSContext     :: !(Maybe Text)-  , _eEncryptionType :: !ServerSideEncryption-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'Encryption' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'eKMSKeyId' - If the encryption type is aws:kms, this optional value specifies the AWS KMS key ID to use for encryption of job results.------ * 'eKMSContext' - If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.------ * 'eEncryptionType' - The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).-encryption-    :: ServerSideEncryption -- ^ 'eEncryptionType'-    -> Encryption-encryption pEncryptionType_ =-  Encryption'-    { _eKMSKeyId = Nothing-    , _eKMSContext = Nothing-    , _eEncryptionType = pEncryptionType_-    }----- | If the encryption type is aws:kms, this optional value specifies the AWS KMS key ID to use for encryption of job results.-eKMSKeyId :: Lens' Encryption (Maybe Text)-eKMSKeyId = lens _eKMSKeyId (\ s a -> s{_eKMSKeyId = a}) . mapping _Sensitive---- | If the encryption type is aws:kms, this optional value can be used to specify the encryption context for the restore results.-eKMSContext :: Lens' Encryption (Maybe Text)-eKMSContext = lens _eKMSContext (\ s a -> s{_eKMSContext = a})---- | The server-side encryption algorithm used when storing job results in Amazon S3 (e.g., AES256, aws:kms).-eEncryptionType :: Lens' Encryption ServerSideEncryption-eEncryptionType = lens _eEncryptionType (\ s a -> s{_eEncryptionType = a})--instance Hashable Encryption where--instance NFData Encryption where--instance ToXML Encryption where-        toXML Encryption'{..}-          = mconcat-              ["KMSKeyId" @= _eKMSKeyId,-               "KMSContext" @= _eKMSContext,-               "EncryptionType" @= _eEncryptionType]---- | Container for information regarding encryption based configuration for replicas.------ /See:/ 'encryptionConfiguration' smart constructor.-newtype EncryptionConfiguration = EncryptionConfiguration'-  { _ecReplicaKMSKeyId :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EncryptionConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ecReplicaKMSKeyId' - The id of the KMS key used to encrypt the replica object.-encryptionConfiguration-    :: EncryptionConfiguration-encryptionConfiguration =-  EncryptionConfiguration' {_ecReplicaKMSKeyId = Nothing}----- | The id of the KMS key used to encrypt the replica object.-ecReplicaKMSKeyId :: Lens' EncryptionConfiguration (Maybe Text)-ecReplicaKMSKeyId = lens _ecReplicaKMSKeyId (\ s a -> s{_ecReplicaKMSKeyId = a})--instance FromXML EncryptionConfiguration where-        parseXML x-          = EncryptionConfiguration' <$>-              (x .@? "ReplicaKmsKeyID")--instance Hashable EncryptionConfiguration where--instance NFData EncryptionConfiguration where--instance ToXML EncryptionConfiguration where-        toXML EncryptionConfiguration'{..}-          = mconcat ["ReplicaKmsKeyID" @= _ecReplicaKMSKeyId]---- | /See:/ 'endEvent' smart constructor.-data EndEvent =-  EndEvent'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'EndEvent' with the minimum fields required to make a request.----endEvent-    :: EndEvent-endEvent = EndEvent'---instance FromXML EndEvent where-        parseXML = const (pure EndEvent')--instance Hashable EndEvent where--instance NFData EndEvent where---- | /See:/ 'errorDocument' smart constructor.-newtype ErrorDocument = ErrorDocument'-  { _edKey :: ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ErrorDocument' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'edKey' - The object key name to use when a 4XX class error occurs.-errorDocument-    :: ObjectKey -- ^ 'edKey'-    -> ErrorDocument-errorDocument pKey_ = ErrorDocument' {_edKey = pKey_}----- | The object key name to use when a 4XX class error occurs.-edKey :: Lens' ErrorDocument ObjectKey-edKey = lens _edKey (\ s a -> s{_edKey = a})--instance FromXML ErrorDocument where-        parseXML x = ErrorDocument' <$> (x .@ "Key")--instance Hashable ErrorDocument where--instance NFData ErrorDocument where--instance ToXML ErrorDocument where-        toXML ErrorDocument'{..} = mconcat ["Key" @= _edKey]---- | Container for key value pair that defines the criteria for the filter rule.------ /See:/ 'filterRule' smart constructor.-data FilterRule = FilterRule'-  { _frValue :: !(Maybe Text)-  , _frName  :: !(Maybe FilterRuleName)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'FilterRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'frValue' - Undocumented member.------ * 'frName' - <http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>-filterRule-    :: FilterRule-filterRule = FilterRule' {_frValue = Nothing, _frName = Nothing}----- | Undocumented member.-frValue :: Lens' FilterRule (Maybe Text)-frValue = lens _frValue (\ s a -> s{_frValue = a})---- | <http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>-frName :: Lens' FilterRule (Maybe FilterRuleName)-frName = lens _frName (\ s a -> s{_frName = a})--instance FromXML FilterRule where-        parseXML x-          = FilterRule' <$> (x .@? "Value") <*> (x .@? "Name")--instance Hashable FilterRule where--instance NFData FilterRule where--instance ToXML FilterRule where-        toXML FilterRule'{..}-          = mconcat ["Value" @= _frValue, "Name" @= _frName]---- | /See:/ 'glacierJobParameters' smart constructor.-newtype GlacierJobParameters = GlacierJobParameters'-  { _gjpTier :: Tier-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'GlacierJobParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gjpTier' - Glacier retrieval tier at which the restore will be processed.-glacierJobParameters-    :: Tier -- ^ 'gjpTier'-    -> GlacierJobParameters-glacierJobParameters pTier_ = GlacierJobParameters' {_gjpTier = pTier_}----- | Glacier retrieval tier at which the restore will be processed.-gjpTier :: Lens' GlacierJobParameters Tier-gjpTier = lens _gjpTier (\ s a -> s{_gjpTier = a})--instance Hashable GlacierJobParameters where--instance NFData GlacierJobParameters where--instance ToXML GlacierJobParameters where-        toXML GlacierJobParameters'{..}-          = mconcat ["Tier" @= _gjpTier]---- | /See:/ 'grant' smart constructor.-data Grant = Grant'-  { _gPermission :: !(Maybe Permission)-  , _gGrantee    :: !(Maybe Grantee)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Grant' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gPermission' - Specifies the permission given to the grantee.------ * 'gGrantee' - Undocumented member.-grant-    :: Grant-grant = Grant' {_gPermission = Nothing, _gGrantee = Nothing}----- | Specifies the permission given to the grantee.-gPermission :: Lens' Grant (Maybe Permission)-gPermission = lens _gPermission (\ s a -> s{_gPermission = a})---- | Undocumented member.-gGrantee :: Lens' Grant (Maybe Grantee)-gGrantee = lens _gGrantee (\ s a -> s{_gGrantee = a})--instance FromXML Grant where-        parseXML x-          = Grant' <$>-              (x .@? "Permission") <*> (x .@? "Grantee")--instance Hashable Grant where--instance NFData Grant where--instance ToXML Grant where-        toXML Grant'{..}-          = mconcat-              ["Permission" @= _gPermission,-               "Grantee" @= _gGrantee]---- | /See:/ 'grantee' smart constructor.-data Grantee = Grantee'-  { _gURI          :: !(Maybe Text)-  , _gEmailAddress :: !(Maybe Text)-  , _gDisplayName  :: !(Maybe Text)-  , _gId           :: !(Maybe Text)-  , _gType         :: !Type-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Grantee' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'gURI' - URI of the grantee group.------ * 'gEmailAddress' - Email address of the grantee.------ * 'gDisplayName' - Screen name of the grantee.------ * 'gId' - The canonical user ID of the grantee.------ * 'gType' - Type of grantee-grantee-    :: Type -- ^ 'gType'-    -> Grantee-grantee pType_ =-  Grantee'-    { _gURI = Nothing-    , _gEmailAddress = Nothing-    , _gDisplayName = Nothing-    , _gId = Nothing-    , _gType = pType_-    }----- | URI of the grantee group.-gURI :: Lens' Grantee (Maybe Text)-gURI = lens _gURI (\ s a -> s{_gURI = a})---- | Email address of the grantee.-gEmailAddress :: Lens' Grantee (Maybe Text)-gEmailAddress = lens _gEmailAddress (\ s a -> s{_gEmailAddress = a})---- | Screen name of the grantee.-gDisplayName :: Lens' Grantee (Maybe Text)-gDisplayName = lens _gDisplayName (\ s a -> s{_gDisplayName = a})---- | The canonical user ID of the grantee.-gId :: Lens' Grantee (Maybe Text)-gId = lens _gId (\ s a -> s{_gId = a})---- | Type of grantee-gType :: Lens' Grantee Type-gType = lens _gType (\ s a -> s{_gType = a})--instance FromXML Grantee where-        parseXML x-          = Grantee' <$>-              (x .@? "URI") <*> (x .@? "EmailAddress") <*>-                (x .@? "DisplayName")-                <*> (x .@? "ID")-                <*> (x .@ "xsi:type")--instance Hashable Grantee where--instance NFData Grantee where--instance ToXML Grantee where-        toXML Grantee'{..}-          = mconcat-              ["URI" @= _gURI, "EmailAddress" @= _gEmailAddress,-               "DisplayName" @= _gDisplayName, "ID" @= _gId,-               "xsi:type" @@= _gType]---- | /See:/ 'indexDocument' smart constructor.-newtype IndexDocument = IndexDocument'-  { _idSuffix :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'IndexDocument' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'idSuffix' - A suffix that is appended to a request that is for a directory on the website endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character.-indexDocument-    :: Text -- ^ 'idSuffix'-    -> IndexDocument-indexDocument pSuffix_ = IndexDocument' {_idSuffix = pSuffix_}----- | A suffix that is appended to a request that is for a directory on the website endpoint (e.g. if the suffix is index.html and you make a request to samplebucket/images/ the data that is returned will be for the object with the key name images/index.html) The suffix must not be empty and must not include a slash character.-idSuffix :: Lens' IndexDocument Text-idSuffix = lens _idSuffix (\ s a -> s{_idSuffix = a})--instance FromXML IndexDocument where-        parseXML x = IndexDocument' <$> (x .@ "Suffix")--instance Hashable IndexDocument where--instance NFData IndexDocument where--instance ToXML IndexDocument where-        toXML IndexDocument'{..}-          = mconcat ["Suffix" @= _idSuffix]---- | /See:/ 'initiator' smart constructor.-data Initiator = Initiator'-  { _iDisplayName :: !(Maybe Text)-  , _iId          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Initiator' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'iDisplayName' - Name of the Principal.------ * 'iId' - If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.-initiator-    :: Initiator-initiator = Initiator' {_iDisplayName = Nothing, _iId = Nothing}----- | Name of the Principal.-iDisplayName :: Lens' Initiator (Maybe Text)-iDisplayName = lens _iDisplayName (\ s a -> s{_iDisplayName = a})---- | If the principal is an AWS account, it provides the Canonical User ID. If the principal is an IAM User, it provides a user ARN value.-iId :: Lens' Initiator (Maybe Text)-iId = lens _iId (\ s a -> s{_iId = a})--instance FromXML Initiator where-        parseXML x-          = Initiator' <$>-              (x .@? "DisplayName") <*> (x .@? "ID")--instance Hashable Initiator where--instance NFData Initiator where---- | Describes the serialization format of the object.------ /See:/ 'inputSerialization' smart constructor.-data InputSerialization = InputSerialization'-  { _isJSON            :: !(Maybe JSONInput)-  , _isCSV             :: !(Maybe CSVInput)-  , _isCompressionType :: !(Maybe CompressionType)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InputSerialization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isJSON' - Specifies JSON as object's input serialization format.------ * 'isCSV' - Describes the serialization of a CSV-encoded object.------ * 'isCompressionType' - Specifies object's compression format. Valid values: NONE, GZIP. Default Value: NONE.-inputSerialization-    :: InputSerialization-inputSerialization =-  InputSerialization'-    {_isJSON = Nothing, _isCSV = Nothing, _isCompressionType = Nothing}----- | Specifies JSON as object's input serialization format.-isJSON :: Lens' InputSerialization (Maybe JSONInput)-isJSON = lens _isJSON (\ s a -> s{_isJSON = a})---- | Describes the serialization of a CSV-encoded object.-isCSV :: Lens' InputSerialization (Maybe CSVInput)-isCSV = lens _isCSV (\ s a -> s{_isCSV = a})---- | Specifies object's compression format. Valid values: NONE, GZIP. Default Value: NONE.-isCompressionType :: Lens' InputSerialization (Maybe CompressionType)-isCompressionType = lens _isCompressionType (\ s a -> s{_isCompressionType = a})--instance Hashable InputSerialization where--instance NFData InputSerialization where--instance ToXML InputSerialization where-        toXML InputSerialization'{..}-          = mconcat-              ["JSON" @= _isJSON, "CSV" @= _isCSV,-               "CompressionType" @= _isCompressionType]---- | /See:/ 'inventoryConfiguration' smart constructor.-data InventoryConfiguration = InventoryConfiguration'-  { _icOptionalFields         :: !(Maybe [InventoryOptionalField])-  , _icFilter                 :: !(Maybe InventoryFilter)-  , _icDestination            :: !InventoryDestination-  , _icIsEnabled              :: !Bool-  , _icId                     :: !Text-  , _icIncludedObjectVersions :: !InventoryIncludedObjectVersions-  , _icSchedule               :: !InventorySchedule-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'icOptionalFields' - Contains the optional fields that are included in the inventory results.------ * 'icFilter' - Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.------ * 'icDestination' - Contains information about where to publish the inventory results.------ * 'icIsEnabled' - Specifies whether the inventory is enabled or disabled.------ * 'icId' - The ID used to identify the inventory configuration.------ * 'icIncludedObjectVersions' - Specifies which object version(s) to included in the inventory results.------ * 'icSchedule' - Specifies the schedule for generating inventory results.-inventoryConfiguration-    :: InventoryDestination -- ^ 'icDestination'-    -> Bool -- ^ 'icIsEnabled'-    -> Text -- ^ 'icId'-    -> InventoryIncludedObjectVersions -- ^ 'icIncludedObjectVersions'-    -> InventorySchedule -- ^ 'icSchedule'-    -> InventoryConfiguration-inventoryConfiguration pDestination_ pIsEnabled_ pId_ pIncludedObjectVersions_ pSchedule_ =-  InventoryConfiguration'-    { _icOptionalFields = Nothing-    , _icFilter = Nothing-    , _icDestination = pDestination_-    , _icIsEnabled = pIsEnabled_-    , _icId = pId_-    , _icIncludedObjectVersions = pIncludedObjectVersions_-    , _icSchedule = pSchedule_-    }----- | Contains the optional fields that are included in the inventory results.-icOptionalFields :: Lens' InventoryConfiguration [InventoryOptionalField]-icOptionalFields = lens _icOptionalFields (\ s a -> s{_icOptionalFields = a}) . _Default . _Coerce---- | Specifies an inventory filter. The inventory only includes objects that meet the filter's criteria.-icFilter :: Lens' InventoryConfiguration (Maybe InventoryFilter)-icFilter = lens _icFilter (\ s a -> s{_icFilter = a})---- | Contains information about where to publish the inventory results.-icDestination :: Lens' InventoryConfiguration InventoryDestination-icDestination = lens _icDestination (\ s a -> s{_icDestination = a})---- | Specifies whether the inventory is enabled or disabled.-icIsEnabled :: Lens' InventoryConfiguration Bool-icIsEnabled = lens _icIsEnabled (\ s a -> s{_icIsEnabled = a})---- | The ID used to identify the inventory configuration.-icId :: Lens' InventoryConfiguration Text-icId = lens _icId (\ s a -> s{_icId = a})---- | Specifies which object version(s) to included in the inventory results.-icIncludedObjectVersions :: Lens' InventoryConfiguration InventoryIncludedObjectVersions-icIncludedObjectVersions = lens _icIncludedObjectVersions (\ s a -> s{_icIncludedObjectVersions = a})---- | Specifies the schedule for generating inventory results.-icSchedule :: Lens' InventoryConfiguration InventorySchedule-icSchedule = lens _icSchedule (\ s a -> s{_icSchedule = a})--instance FromXML InventoryConfiguration where-        parseXML x-          = InventoryConfiguration' <$>-              (x .@? "OptionalFields" .!@ mempty >>=-                 may (parseXMLList "Field"))-                <*> (x .@? "Filter")-                <*> (x .@ "Destination")-                <*> (x .@ "IsEnabled")-                <*> (x .@ "Id")-                <*> (x .@ "IncludedObjectVersions")-                <*> (x .@ "Schedule")--instance Hashable InventoryConfiguration where--instance NFData InventoryConfiguration where--instance ToXML InventoryConfiguration where-        toXML InventoryConfiguration'{..}-          = mconcat-              ["OptionalFields" @=-                 toXML (toXMLList "Field" <$> _icOptionalFields),-               "Filter" @= _icFilter,-               "Destination" @= _icDestination,-               "IsEnabled" @= _icIsEnabled, "Id" @= _icId,-               "IncludedObjectVersions" @=-                 _icIncludedObjectVersions,-               "Schedule" @= _icSchedule]---- | /See:/ 'inventoryDestination' smart constructor.-newtype InventoryDestination = InventoryDestination'-  { _idS3BucketDestination :: InventoryS3BucketDestination-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryDestination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'idS3BucketDestination' - Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.-inventoryDestination-    :: InventoryS3BucketDestination -- ^ 'idS3BucketDestination'-    -> InventoryDestination-inventoryDestination pS3BucketDestination_ =-  InventoryDestination' {_idS3BucketDestination = pS3BucketDestination_}----- | Contains the bucket name, file format, bucket owner (optional), and prefix (optional) where inventory results are published.-idS3BucketDestination :: Lens' InventoryDestination InventoryS3BucketDestination-idS3BucketDestination = lens _idS3BucketDestination (\ s a -> s{_idS3BucketDestination = a})--instance FromXML InventoryDestination where-        parseXML x-          = InventoryDestination' <$>-              (x .@ "S3BucketDestination")--instance Hashable InventoryDestination where--instance NFData InventoryDestination where--instance ToXML InventoryDestination where-        toXML InventoryDestination'{..}-          = mconcat-              ["S3BucketDestination" @= _idS3BucketDestination]---- | Contains the type of server-side encryption used to encrypt the inventory results.------ /See:/ 'inventoryEncryption' smart constructor.-data InventoryEncryption = InventoryEncryption'-  { _ieSSES3  :: !(Maybe SSES3)-  , _ieSSEKMS :: !(Maybe SSEKMS)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryEncryption' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ieSSES3' - Specifies the use of SSE-S3 to encrypt delievered Inventory reports.------ * 'ieSSEKMS' - Specifies the use of SSE-KMS to encrypt delievered Inventory reports.-inventoryEncryption-    :: InventoryEncryption-inventoryEncryption =-  InventoryEncryption' {_ieSSES3 = Nothing, _ieSSEKMS = Nothing}----- | Specifies the use of SSE-S3 to encrypt delievered Inventory reports.-ieSSES3 :: Lens' InventoryEncryption (Maybe SSES3)-ieSSES3 = lens _ieSSES3 (\ s a -> s{_ieSSES3 = a})---- | Specifies the use of SSE-KMS to encrypt delievered Inventory reports.-ieSSEKMS :: Lens' InventoryEncryption (Maybe SSEKMS)-ieSSEKMS = lens _ieSSEKMS (\ s a -> s{_ieSSEKMS = a})--instance FromXML InventoryEncryption where-        parseXML x-          = InventoryEncryption' <$>-              (x .@? "SSE-S3") <*> (x .@? "SSE-KMS")--instance Hashable InventoryEncryption where--instance NFData InventoryEncryption where--instance ToXML InventoryEncryption where-        toXML InventoryEncryption'{..}-          = mconcat-              ["SSE-S3" @= _ieSSES3, "SSE-KMS" @= _ieSSEKMS]---- | /See:/ 'inventoryFilter' smart constructor.-newtype InventoryFilter = InventoryFilter'-  { _ifPrefix :: Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ifPrefix' - The prefix that an object must have to be included in the inventory results.-inventoryFilter-    :: Text -- ^ 'ifPrefix'-    -> InventoryFilter-inventoryFilter pPrefix_ = InventoryFilter' {_ifPrefix = pPrefix_}----- | The prefix that an object must have to be included in the inventory results.-ifPrefix :: Lens' InventoryFilter Text-ifPrefix = lens _ifPrefix (\ s a -> s{_ifPrefix = a})--instance FromXML InventoryFilter where-        parseXML x = InventoryFilter' <$> (x .@ "Prefix")--instance Hashable InventoryFilter where--instance NFData InventoryFilter where--instance ToXML InventoryFilter where-        toXML InventoryFilter'{..}-          = mconcat ["Prefix" @= _ifPrefix]---- | /See:/ 'inventoryS3BucketDestination' smart constructor.-data InventoryS3BucketDestination = InventoryS3BucketDestination'-  { _isbdPrefix     :: !(Maybe Text)-  , _isbdAccountId  :: !(Maybe Text)-  , _isbdEncryption :: !(Maybe InventoryEncryption)-  , _isbdBucket     :: !BucketName-  , _isbdFormat     :: !InventoryFormat-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'InventoryS3BucketDestination' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isbdPrefix' - The prefix that is prepended to all inventory results.------ * 'isbdAccountId' - The ID of the account that owns the destination bucket.------ * 'isbdEncryption' - Contains the type of server-side encryption used to encrypt the inventory results.------ * 'isbdBucket' - The Amazon resource name (ARN) of the bucket where inventory results will be published.------ * 'isbdFormat' - Specifies the output format of the inventory results.-inventoryS3BucketDestination-    :: BucketName -- ^ 'isbdBucket'-    -> InventoryFormat -- ^ 'isbdFormat'-    -> InventoryS3BucketDestination-inventoryS3BucketDestination pBucket_ pFormat_ =-  InventoryS3BucketDestination'-    { _isbdPrefix = Nothing-    , _isbdAccountId = Nothing-    , _isbdEncryption = Nothing-    , _isbdBucket = pBucket_-    , _isbdFormat = pFormat_-    }----- | The prefix that is prepended to all inventory results.-isbdPrefix :: Lens' InventoryS3BucketDestination (Maybe Text)-isbdPrefix = lens _isbdPrefix (\ s a -> s{_isbdPrefix = a})---- | The ID of the account that owns the destination bucket.-isbdAccountId :: Lens' InventoryS3BucketDestination (Maybe Text)-isbdAccountId = lens _isbdAccountId (\ s a -> s{_isbdAccountId = a})---- | Contains the type of server-side encryption used to encrypt the inventory results.-isbdEncryption :: Lens' InventoryS3BucketDestination (Maybe InventoryEncryption)-isbdEncryption = lens _isbdEncryption (\ s a -> s{_isbdEncryption = a})---- | The Amazon resource name (ARN) of the bucket where inventory results will be published.-isbdBucket :: Lens' InventoryS3BucketDestination BucketName-isbdBucket = lens _isbdBucket (\ s a -> s{_isbdBucket = a})---- | Specifies the output format of the inventory results.-isbdFormat :: Lens' InventoryS3BucketDestination InventoryFormat-isbdFormat = lens _isbdFormat (\ s a -> s{_isbdFormat = a})--instance FromXML InventoryS3BucketDestination where-        parseXML x-          = InventoryS3BucketDestination' <$>-              (x .@? "Prefix") <*> (x .@? "AccountId") <*>-                (x .@? "Encryption")-                <*> (x .@ "Bucket")-                <*> (x .@ "Format")--instance Hashable InventoryS3BucketDestination where--instance NFData InventoryS3BucketDestination where--instance ToXML InventoryS3BucketDestination where-        toXML InventoryS3BucketDestination'{..}-          = mconcat-              ["Prefix" @= _isbdPrefix,-               "AccountId" @= _isbdAccountId,-               "Encryption" @= _isbdEncryption,-               "Bucket" @= _isbdBucket, "Format" @= _isbdFormat]---- | /See:/ 'inventorySchedule' smart constructor.-newtype InventorySchedule = InventorySchedule'-  { _isFrequency :: InventoryFrequency-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'InventorySchedule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'isFrequency' - Specifies how frequently inventory results are produced.-inventorySchedule-    :: InventoryFrequency -- ^ 'isFrequency'-    -> InventorySchedule-inventorySchedule pFrequency_ = InventorySchedule' {_isFrequency = pFrequency_}----- | Specifies how frequently inventory results are produced.-isFrequency :: Lens' InventorySchedule InventoryFrequency-isFrequency = lens _isFrequency (\ s a -> s{_isFrequency = a})--instance FromXML InventorySchedule where-        parseXML x-          = InventorySchedule' <$> (x .@ "Frequency")--instance Hashable InventorySchedule where--instance NFData InventorySchedule where--instance ToXML InventorySchedule where-        toXML InventorySchedule'{..}-          = mconcat ["Frequency" @= _isFrequency]---- | /See:/ 'jsonInput' smart constructor.-newtype JSONInput = JSONInput'-  { _jiType :: Maybe JSONType-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONInput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'jiType' - The type of JSON. Valid values: Document, Lines.-jsonInput-    :: JSONInput-jsonInput = JSONInput' {_jiType = Nothing}----- | The type of JSON. Valid values: Document, Lines.-jiType :: Lens' JSONInput (Maybe JSONType)-jiType = lens _jiType (\ s a -> s{_jiType = a})--instance Hashable JSONInput where--instance NFData JSONInput where--instance ToXML JSONInput where-        toXML JSONInput'{..} = mconcat ["Type" @= _jiType]---- | /See:/ 'jsonOutput' smart constructor.-newtype JSONOutput = JSONOutput'-  { _joRecordDelimiter :: Maybe Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'JSONOutput' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'joRecordDelimiter' - The value used to separate individual records in the output.-jsonOutput-    :: JSONOutput-jsonOutput = JSONOutput' {_joRecordDelimiter = Nothing}----- | The value used to separate individual records in the output.-joRecordDelimiter :: Lens' JSONOutput (Maybe Text)-joRecordDelimiter = lens _joRecordDelimiter (\ s a -> s{_joRecordDelimiter = a})--instance Hashable JSONOutput where--instance NFData JSONOutput where--instance ToXML JSONOutput where-        toXML JSONOutput'{..}-          = mconcat ["RecordDelimiter" @= _joRecordDelimiter]---- | Container for specifying the AWS Lambda notification configuration.------ /See:/ 'lambdaFunctionConfiguration' smart constructor.-data LambdaFunctionConfiguration = LambdaFunctionConfiguration'-  { _lfcId                :: !(Maybe Text)-  , _lfcFilter            :: !(Maybe NotificationConfigurationFilter)-  , _lfcLambdaFunctionARN :: !Text-  , _lfcEvents            :: ![Event]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LambdaFunctionConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lfcId' - Undocumented member.------ * 'lfcFilter' - Undocumented member.------ * 'lfcLambdaFunctionARN' - Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type.------ * 'lfcEvents' - Undocumented member.-lambdaFunctionConfiguration-    :: Text -- ^ 'lfcLambdaFunctionARN'-    -> LambdaFunctionConfiguration-lambdaFunctionConfiguration pLambdaFunctionARN_ =-  LambdaFunctionConfiguration'-    { _lfcId = Nothing-    , _lfcFilter = Nothing-    , _lfcLambdaFunctionARN = pLambdaFunctionARN_-    , _lfcEvents = mempty-    }----- | Undocumented member.-lfcId :: Lens' LambdaFunctionConfiguration (Maybe Text)-lfcId = lens _lfcId (\ s a -> s{_lfcId = a})---- | Undocumented member.-lfcFilter :: Lens' LambdaFunctionConfiguration (Maybe NotificationConfigurationFilter)-lfcFilter = lens _lfcFilter (\ s a -> s{_lfcFilter = a})---- | Lambda cloud function ARN that Amazon S3 can invoke when it detects events of the specified type.-lfcLambdaFunctionARN :: Lens' LambdaFunctionConfiguration Text-lfcLambdaFunctionARN = lens _lfcLambdaFunctionARN (\ s a -> s{_lfcLambdaFunctionARN = a})---- | Undocumented member.-lfcEvents :: Lens' LambdaFunctionConfiguration [Event]-lfcEvents = lens _lfcEvents (\ s a -> s{_lfcEvents = a}) . _Coerce--instance FromXML LambdaFunctionConfiguration where-        parseXML x-          = LambdaFunctionConfiguration' <$>-              (x .@? "Id") <*> (x .@? "Filter") <*>-                (x .@ "CloudFunction")-                <*> (parseXMLList "Event" x)--instance Hashable LambdaFunctionConfiguration where--instance NFData LambdaFunctionConfiguration where--instance ToXML LambdaFunctionConfiguration where-        toXML LambdaFunctionConfiguration'{..}-          = mconcat-              ["Id" @= _lfcId, "Filter" @= _lfcFilter,-               "CloudFunction" @= _lfcLambdaFunctionARN,-               toXMLList "Event" _lfcEvents]---- | /See:/ 'lifecycleExpiration' smart constructor.-data LifecycleExpiration = LifecycleExpiration'-  { _leDays                      :: !(Maybe Int)-  , _leDate                      :: !(Maybe RFC822)-  , _leExpiredObjectDeleteMarker :: !(Maybe Bool)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LifecycleExpiration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'leDays' - Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.------ * 'leDate' - Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.------ * 'leExpiredObjectDeleteMarker' - Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.-lifecycleExpiration-    :: LifecycleExpiration-lifecycleExpiration =-  LifecycleExpiration'-    { _leDays = Nothing-    , _leDate = Nothing-    , _leExpiredObjectDeleteMarker = Nothing-    }----- | Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.-leDays :: Lens' LifecycleExpiration (Maybe Int)-leDays = lens _leDays (\ s a -> s{_leDays = a})---- | Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.-leDate :: Lens' LifecycleExpiration (Maybe UTCTime)-leDate = lens _leDate (\ s a -> s{_leDate = a}) . mapping _Time---- | Indicates whether Amazon S3 will remove a delete marker with no noncurrent versions. If set to true, the delete marker will be expired; if set to false the policy takes no action. This cannot be specified with Days or Date in a Lifecycle Expiration Policy.-leExpiredObjectDeleteMarker :: Lens' LifecycleExpiration (Maybe Bool)-leExpiredObjectDeleteMarker = lens _leExpiredObjectDeleteMarker (\ s a -> s{_leExpiredObjectDeleteMarker = a})--instance FromXML LifecycleExpiration where-        parseXML x-          = LifecycleExpiration' <$>-              (x .@? "Days") <*> (x .@? "Date") <*>-                (x .@? "ExpiredObjectDeleteMarker")--instance Hashable LifecycleExpiration where--instance NFData LifecycleExpiration where--instance ToXML LifecycleExpiration where-        toXML LifecycleExpiration'{..}-          = mconcat-              ["Days" @= _leDays, "Date" @= _leDate,-               "ExpiredObjectDeleteMarker" @=-                 _leExpiredObjectDeleteMarker]---- | /See:/ 'lifecycleRule' smart constructor.-data LifecycleRule = LifecycleRule'-  { _lrTransitions                    :: !(Maybe [Transition])-  , _lrNoncurrentVersionExpiration    :: !(Maybe NoncurrentVersionExpiration)-  , _lrPrefix                         :: !(Maybe Text)-  , _lrNoncurrentVersionTransitions   :: !(Maybe [NoncurrentVersionTransition])-  , _lrExpiration                     :: !(Maybe LifecycleExpiration)-  , _lrId                             :: !(Maybe Text)-  , _lrFilter                         :: !(Maybe LifecycleRuleFilter)-  , _lrAbortIncompleteMultipartUpload :: !(Maybe AbortIncompleteMultipartUpload)-  , _lrStatus                         :: !ExpirationStatus-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LifecycleRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrTransitions' - Undocumented member.------ * 'lrNoncurrentVersionExpiration' - Undocumented member.------ * 'lrPrefix' - Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.------ * 'lrNoncurrentVersionTransitions' - Undocumented member.------ * 'lrExpiration' - Undocumented member.------ * 'lrId' - Unique identifier for the rule. The value cannot be longer than 255 characters.------ * 'lrFilter' - Undocumented member.------ * 'lrAbortIncompleteMultipartUpload' - Undocumented member.------ * 'lrStatus' - If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.-lifecycleRule-    :: ExpirationStatus -- ^ 'lrStatus'-    -> LifecycleRule-lifecycleRule pStatus_ =-  LifecycleRule'-    { _lrTransitions = Nothing-    , _lrNoncurrentVersionExpiration = Nothing-    , _lrPrefix = Nothing-    , _lrNoncurrentVersionTransitions = Nothing-    , _lrExpiration = Nothing-    , _lrId = Nothing-    , _lrFilter = Nothing-    , _lrAbortIncompleteMultipartUpload = Nothing-    , _lrStatus = pStatus_-    }----- | Undocumented member.-lrTransitions :: Lens' LifecycleRule [Transition]-lrTransitions = lens _lrTransitions (\ s a -> s{_lrTransitions = a}) . _Default . _Coerce---- | Undocumented member.-lrNoncurrentVersionExpiration :: Lens' LifecycleRule (Maybe NoncurrentVersionExpiration)-lrNoncurrentVersionExpiration = lens _lrNoncurrentVersionExpiration (\ s a -> s{_lrNoncurrentVersionExpiration = a})---- | Prefix identifying one or more objects to which the rule applies. This is deprecated; use Filter instead.-lrPrefix :: Lens' LifecycleRule (Maybe Text)-lrPrefix = lens _lrPrefix (\ s a -> s{_lrPrefix = a})---- | Undocumented member.-lrNoncurrentVersionTransitions :: Lens' LifecycleRule [NoncurrentVersionTransition]-lrNoncurrentVersionTransitions = lens _lrNoncurrentVersionTransitions (\ s a -> s{_lrNoncurrentVersionTransitions = a}) . _Default . _Coerce---- | Undocumented member.-lrExpiration :: Lens' LifecycleRule (Maybe LifecycleExpiration)-lrExpiration = lens _lrExpiration (\ s a -> s{_lrExpiration = a})---- | Unique identifier for the rule. The value cannot be longer than 255 characters.-lrId :: Lens' LifecycleRule (Maybe Text)-lrId = lens _lrId (\ s a -> s{_lrId = a})---- | Undocumented member.-lrFilter :: Lens' LifecycleRule (Maybe LifecycleRuleFilter)-lrFilter = lens _lrFilter (\ s a -> s{_lrFilter = a})---- | Undocumented member.-lrAbortIncompleteMultipartUpload :: Lens' LifecycleRule (Maybe AbortIncompleteMultipartUpload)-lrAbortIncompleteMultipartUpload = lens _lrAbortIncompleteMultipartUpload (\ s a -> s{_lrAbortIncompleteMultipartUpload = a})---- | If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.-lrStatus :: Lens' LifecycleRule ExpirationStatus-lrStatus = lens _lrStatus (\ s a -> s{_lrStatus = a})--instance FromXML LifecycleRule where-        parseXML x-          = LifecycleRule' <$>-              (may (parseXMLList "Transition") x) <*>-                (x .@? "NoncurrentVersionExpiration")-                <*> (x .@? "Prefix")-                <*>-                (may (parseXMLList "NoncurrentVersionTransition") x)-                <*> (x .@? "Expiration")-                <*> (x .@? "ID")-                <*> (x .@? "Filter")-                <*> (x .@? "AbortIncompleteMultipartUpload")-                <*> (x .@ "Status")--instance Hashable LifecycleRule where--instance NFData LifecycleRule where--instance ToXML LifecycleRule where-        toXML LifecycleRule'{..}-          = mconcat-              [toXML (toXMLList "Transition" <$> _lrTransitions),-               "NoncurrentVersionExpiration" @=-                 _lrNoncurrentVersionExpiration,-               "Prefix" @= _lrPrefix,-               toXML-                 (toXMLList "NoncurrentVersionTransition" <$>-                    _lrNoncurrentVersionTransitions),-               "Expiration" @= _lrExpiration, "ID" @= _lrId,-               "Filter" @= _lrFilter,-               "AbortIncompleteMultipartUpload" @=-                 _lrAbortIncompleteMultipartUpload,-               "Status" @= _lrStatus]---- | This is used in a Lifecycle Rule Filter to apply a logical AND to two or more predicates. The Lifecycle Rule will apply to any object matching all of the predicates configured inside the And operator.------ /See:/ 'lifecycleRuleAndOperator' smart constructor.-data LifecycleRuleAndOperator = LifecycleRuleAndOperator'-  { _lraoPrefix :: !(Maybe Text)-  , _lraoTags   :: !(Maybe [Tag])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LifecycleRuleAndOperator' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lraoPrefix' - Undocumented member.------ * 'lraoTags' - All of these tags must exist in the object's tag set in order for the rule to apply.-lifecycleRuleAndOperator-    :: LifecycleRuleAndOperator-lifecycleRuleAndOperator =-  LifecycleRuleAndOperator' {_lraoPrefix = Nothing, _lraoTags = Nothing}----- | Undocumented member.-lraoPrefix :: Lens' LifecycleRuleAndOperator (Maybe Text)-lraoPrefix = lens _lraoPrefix (\ s a -> s{_lraoPrefix = a})---- | All of these tags must exist in the object's tag set in order for the rule to apply.-lraoTags :: Lens' LifecycleRuleAndOperator [Tag]-lraoTags = lens _lraoTags (\ s a -> s{_lraoTags = a}) . _Default . _Coerce--instance FromXML LifecycleRuleAndOperator where-        parseXML x-          = LifecycleRuleAndOperator' <$>-              (x .@? "Prefix") <*>-                (x .@? "Tag" .!@ mempty >>= may (parseXMLList "Tag"))--instance Hashable LifecycleRuleAndOperator where--instance NFData LifecycleRuleAndOperator where--instance ToXML LifecycleRuleAndOperator where-        toXML LifecycleRuleAndOperator'{..}-          = mconcat-              ["Prefix" @= _lraoPrefix,-               "Tag" @= toXML (toXMLList "Tag" <$> _lraoTags)]---- | The Filter is used to identify objects that a Lifecycle Rule applies to. A Filter must have exactly one of Prefix, Tag, or And specified.------ /See:/ 'lifecycleRuleFilter' smart constructor.-data LifecycleRuleFilter = LifecycleRuleFilter'-  { _lrfTag    :: !(Maybe Tag)-  , _lrfPrefix :: !(Maybe Text)-  , _lrfAnd    :: !(Maybe LifecycleRuleAndOperator)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LifecycleRuleFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'lrfTag' - This tag must exist in the object's tag set in order for the rule to apply.------ * 'lrfPrefix' - Prefix identifying one or more objects to which the rule applies.------ * 'lrfAnd' - Undocumented member.-lifecycleRuleFilter-    :: LifecycleRuleFilter-lifecycleRuleFilter =-  LifecycleRuleFilter'-    {_lrfTag = Nothing, _lrfPrefix = Nothing, _lrfAnd = Nothing}----- | This tag must exist in the object's tag set in order for the rule to apply.-lrfTag :: Lens' LifecycleRuleFilter (Maybe Tag)-lrfTag = lens _lrfTag (\ s a -> s{_lrfTag = a})---- | Prefix identifying one or more objects to which the rule applies.-lrfPrefix :: Lens' LifecycleRuleFilter (Maybe Text)-lrfPrefix = lens _lrfPrefix (\ s a -> s{_lrfPrefix = a})---- | Undocumented member.-lrfAnd :: Lens' LifecycleRuleFilter (Maybe LifecycleRuleAndOperator)-lrfAnd = lens _lrfAnd (\ s a -> s{_lrfAnd = a})--instance FromXML LifecycleRuleFilter where-        parseXML x-          = LifecycleRuleFilter' <$>-              (x .@? "Tag") <*> (x .@? "Prefix") <*> (x .@? "And")--instance Hashable LifecycleRuleFilter where--instance NFData LifecycleRuleFilter where--instance ToXML LifecycleRuleFilter where-        toXML LifecycleRuleFilter'{..}-          = mconcat-              ["Tag" @= _lrfTag, "Prefix" @= _lrfPrefix,-               "And" @= _lrfAnd]---- | Container for logging information. Presence of this element indicates that logging is enabled. Parameters TargetBucket and TargetPrefix are required in this case.------ /See:/ 'loggingEnabled' smart constructor.-data LoggingEnabled = LoggingEnabled'-  { _leTargetGrants :: !(Maybe [TargetGrant])-  , _leTargetBucket :: !Text-  , _leTargetPrefix :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'LoggingEnabled' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'leTargetGrants' - Undocumented member.------ * 'leTargetBucket' - Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.------ * 'leTargetPrefix' - This element lets you specify a prefix for the keys that the log files will be stored under.-loggingEnabled-    :: Text -- ^ 'leTargetBucket'-    -> Text -- ^ 'leTargetPrefix'-    -> LoggingEnabled-loggingEnabled pTargetBucket_ pTargetPrefix_ =-  LoggingEnabled'-    { _leTargetGrants = Nothing-    , _leTargetBucket = pTargetBucket_-    , _leTargetPrefix = pTargetPrefix_-    }----- | Undocumented member.-leTargetGrants :: Lens' LoggingEnabled [TargetGrant]-leTargetGrants = lens _leTargetGrants (\ s a -> s{_leTargetGrants = a}) . _Default . _Coerce---- | Specifies the bucket where you want Amazon S3 to store server access logs. You can have your logs delivered to any bucket that you own, including the same bucket that is being logged. You can also configure multiple buckets to deliver their logs to the same target bucket. In this case you should choose a different TargetPrefix for each source bucket so that the delivered log files can be distinguished by key.-leTargetBucket :: Lens' LoggingEnabled Text-leTargetBucket = lens _leTargetBucket (\ s a -> s{_leTargetBucket = a})---- | This element lets you specify a prefix for the keys that the log files will be stored under.-leTargetPrefix :: Lens' LoggingEnabled Text-leTargetPrefix = lens _leTargetPrefix (\ s a -> s{_leTargetPrefix = a})--instance FromXML LoggingEnabled where-        parseXML x-          = LoggingEnabled' <$>-              (x .@? "TargetGrants" .!@ mempty >>=-                 may (parseXMLList "Grant"))-                <*> (x .@ "TargetBucket")-                <*> (x .@ "TargetPrefix")--instance Hashable LoggingEnabled where--instance NFData LoggingEnabled where--instance ToXML LoggingEnabled where-        toXML LoggingEnabled'{..}-          = mconcat-              ["TargetGrants" @=-                 toXML (toXMLList "Grant" <$> _leTargetGrants),-               "TargetBucket" @= _leTargetBucket,-               "TargetPrefix" @= _leTargetPrefix]---- | A metadata key-value pair to store with an object.------ /See:/ 'metadataEntry' smart constructor.-data MetadataEntry = MetadataEntry'-  { _meValue :: !(Maybe Text)-  , _meName  :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MetadataEntry' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'meValue' - Undocumented member.------ * 'meName' - Undocumented member.-metadataEntry-    :: MetadataEntry-metadataEntry = MetadataEntry' {_meValue = Nothing, _meName = Nothing}----- | Undocumented member.-meValue :: Lens' MetadataEntry (Maybe Text)-meValue = lens _meValue (\ s a -> s{_meValue = a})---- | Undocumented member.-meName :: Lens' MetadataEntry (Maybe Text)-meName = lens _meName (\ s a -> s{_meName = a})--instance Hashable MetadataEntry where--instance NFData MetadataEntry where--instance ToXML MetadataEntry where-        toXML MetadataEntry'{..}-          = mconcat ["Value" @= _meValue, "Name" @= _meName]---- | /See:/ 'metricsAndOperator' smart constructor.-data MetricsAndOperator = MetricsAndOperator'-  { _maoPrefix :: !(Maybe Text)-  , _maoTags   :: !(Maybe [Tag])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MetricsAndOperator' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'maoPrefix' - The prefix used when evaluating an AND predicate.------ * 'maoTags' - The list of tags used when evaluating an AND predicate.-metricsAndOperator-    :: MetricsAndOperator-metricsAndOperator =-  MetricsAndOperator' {_maoPrefix = Nothing, _maoTags = Nothing}----- | The prefix used when evaluating an AND predicate.-maoPrefix :: Lens' MetricsAndOperator (Maybe Text)-maoPrefix = lens _maoPrefix (\ s a -> s{_maoPrefix = a})---- | The list of tags used when evaluating an AND predicate.-maoTags :: Lens' MetricsAndOperator [Tag]-maoTags = lens _maoTags (\ s a -> s{_maoTags = a}) . _Default . _Coerce--instance FromXML MetricsAndOperator where-        parseXML x-          = MetricsAndOperator' <$>-              (x .@? "Prefix") <*>-                (x .@? "Tag" .!@ mempty >>= may (parseXMLList "Tag"))--instance Hashable MetricsAndOperator where--instance NFData MetricsAndOperator where--instance ToXML MetricsAndOperator where-        toXML MetricsAndOperator'{..}-          = mconcat-              ["Prefix" @= _maoPrefix,-               "Tag" @= toXML (toXMLList "Tag" <$> _maoTags)]---- | /See:/ 'metricsConfiguration' smart constructor.-data MetricsConfiguration = MetricsConfiguration'-  { _mcFilter :: !(Maybe MetricsFilter)-  , _mcId     :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MetricsConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mcFilter' - Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).------ * 'mcId' - The ID used to identify the metrics configuration.-metricsConfiguration-    :: Text -- ^ 'mcId'-    -> MetricsConfiguration-metricsConfiguration pId_ =-  MetricsConfiguration' {_mcFilter = Nothing, _mcId = pId_}----- | Specifies a metrics configuration filter. The metrics configuration will only include objects that meet the filter's criteria. A filter must be a prefix, a tag, or a conjunction (MetricsAndOperator).-mcFilter :: Lens' MetricsConfiguration (Maybe MetricsFilter)-mcFilter = lens _mcFilter (\ s a -> s{_mcFilter = a})---- | The ID used to identify the metrics configuration.-mcId :: Lens' MetricsConfiguration Text-mcId = lens _mcId (\ s a -> s{_mcId = a})--instance FromXML MetricsConfiguration where-        parseXML x-          = MetricsConfiguration' <$>-              (x .@? "Filter") <*> (x .@ "Id")--instance Hashable MetricsConfiguration where--instance NFData MetricsConfiguration where--instance ToXML MetricsConfiguration where-        toXML MetricsConfiguration'{..}-          = mconcat ["Filter" @= _mcFilter, "Id" @= _mcId]---- | /See:/ 'metricsFilter' smart constructor.-data MetricsFilter = MetricsFilter'-  { _mfTag    :: !(Maybe Tag)-  , _mfPrefix :: !(Maybe Text)-  , _mfAnd    :: !(Maybe MetricsAndOperator)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MetricsFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'mfTag' - The tag used when evaluating a metrics filter.------ * 'mfPrefix' - The prefix used when evaluating a metrics filter.------ * 'mfAnd' - A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.-metricsFilter-    :: MetricsFilter-metricsFilter =-  MetricsFilter' {_mfTag = Nothing, _mfPrefix = Nothing, _mfAnd = Nothing}----- | The tag used when evaluating a metrics filter.-mfTag :: Lens' MetricsFilter (Maybe Tag)-mfTag = lens _mfTag (\ s a -> s{_mfTag = a})---- | The prefix used when evaluating a metrics filter.-mfPrefix :: Lens' MetricsFilter (Maybe Text)-mfPrefix = lens _mfPrefix (\ s a -> s{_mfPrefix = a})---- | A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.-mfAnd :: Lens' MetricsFilter (Maybe MetricsAndOperator)-mfAnd = lens _mfAnd (\ s a -> s{_mfAnd = a})--instance FromXML MetricsFilter where-        parseXML x-          = MetricsFilter' <$>-              (x .@? "Tag") <*> (x .@? "Prefix") <*> (x .@? "And")--instance Hashable MetricsFilter where--instance NFData MetricsFilter where--instance ToXML MetricsFilter where-        toXML MetricsFilter'{..}-          = mconcat-              ["Tag" @= _mfTag, "Prefix" @= _mfPrefix,-               "And" @= _mfAnd]---- | /See:/ 'multipartUpload' smart constructor.-data MultipartUpload = MultipartUpload'-  { _muInitiated    :: !(Maybe RFC822)-  , _muInitiator    :: !(Maybe Initiator)-  , _muOwner        :: !(Maybe Owner)-  , _muKey          :: !(Maybe ObjectKey)-  , _muStorageClass :: !(Maybe StorageClass)-  , _muUploadId     :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'MultipartUpload' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'muInitiated' - Date and time at which the multipart upload was initiated.------ * 'muInitiator' - Identifies who initiated the multipart upload.------ * 'muOwner' - Undocumented member.------ * 'muKey' - Key of the object for which the multipart upload was initiated.------ * 'muStorageClass' - The class of storage used to store the object.------ * 'muUploadId' - Upload ID that identifies the multipart upload.-multipartUpload-    :: MultipartUpload-multipartUpload =-  MultipartUpload'-    { _muInitiated = Nothing-    , _muInitiator = Nothing-    , _muOwner = Nothing-    , _muKey = Nothing-    , _muStorageClass = Nothing-    , _muUploadId = Nothing-    }----- | Date and time at which the multipart upload was initiated.-muInitiated :: Lens' MultipartUpload (Maybe UTCTime)-muInitiated = lens _muInitiated (\ s a -> s{_muInitiated = a}) . mapping _Time---- | Identifies who initiated the multipart upload.-muInitiator :: Lens' MultipartUpload (Maybe Initiator)-muInitiator = lens _muInitiator (\ s a -> s{_muInitiator = a})---- | Undocumented member.-muOwner :: Lens' MultipartUpload (Maybe Owner)-muOwner = lens _muOwner (\ s a -> s{_muOwner = a})---- | Key of the object for which the multipart upload was initiated.-muKey :: Lens' MultipartUpload (Maybe ObjectKey)-muKey = lens _muKey (\ s a -> s{_muKey = a})---- | The class of storage used to store the object.-muStorageClass :: Lens' MultipartUpload (Maybe StorageClass)-muStorageClass = lens _muStorageClass (\ s a -> s{_muStorageClass = a})---- | Upload ID that identifies the multipart upload.-muUploadId :: Lens' MultipartUpload (Maybe Text)-muUploadId = lens _muUploadId (\ s a -> s{_muUploadId = a})--instance FromXML MultipartUpload where-        parseXML x-          = MultipartUpload' <$>-              (x .@? "Initiated") <*> (x .@? "Initiator") <*>-                (x .@? "Owner")-                <*> (x .@? "Key")-                <*> (x .@? "StorageClass")-                <*> (x .@? "UploadId")--instance Hashable MultipartUpload where--instance NFData MultipartUpload where---- | Specifies when noncurrent object versions expire. Upon expiration, Amazon S3 permanently deletes the noncurrent object versions. You set this lifecycle configuration action on a bucket that has versioning enabled (or suspended) to request that Amazon S3 delete noncurrent object versions at a specific period in the object's lifetime.------ /See:/ 'noncurrentVersionExpiration' smart constructor.-newtype NoncurrentVersionExpiration = NoncurrentVersionExpiration'-  { _nveNoncurrentDays :: Int-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NoncurrentVersionExpiration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nveNoncurrentDays' - <http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>-noncurrentVersionExpiration-    :: Int -- ^ 'nveNoncurrentDays'-    -> NoncurrentVersionExpiration-noncurrentVersionExpiration pNoncurrentDays_ =-  NoncurrentVersionExpiration' {_nveNoncurrentDays = pNoncurrentDays_}----- | <http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>-nveNoncurrentDays :: Lens' NoncurrentVersionExpiration Int-nveNoncurrentDays = lens _nveNoncurrentDays (\ s a -> s{_nveNoncurrentDays = a})--instance FromXML NoncurrentVersionExpiration where-        parseXML x-          = NoncurrentVersionExpiration' <$>-              (x .@ "NoncurrentDays")--instance Hashable NoncurrentVersionExpiration where--instance NFData NoncurrentVersionExpiration where--instance ToXML NoncurrentVersionExpiration where-        toXML NoncurrentVersionExpiration'{..}-          = mconcat ["NoncurrentDays" @= _nveNoncurrentDays]---- | Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA or GLACIER storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA or GLACIER storage class at a specific period in the object's lifetime.------ /See:/ 'noncurrentVersionTransition' smart constructor.-data NoncurrentVersionTransition = NoncurrentVersionTransition'-  { _nvtNoncurrentDays :: !Int-  , _nvtStorageClass   :: !TransitionStorageClass-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NoncurrentVersionTransition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'nvtNoncurrentDays' - <http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>------ * 'nvtStorageClass' - The class of storage used to store the object.-noncurrentVersionTransition-    :: Int -- ^ 'nvtNoncurrentDays'-    -> TransitionStorageClass -- ^ 'nvtStorageClass'-    -> NoncurrentVersionTransition-noncurrentVersionTransition pNoncurrentDays_ pStorageClass_ =-  NoncurrentVersionTransition'-    {_nvtNoncurrentDays = pNoncurrentDays_, _nvtStorageClass = pStorageClass_}----- | <http://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html How Amazon S3 Calculates When an Object Became Noncurrent>-nvtNoncurrentDays :: Lens' NoncurrentVersionTransition Int-nvtNoncurrentDays = lens _nvtNoncurrentDays (\ s a -> s{_nvtNoncurrentDays = a})---- | The class of storage used to store the object.-nvtStorageClass :: Lens' NoncurrentVersionTransition TransitionStorageClass-nvtStorageClass = lens _nvtStorageClass (\ s a -> s{_nvtStorageClass = a})--instance FromXML NoncurrentVersionTransition where-        parseXML x-          = NoncurrentVersionTransition' <$>-              (x .@ "NoncurrentDays") <*> (x .@ "StorageClass")--instance Hashable NoncurrentVersionTransition where--instance NFData NoncurrentVersionTransition where--instance ToXML NoncurrentVersionTransition where-        toXML NoncurrentVersionTransition'{..}-          = mconcat-              ["NoncurrentDays" @= _nvtNoncurrentDays,-               "StorageClass" @= _nvtStorageClass]---- | Container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off on the bucket.------ /See:/ 'notificationConfiguration' smart constructor.-data NotificationConfiguration = NotificationConfiguration'-  { _ncQueueConfigurations          :: !(Maybe [QueueConfiguration])-  , _ncTopicConfigurations          :: !(Maybe [TopicConfiguration])-  , _ncLambdaFunctionConfigurations :: !(Maybe [LambdaFunctionConfiguration])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NotificationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncQueueConfigurations' - Undocumented member.------ * 'ncTopicConfigurations' - Undocumented member.------ * 'ncLambdaFunctionConfigurations' - Undocumented member.-notificationConfiguration-    :: NotificationConfiguration-notificationConfiguration =-  NotificationConfiguration'-    { _ncQueueConfigurations = Nothing-    , _ncTopicConfigurations = Nothing-    , _ncLambdaFunctionConfigurations = Nothing-    }----- | Undocumented member.-ncQueueConfigurations :: Lens' NotificationConfiguration [QueueConfiguration]-ncQueueConfigurations = lens _ncQueueConfigurations (\ s a -> s{_ncQueueConfigurations = a}) . _Default . _Coerce---- | Undocumented member.-ncTopicConfigurations :: Lens' NotificationConfiguration [TopicConfiguration]-ncTopicConfigurations = lens _ncTopicConfigurations (\ s a -> s{_ncTopicConfigurations = a}) . _Default . _Coerce---- | Undocumented member.-ncLambdaFunctionConfigurations :: Lens' NotificationConfiguration [LambdaFunctionConfiguration]-ncLambdaFunctionConfigurations = lens _ncLambdaFunctionConfigurations (\ s a -> s{_ncLambdaFunctionConfigurations = a}) . _Default . _Coerce--instance FromXML NotificationConfiguration where-        parseXML x-          = NotificationConfiguration' <$>-              (may (parseXMLList "QueueConfiguration") x) <*>-                (may (parseXMLList "TopicConfiguration") x)-                <*>-                (may (parseXMLList "CloudFunctionConfiguration") x)--instance Hashable NotificationConfiguration where--instance NFData NotificationConfiguration where--instance ToXML NotificationConfiguration where-        toXML NotificationConfiguration'{..}-          = mconcat-              [toXML-                 (toXMLList "QueueConfiguration" <$>-                    _ncQueueConfigurations),-               toXML-                 (toXMLList "TopicConfiguration" <$>-                    _ncTopicConfigurations),-               toXML-                 (toXMLList "CloudFunctionConfiguration" <$>-                    _ncLambdaFunctionConfigurations)]---- | <http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html Configuring Event Notifications>------ /See:/ 'notificationConfigurationFilter' smart constructor.-newtype NotificationConfigurationFilter = NotificationConfigurationFilter'-  { _ncfKey :: Maybe S3KeyFilter-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'NotificationConfigurationFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ncfKey' - Undocumented member.-notificationConfigurationFilter-    :: NotificationConfigurationFilter-notificationConfigurationFilter =-  NotificationConfigurationFilter' {_ncfKey = Nothing}----- | Undocumented member.-ncfKey :: Lens' NotificationConfigurationFilter (Maybe S3KeyFilter)-ncfKey = lens _ncfKey (\ s a -> s{_ncfKey = a})--instance FromXML NotificationConfigurationFilter-         where-        parseXML x-          = NotificationConfigurationFilter' <$>-              (x .@? "S3Key")--instance Hashable NotificationConfigurationFilter-         where--instance NFData NotificationConfigurationFilter where--instance ToXML NotificationConfigurationFilter where-        toXML NotificationConfigurationFilter'{..}-          = mconcat ["S3Key" @= _ncfKey]---- | /See:/ 'object'' smart constructor.-data Object = Object'-  { _oOwner        :: !(Maybe Owner)-  , _oETag         :: !ETag-  , _oSize         :: !Int-  , _oKey          :: !ObjectKey-  , _oStorageClass :: !ObjectStorageClass-  , _oLastModified :: !RFC822-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Object' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oOwner' - Undocumented member.------ * 'oETag' - Undocumented member.------ * 'oSize' - Undocumented member.------ * 'oKey' - Undocumented member.------ * 'oStorageClass' - The class of storage used to store the object.------ * 'oLastModified' - Undocumented member.-object'-    :: ETag -- ^ 'oETag'-    -> Int -- ^ 'oSize'-    -> ObjectKey -- ^ 'oKey'-    -> ObjectStorageClass -- ^ 'oStorageClass'-    -> UTCTime -- ^ 'oLastModified'-    -> Object-object' pETag_ pSize_ pKey_ pStorageClass_ pLastModified_ =-  Object'-    { _oOwner = Nothing-    , _oETag = pETag_-    , _oSize = pSize_-    , _oKey = pKey_-    , _oStorageClass = pStorageClass_-    , _oLastModified = _Time # pLastModified_-    }----- | Undocumented member.-oOwner :: Lens' Object (Maybe Owner)-oOwner = lens _oOwner (\ s a -> s{_oOwner = a})---- | Undocumented member.-oETag :: Lens' Object ETag-oETag = lens _oETag (\ s a -> s{_oETag = a})---- | Undocumented member.-oSize :: Lens' Object Int-oSize = lens _oSize (\ s a -> s{_oSize = a})---- | Undocumented member.-oKey :: Lens' Object ObjectKey-oKey = lens _oKey (\ s a -> s{_oKey = a})---- | The class of storage used to store the object.-oStorageClass :: Lens' Object ObjectStorageClass-oStorageClass = lens _oStorageClass (\ s a -> s{_oStorageClass = a})---- | Undocumented member.-oLastModified :: Lens' Object UTCTime-oLastModified = lens _oLastModified (\ s a -> s{_oLastModified = a}) . _Time--instance FromXML Object where-        parseXML x-          = Object' <$>-              (x .@? "Owner") <*> (x .@ "ETag") <*> (x .@ "Size")-                <*> (x .@ "Key")-                <*> (x .@ "StorageClass")-                <*> (x .@ "LastModified")--instance Hashable Object where--instance NFData Object where---- | /See:/ 'objectIdentifier' smart constructor.-data ObjectIdentifier = ObjectIdentifier'-  { _oiVersionId :: !(Maybe ObjectVersionId)-  , _oiKey       :: !ObjectKey-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectIdentifier' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oiVersionId' - VersionId for the specific version of the object to delete.------ * 'oiKey' - Key name of the object to delete.-objectIdentifier-    :: ObjectKey -- ^ 'oiKey'-    -> ObjectIdentifier-objectIdentifier pKey_ =-  ObjectIdentifier' {_oiVersionId = Nothing, _oiKey = pKey_}----- | VersionId for the specific version of the object to delete.-oiVersionId :: Lens' ObjectIdentifier (Maybe ObjectVersionId)-oiVersionId = lens _oiVersionId (\ s a -> s{_oiVersionId = a})---- | Key name of the object to delete.-oiKey :: Lens' ObjectIdentifier ObjectKey-oiKey = lens _oiKey (\ s a -> s{_oiKey = a})--instance Hashable ObjectIdentifier where--instance NFData ObjectIdentifier where--instance ToXML ObjectIdentifier where-        toXML ObjectIdentifier'{..}-          = mconcat-              ["VersionId" @= _oiVersionId, "Key" @= _oiKey]---- | /See:/ 'objectVersion' smart constructor.-data ObjectVersion = ObjectVersion'-  { _ovETag         :: !(Maybe ETag)-  , _ovVersionId    :: !(Maybe ObjectVersionId)-  , _ovSize         :: !(Maybe Int)-  , _ovIsLatest     :: !(Maybe Bool)-  , _ovOwner        :: !(Maybe Owner)-  , _ovKey          :: !(Maybe ObjectKey)-  , _ovStorageClass :: !(Maybe ObjectVersionStorageClass)-  , _ovLastModified :: !(Maybe RFC822)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ObjectVersion' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ovETag' - Undocumented member.------ * 'ovVersionId' - Version ID of an object.------ * 'ovSize' - Size in bytes of the object.------ * 'ovIsLatest' - Specifies whether the object is (true) or is not (false) the latest version of an object.------ * 'ovOwner' - Undocumented member.------ * 'ovKey' - The object key.------ * 'ovStorageClass' - The class of storage used to store the object.------ * 'ovLastModified' - Date and time the object was last modified.-objectVersion-    :: ObjectVersion-objectVersion =-  ObjectVersion'-    { _ovETag = Nothing-    , _ovVersionId = Nothing-    , _ovSize = Nothing-    , _ovIsLatest = Nothing-    , _ovOwner = Nothing-    , _ovKey = Nothing-    , _ovStorageClass = Nothing-    , _ovLastModified = Nothing-    }----- | Undocumented member.-ovETag :: Lens' ObjectVersion (Maybe ETag)-ovETag = lens _ovETag (\ s a -> s{_ovETag = a})---- | Version ID of an object.-ovVersionId :: Lens' ObjectVersion (Maybe ObjectVersionId)-ovVersionId = lens _ovVersionId (\ s a -> s{_ovVersionId = a})---- | Size in bytes of the object.-ovSize :: Lens' ObjectVersion (Maybe Int)-ovSize = lens _ovSize (\ s a -> s{_ovSize = a})---- | Specifies whether the object is (true) or is not (false) the latest version of an object.-ovIsLatest :: Lens' ObjectVersion (Maybe Bool)-ovIsLatest = lens _ovIsLatest (\ s a -> s{_ovIsLatest = a})---- | Undocumented member.-ovOwner :: Lens' ObjectVersion (Maybe Owner)-ovOwner = lens _ovOwner (\ s a -> s{_ovOwner = a})---- | The object key.-ovKey :: Lens' ObjectVersion (Maybe ObjectKey)-ovKey = lens _ovKey (\ s a -> s{_ovKey = a})---- | The class of storage used to store the object.-ovStorageClass :: Lens' ObjectVersion (Maybe ObjectVersionStorageClass)-ovStorageClass = lens _ovStorageClass (\ s a -> s{_ovStorageClass = a})---- | Date and time the object was last modified.-ovLastModified :: Lens' ObjectVersion (Maybe UTCTime)-ovLastModified = lens _ovLastModified (\ s a -> s{_ovLastModified = a}) . mapping _Time--instance FromXML ObjectVersion where-        parseXML x-          = ObjectVersion' <$>-              (x .@? "ETag") <*> (x .@? "VersionId") <*>-                (x .@? "Size")-                <*> (x .@? "IsLatest")-                <*> (x .@? "Owner")-                <*> (x .@? "Key")-                <*> (x .@? "StorageClass")-                <*> (x .@? "LastModified")--instance Hashable ObjectVersion where--instance NFData ObjectVersion where---- | Describes the location where the restore job's output is stored.------ /See:/ 'outputLocation' smart constructor.-newtype OutputLocation = OutputLocation'-  { _olS3 :: Maybe S3Location-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'OutputLocation' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'olS3' - Describes an S3 location that will receive the results of the restore request.-outputLocation-    :: OutputLocation-outputLocation = OutputLocation' {_olS3 = Nothing}----- | Describes an S3 location that will receive the results of the restore request.-olS3 :: Lens' OutputLocation (Maybe S3Location)-olS3 = lens _olS3 (\ s a -> s{_olS3 = a})--instance Hashable OutputLocation where--instance NFData OutputLocation where--instance ToXML OutputLocation where-        toXML OutputLocation'{..} = mconcat ["S3" @= _olS3]---- | Describes how results of the Select job are serialized.------ /See:/ 'outputSerialization' smart constructor.-data OutputSerialization = OutputSerialization'-  { _osJSON :: !(Maybe JSONOutput)-  , _osCSV  :: !(Maybe CSVOutput)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'OutputSerialization' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'osJSON' - Specifies JSON as request's output serialization format.------ * 'osCSV' - Describes the serialization of CSV-encoded Select results.-outputSerialization-    :: OutputSerialization-outputSerialization = OutputSerialization' {_osJSON = Nothing, _osCSV = Nothing}----- | Specifies JSON as request's output serialization format.-osJSON :: Lens' OutputSerialization (Maybe JSONOutput)-osJSON = lens _osJSON (\ s a -> s{_osJSON = a})---- | Describes the serialization of CSV-encoded Select results.-osCSV :: Lens' OutputSerialization (Maybe CSVOutput)-osCSV = lens _osCSV (\ s a -> s{_osCSV = a})--instance Hashable OutputSerialization where--instance NFData OutputSerialization where--instance ToXML OutputSerialization where-        toXML OutputSerialization'{..}-          = mconcat ["JSON" @= _osJSON, "CSV" @= _osCSV]---- | /See:/ 'owner' smart constructor.-data Owner = Owner'-  { _oDisplayName :: !(Maybe Text)-  , _oId          :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Owner' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'oDisplayName' - Undocumented member.------ * 'oId' - Undocumented member.-owner-    :: Owner-owner = Owner' {_oDisplayName = Nothing, _oId = Nothing}----- | Undocumented member.-oDisplayName :: Lens' Owner (Maybe Text)-oDisplayName = lens _oDisplayName (\ s a -> s{_oDisplayName = a})---- | Undocumented member.-oId :: Lens' Owner (Maybe Text)-oId = lens _oId (\ s a -> s{_oId = a})--instance FromXML Owner where-        parseXML x-          = Owner' <$> (x .@? "DisplayName") <*> (x .@? "ID")--instance Hashable Owner where--instance NFData Owner where--instance ToXML Owner where-        toXML Owner'{..}-          = mconcat-              ["DisplayName" @= _oDisplayName, "ID" @= _oId]---- | /See:/ 'part' smart constructor.-data Part = Part'-  { _pETag         :: !(Maybe ETag)-  , _pSize         :: !(Maybe Int)-  , _pPartNumber   :: !(Maybe Int)-  , _pLastModified :: !(Maybe RFC822)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Part' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pETag' - Entity tag returned when the part was uploaded.------ * 'pSize' - Size of the uploaded part data.------ * 'pPartNumber' - Part number identifying the part. This is a positive integer between 1 and 10,000.------ * 'pLastModified' - Date and time at which the part was uploaded.-part-    :: Part-part =-  Part'-    { _pETag = Nothing-    , _pSize = Nothing-    , _pPartNumber = Nothing-    , _pLastModified = Nothing-    }----- | Entity tag returned when the part was uploaded.-pETag :: Lens' Part (Maybe ETag)-pETag = lens _pETag (\ s a -> s{_pETag = a})---- | Size of the uploaded part data.-pSize :: Lens' Part (Maybe Int)-pSize = lens _pSize (\ s a -> s{_pSize = a})---- | Part number identifying the part. This is a positive integer between 1 and 10,000.-pPartNumber :: Lens' Part (Maybe Int)-pPartNumber = lens _pPartNumber (\ s a -> s{_pPartNumber = a})---- | Date and time at which the part was uploaded.-pLastModified :: Lens' Part (Maybe UTCTime)-pLastModified = lens _pLastModified (\ s a -> s{_pLastModified = a}) . mapping _Time--instance FromXML Part where-        parseXML x-          = Part' <$>-              (x .@? "ETag") <*> (x .@? "Size") <*>-                (x .@? "PartNumber")-                <*> (x .@? "LastModified")--instance Hashable Part where--instance NFData Part where---- | /See:/ 'progress' smart constructor.-data Progress = Progress'-  { _pBytesReturned  :: !(Maybe Integer)-  , _pBytesScanned   :: !(Maybe Integer)-  , _pBytesProcessed :: !(Maybe Integer)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Progress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'pBytesReturned' - Current number of bytes of records payload data returned.------ * 'pBytesScanned' - Current number of object bytes scanned.------ * 'pBytesProcessed' - Current number of uncompressed object bytes processed.-progress-    :: Progress-progress =-  Progress'-    { _pBytesReturned = Nothing-    , _pBytesScanned = Nothing-    , _pBytesProcessed = Nothing-    }----- | Current number of bytes of records payload data returned.-pBytesReturned :: Lens' Progress (Maybe Integer)-pBytesReturned = lens _pBytesReturned (\ s a -> s{_pBytesReturned = a})---- | Current number of object bytes scanned.-pBytesScanned :: Lens' Progress (Maybe Integer)-pBytesScanned = lens _pBytesScanned (\ s a -> s{_pBytesScanned = a})---- | Current number of uncompressed object bytes processed.-pBytesProcessed :: Lens' Progress (Maybe Integer)-pBytesProcessed = lens _pBytesProcessed (\ s a -> s{_pBytesProcessed = a})--instance FromXML Progress where-        parseXML x-          = Progress' <$>-              (x .@? "BytesReturned") <*> (x .@? "BytesScanned")-                <*> (x .@? "BytesProcessed")--instance Hashable Progress where--instance NFData Progress where---- | /See:/ 'progressEvent' smart constructor.-newtype ProgressEvent = ProgressEvent'-  { _peDetails :: Maybe Progress-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ProgressEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'peDetails' - The Progress event details.-progressEvent-    :: ProgressEvent-progressEvent = ProgressEvent' {_peDetails = Nothing}----- | The Progress event details.-peDetails :: Lens' ProgressEvent (Maybe Progress)-peDetails = lens _peDetails (\ s a -> s{_peDetails = a})--instance FromXML ProgressEvent where-        parseXML x = ProgressEvent' <$> (x .@? "Details")--instance Hashable ProgressEvent where--instance NFData ProgressEvent where---- | Container for specifying an configuration when you want Amazon S3 to publish events to an Amazon Simple Queue Service (Amazon SQS) queue.------ /See:/ 'queueConfiguration' smart constructor.-data QueueConfiguration = QueueConfiguration'-  { _qcId       :: !(Maybe Text)-  , _qcFilter   :: !(Maybe NotificationConfigurationFilter)-  , _qcQueueARN :: !Text-  , _qcEvents   :: ![Event]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'QueueConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'qcId' - Undocumented member.------ * 'qcFilter' - Undocumented member.------ * 'qcQueueARN' - Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type.------ * 'qcEvents' - Undocumented member.-queueConfiguration-    :: Text -- ^ 'qcQueueARN'-    -> QueueConfiguration-queueConfiguration pQueueARN_ =-  QueueConfiguration'-    { _qcId = Nothing-    , _qcFilter = Nothing-    , _qcQueueARN = pQueueARN_-    , _qcEvents = mempty-    }----- | Undocumented member.-qcId :: Lens' QueueConfiguration (Maybe Text)-qcId = lens _qcId (\ s a -> s{_qcId = a})---- | Undocumented member.-qcFilter :: Lens' QueueConfiguration (Maybe NotificationConfigurationFilter)-qcFilter = lens _qcFilter (\ s a -> s{_qcFilter = a})---- | Amazon SQS queue ARN to which Amazon S3 will publish a message when it detects events of specified type.-qcQueueARN :: Lens' QueueConfiguration Text-qcQueueARN = lens _qcQueueARN (\ s a -> s{_qcQueueARN = a})---- | Undocumented member.-qcEvents :: Lens' QueueConfiguration [Event]-qcEvents = lens _qcEvents (\ s a -> s{_qcEvents = a}) . _Coerce--instance FromXML QueueConfiguration where-        parseXML x-          = QueueConfiguration' <$>-              (x .@? "Id") <*> (x .@? "Filter") <*> (x .@ "Queue")-                <*> (parseXMLList "Event" x)--instance Hashable QueueConfiguration where--instance NFData QueueConfiguration where--instance ToXML QueueConfiguration where-        toXML QueueConfiguration'{..}-          = mconcat-              ["Id" @= _qcId, "Filter" @= _qcFilter,-               "Queue" @= _qcQueueARN, toXMLList "Event" _qcEvents]---- | /See:/ 'recordsEvent' smart constructor.-newtype RecordsEvent = RecordsEvent'-  { _rePayload :: Maybe Base64-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RecordsEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rePayload' - The byte array of partial, one or more result records.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-recordsEvent-    :: RecordsEvent-recordsEvent = RecordsEvent' {_rePayload = Nothing}----- | The byte array of partial, one or more result records.-- /Note:/ This 'Lens' automatically encodes and decodes Base64 data. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This 'Lens' accepts and returns only raw unencoded data.-rePayload :: Lens' RecordsEvent (Maybe ByteString)-rePayload = lens _rePayload (\ s a -> s{_rePayload = a}) . mapping _Base64--instance FromXML RecordsEvent where-        parseXML x = RecordsEvent' <$> (x .@? "Payload")--instance Hashable RecordsEvent where--instance NFData RecordsEvent where---- | /See:/ 'redirect' smart constructor.-data Redirect = Redirect'-  { _rHostName             :: !(Maybe Text)-  , _rProtocol             :: !(Maybe Protocol)-  , _rHTTPRedirectCode     :: !(Maybe Text)-  , _rReplaceKeyWith       :: !(Maybe Text)-  , _rReplaceKeyPrefixWith :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Redirect' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rHostName' - The host name to use in the redirect request.------ * 'rProtocol' - Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.------ * 'rHTTPRedirectCode' - The HTTP redirect code to use on the response. Not required if one of the siblings is present.------ * 'rReplaceKeyWith' - The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided.------ * 'rReplaceKeyPrefixWith' - The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.-redirect-    :: Redirect-redirect =-  Redirect'-    { _rHostName = Nothing-    , _rProtocol = Nothing-    , _rHTTPRedirectCode = Nothing-    , _rReplaceKeyWith = Nothing-    , _rReplaceKeyPrefixWith = Nothing-    }----- | The host name to use in the redirect request.-rHostName :: Lens' Redirect (Maybe Text)-rHostName = lens _rHostName (\ s a -> s{_rHostName = a})---- | Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.-rProtocol :: Lens' Redirect (Maybe Protocol)-rProtocol = lens _rProtocol (\ s a -> s{_rProtocol = a})---- | The HTTP redirect code to use on the response. Not required if one of the siblings is present.-rHTTPRedirectCode :: Lens' Redirect (Maybe Text)-rHTTPRedirectCode = lens _rHTTPRedirectCode (\ s a -> s{_rHTTPRedirectCode = a})---- | The specific object key to use in the redirect request. For example, redirect request to error.html. Not required if one of the sibling is present. Can be present only if ReplaceKeyPrefixWith is not provided.-rReplaceKeyWith :: Lens' Redirect (Maybe Text)-rReplaceKeyWith = lens _rReplaceKeyWith (\ s a -> s{_rReplaceKeyWith = a})---- | The object key prefix to use in the redirect request. For example, to redirect requests for all pages with prefix docs/ (objects in the docs/ folder) to documents/, you can set a condition block with KeyPrefixEquals set to docs/ and in the Redirect set ReplaceKeyPrefixWith to /documents. Not required if one of the siblings is present. Can be present only if ReplaceKeyWith is not provided.-rReplaceKeyPrefixWith :: Lens' Redirect (Maybe Text)-rReplaceKeyPrefixWith = lens _rReplaceKeyPrefixWith (\ s a -> s{_rReplaceKeyPrefixWith = a})--instance FromXML Redirect where-        parseXML x-          = Redirect' <$>-              (x .@? "HostName") <*> (x .@? "Protocol") <*>-                (x .@? "HttpRedirectCode")-                <*> (x .@? "ReplaceKeyWith")-                <*> (x .@? "ReplaceKeyPrefixWith")--instance Hashable Redirect where--instance NFData Redirect where--instance ToXML Redirect where-        toXML Redirect'{..}-          = mconcat-              ["HostName" @= _rHostName, "Protocol" @= _rProtocol,-               "HttpRedirectCode" @= _rHTTPRedirectCode,-               "ReplaceKeyWith" @= _rReplaceKeyWith,-               "ReplaceKeyPrefixWith" @= _rReplaceKeyPrefixWith]---- | /See:/ 'redirectAllRequestsTo' smart constructor.-data RedirectAllRequestsTo = RedirectAllRequestsTo'-  { _rartProtocol :: !(Maybe Protocol)-  , _rartHostName :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RedirectAllRequestsTo' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rartProtocol' - Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.------ * 'rartHostName' - Name of the host where requests will be redirected.-redirectAllRequestsTo-    :: Text -- ^ 'rartHostName'-    -> RedirectAllRequestsTo-redirectAllRequestsTo pHostName_ =-  RedirectAllRequestsTo' {_rartProtocol = Nothing, _rartHostName = pHostName_}----- | Protocol to use (http, https) when redirecting requests. The default is the protocol that is used in the original request.-rartProtocol :: Lens' RedirectAllRequestsTo (Maybe Protocol)-rartProtocol = lens _rartProtocol (\ s a -> s{_rartProtocol = a})---- | Name of the host where requests will be redirected.-rartHostName :: Lens' RedirectAllRequestsTo Text-rartHostName = lens _rartHostName (\ s a -> s{_rartHostName = a})--instance FromXML RedirectAllRequestsTo where-        parseXML x-          = RedirectAllRequestsTo' <$>-              (x .@? "Protocol") <*> (x .@ "HostName")--instance Hashable RedirectAllRequestsTo where--instance NFData RedirectAllRequestsTo where--instance ToXML RedirectAllRequestsTo where-        toXML RedirectAllRequestsTo'{..}-          = mconcat-              ["Protocol" @= _rartProtocol,-               "HostName" @= _rartHostName]---- | Container for replication rules. You can add as many as 1,000 rules. Total replication configuration size can be up to 2 MB.------ /See:/ 'replicationConfiguration' smart constructor.-data ReplicationConfiguration = ReplicationConfiguration'-  { _rcRole  :: !Text-  , _rcRules :: ![ReplicationRule]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ReplicationConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rcRole' - Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects.------ * 'rcRules' - Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules.-replicationConfiguration-    :: Text -- ^ 'rcRole'-    -> ReplicationConfiguration-replicationConfiguration pRole_ =-  ReplicationConfiguration' {_rcRole = pRole_, _rcRules = mempty}----- | Amazon Resource Name (ARN) of an IAM role for Amazon S3 to assume when replicating the objects.-rcRole :: Lens' ReplicationConfiguration Text-rcRole = lens _rcRole (\ s a -> s{_rcRole = a})---- | Container for information about a particular replication rule. Replication configuration must have at least one rule and can contain up to 1,000 rules.-rcRules :: Lens' ReplicationConfiguration [ReplicationRule]-rcRules = lens _rcRules (\ s a -> s{_rcRules = a}) . _Coerce--instance FromXML ReplicationConfiguration where-        parseXML x-          = ReplicationConfiguration' <$>-              (x .@ "Role") <*> (parseXMLList "Rule" x)--instance Hashable ReplicationConfiguration where--instance NFData ReplicationConfiguration where--instance ToXML ReplicationConfiguration where-        toXML ReplicationConfiguration'{..}-          = mconcat-              ["Role" @= _rcRole, toXMLList "Rule" _rcRules]---- | Container for information about a particular replication rule.------ /See:/ 'replicationRule' smart constructor.-data ReplicationRule = ReplicationRule'-  { _rrId                      :: !(Maybe Text)-  , _rrSourceSelectionCriteria :: !(Maybe SourceSelectionCriteria)-  , _rrPrefix                  :: !Text-  , _rrStatus                  :: !ReplicationRuleStatus-  , _rrDestination             :: !Destination-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'ReplicationRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrId' - Unique identifier for the rule. The value cannot be longer than 255 characters.------ * 'rrSourceSelectionCriteria' - Container for filters that define which source objects should be replicated.------ * 'rrPrefix' - Object keyname prefix identifying one or more objects to which the rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes are not supported.------ * 'rrStatus' - The rule is ignored if status is not Enabled.------ * 'rrDestination' - Container for replication destination information.-replicationRule-    :: Text -- ^ 'rrPrefix'-    -> ReplicationRuleStatus -- ^ 'rrStatus'-    -> Destination -- ^ 'rrDestination'-    -> ReplicationRule-replicationRule pPrefix_ pStatus_ pDestination_ =-  ReplicationRule'-    { _rrId = Nothing-    , _rrSourceSelectionCriteria = Nothing-    , _rrPrefix = pPrefix_-    , _rrStatus = pStatus_-    , _rrDestination = pDestination_-    }----- | Unique identifier for the rule. The value cannot be longer than 255 characters.-rrId :: Lens' ReplicationRule (Maybe Text)-rrId = lens _rrId (\ s a -> s{_rrId = a})---- | Container for filters that define which source objects should be replicated.-rrSourceSelectionCriteria :: Lens' ReplicationRule (Maybe SourceSelectionCriteria)-rrSourceSelectionCriteria = lens _rrSourceSelectionCriteria (\ s a -> s{_rrSourceSelectionCriteria = a})---- | Object keyname prefix identifying one or more objects to which the rule applies. Maximum prefix length can be up to 1,024 characters. Overlapping prefixes are not supported.-rrPrefix :: Lens' ReplicationRule Text-rrPrefix = lens _rrPrefix (\ s a -> s{_rrPrefix = a})---- | The rule is ignored if status is not Enabled.-rrStatus :: Lens' ReplicationRule ReplicationRuleStatus-rrStatus = lens _rrStatus (\ s a -> s{_rrStatus = a})---- | Container for replication destination information.-rrDestination :: Lens' ReplicationRule Destination-rrDestination = lens _rrDestination (\ s a -> s{_rrDestination = a})--instance FromXML ReplicationRule where-        parseXML x-          = ReplicationRule' <$>-              (x .@? "ID") <*> (x .@? "SourceSelectionCriteria")-                <*> (x .@ "Prefix")-                <*> (x .@ "Status")-                <*> (x .@ "Destination")--instance Hashable ReplicationRule where--instance NFData ReplicationRule where--instance ToXML ReplicationRule where-        toXML ReplicationRule'{..}-          = mconcat-              ["ID" @= _rrId,-               "SourceSelectionCriteria" @=-                 _rrSourceSelectionCriteria,-               "Prefix" @= _rrPrefix, "Status" @= _rrStatus,-               "Destination" @= _rrDestination]---- | /See:/ 'requestPaymentConfiguration' smart constructor.-newtype RequestPaymentConfiguration = RequestPaymentConfiguration'-  { _rpcPayer :: Payer-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RequestPaymentConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpcPayer' - Specifies who pays for the download and request fees.-requestPaymentConfiguration-    :: Payer -- ^ 'rpcPayer'-    -> RequestPaymentConfiguration-requestPaymentConfiguration pPayer_ =-  RequestPaymentConfiguration' {_rpcPayer = pPayer_}----- | Specifies who pays for the download and request fees.-rpcPayer :: Lens' RequestPaymentConfiguration Payer-rpcPayer = lens _rpcPayer (\ s a -> s{_rpcPayer = a})--instance Hashable RequestPaymentConfiguration where--instance NFData RequestPaymentConfiguration where--instance ToXML RequestPaymentConfiguration where-        toXML RequestPaymentConfiguration'{..}-          = mconcat ["Payer" @= _rpcPayer]---- | /See:/ 'requestProgress' smart constructor.-newtype RequestProgress = RequestProgress'-  { _rpEnabled :: Maybe Bool-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RequestProgress' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rpEnabled' - Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.-requestProgress-    :: RequestProgress-requestProgress = RequestProgress' {_rpEnabled = Nothing}----- | Specifies whether periodic QueryProgress frames should be sent. Valid values: TRUE, FALSE. Default value: FALSE.-rpEnabled :: Lens' RequestProgress (Maybe Bool)-rpEnabled = lens _rpEnabled (\ s a -> s{_rpEnabled = a})--instance Hashable RequestProgress where--instance NFData RequestProgress where--instance ToXML RequestProgress where-        toXML RequestProgress'{..}-          = mconcat ["Enabled" @= _rpEnabled]---- | Container for restore job parameters.------ /See:/ 'restoreRequest' smart constructor.-data RestoreRequest = RestoreRequest'-  { _rrDays                 :: !(Maybe Int)-  , _rrSelectParameters     :: !(Maybe SelectParameters)-  , _rrOutputLocation       :: !(Maybe OutputLocation)-  , _rrTier                 :: !(Maybe Tier)-  , _rrGlacierJobParameters :: !(Maybe GlacierJobParameters)-  , _rrType                 :: !(Maybe RestoreRequestType)-  , _rrDescription          :: !(Maybe Text)-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'RestoreRequest' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrDays' - Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.------ * 'rrSelectParameters' - Describes the parameters for Select job types.------ * 'rrOutputLocation' - Describes the location where the restore job's output is stored.------ * 'rrTier' - Glacier retrieval tier at which the restore will be processed.------ * 'rrGlacierJobParameters' - Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation.------ * 'rrType' - Type of restore request.------ * 'rrDescription' - The optional description for the job.-restoreRequest-    :: RestoreRequest-restoreRequest =-  RestoreRequest'-    { _rrDays = Nothing-    , _rrSelectParameters = Nothing-    , _rrOutputLocation = Nothing-    , _rrTier = Nothing-    , _rrGlacierJobParameters = Nothing-    , _rrType = Nothing-    , _rrDescription = Nothing-    }----- | Lifetime of the active copy in days. Do not use with restores that specify OutputLocation.-rrDays :: Lens' RestoreRequest (Maybe Int)-rrDays = lens _rrDays (\ s a -> s{_rrDays = a})---- | Describes the parameters for Select job types.-rrSelectParameters :: Lens' RestoreRequest (Maybe SelectParameters)-rrSelectParameters = lens _rrSelectParameters (\ s a -> s{_rrSelectParameters = a})---- | Describes the location where the restore job's output is stored.-rrOutputLocation :: Lens' RestoreRequest (Maybe OutputLocation)-rrOutputLocation = lens _rrOutputLocation (\ s a -> s{_rrOutputLocation = a})---- | Glacier retrieval tier at which the restore will be processed.-rrTier :: Lens' RestoreRequest (Maybe Tier)-rrTier = lens _rrTier (\ s a -> s{_rrTier = a})---- | Glacier related parameters pertaining to this job. Do not use with restores that specify OutputLocation.-rrGlacierJobParameters :: Lens' RestoreRequest (Maybe GlacierJobParameters)-rrGlacierJobParameters = lens _rrGlacierJobParameters (\ s a -> s{_rrGlacierJobParameters = a})---- | Type of restore request.-rrType :: Lens' RestoreRequest (Maybe RestoreRequestType)-rrType = lens _rrType (\ s a -> s{_rrType = a})---- | The optional description for the job.-rrDescription :: Lens' RestoreRequest (Maybe Text)-rrDescription = lens _rrDescription (\ s a -> s{_rrDescription = a})--instance Hashable RestoreRequest where--instance NFData RestoreRequest where--instance ToXML RestoreRequest where-        toXML RestoreRequest'{..}-          = mconcat-              ["Days" @= _rrDays,-               "SelectParameters" @= _rrSelectParameters,-               "OutputLocation" @= _rrOutputLocation,-               "Tier" @= _rrTier,-               "GlacierJobParameters" @= _rrGlacierJobParameters,-               "Type" @= _rrType, "Description" @= _rrDescription]---- | /See:/ 'routingRule' smart constructor.-data RoutingRule = RoutingRule'-  { _rrCondition :: !(Maybe Condition)-  , _rrRedirect  :: !Redirect-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'RoutingRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'rrCondition' - A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.------ * 'rrRedirect' - Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can can specify a different error code to return.-routingRule-    :: Redirect -- ^ 'rrRedirect'-    -> RoutingRule-routingRule pRedirect_ =-  RoutingRule' {_rrCondition = Nothing, _rrRedirect = pRedirect_}----- | A container for describing a condition that must be met for the specified redirect to apply. For example, 1. If request is for pages in the /docs folder, redirect to the /documents folder. 2. If request results in HTTP error 4xx, redirect request to another host where you might process the error.-rrCondition :: Lens' RoutingRule (Maybe Condition)-rrCondition = lens _rrCondition (\ s a -> s{_rrCondition = a})---- | Container for redirect information. You can redirect requests to another host, to another page, or with another protocol. In the event of an error, you can can specify a different error code to return.-rrRedirect :: Lens' RoutingRule Redirect-rrRedirect = lens _rrRedirect (\ s a -> s{_rrRedirect = a})--instance FromXML RoutingRule where-        parseXML x-          = RoutingRule' <$>-              (x .@? "Condition") <*> (x .@ "Redirect")--instance Hashable RoutingRule where--instance NFData RoutingRule where--instance ToXML RoutingRule where-        toXML RoutingRule'{..}-          = mconcat-              ["Condition" @= _rrCondition,-               "Redirect" @= _rrRedirect]---- | Container for object key name prefix and suffix filtering rules.------ /See:/ 's3KeyFilter' smart constructor.-newtype S3KeyFilter = S3KeyFilter'-  { _skfFilterRules :: Maybe [FilterRule]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'S3KeyFilter' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'skfFilterRules' - Undocumented member.-s3KeyFilter-    :: S3KeyFilter-s3KeyFilter = S3KeyFilter' {_skfFilterRules = Nothing}----- | Undocumented member.-skfFilterRules :: Lens' S3KeyFilter [FilterRule]-skfFilterRules = lens _skfFilterRules (\ s a -> s{_skfFilterRules = a}) . _Default . _Coerce--instance FromXML S3KeyFilter where-        parseXML x-          = S3KeyFilter' <$>-              (may (parseXMLList "FilterRule") x)--instance Hashable S3KeyFilter where--instance NFData S3KeyFilter where--instance ToXML S3KeyFilter where-        toXML S3KeyFilter'{..}-          = mconcat-              [toXML (toXMLList "FilterRule" <$> _skfFilterRules)]---- | Describes an S3 location that will receive the results of the restore request.------ /See:/ 's3Location' smart constructor.-data S3Location = S3Location'-  { _slCannedACL         :: !(Maybe ObjectCannedACL)-  , _slAccessControlList :: !(Maybe [Grant])-  , _slUserMetadata      :: !(Maybe [MetadataEntry])-  , _slEncryption        :: !(Maybe Encryption)-  , _slStorageClass      :: !(Maybe StorageClass)-  , _slTagging           :: !(Maybe Tagging)-  , _slBucketName        :: !BucketName-  , _slPrefix            :: !Text-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'S3Location' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'slCannedACL' - The canned ACL to apply to the restore results.------ * 'slAccessControlList' - A list of grants that control access to the staged results.------ * 'slUserMetadata' - A list of metadata to store with the restore results in S3.------ * 'slEncryption' - Undocumented member.------ * 'slStorageClass' - The class of storage used to store the restore results.------ * 'slTagging' - The tag-set that is applied to the restore results.------ * 'slBucketName' - The name of the bucket where the restore results will be placed.------ * 'slPrefix' - The prefix that is prepended to the restore results for this request.-s3Location-    :: BucketName -- ^ 'slBucketName'-    -> Text -- ^ 'slPrefix'-    -> S3Location-s3Location pBucketName_ pPrefix_ =-  S3Location'-    { _slCannedACL = Nothing-    , _slAccessControlList = Nothing-    , _slUserMetadata = Nothing-    , _slEncryption = Nothing-    , _slStorageClass = Nothing-    , _slTagging = Nothing-    , _slBucketName = pBucketName_-    , _slPrefix = pPrefix_-    }----- | The canned ACL to apply to the restore results.-slCannedACL :: Lens' S3Location (Maybe ObjectCannedACL)-slCannedACL = lens _slCannedACL (\ s a -> s{_slCannedACL = a})---- | A list of grants that control access to the staged results.-slAccessControlList :: Lens' S3Location [Grant]-slAccessControlList = lens _slAccessControlList (\ s a -> s{_slAccessControlList = a}) . _Default . _Coerce---- | A list of metadata to store with the restore results in S3.-slUserMetadata :: Lens' S3Location [MetadataEntry]-slUserMetadata = lens _slUserMetadata (\ s a -> s{_slUserMetadata = a}) . _Default . _Coerce---- | Undocumented member.-slEncryption :: Lens' S3Location (Maybe Encryption)-slEncryption = lens _slEncryption (\ s a -> s{_slEncryption = a})---- | The class of storage used to store the restore results.-slStorageClass :: Lens' S3Location (Maybe StorageClass)-slStorageClass = lens _slStorageClass (\ s a -> s{_slStorageClass = a})---- | The tag-set that is applied to the restore results.-slTagging :: Lens' S3Location (Maybe Tagging)-slTagging = lens _slTagging (\ s a -> s{_slTagging = a})---- | The name of the bucket where the restore results will be placed.-slBucketName :: Lens' S3Location BucketName-slBucketName = lens _slBucketName (\ s a -> s{_slBucketName = a})---- | The prefix that is prepended to the restore results for this request.-slPrefix :: Lens' S3Location Text-slPrefix = lens _slPrefix (\ s a -> s{_slPrefix = a})--instance Hashable S3Location where--instance NFData S3Location where--instance ToXML S3Location where-        toXML S3Location'{..}-          = mconcat-              ["CannedACL" @= _slCannedACL,-               "AccessControlList" @=-                 toXML (toXMLList "Grant" <$> _slAccessControlList),-               "UserMetadata" @=-                 toXML-                   (toXMLList "MetadataEntry" <$> _slUserMetadata),-               "Encryption" @= _slEncryption,-               "StorageClass" @= _slStorageClass,-               "Tagging" @= _slTagging,-               "BucketName" @= _slBucketName, "Prefix" @= _slPrefix]---- | /See:/ 's3ServiceError' smart constructor.-data S3ServiceError = S3ServiceError'-  { _sseVersionId :: !(Maybe ObjectVersionId)-  , _sseKey       :: !(Maybe ObjectKey)-  , _sseCode      :: !(Maybe Text)-  , _sseMessage   :: !(Maybe Text)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'S3ServiceError' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sseVersionId' - Undocumented member.------ * 'sseKey' - Undocumented member.------ * 'sseCode' - Undocumented member.------ * 'sseMessage' - Undocumented member.-s3ServiceError-    :: S3ServiceError-s3ServiceError =-  S3ServiceError'-    { _sseVersionId = Nothing-    , _sseKey = Nothing-    , _sseCode = Nothing-    , _sseMessage = Nothing-    }----- | Undocumented member.-sseVersionId :: Lens' S3ServiceError (Maybe ObjectVersionId)-sseVersionId = lens _sseVersionId (\ s a -> s{_sseVersionId = a})---- | Undocumented member.-sseKey :: Lens' S3ServiceError (Maybe ObjectKey)-sseKey = lens _sseKey (\ s a -> s{_sseKey = a})---- | Undocumented member.-sseCode :: Lens' S3ServiceError (Maybe Text)-sseCode = lens _sseCode (\ s a -> s{_sseCode = a})---- | Undocumented member.-sseMessage :: Lens' S3ServiceError (Maybe Text)-sseMessage = lens _sseMessage (\ s a -> s{_sseMessage = a})--instance FromXML S3ServiceError where-        parseXML x-          = S3ServiceError' <$>-              (x .@? "VersionId") <*> (x .@? "Key") <*>-                (x .@? "Code")-                <*> (x .@? "Message")--instance Hashable S3ServiceError where--instance NFData S3ServiceError where---- | Specifies the use of SSE-KMS to encrypt delievered Inventory reports.------ /See:/ 'sSEKMS' smart constructor.-newtype SSEKMS = SSEKMS'-  { _ssekKeyId :: Sensitive Text-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'SSEKMS' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssekKeyId' - Specifies the ID of the AWS Key Management Service (KMS) master encryption key to use for encrypting Inventory reports.-sSEKMS-    :: Text -- ^ 'ssekKeyId'-    -> SSEKMS-sSEKMS pKeyId_ = SSEKMS' {_ssekKeyId = _Sensitive # pKeyId_}----- | Specifies the ID of the AWS Key Management Service (KMS) master encryption key to use for encrypting Inventory reports.-ssekKeyId :: Lens' SSEKMS Text-ssekKeyId = lens _ssekKeyId (\ s a -> s{_ssekKeyId = a}) . _Sensitive--instance FromXML SSEKMS where-        parseXML x = SSEKMS' <$> (x .@ "KeyId")--instance Hashable SSEKMS where--instance NFData SSEKMS where--instance ToXML SSEKMS where-        toXML SSEKMS'{..} = mconcat ["KeyId" @= _ssekKeyId]---- | Specifies the use of SSE-S3 to encrypt delievered Inventory reports.------ /See:/ 'sSES3' smart constructor.-data SSES3 =-  SSES3'-  deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SSES3' with the minimum fields required to make a request.----sSES3-    :: SSES3-sSES3 = SSES3'---instance FromXML SSES3 where-        parseXML = const (pure SSES3')--instance Hashable SSES3 where--instance NFData SSES3 where--instance ToXML SSES3 where-        toXML = const mempty---- | /See:/ 'selectObjectContentEventStream' smart constructor.-data SelectObjectContentEventStream = SelectObjectContentEventStream'-  { _socesProgress :: !(Maybe ProgressEvent)-  , _socesRecords  :: !(Maybe RecordsEvent)-  , _socesCont     :: !(Maybe ContinuationEvent)-  , _socesStats    :: !(Maybe StatsEvent)-  , _socesEnd      :: !(Maybe EndEvent)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SelectObjectContentEventStream' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'socesProgress' - The Progress Event.------ * 'socesRecords' - The Records Event.------ * 'socesCont' - The Continuation Event.------ * 'socesStats' - The Stats Event.------ * 'socesEnd' - The End Event.-selectObjectContentEventStream-    :: SelectObjectContentEventStream-selectObjectContentEventStream =-  SelectObjectContentEventStream'-    { _socesProgress = Nothing-    , _socesRecords = Nothing-    , _socesCont = Nothing-    , _socesStats = Nothing-    , _socesEnd = Nothing-    }----- | The Progress Event.-socesProgress :: Lens' SelectObjectContentEventStream (Maybe ProgressEvent)-socesProgress = lens _socesProgress (\ s a -> s{_socesProgress = a})---- | The Records Event.-socesRecords :: Lens' SelectObjectContentEventStream (Maybe RecordsEvent)-socesRecords = lens _socesRecords (\ s a -> s{_socesRecords = a})---- | The Continuation Event.-socesCont :: Lens' SelectObjectContentEventStream (Maybe ContinuationEvent)-socesCont = lens _socesCont (\ s a -> s{_socesCont = a})---- | The Stats Event.-socesStats :: Lens' SelectObjectContentEventStream (Maybe StatsEvent)-socesStats = lens _socesStats (\ s a -> s{_socesStats = a})---- | The End Event.-socesEnd :: Lens' SelectObjectContentEventStream (Maybe EndEvent)-socesEnd = lens _socesEnd (\ s a -> s{_socesEnd = a})--instance FromXML SelectObjectContentEventStream where-        parseXML x-          = SelectObjectContentEventStream' <$>-              (x .@? "Progress") <*> (x .@? "Records") <*>-                (x .@? "Cont")-                <*> (x .@? "Stats")-                <*> (x .@? "End")--instance Hashable SelectObjectContentEventStream-         where--instance NFData SelectObjectContentEventStream where---- | Describes the parameters for Select job types.------ /See:/ 'selectParameters' smart constructor.-data SelectParameters = SelectParameters'-  { _spInputSerialization  :: !InputSerialization-  , _spExpressionType      :: !ExpressionType-  , _spExpression          :: !Text-  , _spOutputSerialization :: !OutputSerialization-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SelectParameters' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'spInputSerialization' - Describes the serialization format of the object.------ * 'spExpressionType' - The type of the provided expression (e.g., SQL).------ * 'spExpression' - The expression that is used to query the object.------ * 'spOutputSerialization' - Describes how the results of the Select job are serialized.-selectParameters-    :: InputSerialization -- ^ 'spInputSerialization'-    -> ExpressionType -- ^ 'spExpressionType'-    -> Text -- ^ 'spExpression'-    -> OutputSerialization -- ^ 'spOutputSerialization'-    -> SelectParameters-selectParameters pInputSerialization_ pExpressionType_ pExpression_ pOutputSerialization_ =-  SelectParameters'-    { _spInputSerialization = pInputSerialization_-    , _spExpressionType = pExpressionType_-    , _spExpression = pExpression_-    , _spOutputSerialization = pOutputSerialization_-    }----- | Describes the serialization format of the object.-spInputSerialization :: Lens' SelectParameters InputSerialization-spInputSerialization = lens _spInputSerialization (\ s a -> s{_spInputSerialization = a})---- | The type of the provided expression (e.g., SQL).-spExpressionType :: Lens' SelectParameters ExpressionType-spExpressionType = lens _spExpressionType (\ s a -> s{_spExpressionType = a})---- | The expression that is used to query the object.-spExpression :: Lens' SelectParameters Text-spExpression = lens _spExpression (\ s a -> s{_spExpression = a})---- | Describes how the results of the Select job are serialized.-spOutputSerialization :: Lens' SelectParameters OutputSerialization-spOutputSerialization = lens _spOutputSerialization (\ s a -> s{_spOutputSerialization = a})--instance Hashable SelectParameters where--instance NFData SelectParameters where--instance ToXML SelectParameters where-        toXML SelectParameters'{..}-          = mconcat-              ["InputSerialization" @= _spInputSerialization,-               "ExpressionType" @= _spExpressionType,-               "Expression" @= _spExpression,-               "OutputSerialization" @= _spOutputSerialization]---- | Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.------ /See:/ 'serverSideEncryptionByDefault' smart constructor.-data ServerSideEncryptionByDefault = ServerSideEncryptionByDefault'-  { _ssebdKMSMasterKeyId :: !(Maybe (Sensitive Text))-  , _ssebdSSEAlgorithm   :: !ServerSideEncryption-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ServerSideEncryptionByDefault' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssebdKMSMasterKeyId' - KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.------ * 'ssebdSSEAlgorithm' - Server-side encryption algorithm to use for the default encryption.-serverSideEncryptionByDefault-    :: ServerSideEncryption -- ^ 'ssebdSSEAlgorithm'-    -> ServerSideEncryptionByDefault-serverSideEncryptionByDefault pSSEAlgorithm_ =-  ServerSideEncryptionByDefault'-    {_ssebdKMSMasterKeyId = Nothing, _ssebdSSEAlgorithm = pSSEAlgorithm_}----- | KMS master key ID to use for the default encryption. This parameter is allowed if SSEAlgorithm is aws:kms.-ssebdKMSMasterKeyId :: Lens' ServerSideEncryptionByDefault (Maybe Text)-ssebdKMSMasterKeyId = lens _ssebdKMSMasterKeyId (\ s a -> s{_ssebdKMSMasterKeyId = a}) . mapping _Sensitive---- | Server-side encryption algorithm to use for the default encryption.-ssebdSSEAlgorithm :: Lens' ServerSideEncryptionByDefault ServerSideEncryption-ssebdSSEAlgorithm = lens _ssebdSSEAlgorithm (\ s a -> s{_ssebdSSEAlgorithm = a})--instance FromXML ServerSideEncryptionByDefault where-        parseXML x-          = ServerSideEncryptionByDefault' <$>-              (x .@? "KMSMasterKeyID") <*> (x .@ "SSEAlgorithm")--instance Hashable ServerSideEncryptionByDefault where--instance NFData ServerSideEncryptionByDefault where--instance ToXML ServerSideEncryptionByDefault where-        toXML ServerSideEncryptionByDefault'{..}-          = mconcat-              ["KMSMasterKeyID" @= _ssebdKMSMasterKeyId,-               "SSEAlgorithm" @= _ssebdSSEAlgorithm]---- | Container for server-side encryption configuration rules. Currently S3 supports one rule only.------ /See:/ 'serverSideEncryptionConfiguration' smart constructor.-newtype ServerSideEncryptionConfiguration = ServerSideEncryptionConfiguration'-  { _ssecRules :: [ServerSideEncryptionRule]-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ServerSideEncryptionConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'ssecRules' - Container for information about a particular server-side encryption configuration rule.-serverSideEncryptionConfiguration-    :: ServerSideEncryptionConfiguration-serverSideEncryptionConfiguration =-  ServerSideEncryptionConfiguration' {_ssecRules = mempty}----- | Container for information about a particular server-side encryption configuration rule.-ssecRules :: Lens' ServerSideEncryptionConfiguration [ServerSideEncryptionRule]-ssecRules = lens _ssecRules (\ s a -> s{_ssecRules = a}) . _Coerce--instance FromXML ServerSideEncryptionConfiguration-         where-        parseXML x-          = ServerSideEncryptionConfiguration' <$>-              (parseXMLList "Rule" x)--instance Hashable ServerSideEncryptionConfiguration-         where--instance NFData ServerSideEncryptionConfiguration-         where--instance ToXML ServerSideEncryptionConfiguration-         where-        toXML ServerSideEncryptionConfiguration'{..}-          = mconcat [toXMLList "Rule" _ssecRules]---- | Container for information about a particular server-side encryption configuration rule.------ /See:/ 'serverSideEncryptionRule' smart constructor.-newtype ServerSideEncryptionRule = ServerSideEncryptionRule'-  { _sserApplyServerSideEncryptionByDefault :: Maybe ServerSideEncryptionByDefault-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'ServerSideEncryptionRule' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sserApplyServerSideEncryptionByDefault' - Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.-serverSideEncryptionRule-    :: ServerSideEncryptionRule-serverSideEncryptionRule =-  ServerSideEncryptionRule' {_sserApplyServerSideEncryptionByDefault = Nothing}----- | Describes the default server-side encryption to apply to new objects in the bucket. If Put Object request does not specify any server-side encryption, this default encryption will be applied.-sserApplyServerSideEncryptionByDefault :: Lens' ServerSideEncryptionRule (Maybe ServerSideEncryptionByDefault)-sserApplyServerSideEncryptionByDefault = lens _sserApplyServerSideEncryptionByDefault (\ s a -> s{_sserApplyServerSideEncryptionByDefault = a})--instance FromXML ServerSideEncryptionRule where-        parseXML x-          = ServerSideEncryptionRule' <$>-              (x .@? "ApplyServerSideEncryptionByDefault")--instance Hashable ServerSideEncryptionRule where--instance NFData ServerSideEncryptionRule where--instance ToXML ServerSideEncryptionRule where-        toXML ServerSideEncryptionRule'{..}-          = mconcat-              ["ApplyServerSideEncryptionByDefault" @=-                 _sserApplyServerSideEncryptionByDefault]---- | Container for filters that define which source objects should be replicated.------ /See:/ 'sourceSelectionCriteria' smart constructor.-newtype SourceSelectionCriteria = SourceSelectionCriteria'-  { _sscSseKMSEncryptedObjects :: Maybe SseKMSEncryptedObjects-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SourceSelectionCriteria' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sscSseKMSEncryptedObjects' - Container for filter information of selection of KMS Encrypted S3 objects.-sourceSelectionCriteria-    :: SourceSelectionCriteria-sourceSelectionCriteria =-  SourceSelectionCriteria' {_sscSseKMSEncryptedObjects = Nothing}----- | Container for filter information of selection of KMS Encrypted S3 objects.-sscSseKMSEncryptedObjects :: Lens' SourceSelectionCriteria (Maybe SseKMSEncryptedObjects)-sscSseKMSEncryptedObjects = lens _sscSseKMSEncryptedObjects (\ s a -> s{_sscSseKMSEncryptedObjects = a})--instance FromXML SourceSelectionCriteria where-        parseXML x-          = SourceSelectionCriteria' <$>-              (x .@? "SseKmsEncryptedObjects")--instance Hashable SourceSelectionCriteria where--instance NFData SourceSelectionCriteria where--instance ToXML SourceSelectionCriteria where-        toXML SourceSelectionCriteria'{..}-          = mconcat-              ["SseKmsEncryptedObjects" @=-                 _sscSseKMSEncryptedObjects]---- | Container for filter information of selection of KMS Encrypted S3 objects.------ /See:/ 'sseKMSEncryptedObjects' smart constructor.-newtype SseKMSEncryptedObjects = SseKMSEncryptedObjects'-  { _skeoStatus :: SseKMSEncryptedObjectsStatus-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'SseKMSEncryptedObjects' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'skeoStatus' - The replication for KMS encrypted S3 objects is disabled if status is not Enabled.-sseKMSEncryptedObjects-    :: SseKMSEncryptedObjectsStatus -- ^ 'skeoStatus'-    -> SseKMSEncryptedObjects-sseKMSEncryptedObjects pStatus_ =-  SseKMSEncryptedObjects' {_skeoStatus = pStatus_}----- | The replication for KMS encrypted S3 objects is disabled if status is not Enabled.-skeoStatus :: Lens' SseKMSEncryptedObjects SseKMSEncryptedObjectsStatus-skeoStatus = lens _skeoStatus (\ s a -> s{_skeoStatus = a})--instance FromXML SseKMSEncryptedObjects where-        parseXML x-          = SseKMSEncryptedObjects' <$> (x .@ "Status")--instance Hashable SseKMSEncryptedObjects where--instance NFData SseKMSEncryptedObjects where--instance ToXML SseKMSEncryptedObjects where-        toXML SseKMSEncryptedObjects'{..}-          = mconcat ["Status" @= _skeoStatus]---- | /See:/ 'stats' smart constructor.-data Stats = Stats'-  { _sBytesReturned  :: !(Maybe Integer)-  , _sBytesScanned   :: !(Maybe Integer)-  , _sBytesProcessed :: !(Maybe Integer)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Stats' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'sBytesReturned' - Total number of bytes of records payload data returned.------ * 'sBytesScanned' - Total number of object bytes scanned.------ * 'sBytesProcessed' - Total number of uncompressed object bytes processed.-stats-    :: Stats-stats =-  Stats'-    { _sBytesReturned = Nothing-    , _sBytesScanned = Nothing-    , _sBytesProcessed = Nothing-    }----- | Total number of bytes of records payload data returned.-sBytesReturned :: Lens' Stats (Maybe Integer)-sBytesReturned = lens _sBytesReturned (\ s a -> s{_sBytesReturned = a})---- | Total number of object bytes scanned.-sBytesScanned :: Lens' Stats (Maybe Integer)-sBytesScanned = lens _sBytesScanned (\ s a -> s{_sBytesScanned = a})---- | Total number of uncompressed object bytes processed.-sBytesProcessed :: Lens' Stats (Maybe Integer)-sBytesProcessed = lens _sBytesProcessed (\ s a -> s{_sBytesProcessed = a})--instance FromXML Stats where-        parseXML x-          = Stats' <$>-              (x .@? "BytesReturned") <*> (x .@? "BytesScanned")-                <*> (x .@? "BytesProcessed")--instance Hashable Stats where--instance NFData Stats where---- | /See:/ 'statsEvent' smart constructor.-newtype StatsEvent = StatsEvent'-  { _seDetails :: Maybe Stats-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StatsEvent' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'seDetails' - The Stats event details.-statsEvent-    :: StatsEvent-statsEvent = StatsEvent' {_seDetails = Nothing}----- | The Stats event details.-seDetails :: Lens' StatsEvent (Maybe Stats)-seDetails = lens _seDetails (\ s a -> s{_seDetails = a})--instance FromXML StatsEvent where-        parseXML x = StatsEvent' <$> (x .@? "Details")--instance Hashable StatsEvent where--instance NFData StatsEvent where---- | /See:/ 'storageClassAnalysis' smart constructor.-newtype StorageClassAnalysis = StorageClassAnalysis'-  { _scaDataExport :: Maybe StorageClassAnalysisDataExport-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StorageClassAnalysis' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scaDataExport' - A container used to describe how data related to the storage class analysis should be exported.-storageClassAnalysis-    :: StorageClassAnalysis-storageClassAnalysis = StorageClassAnalysis' {_scaDataExport = Nothing}----- | A container used to describe how data related to the storage class analysis should be exported.-scaDataExport :: Lens' StorageClassAnalysis (Maybe StorageClassAnalysisDataExport)-scaDataExport = lens _scaDataExport (\ s a -> s{_scaDataExport = a})--instance FromXML StorageClassAnalysis where-        parseXML x-          = StorageClassAnalysis' <$> (x .@? "DataExport")--instance Hashable StorageClassAnalysis where--instance NFData StorageClassAnalysis where--instance ToXML StorageClassAnalysis where-        toXML StorageClassAnalysis'{..}-          = mconcat ["DataExport" @= _scaDataExport]---- | /See:/ 'storageClassAnalysisDataExport' smart constructor.-data StorageClassAnalysisDataExport = StorageClassAnalysisDataExport'-  { _scadeOutputSchemaVersion :: !StorageClassAnalysisSchemaVersion-  , _scadeDestination         :: !AnalyticsExportDestination-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'StorageClassAnalysisDataExport' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'scadeOutputSchemaVersion' - The version of the output schema to use when exporting data. Must be V_1.------ * 'scadeDestination' - The place to store the data for an analysis.-storageClassAnalysisDataExport-    :: StorageClassAnalysisSchemaVersion -- ^ 'scadeOutputSchemaVersion'-    -> AnalyticsExportDestination -- ^ 'scadeDestination'-    -> StorageClassAnalysisDataExport-storageClassAnalysisDataExport pOutputSchemaVersion_ pDestination_ =-  StorageClassAnalysisDataExport'-    { _scadeOutputSchemaVersion = pOutputSchemaVersion_-    , _scadeDestination = pDestination_-    }----- | The version of the output schema to use when exporting data. Must be V_1.-scadeOutputSchemaVersion :: Lens' StorageClassAnalysisDataExport StorageClassAnalysisSchemaVersion-scadeOutputSchemaVersion = lens _scadeOutputSchemaVersion (\ s a -> s{_scadeOutputSchemaVersion = a})---- | The place to store the data for an analysis.-scadeDestination :: Lens' StorageClassAnalysisDataExport AnalyticsExportDestination-scadeDestination = lens _scadeDestination (\ s a -> s{_scadeDestination = a})--instance FromXML StorageClassAnalysisDataExport where-        parseXML x-          = StorageClassAnalysisDataExport' <$>-              (x .@ "OutputSchemaVersion") <*> (x .@ "Destination")--instance Hashable StorageClassAnalysisDataExport-         where--instance NFData StorageClassAnalysisDataExport where--instance ToXML StorageClassAnalysisDataExport where-        toXML StorageClassAnalysisDataExport'{..}-          = mconcat-              ["OutputSchemaVersion" @= _scadeOutputSchemaVersion,-               "Destination" @= _scadeDestination]---- | /See:/ 'tag' smart constructor.-data Tag = Tag'-  { _tagKey   :: !ObjectKey-  , _tagValue :: !Text-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Tag' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tagKey' - Name of the tag.------ * 'tagValue' - Value of the tag.-tag-    :: ObjectKey -- ^ 'tagKey'-    -> Text -- ^ 'tagValue'-    -> Tag-tag pKey_ pValue_ = Tag' {_tagKey = pKey_, _tagValue = pValue_}----- | Name of the tag.-tagKey :: Lens' Tag ObjectKey-tagKey = lens _tagKey (\ s a -> s{_tagKey = a})---- | Value of the tag.-tagValue :: Lens' Tag Text-tagValue = lens _tagValue (\ s a -> s{_tagValue = a})--instance FromXML Tag where-        parseXML x = Tag' <$> (x .@ "Key") <*> (x .@ "Value")--instance Hashable Tag where--instance NFData Tag where--instance ToXML Tag where-        toXML Tag'{..}-          = mconcat ["Key" @= _tagKey, "Value" @= _tagValue]---- | /See:/ 'tagging' smart constructor.-newtype Tagging = Tagging'-  { _tTagSet :: [Tag]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Tagging' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tTagSet' - Undocumented member.-tagging-    :: Tagging-tagging = Tagging' {_tTagSet = mempty}----- | Undocumented member.-tTagSet :: Lens' Tagging [Tag]-tTagSet = lens _tTagSet (\ s a -> s{_tTagSet = a}) . _Coerce--instance Hashable Tagging where--instance NFData Tagging where--instance ToXML Tagging where-        toXML Tagging'{..}-          = mconcat ["TagSet" @= toXMLList "Tag" _tTagSet]---- | /See:/ 'targetGrant' smart constructor.-data TargetGrant = TargetGrant'-  { _tgPermission :: !(Maybe BucketLogsPermission)-  , _tgGrantee    :: !(Maybe Grantee)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TargetGrant' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tgPermission' - Logging permissions assigned to the Grantee for the bucket.------ * 'tgGrantee' - Undocumented member.-targetGrant-    :: TargetGrant-targetGrant = TargetGrant' {_tgPermission = Nothing, _tgGrantee = Nothing}----- | Logging permissions assigned to the Grantee for the bucket.-tgPermission :: Lens' TargetGrant (Maybe BucketLogsPermission)-tgPermission = lens _tgPermission (\ s a -> s{_tgPermission = a})---- | Undocumented member.-tgGrantee :: Lens' TargetGrant (Maybe Grantee)-tgGrantee = lens _tgGrantee (\ s a -> s{_tgGrantee = a})--instance FromXML TargetGrant where-        parseXML x-          = TargetGrant' <$>-              (x .@? "Permission") <*> (x .@? "Grantee")--instance Hashable TargetGrant where--instance NFData TargetGrant where--instance ToXML TargetGrant where-        toXML TargetGrant'{..}-          = mconcat-              ["Permission" @= _tgPermission,-               "Grantee" @= _tgGrantee]---- | Container for specifying the configuration when you want Amazon S3 to publish events to an Amazon Simple Notification Service (Amazon SNS) topic.------ /See:/ 'topicConfiguration' smart constructor.-data TopicConfiguration = TopicConfiguration'-  { _tcId       :: !(Maybe Text)-  , _tcFilter   :: !(Maybe NotificationConfigurationFilter)-  , _tcTopicARN :: !Text-  , _tcEvents   :: ![Event]-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'TopicConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tcId' - Undocumented member.------ * 'tcFilter' - Undocumented member.------ * 'tcTopicARN' - Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type.------ * 'tcEvents' - Undocumented member.-topicConfiguration-    :: Text -- ^ 'tcTopicARN'-    -> TopicConfiguration-topicConfiguration pTopicARN_ =-  TopicConfiguration'-    { _tcId = Nothing-    , _tcFilter = Nothing-    , _tcTopicARN = pTopicARN_-    , _tcEvents = mempty-    }----- | Undocumented member.-tcId :: Lens' TopicConfiguration (Maybe Text)-tcId = lens _tcId (\ s a -> s{_tcId = a})---- | Undocumented member.-tcFilter :: Lens' TopicConfiguration (Maybe NotificationConfigurationFilter)-tcFilter = lens _tcFilter (\ s a -> s{_tcFilter = a})---- | Amazon SNS topic ARN to which Amazon S3 will publish a message when it detects events of specified type.-tcTopicARN :: Lens' TopicConfiguration Text-tcTopicARN = lens _tcTopicARN (\ s a -> s{_tcTopicARN = a})---- | Undocumented member.-tcEvents :: Lens' TopicConfiguration [Event]-tcEvents = lens _tcEvents (\ s a -> s{_tcEvents = a}) . _Coerce--instance FromXML TopicConfiguration where-        parseXML x-          = TopicConfiguration' <$>-              (x .@? "Id") <*> (x .@? "Filter") <*> (x .@ "Topic")-                <*> (parseXMLList "Event" x)--instance Hashable TopicConfiguration where--instance NFData TopicConfiguration where--instance ToXML TopicConfiguration where-        toXML TopicConfiguration'{..}-          = mconcat-              ["Id" @= _tcId, "Filter" @= _tcFilter,-               "Topic" @= _tcTopicARN, toXMLList "Event" _tcEvents]---- | /See:/ 'transition' smart constructor.-data Transition = Transition'-  { _tDays         :: !(Maybe Int)-  , _tDate         :: !(Maybe RFC822)-  , _tStorageClass :: !(Maybe TransitionStorageClass)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'Transition' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'tDays' - Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.------ * 'tDate' - Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.------ * 'tStorageClass' - The class of storage used to store the object.-transition-    :: Transition-transition =-  Transition' {_tDays = Nothing, _tDate = Nothing, _tStorageClass = Nothing}----- | Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.-tDays :: Lens' Transition (Maybe Int)-tDays = lens _tDays (\ s a -> s{_tDays = a})---- | Indicates at what date the object is to be moved or deleted. Should be in GMT ISO 8601 Format.-tDate :: Lens' Transition (Maybe UTCTime)-tDate = lens _tDate (\ s a -> s{_tDate = a}) . mapping _Time---- | The class of storage used to store the object.-tStorageClass :: Lens' Transition (Maybe TransitionStorageClass)-tStorageClass = lens _tStorageClass (\ s a -> s{_tStorageClass = a})--instance FromXML Transition where-        parseXML x-          = Transition' <$>-              (x .@? "Days") <*> (x .@? "Date") <*>-                (x .@? "StorageClass")--instance Hashable Transition where--instance NFData Transition where--instance ToXML Transition where-        toXML Transition'{..}-          = mconcat-              ["Days" @= _tDays, "Date" @= _tDate,-               "StorageClass" @= _tStorageClass]---- | /See:/ 'versioningConfiguration' smart constructor.-data VersioningConfiguration = VersioningConfiguration'-  { _vcStatus    :: !(Maybe BucketVersioningStatus)-  , _vcMFADelete :: !(Maybe MFADelete)-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'VersioningConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'vcStatus' - The versioning state of the bucket.------ * 'vcMFADelete' - Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.-versioningConfiguration-    :: VersioningConfiguration-versioningConfiguration =-  VersioningConfiguration' {_vcStatus = Nothing, _vcMFADelete = Nothing}----- | The versioning state of the bucket.-vcStatus :: Lens' VersioningConfiguration (Maybe BucketVersioningStatus)-vcStatus = lens _vcStatus (\ s a -> s{_vcStatus = a})---- | Specifies whether MFA delete is enabled in the bucket versioning configuration. This element is only returned if the bucket has been configured with MFA delete. If the bucket has never been so configured, this element is not returned.-vcMFADelete :: Lens' VersioningConfiguration (Maybe MFADelete)-vcMFADelete = lens _vcMFADelete (\ s a -> s{_vcMFADelete = a})--instance Hashable VersioningConfiguration where--instance NFData VersioningConfiguration where--instance ToXML VersioningConfiguration where-        toXML VersioningConfiguration'{..}-          = mconcat-              ["Status" @= _vcStatus, "MfaDelete" @= _vcMFADelete]---- | /See:/ 'websiteConfiguration' smart constructor.-data WebsiteConfiguration = WebsiteConfiguration'-  { _wcRedirectAllRequestsTo :: !(Maybe RedirectAllRequestsTo)-  , _wcErrorDocument         :: !(Maybe ErrorDocument)-  , _wcIndexDocument         :: !(Maybe IndexDocument)-  , _wcRoutingRules          :: !(Maybe [RoutingRule])-  } deriving (Eq, Read, Show, Data, Typeable, Generic)----- | Creates a value of 'WebsiteConfiguration' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'wcRedirectAllRequestsTo' - Undocumented member.------ * 'wcErrorDocument' - Undocumented member.------ * 'wcIndexDocument' - Undocumented member.------ * 'wcRoutingRules' - Undocumented member.-websiteConfiguration-    :: WebsiteConfiguration-websiteConfiguration =-  WebsiteConfiguration'-    { _wcRedirectAllRequestsTo = Nothing-    , _wcErrorDocument = Nothing-    , _wcIndexDocument = Nothing-    , _wcRoutingRules = Nothing-    }----- | Undocumented member.-wcRedirectAllRequestsTo :: Lens' WebsiteConfiguration (Maybe RedirectAllRequestsTo)-wcRedirectAllRequestsTo = lens _wcRedirectAllRequestsTo (\ s a -> s{_wcRedirectAllRequestsTo = a})---- | Undocumented member.-wcErrorDocument :: Lens' WebsiteConfiguration (Maybe ErrorDocument)-wcErrorDocument = lens _wcErrorDocument (\ s a -> s{_wcErrorDocument = a})---- | Undocumented member.-wcIndexDocument :: Lens' WebsiteConfiguration (Maybe IndexDocument)-wcIndexDocument = lens _wcIndexDocument (\ s a -> s{_wcIndexDocument = a})---- | Undocumented member.-wcRoutingRules :: Lens' WebsiteConfiguration [RoutingRule]-wcRoutingRules = lens _wcRoutingRules (\ s a -> s{_wcRoutingRules = a}) . _Default . _Coerce--instance Hashable WebsiteConfiguration where--instance NFData WebsiteConfiguration where--instance ToXML WebsiteConfiguration where-        toXML WebsiteConfiguration'{..}-          = mconcat-              ["RedirectAllRequestsTo" @= _wcRedirectAllRequestsTo,-               "ErrorDocument" @= _wcErrorDocument,-               "IndexDocument" @= _wcIndexDocument,-               "RoutingRules" @=-                 toXML (toXMLList "RoutingRule" <$> _wcRoutingRules)]
− gen/Network/AWS/S3/Types/Sum.hs
@@ -1,1273 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE LambdaCase         #-}-{-# LANGUAGE OverloadedStrings  #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.Types.Sum--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.S3.Types.Sum where--import Network.AWS.Prelude-import Network.AWS.S3.Internal--data AnalyticsS3ExportFileFormat =-  CSV-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText AnalyticsS3ExportFileFormat where-    parser = takeLowerText >>= \case-        "csv" -> pure CSV-        e -> fromTextError $ "Failure parsing AnalyticsS3ExportFileFormat from value: '" <> e-           <> "'. Accepted values: csv"--instance ToText AnalyticsS3ExportFileFormat where-    toText = \case-        CSV -> "CSV"--instance Hashable     AnalyticsS3ExportFileFormat-instance NFData       AnalyticsS3ExportFileFormat-instance ToByteString AnalyticsS3ExportFileFormat-instance ToQuery      AnalyticsS3ExportFileFormat-instance ToHeader     AnalyticsS3ExportFileFormat--instance FromXML AnalyticsS3ExportFileFormat where-    parseXML = parseXMLText "AnalyticsS3ExportFileFormat"--instance ToXML AnalyticsS3ExportFileFormat where-    toXML = toXMLText--data BucketAccelerateStatus-  = BASEnabled-  | BASSuspended-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText BucketAccelerateStatus where-    parser = takeLowerText >>= \case-        "enabled" -> pure BASEnabled-        "suspended" -> pure BASSuspended-        e -> fromTextError $ "Failure parsing BucketAccelerateStatus from value: '" <> e-           <> "'. Accepted values: enabled, suspended"--instance ToText BucketAccelerateStatus where-    toText = \case-        BASEnabled -> "Enabled"-        BASSuspended -> "Suspended"--instance Hashable     BucketAccelerateStatus-instance NFData       BucketAccelerateStatus-instance ToByteString BucketAccelerateStatus-instance ToQuery      BucketAccelerateStatus-instance ToHeader     BucketAccelerateStatus--instance FromXML BucketAccelerateStatus where-    parseXML = parseXMLText "BucketAccelerateStatus"--instance ToXML BucketAccelerateStatus where-    toXML = toXMLText--data BucketCannedACL-  = BAuthenticatedRead-  | BPrivate-  | BPublicRead-  | BPublicReadWrite-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText BucketCannedACL where-    parser = takeLowerText >>= \case-        "authenticated-read" -> pure BAuthenticatedRead-        "private" -> pure BPrivate-        "public-read" -> pure BPublicRead-        "public-read-write" -> pure BPublicReadWrite-        e -> fromTextError $ "Failure parsing BucketCannedACL from value: '" <> e-           <> "'. Accepted values: authenticated-read, private, public-read, public-read-write"--instance ToText BucketCannedACL where-    toText = \case-        BAuthenticatedRead -> "authenticated-read"-        BPrivate -> "private"-        BPublicRead -> "public-read"-        BPublicReadWrite -> "public-read-write"--instance Hashable     BucketCannedACL-instance NFData       BucketCannedACL-instance ToByteString BucketCannedACL-instance ToQuery      BucketCannedACL-instance ToHeader     BucketCannedACL--instance ToXML BucketCannedACL where-    toXML = toXMLText--data BucketLogsPermission-  = FullControl-  | Read-  | Write-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText BucketLogsPermission where-    parser = takeLowerText >>= \case-        "full_control" -> pure FullControl-        "read" -> pure Read-        "write" -> pure Write-        e -> fromTextError $ "Failure parsing BucketLogsPermission from value: '" <> e-           <> "'. Accepted values: full_control, read, write"--instance ToText BucketLogsPermission where-    toText = \case-        FullControl -> "FULL_CONTROL"-        Read -> "READ"-        Write -> "WRITE"--instance Hashable     BucketLogsPermission-instance NFData       BucketLogsPermission-instance ToByteString BucketLogsPermission-instance ToQuery      BucketLogsPermission-instance ToHeader     BucketLogsPermission--instance FromXML BucketLogsPermission where-    parseXML = parseXMLText "BucketLogsPermission"--instance ToXML BucketLogsPermission where-    toXML = toXMLText--data BucketVersioningStatus-  = BVSEnabled-  | BVSSuspended-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText BucketVersioningStatus where-    parser = takeLowerText >>= \case-        "enabled" -> pure BVSEnabled-        "suspended" -> pure BVSSuspended-        e -> fromTextError $ "Failure parsing BucketVersioningStatus from value: '" <> e-           <> "'. Accepted values: enabled, suspended"--instance ToText BucketVersioningStatus where-    toText = \case-        BVSEnabled -> "Enabled"-        BVSSuspended -> "Suspended"--instance Hashable     BucketVersioningStatus-instance NFData       BucketVersioningStatus-instance ToByteString BucketVersioningStatus-instance ToQuery      BucketVersioningStatus-instance ToHeader     BucketVersioningStatus--instance FromXML BucketVersioningStatus where-    parseXML = parseXMLText "BucketVersioningStatus"--instance ToXML BucketVersioningStatus where-    toXML = toXMLText--data CompressionType-  = CTGzip-  | CTNone-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText CompressionType where-    parser = takeLowerText >>= \case-        "gzip" -> pure CTGzip-        "none" -> pure CTNone-        e -> fromTextError $ "Failure parsing CompressionType from value: '" <> e-           <> "'. Accepted values: gzip, none"--instance ToText CompressionType where-    toText = \case-        CTGzip -> "GZIP"-        CTNone -> "NONE"--instance Hashable     CompressionType-instance NFData       CompressionType-instance ToByteString CompressionType-instance ToQuery      CompressionType-instance ToHeader     CompressionType--instance ToXML CompressionType where-    toXML = toXMLText---- | Requests Amazon S3 to encode the object keys in the response and specifies the encoding method to use. An object key may contain any Unicode character; however, XML 1.0 parser cannot parse some characters, such as characters with an ASCII value from 0 to 10. For characters that are not supported in XML 1.0, you can add this parameter to request that Amazon S3 encode the keys in the response.-data EncodingType =-  URL-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText EncodingType where-    parser = takeLowerText >>= \case-        "url" -> pure URL-        e -> fromTextError $ "Failure parsing EncodingType from value: '" <> e-           <> "'. Accepted values: url"--instance ToText EncodingType where-    toText = \case-        URL -> "url"--instance Hashable     EncodingType-instance NFData       EncodingType-instance ToByteString EncodingType-instance ToQuery      EncodingType-instance ToHeader     EncodingType--instance FromXML EncodingType where-    parseXML = parseXMLText "EncodingType"--instance ToXML EncodingType where-    toXML = toXMLText---- | Bucket event for which to send notifications.-data Event-  = S3ObjectCreated-  | S3ObjectCreatedCompleteMultipartUpload-  | S3ObjectCreatedCopy-  | S3ObjectCreatedPost-  | S3ObjectCreatedPut-  | S3ObjectRemoved-  | S3ObjectRemovedDelete-  | S3ObjectRemovedDeleteMarkerCreated-  | S3ReducedRedundancyLostObject-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText Event where-    parser = takeLowerText >>= \case-        "s3:objectcreated:*" -> pure S3ObjectCreated-        "s3:objectcreated:completemultipartupload" -> pure S3ObjectCreatedCompleteMultipartUpload-        "s3:objectcreated:copy" -> pure S3ObjectCreatedCopy-        "s3:objectcreated:post" -> pure S3ObjectCreatedPost-        "s3:objectcreated:put" -> pure S3ObjectCreatedPut-        "s3:objectremoved:*" -> pure S3ObjectRemoved-        "s3:objectremoved:delete" -> pure S3ObjectRemovedDelete-        "s3:objectremoved:deletemarkercreated" -> pure S3ObjectRemovedDeleteMarkerCreated-        "s3:reducedredundancylostobject" -> pure S3ReducedRedundancyLostObject-        e -> fromTextError $ "Failure parsing Event from value: '" <> e-           <> "'. Accepted values: s3:objectcreated:*, s3:objectcreated:completemultipartupload, s3:objectcreated:copy, s3:objectcreated:post, s3:objectcreated:put, s3:objectremoved:*, s3:objectremoved:delete, s3:objectremoved:deletemarkercreated, s3:reducedredundancylostobject"--instance ToText Event where-    toText = \case-        S3ObjectCreated -> "s3:ObjectCreated:*"-        S3ObjectCreatedCompleteMultipartUpload -> "s3:ObjectCreated:CompleteMultipartUpload"-        S3ObjectCreatedCopy -> "s3:ObjectCreated:Copy"-        S3ObjectCreatedPost -> "s3:ObjectCreated:Post"-        S3ObjectCreatedPut -> "s3:ObjectCreated:Put"-        S3ObjectRemoved -> "s3:ObjectRemoved:*"-        S3ObjectRemovedDelete -> "s3:ObjectRemoved:Delete"-        S3ObjectRemovedDeleteMarkerCreated -> "s3:ObjectRemoved:DeleteMarkerCreated"-        S3ReducedRedundancyLostObject -> "s3:ReducedRedundancyLostObject"--instance Hashable     Event-instance NFData       Event-instance ToByteString Event-instance ToQuery      Event-instance ToHeader     Event--instance FromXML Event where-    parseXML = parseXMLText "Event"--instance ToXML Event where-    toXML = toXMLText--data ExpirationStatus-  = ESDisabled-  | ESEnabled-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ExpirationStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure ESDisabled-        "enabled" -> pure ESEnabled-        e -> fromTextError $ "Failure parsing ExpirationStatus from value: '" <> e-           <> "'. Accepted values: disabled, enabled"--instance ToText ExpirationStatus where-    toText = \case-        ESDisabled -> "Disabled"-        ESEnabled -> "Enabled"--instance Hashable     ExpirationStatus-instance NFData       ExpirationStatus-instance ToByteString ExpirationStatus-instance ToQuery      ExpirationStatus-instance ToHeader     ExpirationStatus--instance FromXML ExpirationStatus where-    parseXML = parseXMLText "ExpirationStatus"--instance ToXML ExpirationStatus where-    toXML = toXMLText--data ExpressionType =-  Sql-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ExpressionType where-    parser = takeLowerText >>= \case-        "sql" -> pure Sql-        e -> fromTextError $ "Failure parsing ExpressionType from value: '" <> e-           <> "'. Accepted values: sql"--instance ToText ExpressionType where-    toText = \case-        Sql -> "SQL"--instance Hashable     ExpressionType-instance NFData       ExpressionType-instance ToByteString ExpressionType-instance ToQuery      ExpressionType-instance ToHeader     ExpressionType--instance ToXML ExpressionType where-    toXML = toXMLText--data FileHeaderInfo-  = Ignore-  | None-  | Use-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText FileHeaderInfo where-    parser = takeLowerText >>= \case-        "ignore" -> pure Ignore-        "none" -> pure None-        "use" -> pure Use-        e -> fromTextError $ "Failure parsing FileHeaderInfo from value: '" <> e-           <> "'. Accepted values: ignore, none, use"--instance ToText FileHeaderInfo where-    toText = \case-        Ignore -> "IGNORE"-        None -> "NONE"-        Use -> "USE"--instance Hashable     FileHeaderInfo-instance NFData       FileHeaderInfo-instance ToByteString FileHeaderInfo-instance ToQuery      FileHeaderInfo-instance ToHeader     FileHeaderInfo--instance ToXML FileHeaderInfo where-    toXML = toXMLText--data FilterRuleName-  = Prefix-  | Suffix-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText FilterRuleName where-    parser = takeLowerText >>= \case-        "prefix" -> pure Prefix-        "suffix" -> pure Suffix-        e -> fromTextError $ "Failure parsing FilterRuleName from value: '" <> e-           <> "'. Accepted values: prefix, suffix"--instance ToText FilterRuleName where-    toText = \case-        Prefix -> "prefix"-        Suffix -> "suffix"--instance Hashable     FilterRuleName-instance NFData       FilterRuleName-instance ToByteString FilterRuleName-instance ToQuery      FilterRuleName-instance ToHeader     FilterRuleName--instance FromXML FilterRuleName where-    parseXML = parseXMLText "FilterRuleName"--instance ToXML FilterRuleName where-    toXML = toXMLText--data InventoryFormat-  = IFCSV-  | IFOrc-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText InventoryFormat where-    parser = takeLowerText >>= \case-        "csv" -> pure IFCSV-        "orc" -> pure IFOrc-        e -> fromTextError $ "Failure parsing InventoryFormat from value: '" <> e-           <> "'. Accepted values: csv, orc"--instance ToText InventoryFormat where-    toText = \case-        IFCSV -> "CSV"-        IFOrc -> "ORC"--instance Hashable     InventoryFormat-instance NFData       InventoryFormat-instance ToByteString InventoryFormat-instance ToQuery      InventoryFormat-instance ToHeader     InventoryFormat--instance FromXML InventoryFormat where-    parseXML = parseXMLText "InventoryFormat"--instance ToXML InventoryFormat where-    toXML = toXMLText--data InventoryFrequency-  = Daily-  | Weekly-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText InventoryFrequency where-    parser = takeLowerText >>= \case-        "daily" -> pure Daily-        "weekly" -> pure Weekly-        e -> fromTextError $ "Failure parsing InventoryFrequency from value: '" <> e-           <> "'. Accepted values: daily, weekly"--instance ToText InventoryFrequency where-    toText = \case-        Daily -> "Daily"-        Weekly -> "Weekly"--instance Hashable     InventoryFrequency-instance NFData       InventoryFrequency-instance ToByteString InventoryFrequency-instance ToQuery      InventoryFrequency-instance ToHeader     InventoryFrequency--instance FromXML InventoryFrequency where-    parseXML = parseXMLText "InventoryFrequency"--instance ToXML InventoryFrequency where-    toXML = toXMLText--data InventoryIncludedObjectVersions-  = All-  | Current-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText InventoryIncludedObjectVersions where-    parser = takeLowerText >>= \case-        "all" -> pure All-        "current" -> pure Current-        e -> fromTextError $ "Failure parsing InventoryIncludedObjectVersions from value: '" <> e-           <> "'. Accepted values: all, current"--instance ToText InventoryIncludedObjectVersions where-    toText = \case-        All -> "All"-        Current -> "Current"--instance Hashable     InventoryIncludedObjectVersions-instance NFData       InventoryIncludedObjectVersions-instance ToByteString InventoryIncludedObjectVersions-instance ToQuery      InventoryIncludedObjectVersions-instance ToHeader     InventoryIncludedObjectVersions--instance FromXML InventoryIncludedObjectVersions where-    parseXML = parseXMLText "InventoryIncludedObjectVersions"--instance ToXML InventoryIncludedObjectVersions where-    toXML = toXMLText--data InventoryOptionalField-  = FieldETag-  | FieldEncryptionStatus-  | FieldIsMultipartUploaded-  | FieldLastModifiedDate-  | FieldReplicationStatus-  | FieldSize-  | FieldStorageClass-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText InventoryOptionalField where-    parser = takeLowerText >>= \case-        "etag" -> pure FieldETag-        "encryptionstatus" -> pure FieldEncryptionStatus-        "ismultipartuploaded" -> pure FieldIsMultipartUploaded-        "lastmodifieddate" -> pure FieldLastModifiedDate-        "replicationstatus" -> pure FieldReplicationStatus-        "size" -> pure FieldSize-        "storageclass" -> pure FieldStorageClass-        e -> fromTextError $ "Failure parsing InventoryOptionalField from value: '" <> e-           <> "'. Accepted values: etag, encryptionstatus, ismultipartuploaded, lastmodifieddate, replicationstatus, size, storageclass"--instance ToText InventoryOptionalField where-    toText = \case-        FieldETag -> "ETag"-        FieldEncryptionStatus -> "EncryptionStatus"-        FieldIsMultipartUploaded -> "IsMultipartUploaded"-        FieldLastModifiedDate -> "LastModifiedDate"-        FieldReplicationStatus -> "ReplicationStatus"-        FieldSize -> "Size"-        FieldStorageClass -> "StorageClass"--instance Hashable     InventoryOptionalField-instance NFData       InventoryOptionalField-instance ToByteString InventoryOptionalField-instance ToQuery      InventoryOptionalField-instance ToHeader     InventoryOptionalField--instance FromXML InventoryOptionalField where-    parseXML = parseXMLText "InventoryOptionalField"--instance ToXML InventoryOptionalField where-    toXML = toXMLText--data JSONType-  = Document-  | Lines-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText JSONType where-    parser = takeLowerText >>= \case-        "document" -> pure Document-        "lines" -> pure Lines-        e -> fromTextError $ "Failure parsing JSONType from value: '" <> e-           <> "'. Accepted values: document, lines"--instance ToText JSONType where-    toText = \case-        Document -> "DOCUMENT"-        Lines -> "LINES"--instance Hashable     JSONType-instance NFData       JSONType-instance ToByteString JSONType-instance ToQuery      JSONType-instance ToHeader     JSONType--instance ToXML JSONType where-    toXML = toXMLText--data MFADelete-  = MDDisabled-  | MDEnabled-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText MFADelete where-    parser = takeLowerText >>= \case-        "disabled" -> pure MDDisabled-        "enabled" -> pure MDEnabled-        e -> fromTextError $ "Failure parsing MFADelete from value: '" <> e-           <> "'. Accepted values: disabled, enabled"--instance ToText MFADelete where-    toText = \case-        MDDisabled -> "Disabled"-        MDEnabled -> "Enabled"--instance Hashable     MFADelete-instance NFData       MFADelete-instance ToByteString MFADelete-instance ToQuery      MFADelete-instance ToHeader     MFADelete--instance ToXML MFADelete where-    toXML = toXMLText--data MFADeleteStatus-  = MDSDisabled-  | MDSEnabled-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText MFADeleteStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure MDSDisabled-        "enabled" -> pure MDSEnabled-        e -> fromTextError $ "Failure parsing MFADeleteStatus from value: '" <> e-           <> "'. Accepted values: disabled, enabled"--instance ToText MFADeleteStatus where-    toText = \case-        MDSDisabled -> "Disabled"-        MDSEnabled -> "Enabled"--instance Hashable     MFADeleteStatus-instance NFData       MFADeleteStatus-instance ToByteString MFADeleteStatus-instance ToQuery      MFADeleteStatus-instance ToHeader     MFADeleteStatus--instance FromXML MFADeleteStatus where-    parseXML = parseXMLText "MFADeleteStatus"--data MetadataDirective-  = MDCopy-  | MDReplace-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText MetadataDirective where-    parser = takeLowerText >>= \case-        "copy" -> pure MDCopy-        "replace" -> pure MDReplace-        e -> fromTextError $ "Failure parsing MetadataDirective from value: '" <> e-           <> "'. Accepted values: copy, replace"--instance ToText MetadataDirective where-    toText = \case-        MDCopy -> "COPY"-        MDReplace -> "REPLACE"--instance Hashable     MetadataDirective-instance NFData       MetadataDirective-instance ToByteString MetadataDirective-instance ToQuery      MetadataDirective-instance ToHeader     MetadataDirective--instance ToXML MetadataDirective where-    toXML = toXMLText--data ObjectCannedACL-  = OAWSExecRead-  | OAuthenticatedRead-  | OBucketOwnerFullControl-  | OBucketOwnerRead-  | OPrivate-  | OPublicRead-  | OPublicReadWrite-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ObjectCannedACL where-    parser = takeLowerText >>= \case-        "aws-exec-read" -> pure OAWSExecRead-        "authenticated-read" -> pure OAuthenticatedRead-        "bucket-owner-full-control" -> pure OBucketOwnerFullControl-        "bucket-owner-read" -> pure OBucketOwnerRead-        "private" -> pure OPrivate-        "public-read" -> pure OPublicRead-        "public-read-write" -> pure OPublicReadWrite-        e -> fromTextError $ "Failure parsing ObjectCannedACL from value: '" <> e-           <> "'. Accepted values: aws-exec-read, authenticated-read, bucket-owner-full-control, bucket-owner-read, private, public-read, public-read-write"--instance ToText ObjectCannedACL where-    toText = \case-        OAWSExecRead -> "aws-exec-read"-        OAuthenticatedRead -> "authenticated-read"-        OBucketOwnerFullControl -> "bucket-owner-full-control"-        OBucketOwnerRead -> "bucket-owner-read"-        OPrivate -> "private"-        OPublicRead -> "public-read"-        OPublicReadWrite -> "public-read-write"--instance Hashable     ObjectCannedACL-instance NFData       ObjectCannedACL-instance ToByteString ObjectCannedACL-instance ToQuery      ObjectCannedACL-instance ToHeader     ObjectCannedACL--instance ToXML ObjectCannedACL where-    toXML = toXMLText--data ObjectStorageClass-  = OSCGlacier-  | OSCReducedRedundancy-  | OSCStandard-  | OSCStandardIA-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ObjectStorageClass where-    parser = takeLowerText >>= \case-        "glacier" -> pure OSCGlacier-        "reduced_redundancy" -> pure OSCReducedRedundancy-        "standard" -> pure OSCStandard-        "standard_ia" -> pure OSCStandardIA-        e -> fromTextError $ "Failure parsing ObjectStorageClass from value: '" <> e-           <> "'. Accepted values: glacier, reduced_redundancy, standard, standard_ia"--instance ToText ObjectStorageClass where-    toText = \case-        OSCGlacier -> "GLACIER"-        OSCReducedRedundancy -> "REDUCED_REDUNDANCY"-        OSCStandard -> "STANDARD"-        OSCStandardIA -> "STANDARD_IA"--instance Hashable     ObjectStorageClass-instance NFData       ObjectStorageClass-instance ToByteString ObjectStorageClass-instance ToQuery      ObjectStorageClass-instance ToHeader     ObjectStorageClass--instance FromXML ObjectStorageClass where-    parseXML = parseXMLText "ObjectStorageClass"--data ObjectVersionStorageClass =-  OVSCStandard-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ObjectVersionStorageClass where-    parser = takeLowerText >>= \case-        "standard" -> pure OVSCStandard-        e -> fromTextError $ "Failure parsing ObjectVersionStorageClass from value: '" <> e-           <> "'. Accepted values: standard"--instance ToText ObjectVersionStorageClass where-    toText = \case-        OVSCStandard -> "STANDARD"--instance Hashable     ObjectVersionStorageClass-instance NFData       ObjectVersionStorageClass-instance ToByteString ObjectVersionStorageClass-instance ToQuery      ObjectVersionStorageClass-instance ToHeader     ObjectVersionStorageClass--instance FromXML ObjectVersionStorageClass where-    parseXML = parseXMLText "ObjectVersionStorageClass"--data OwnerOverride =-  Destination-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText OwnerOverride where-    parser = takeLowerText >>= \case-        "destination" -> pure Destination-        e -> fromTextError $ "Failure parsing OwnerOverride from value: '" <> e-           <> "'. Accepted values: destination"--instance ToText OwnerOverride where-    toText = \case-        Destination -> "Destination"--instance Hashable     OwnerOverride-instance NFData       OwnerOverride-instance ToByteString OwnerOverride-instance ToQuery      OwnerOverride-instance ToHeader     OwnerOverride--instance FromXML OwnerOverride where-    parseXML = parseXMLText "OwnerOverride"--instance ToXML OwnerOverride where-    toXML = toXMLText--data Payer-  = BucketOwner-  | Requester-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText Payer where-    parser = takeLowerText >>= \case-        "bucketowner" -> pure BucketOwner-        "requester" -> pure Requester-        e -> fromTextError $ "Failure parsing Payer from value: '" <> e-           <> "'. Accepted values: bucketowner, requester"--instance ToText Payer where-    toText = \case-        BucketOwner -> "BucketOwner"-        Requester -> "Requester"--instance Hashable     Payer-instance NFData       Payer-instance ToByteString Payer-instance ToQuery      Payer-instance ToHeader     Payer--instance FromXML Payer where-    parseXML = parseXMLText "Payer"--instance ToXML Payer where-    toXML = toXMLText--data Permission-  = PFullControl-  | PRead-  | PReadAcp-  | PWrite-  | PWriteAcp-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText Permission where-    parser = takeLowerText >>= \case-        "full_control" -> pure PFullControl-        "read" -> pure PRead-        "read_acp" -> pure PReadAcp-        "write" -> pure PWrite-        "write_acp" -> pure PWriteAcp-        e -> fromTextError $ "Failure parsing Permission from value: '" <> e-           <> "'. Accepted values: full_control, read, read_acp, write, write_acp"--instance ToText Permission where-    toText = \case-        PFullControl -> "FULL_CONTROL"-        PRead -> "READ"-        PReadAcp -> "READ_ACP"-        PWrite -> "WRITE"-        PWriteAcp -> "WRITE_ACP"--instance Hashable     Permission-instance NFData       Permission-instance ToByteString Permission-instance ToQuery      Permission-instance ToHeader     Permission--instance FromXML Permission where-    parseXML = parseXMLText "Permission"--instance ToXML Permission where-    toXML = toXMLText--data Protocol-  = HTTP-  | HTTPS-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText Protocol where-    parser = takeLowerText >>= \case-        "http" -> pure HTTP-        "https" -> pure HTTPS-        e -> fromTextError $ "Failure parsing Protocol from value: '" <> e-           <> "'. Accepted values: http, https"--instance ToText Protocol where-    toText = \case-        HTTP -> "http"-        HTTPS -> "https"--instance Hashable     Protocol-instance NFData       Protocol-instance ToByteString Protocol-instance ToQuery      Protocol-instance ToHeader     Protocol--instance FromXML Protocol where-    parseXML = parseXMLText "Protocol"--instance ToXML Protocol where-    toXML = toXMLText--data QuoteFields-  = ASNeeded-  | Always-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText QuoteFields where-    parser = takeLowerText >>= \case-        "asneeded" -> pure ASNeeded-        "always" -> pure Always-        e -> fromTextError $ "Failure parsing QuoteFields from value: '" <> e-           <> "'. Accepted values: asneeded, always"--instance ToText QuoteFields where-    toText = \case-        ASNeeded -> "ASNEEDED"-        Always -> "ALWAYS"--instance Hashable     QuoteFields-instance NFData       QuoteFields-instance ToByteString QuoteFields-instance ToQuery      QuoteFields-instance ToHeader     QuoteFields--instance ToXML QuoteFields where-    toXML = toXMLText--data ReplicationRuleStatus-  = Disabled-  | Enabled-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ReplicationRuleStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure Disabled-        "enabled" -> pure Enabled-        e -> fromTextError $ "Failure parsing ReplicationRuleStatus from value: '" <> e-           <> "'. Accepted values: disabled, enabled"--instance ToText ReplicationRuleStatus where-    toText = \case-        Disabled -> "Disabled"-        Enabled -> "Enabled"--instance Hashable     ReplicationRuleStatus-instance NFData       ReplicationRuleStatus-instance ToByteString ReplicationRuleStatus-instance ToQuery      ReplicationRuleStatus-instance ToHeader     ReplicationRuleStatus--instance FromXML ReplicationRuleStatus where-    parseXML = parseXMLText "ReplicationRuleStatus"--instance ToXML ReplicationRuleStatus where-    toXML = toXMLText--data ReplicationStatus-  = Completed-  | Failed-  | Pending-  | Replica-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ReplicationStatus where-    parser = takeLowerText >>= \case-        "completed" -> pure Completed-        "failed" -> pure Failed-        "pending" -> pure Pending-        "replica" -> pure Replica-        e -> fromTextError $ "Failure parsing ReplicationStatus from value: '" <> e-           <> "'. Accepted values: completed, failed, pending, replica"--instance ToText ReplicationStatus where-    toText = \case-        Completed -> "COMPLETED"-        Failed -> "FAILED"-        Pending -> "PENDING"-        Replica -> "REPLICA"--instance Hashable     ReplicationStatus-instance NFData       ReplicationStatus-instance ToByteString ReplicationStatus-instance ToQuery      ReplicationStatus-instance ToHeader     ReplicationStatus--instance FromXML ReplicationStatus where-    parseXML = parseXMLText "ReplicationStatus"---- | If present, indicates that the requester was successfully charged for the request.-data RequestCharged =-  RCRequester-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText RequestCharged where-    parser = takeLowerText >>= \case-        "requester" -> pure RCRequester-        e -> fromTextError $ "Failure parsing RequestCharged from value: '" <> e-           <> "'. Accepted values: requester"--instance ToText RequestCharged where-    toText = \case-        RCRequester -> "requester"--instance Hashable     RequestCharged-instance NFData       RequestCharged-instance ToByteString RequestCharged-instance ToQuery      RequestCharged-instance ToHeader     RequestCharged--instance FromXML RequestCharged where-    parseXML = parseXMLText "RequestCharged"---- | Confirms that the requester knows that she or he will be charged for the request. Bucket owners need not specify this parameter in their requests. Documentation on downloading objects from requester pays buckets can be found at http://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html-data RequestPayer =-  RPRequester-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText RequestPayer where-    parser = takeLowerText >>= \case-        "requester" -> pure RPRequester-        e -> fromTextError $ "Failure parsing RequestPayer from value: '" <> e-           <> "'. Accepted values: requester"--instance ToText RequestPayer where-    toText = \case-        RPRequester -> "requester"--instance Hashable     RequestPayer-instance NFData       RequestPayer-instance ToByteString RequestPayer-instance ToQuery      RequestPayer-instance ToHeader     RequestPayer--instance ToXML RequestPayer where-    toXML = toXMLText--data RestoreRequestType =-  Select-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText RestoreRequestType where-    parser = takeLowerText >>= \case-        "select" -> pure Select-        e -> fromTextError $ "Failure parsing RestoreRequestType from value: '" <> e-           <> "'. Accepted values: select"--instance ToText RestoreRequestType where-    toText = \case-        Select -> "SELECT"--instance Hashable     RestoreRequestType-instance NFData       RestoreRequestType-instance ToByteString RestoreRequestType-instance ToQuery      RestoreRequestType-instance ToHeader     RestoreRequestType--instance ToXML RestoreRequestType where-    toXML = toXMLText--data ServerSideEncryption-  = AES256-  | AWSKMS-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText ServerSideEncryption where-    parser = takeLowerText >>= \case-        "aes256" -> pure AES256-        "aws:kms" -> pure AWSKMS-        e -> fromTextError $ "Failure parsing ServerSideEncryption from value: '" <> e-           <> "'. Accepted values: aes256, aws:kms"--instance ToText ServerSideEncryption where-    toText = \case-        AES256 -> "AES256"-        AWSKMS -> "aws:kms"--instance Hashable     ServerSideEncryption-instance NFData       ServerSideEncryption-instance ToByteString ServerSideEncryption-instance ToQuery      ServerSideEncryption-instance ToHeader     ServerSideEncryption--instance FromXML ServerSideEncryption where-    parseXML = parseXMLText "ServerSideEncryption"--instance ToXML ServerSideEncryption where-    toXML = toXMLText--data SseKMSEncryptedObjectsStatus-  = SKEOSDisabled-  | SKEOSEnabled-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText SseKMSEncryptedObjectsStatus where-    parser = takeLowerText >>= \case-        "disabled" -> pure SKEOSDisabled-        "enabled" -> pure SKEOSEnabled-        e -> fromTextError $ "Failure parsing SseKMSEncryptedObjectsStatus from value: '" <> e-           <> "'. Accepted values: disabled, enabled"--instance ToText SseKMSEncryptedObjectsStatus where-    toText = \case-        SKEOSDisabled -> "Disabled"-        SKEOSEnabled -> "Enabled"--instance Hashable     SseKMSEncryptedObjectsStatus-instance NFData       SseKMSEncryptedObjectsStatus-instance ToByteString SseKMSEncryptedObjectsStatus-instance ToQuery      SseKMSEncryptedObjectsStatus-instance ToHeader     SseKMSEncryptedObjectsStatus--instance FromXML SseKMSEncryptedObjectsStatus where-    parseXML = parseXMLText "SseKMSEncryptedObjectsStatus"--instance ToXML SseKMSEncryptedObjectsStatus where-    toXML = toXMLText--data StorageClass-  = OnezoneIA-  | ReducedRedundancy-  | Standard-  | StandardIA-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText StorageClass where-    parser = takeLowerText >>= \case-        "onezone_ia" -> pure OnezoneIA-        "reduced_redundancy" -> pure ReducedRedundancy-        "standard" -> pure Standard-        "standard_ia" -> pure StandardIA-        e -> fromTextError $ "Failure parsing StorageClass from value: '" <> e-           <> "'. Accepted values: onezone_ia, reduced_redundancy, standard, standard_ia"--instance ToText StorageClass where-    toText = \case-        OnezoneIA -> "ONEZONE_IA"-        ReducedRedundancy -> "REDUCED_REDUNDANCY"-        Standard -> "STANDARD"-        StandardIA -> "STANDARD_IA"--instance Hashable     StorageClass-instance NFData       StorageClass-instance ToByteString StorageClass-instance ToQuery      StorageClass-instance ToHeader     StorageClass--instance FromXML StorageClass where-    parseXML = parseXMLText "StorageClass"--instance ToXML StorageClass where-    toXML = toXMLText--data StorageClassAnalysisSchemaVersion =-  V1-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText StorageClassAnalysisSchemaVersion where-    parser = takeLowerText >>= \case-        "v_1" -> pure V1-        e -> fromTextError $ "Failure parsing StorageClassAnalysisSchemaVersion from value: '" <> e-           <> "'. Accepted values: v_1"--instance ToText StorageClassAnalysisSchemaVersion where-    toText = \case-        V1 -> "V_1"--instance Hashable     StorageClassAnalysisSchemaVersion-instance NFData       StorageClassAnalysisSchemaVersion-instance ToByteString StorageClassAnalysisSchemaVersion-instance ToQuery      StorageClassAnalysisSchemaVersion-instance ToHeader     StorageClassAnalysisSchemaVersion--instance FromXML StorageClassAnalysisSchemaVersion where-    parseXML = parseXMLText "StorageClassAnalysisSchemaVersion"--instance ToXML StorageClassAnalysisSchemaVersion where-    toXML = toXMLText--data TaggingDirective-  = Copy-  | Replace-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText TaggingDirective where-    parser = takeLowerText >>= \case-        "copy" -> pure Copy-        "replace" -> pure Replace-        e -> fromTextError $ "Failure parsing TaggingDirective from value: '" <> e-           <> "'. Accepted values: copy, replace"--instance ToText TaggingDirective where-    toText = \case-        Copy -> "COPY"-        Replace -> "REPLACE"--instance Hashable     TaggingDirective-instance NFData       TaggingDirective-instance ToByteString TaggingDirective-instance ToQuery      TaggingDirective-instance ToHeader     TaggingDirective--instance ToXML TaggingDirective where-    toXML = toXMLText--data Tier-  = TBulk-  | TExpedited-  | TStandard-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText Tier where-    parser = takeLowerText >>= \case-        "bulk" -> pure TBulk-        "expedited" -> pure TExpedited-        "standard" -> pure TStandard-        e -> fromTextError $ "Failure parsing Tier from value: '" <> e-           <> "'. Accepted values: bulk, expedited, standard"--instance ToText Tier where-    toText = \case-        TBulk -> "Bulk"-        TExpedited -> "Expedited"-        TStandard -> "Standard"--instance Hashable     Tier-instance NFData       Tier-instance ToByteString Tier-instance ToQuery      Tier-instance ToHeader     Tier--instance ToXML Tier where-    toXML = toXMLText--data TransitionStorageClass-  = TSCGlacier-  | TSCOnezoneIA-  | TSCStandardIA-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText TransitionStorageClass where-    parser = takeLowerText >>= \case-        "glacier" -> pure TSCGlacier-        "onezone_ia" -> pure TSCOnezoneIA-        "standard_ia" -> pure TSCStandardIA-        e -> fromTextError $ "Failure parsing TransitionStorageClass from value: '" <> e-           <> "'. Accepted values: glacier, onezone_ia, standard_ia"--instance ToText TransitionStorageClass where-    toText = \case-        TSCGlacier -> "GLACIER"-        TSCOnezoneIA -> "ONEZONE_IA"-        TSCStandardIA -> "STANDARD_IA"--instance Hashable     TransitionStorageClass-instance NFData       TransitionStorageClass-instance ToByteString TransitionStorageClass-instance ToQuery      TransitionStorageClass-instance ToHeader     TransitionStorageClass--instance FromXML TransitionStorageClass where-    parseXML = parseXMLText "TransitionStorageClass"--instance ToXML TransitionStorageClass where-    toXML = toXMLText--data Type-  = AmazonCustomerByEmail-  | CanonicalUser-  | Group-  deriving (Eq, Ord, Read, Show, Enum, Bounded, Data, Typeable, Generic)---instance FromText Type where-    parser = takeLowerText >>= \case-        "amazoncustomerbyemail" -> pure AmazonCustomerByEmail-        "canonicaluser" -> pure CanonicalUser-        "group" -> pure Group-        e -> fromTextError $ "Failure parsing Type from value: '" <> e-           <> "'. Accepted values: amazoncustomerbyemail, canonicaluser, group"--instance ToText Type where-    toText = \case-        AmazonCustomerByEmail -> "AmazonCustomerByEmail"-        CanonicalUser -> "CanonicalUser"-        Group -> "Group"--instance Hashable     Type-instance NFData       Type-instance ToByteString Type-instance ToQuery      Type-instance ToHeader     Type--instance FromXML Type where-    parseXML = parseXMLText "Type"--instance ToXML Type where-    toXML = toXMLText
− gen/Network/AWS/S3/UploadPart.hs
@@ -1,289 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.UploadPart--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Uploads a part in a multipart upload.--------- __Note:__ After you initiate multipart upload and upload one or more parts, you must either complete or abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you for the parts storage.----module Network.AWS.S3.UploadPart-    (-    -- * Creating a Request-      uploadPart-    , UploadPart-    -- * Request Lenses-    , upContentLength-    , upSSECustomerAlgorithm-    , upSSECustomerKey-    , upRequestPayer-    , upSSECustomerKeyMD5-    , upContentMD5-    , upBucket-    , upKey-    , upPartNumber-    , upUploadId-    , upBody--    -- * Destructuring the Response-    , uploadPartResponse-    , UploadPartResponse-    -- * Response Lenses-    , uprsRequestCharged-    , uprsETag-    , uprsSSECustomerAlgorithm-    , uprsSSECustomerKeyMD5-    , uprsSSEKMSKeyId-    , uprsServerSideEncryption-    , uprsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'uploadPart' smart constructor.-data UploadPart = UploadPart'-  { _upContentLength        :: !(Maybe Integer)-  , _upSSECustomerAlgorithm :: !(Maybe Text)-  , _upSSECustomerKey       :: !(Maybe (Sensitive Text))-  , _upRequestPayer         :: !(Maybe RequestPayer)-  , _upSSECustomerKeyMD5    :: !(Maybe Text)-  , _upContentMD5           :: !(Maybe Text)-  , _upBucket               :: !BucketName-  , _upKey                  :: !ObjectKey-  , _upPartNumber           :: !Int-  , _upUploadId             :: !Text-  , _upBody                 :: !RqBody-  } deriving (Show, Generic)----- | Creates a value of 'UploadPart' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upContentLength' - Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.------ * 'upSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'upSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.------ * 'upRequestPayer' - Undocumented member.------ * 'upSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'upContentMD5' - The base64-encoded 128-bit MD5 digest of the part data.------ * 'upBucket' - Name of the bucket to which the multipart upload was initiated.------ * 'upKey' - Object key for which the multipart upload was initiated.------ * 'upPartNumber' - Part number of part being uploaded. This is a positive integer between 1 and 10,000.------ * 'upUploadId' - Upload ID identifying the multipart upload whose part is being uploaded.------ * 'upBody' - Object data.-uploadPart-    :: BucketName -- ^ 'upBucket'-    -> ObjectKey -- ^ 'upKey'-    -> Int -- ^ 'upPartNumber'-    -> Text -- ^ 'upUploadId'-    -> RqBody -- ^ 'upBody'-    -> UploadPart-uploadPart pBucket_ pKey_ pPartNumber_ pUploadId_ pBody_ =-  UploadPart'-    { _upContentLength = Nothing-    , _upSSECustomerAlgorithm = Nothing-    , _upSSECustomerKey = Nothing-    , _upRequestPayer = Nothing-    , _upSSECustomerKeyMD5 = Nothing-    , _upContentMD5 = Nothing-    , _upBucket = pBucket_-    , _upKey = pKey_-    , _upPartNumber = pPartNumber_-    , _upUploadId = pUploadId_-    , _upBody = pBody_-    }----- | Size of the body in bytes. This parameter is useful when the size of the body cannot be determined automatically.-upContentLength :: Lens' UploadPart (Maybe Integer)-upContentLength = lens _upContentLength (\ s a -> s{_upContentLength = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-upSSECustomerAlgorithm :: Lens' UploadPart (Maybe Text)-upSSECustomerAlgorithm = lens _upSSECustomerAlgorithm (\ s a -> s{_upSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.-upSSECustomerKey :: Lens' UploadPart (Maybe Text)-upSSECustomerKey = lens _upSSECustomerKey (\ s a -> s{_upSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-upRequestPayer :: Lens' UploadPart (Maybe RequestPayer)-upRequestPayer = lens _upRequestPayer (\ s a -> s{_upRequestPayer = a})---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-upSSECustomerKeyMD5 :: Lens' UploadPart (Maybe Text)-upSSECustomerKeyMD5 = lens _upSSECustomerKeyMD5 (\ s a -> s{_upSSECustomerKeyMD5 = a})---- | The base64-encoded 128-bit MD5 digest of the part data.-upContentMD5 :: Lens' UploadPart (Maybe Text)-upContentMD5 = lens _upContentMD5 (\ s a -> s{_upContentMD5 = a})---- | Name of the bucket to which the multipart upload was initiated.-upBucket :: Lens' UploadPart BucketName-upBucket = lens _upBucket (\ s a -> s{_upBucket = a})---- | Object key for which the multipart upload was initiated.-upKey :: Lens' UploadPart ObjectKey-upKey = lens _upKey (\ s a -> s{_upKey = a})---- | Part number of part being uploaded. This is a positive integer between 1 and 10,000.-upPartNumber :: Lens' UploadPart Int-upPartNumber = lens _upPartNumber (\ s a -> s{_upPartNumber = a})---- | Upload ID identifying the multipart upload whose part is being uploaded.-upUploadId :: Lens' UploadPart Text-upUploadId = lens _upUploadId (\ s a -> s{_upUploadId = a})---- | Object data.-upBody :: Lens' UploadPart RqBody-upBody = lens _upBody (\ s a -> s{_upBody = a})--instance AWSRequest UploadPart where-        type Rs UploadPart = UploadPartResponse-        request = putBody s3-        response-          = receiveEmpty-              (\ s h x ->-                 UploadPartResponse' <$>-                   (h .#? "x-amz-request-charged") <*> (h .#? "ETag")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (pure (fromEnum s)))--instance ToBody UploadPart where-        toBody = toBody . _upBody--instance ToHeaders UploadPart where-        toHeaders UploadPart'{..}-          = mconcat-              ["Content-Length" =# _upContentLength,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _upSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _upSSECustomerKey,-               "x-amz-request-payer" =# _upRequestPayer,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _upSSECustomerKeyMD5,-               "Content-MD5" =# _upContentMD5]--instance ToPath UploadPart where-        toPath UploadPart'{..}-          = mconcat ["/", toBS _upBucket, "/", toBS _upKey]--instance ToQuery UploadPart where-        toQuery UploadPart'{..}-          = mconcat-              ["partNumber" =: _upPartNumber,-               "uploadId" =: _upUploadId]---- | /See:/ 'uploadPartResponse' smart constructor.-data UploadPartResponse = UploadPartResponse'-  { _uprsRequestCharged       :: !(Maybe RequestCharged)-  , _uprsETag                 :: !(Maybe ETag)-  , _uprsSSECustomerAlgorithm :: !(Maybe Text)-  , _uprsSSECustomerKeyMD5    :: !(Maybe Text)-  , _uprsSSEKMSKeyId          :: !(Maybe (Sensitive Text))-  , _uprsServerSideEncryption :: !(Maybe ServerSideEncryption)-  , _uprsResponseStatus       :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UploadPartResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'uprsRequestCharged' - Undocumented member.------ * 'uprsETag' - Entity tag for the uploaded object.------ * 'uprsSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'uprsSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'uprsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'uprsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'uprsResponseStatus' - -- | The response status code.-uploadPartResponse-    :: Int -- ^ 'uprsResponseStatus'-    -> UploadPartResponse-uploadPartResponse pResponseStatus_ =-  UploadPartResponse'-    { _uprsRequestCharged = Nothing-    , _uprsETag = Nothing-    , _uprsSSECustomerAlgorithm = Nothing-    , _uprsSSECustomerKeyMD5 = Nothing-    , _uprsSSEKMSKeyId = Nothing-    , _uprsServerSideEncryption = Nothing-    , _uprsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-uprsRequestCharged :: Lens' UploadPartResponse (Maybe RequestCharged)-uprsRequestCharged = lens _uprsRequestCharged (\ s a -> s{_uprsRequestCharged = a})---- | Entity tag for the uploaded object.-uprsETag :: Lens' UploadPartResponse (Maybe ETag)-uprsETag = lens _uprsETag (\ s a -> s{_uprsETag = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-uprsSSECustomerAlgorithm :: Lens' UploadPartResponse (Maybe Text)-uprsSSECustomerAlgorithm = lens _uprsSSECustomerAlgorithm (\ s a -> s{_uprsSSECustomerAlgorithm = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-uprsSSECustomerKeyMD5 :: Lens' UploadPartResponse (Maybe Text)-uprsSSECustomerKeyMD5 = lens _uprsSSECustomerKeyMD5 (\ s a -> s{_uprsSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-uprsSSEKMSKeyId :: Lens' UploadPartResponse (Maybe Text)-uprsSSEKMSKeyId = lens _uprsSSEKMSKeyId (\ s a -> s{_uprsSSEKMSKeyId = a}) . mapping _Sensitive---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-uprsServerSideEncryption :: Lens' UploadPartResponse (Maybe ServerSideEncryption)-uprsServerSideEncryption = lens _uprsServerSideEncryption (\ s a -> s{_uprsServerSideEncryption = a})---- | -- | The response status code.-uprsResponseStatus :: Lens' UploadPartResponse Int-uprsResponseStatus = lens _uprsResponseStatus (\ s a -> s{_uprsResponseStatus = a})--instance NFData UploadPartResponse where
− gen/Network/AWS/S3/UploadPartCopy.hs
@@ -1,363 +0,0 @@-{-# LANGUAGE DeriveDataTypeable #-}-{-# LANGUAGE DeriveGeneric      #-}-{-# LANGUAGE OverloadedStrings  #-}-{-# LANGUAGE RecordWildCards    #-}-{-# LANGUAGE TypeFamilies       #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-binds   #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.UploadPartCopy--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)------ Uploads a part by copying data from an existing object as data source.-module Network.AWS.S3.UploadPartCopy-    (-    -- * Creating a Request-      uploadPartCopy-    , UploadPartCopy-    -- * Request Lenses-    , upcCopySourceIfModifiedSince-    , upcCopySourceIfUnmodifiedSince-    , upcCopySourceRange-    , upcCopySourceSSECustomerKeyMD5-    , upcCopySourceIfNoneMatch-    , upcSSECustomerAlgorithm-    , upcSSECustomerKey-    , upcRequestPayer-    , upcCopySourceIfMatch-    , upcSSECustomerKeyMD5-    , upcCopySourceSSECustomerKey-    , upcCopySourceSSECustomerAlgorithm-    , upcBucket-    , upcCopySource-    , upcKey-    , upcPartNumber-    , upcUploadId--    -- * Destructuring the Response-    , uploadPartCopyResponse-    , UploadPartCopyResponse-    -- * Response Lenses-    , upcrsRequestCharged-    , upcrsCopyPartResult-    , upcrsSSECustomerAlgorithm-    , upcrsCopySourceVersionId-    , upcrsSSECustomerKeyMD5-    , upcrsSSEKMSKeyId-    , upcrsServerSideEncryption-    , upcrsResponseStatus-    ) where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.Request-import Network.AWS.Response-import Network.AWS.S3.Types-import Network.AWS.S3.Types.Product---- | /See:/ 'uploadPartCopy' smart constructor.-data UploadPartCopy = UploadPartCopy'-  { _upcCopySourceIfModifiedSince      :: !(Maybe RFC822)-  , _upcCopySourceIfUnmodifiedSince    :: !(Maybe RFC822)-  , _upcCopySourceRange                :: !(Maybe Text)-  , _upcCopySourceSSECustomerKeyMD5    :: !(Maybe Text)-  , _upcCopySourceIfNoneMatch          :: !(Maybe Text)-  , _upcSSECustomerAlgorithm           :: !(Maybe Text)-  , _upcSSECustomerKey                 :: !(Maybe (Sensitive Text))-  , _upcRequestPayer                   :: !(Maybe RequestPayer)-  , _upcCopySourceIfMatch              :: !(Maybe Text)-  , _upcSSECustomerKeyMD5              :: !(Maybe Text)-  , _upcCopySourceSSECustomerKey       :: !(Maybe (Sensitive Text))-  , _upcCopySourceSSECustomerAlgorithm :: !(Maybe Text)-  , _upcBucket                         :: !BucketName-  , _upcCopySource                     :: !Text-  , _upcKey                            :: !ObjectKey-  , _upcPartNumber                     :: !Int-  , _upcUploadId                       :: !Text-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UploadPartCopy' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upcCopySourceIfModifiedSince' - Copies the object if it has been modified since the specified time.------ * 'upcCopySourceIfUnmodifiedSince' - Copies the object if it hasn't been modified since the specified time.------ * 'upcCopySourceRange' - The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 GB.------ * 'upcCopySourceSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'upcCopySourceIfNoneMatch' - Copies the object if its entity tag (ETag) is different than the specified ETag.------ * 'upcSSECustomerAlgorithm' - Specifies the algorithm to use to when encrypting the object (e.g., AES256).------ * 'upcSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.------ * 'upcRequestPayer' - Undocumented member.------ * 'upcCopySourceIfMatch' - Copies the object if its entity tag (ETag) matches the specified tag.------ * 'upcSSECustomerKeyMD5' - Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.------ * 'upcCopySourceSSECustomerKey' - Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.------ * 'upcCopySourceSSECustomerAlgorithm' - Specifies the algorithm to use when decrypting the source object (e.g., AES256).------ * 'upcBucket' - Undocumented member.------ * 'upcCopySource' - The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.------ * 'upcKey' - Undocumented member.------ * 'upcPartNumber' - Part number of part being copied. This is a positive integer between 1 and 10,000.------ * 'upcUploadId' - Upload ID identifying the multipart upload whose part is being copied.-uploadPartCopy-    :: BucketName -- ^ 'upcBucket'-    -> Text -- ^ 'upcCopySource'-    -> ObjectKey -- ^ 'upcKey'-    -> Int -- ^ 'upcPartNumber'-    -> Text -- ^ 'upcUploadId'-    -> UploadPartCopy-uploadPartCopy pBucket_ pCopySource_ pKey_ pPartNumber_ pUploadId_ =-  UploadPartCopy'-    { _upcCopySourceIfModifiedSince = Nothing-    , _upcCopySourceIfUnmodifiedSince = Nothing-    , _upcCopySourceRange = Nothing-    , _upcCopySourceSSECustomerKeyMD5 = Nothing-    , _upcCopySourceIfNoneMatch = Nothing-    , _upcSSECustomerAlgorithm = Nothing-    , _upcSSECustomerKey = Nothing-    , _upcRequestPayer = Nothing-    , _upcCopySourceIfMatch = Nothing-    , _upcSSECustomerKeyMD5 = Nothing-    , _upcCopySourceSSECustomerKey = Nothing-    , _upcCopySourceSSECustomerAlgorithm = Nothing-    , _upcBucket = pBucket_-    , _upcCopySource = pCopySource_-    , _upcKey = pKey_-    , _upcPartNumber = pPartNumber_-    , _upcUploadId = pUploadId_-    }----- | Copies the object if it has been modified since the specified time.-upcCopySourceIfModifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)-upcCopySourceIfModifiedSince = lens _upcCopySourceIfModifiedSince (\ s a -> s{_upcCopySourceIfModifiedSince = a}) . mapping _Time---- | Copies the object if it hasn't been modified since the specified time.-upcCopySourceIfUnmodifiedSince :: Lens' UploadPartCopy (Maybe UTCTime)-upcCopySourceIfUnmodifiedSince = lens _upcCopySourceIfUnmodifiedSince (\ s a -> s{_upcCopySourceIfUnmodifiedSince = a}) . mapping _Time---- | The range of bytes to copy from the source object. The range value must use the form bytes=first-last, where the first and last are the zero-based byte offsets to copy. For example, bytes=0-9 indicates that you want to copy the first ten bytes of the source. You can copy a range only if the source object is greater than 5 GB.-upcCopySourceRange :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceRange = lens _upcCopySourceRange (\ s a -> s{_upcCopySourceRange = a})---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-upcCopySourceSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceSSECustomerKeyMD5 = lens _upcCopySourceSSECustomerKeyMD5 (\ s a -> s{_upcCopySourceSSECustomerKeyMD5 = a})---- | Copies the object if its entity tag (ETag) is different than the specified ETag.-upcCopySourceIfNoneMatch :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceIfNoneMatch = lens _upcCopySourceIfNoneMatch (\ s a -> s{_upcCopySourceIfNoneMatch = a})---- | Specifies the algorithm to use to when encrypting the object (e.g., AES256).-upcSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)-upcSSECustomerAlgorithm = lens _upcSSECustomerAlgorithm (\ s a -> s{_upcSSECustomerAlgorithm = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side​-encryption​-customer-algorithm header. This must be the same encryption key specified in the initiate multipart upload request.-upcSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)-upcSSECustomerKey = lens _upcSSECustomerKey (\ s a -> s{_upcSSECustomerKey = a}) . mapping _Sensitive---- | Undocumented member.-upcRequestPayer :: Lens' UploadPartCopy (Maybe RequestPayer)-upcRequestPayer = lens _upcRequestPayer (\ s a -> s{_upcRequestPayer = a})---- | Copies the object if its entity tag (ETag) matches the specified tag.-upcCopySourceIfMatch :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceIfMatch = lens _upcCopySourceIfMatch (\ s a -> s{_upcCopySourceIfMatch = a})---- | Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure the encryption key was transmitted without error.-upcSSECustomerKeyMD5 :: Lens' UploadPartCopy (Maybe Text)-upcSSECustomerKeyMD5 = lens _upcSSECustomerKeyMD5 (\ s a -> s{_upcSSECustomerKeyMD5 = a})---- | Specifies the customer-provided encryption key for Amazon S3 to use to decrypt the source object. The encryption key provided in this header must be one that was used when the source object was created.-upcCopySourceSSECustomerKey :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceSSECustomerKey = lens _upcCopySourceSSECustomerKey (\ s a -> s{_upcCopySourceSSECustomerKey = a}) . mapping _Sensitive---- | Specifies the algorithm to use when decrypting the source object (e.g., AES256).-upcCopySourceSSECustomerAlgorithm :: Lens' UploadPartCopy (Maybe Text)-upcCopySourceSSECustomerAlgorithm = lens _upcCopySourceSSECustomerAlgorithm (\ s a -> s{_upcCopySourceSSECustomerAlgorithm = a})---- | Undocumented member.-upcBucket :: Lens' UploadPartCopy BucketName-upcBucket = lens _upcBucket (\ s a -> s{_upcBucket = a})---- | The name of the source bucket and key name of the source object, separated by a slash (/). Must be URL-encoded.-upcCopySource :: Lens' UploadPartCopy Text-upcCopySource = lens _upcCopySource (\ s a -> s{_upcCopySource = a})---- | Undocumented member.-upcKey :: Lens' UploadPartCopy ObjectKey-upcKey = lens _upcKey (\ s a -> s{_upcKey = a})---- | Part number of part being copied. This is a positive integer between 1 and 10,000.-upcPartNumber :: Lens' UploadPartCopy Int-upcPartNumber = lens _upcPartNumber (\ s a -> s{_upcPartNumber = a})---- | Upload ID identifying the multipart upload whose part is being copied.-upcUploadId :: Lens' UploadPartCopy Text-upcUploadId = lens _upcUploadId (\ s a -> s{_upcUploadId = a})--instance AWSRequest UploadPartCopy where-        type Rs UploadPartCopy = UploadPartCopyResponse-        request = put s3-        response-          = receiveXML-              (\ s h x ->-                 UploadPartCopyResponse' <$>-                   (h .#? "x-amz-request-charged") <*> (parseXML x) <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-algorithm")-                     <*> (h .#? "x-amz-copy-source-version-id")-                     <*>-                     (h .#?-                        "x-amz-server-side-encryption-customer-key-MD5")-                     <*>-                     (h .#? "x-amz-server-side-encryption-aws-kms-key-id")-                     <*> (h .#? "x-amz-server-side-encryption")-                     <*> (pure (fromEnum s)))--instance Hashable UploadPartCopy where--instance NFData UploadPartCopy where--instance ToHeaders UploadPartCopy where-        toHeaders UploadPartCopy'{..}-          = mconcat-              ["x-amz-copy-source-if-modified-since" =#-                 _upcCopySourceIfModifiedSince,-               "x-amz-copy-source-if-unmodified-since" =#-                 _upcCopySourceIfUnmodifiedSince,-               "x-amz-copy-source-range" =# _upcCopySourceRange,-               "x-amz-copy-source-server-side-encryption-customer-key-MD5"-                 =# _upcCopySourceSSECustomerKeyMD5,-               "x-amz-copy-source-if-none-match" =#-                 _upcCopySourceIfNoneMatch,-               "x-amz-server-side-encryption-customer-algorithm" =#-                 _upcSSECustomerAlgorithm,-               "x-amz-server-side-encryption-customer-key" =#-                 _upcSSECustomerKey,-               "x-amz-request-payer" =# _upcRequestPayer,-               "x-amz-copy-source-if-match" =#-                 _upcCopySourceIfMatch,-               "x-amz-server-side-encryption-customer-key-MD5" =#-                 _upcSSECustomerKeyMD5,-               "x-amz-copy-source-server-side-encryption-customer-key"-                 =# _upcCopySourceSSECustomerKey,-               "x-amz-copy-source-server-side-encryption-customer-algorithm"-                 =# _upcCopySourceSSECustomerAlgorithm,-               "x-amz-copy-source" =# _upcCopySource]--instance ToPath UploadPartCopy where-        toPath UploadPartCopy'{..}-          = mconcat ["/", toBS _upcBucket, "/", toBS _upcKey]--instance ToQuery UploadPartCopy where-        toQuery UploadPartCopy'{..}-          = mconcat-              ["partNumber" =: _upcPartNumber,-               "uploadId" =: _upcUploadId]---- | /See:/ 'uploadPartCopyResponse' smart constructor.-data UploadPartCopyResponse = UploadPartCopyResponse'-  { _upcrsRequestCharged       :: !(Maybe RequestCharged)-  , _upcrsCopyPartResult       :: !(Maybe CopyPartResult)-  , _upcrsSSECustomerAlgorithm :: !(Maybe Text)-  , _upcrsCopySourceVersionId  :: !(Maybe Text)-  , _upcrsSSECustomerKeyMD5    :: !(Maybe Text)-  , _upcrsSSEKMSKeyId          :: !(Maybe (Sensitive Text))-  , _upcrsServerSideEncryption :: !(Maybe ServerSideEncryption)-  , _upcrsResponseStatus       :: !Int-  } deriving (Eq, Show, Data, Typeable, Generic)----- | Creates a value of 'UploadPartCopyResponse' with the minimum fields required to make a request.------ Use one of the following lenses to modify other fields as desired:------ * 'upcrsRequestCharged' - Undocumented member.------ * 'upcrsCopyPartResult' - Undocumented member.------ * 'upcrsSSECustomerAlgorithm' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.------ * 'upcrsCopySourceVersionId' - The version of the source object that was copied, if you have enabled versioning on the source bucket.------ * 'upcrsSSECustomerKeyMD5' - If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.------ * 'upcrsSSEKMSKeyId' - If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.------ * 'upcrsServerSideEncryption' - The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).------ * 'upcrsResponseStatus' - -- | The response status code.-uploadPartCopyResponse-    :: Int -- ^ 'upcrsResponseStatus'-    -> UploadPartCopyResponse-uploadPartCopyResponse pResponseStatus_ =-  UploadPartCopyResponse'-    { _upcrsRequestCharged = Nothing-    , _upcrsCopyPartResult = Nothing-    , _upcrsSSECustomerAlgorithm = Nothing-    , _upcrsCopySourceVersionId = Nothing-    , _upcrsSSECustomerKeyMD5 = Nothing-    , _upcrsSSEKMSKeyId = Nothing-    , _upcrsServerSideEncryption = Nothing-    , _upcrsResponseStatus = pResponseStatus_-    }----- | Undocumented member.-upcrsRequestCharged :: Lens' UploadPartCopyResponse (Maybe RequestCharged)-upcrsRequestCharged = lens _upcrsRequestCharged (\ s a -> s{_upcrsRequestCharged = a})---- | Undocumented member.-upcrsCopyPartResult :: Lens' UploadPartCopyResponse (Maybe CopyPartResult)-upcrsCopyPartResult = lens _upcrsCopyPartResult (\ s a -> s{_upcrsCopyPartResult = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header confirming the encryption algorithm used.-upcrsSSECustomerAlgorithm :: Lens' UploadPartCopyResponse (Maybe Text)-upcrsSSECustomerAlgorithm = lens _upcrsSSECustomerAlgorithm (\ s a -> s{_upcrsSSECustomerAlgorithm = a})---- | The version of the source object that was copied, if you have enabled versioning on the source bucket.-upcrsCopySourceVersionId :: Lens' UploadPartCopyResponse (Maybe Text)-upcrsCopySourceVersionId = lens _upcrsCopySourceVersionId (\ s a -> s{_upcrsCopySourceVersionId = a})---- | If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide round trip message integrity verification of the customer-provided encryption key.-upcrsSSECustomerKeyMD5 :: Lens' UploadPartCopyResponse (Maybe Text)-upcrsSSECustomerKeyMD5 = lens _upcrsSSECustomerKeyMD5 (\ s a -> s{_upcrsSSECustomerKeyMD5 = a})---- | If present, specifies the ID of the AWS Key Management Service (KMS) master encryption key that was used for the object.-upcrsSSEKMSKeyId :: Lens' UploadPartCopyResponse (Maybe Text)-upcrsSSEKMSKeyId = lens _upcrsSSEKMSKeyId (\ s a -> s{_upcrsSSEKMSKeyId = a}) . mapping _Sensitive---- | The Server-side encryption algorithm used when storing this object in S3 (e.g., AES256, aws:kms).-upcrsServerSideEncryption :: Lens' UploadPartCopyResponse (Maybe ServerSideEncryption)-upcrsServerSideEncryption = lens _upcrsServerSideEncryption (\ s a -> s{_upcrsServerSideEncryption = a})---- | -- | The response status code.-upcrsResponseStatus :: Lens' UploadPartCopyResponse Int-upcrsResponseStatus = lens _upcrsResponseStatus (\ s a -> s{_upcrsResponseStatus = a})--instance NFData UploadPartCopyResponse where
− gen/Network/AWS/S3/Waiters.hs
@@ -1,75 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TypeFamilies      #-}--{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Network.AWS.S3.Waiters--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Network.AWS.S3.Waiters where--import Network.AWS.Lens-import Network.AWS.Prelude-import Network.AWS.S3.HeadBucket-import Network.AWS.S3.HeadBucket-import Network.AWS.S3.HeadObject-import Network.AWS.S3.HeadObject-import Network.AWS.S3.Types-import Network.AWS.Waiter---- | Polls 'Network.AWS.S3.HeadObject' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.-objectNotExists :: Wait HeadObject-objectNotExists =-  Wait-    { _waitName = "ObjectNotExists"-    , _waitAttempts = 20-    , _waitDelay = 5-    , _waitAcceptors = [matchStatus 404 AcceptSuccess]-    }----- | Polls 'Network.AWS.S3.HeadBucket' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.-bucketExists :: Wait HeadBucket-bucketExists =-  Wait-    { _waitName = "BucketExists"-    , _waitAttempts = 20-    , _waitDelay = 5-    , _waitAcceptors =-        [ matchStatus 200 AcceptSuccess-        , matchStatus 301 AcceptSuccess-        , matchStatus 403 AcceptSuccess-        , matchStatus 404 AcceptRetry-        ]-    }----- | Polls 'Network.AWS.S3.HeadObject' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.-objectExists :: Wait HeadObject-objectExists =-  Wait-    { _waitName = "ObjectExists"-    , _waitAttempts = 20-    , _waitDelay = 5-    , _waitAcceptors =-        [matchStatus 200 AcceptSuccess, matchStatus 404 AcceptRetry]-    }----- | Polls 'Network.AWS.S3.HeadBucket' every 5 seconds until a successful state is reached. An error is returned after 20 failed checks.-bucketNotExists :: Wait HeadBucket-bucketNotExists =-  Wait-    { _waitName = "BucketNotExists"-    , _waitAttempts = 20-    , _waitDelay = 5-    , _waitAcceptors = [matchStatus 404 AcceptSuccess]-    }-
+ src/Amazonka/S3/Internal.hs view
@@ -0,0 +1,312 @@+{-# LANGUAGE BangPatterns #-}+{-# LANGUAGE DeriveGeneric #-}+{-# LANGUAGE FlexibleContexts #-}+{-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-}+{-# LANGUAGE MultiWayIf #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE RankNTypes #-}++-- |+-- Module      : Amazonka.S3.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : This Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka.com>+-- Stability   : experimental+-- Portability : non-portable (GHC extensions)+module Amazonka.S3.Internal+  ( -- * BucketName+    BucketName (..),+    _BucketName,++    -- * ETag+    ETag (..),+    _ETag,++    -- * Object Version ID+    ObjectVersionId (..),+    _ObjectVersionId,++    -- * Bucket Location+    LocationConstraint (..),+    _LocationConstraint,+    Region (..),++    -- * Object Key+    Delimiter,+    ObjectKey (..),+    _ObjectKey,+    objectKey_keyPrefix,+    objectKey_keyName,+    objectKey_keyComponents,++    -- * Website Endpoints+    getWebsiteEndpoint,+  )+where++import Amazonka.Core+import Amazonka.Core.Lens.Internal+  ( IndexedTraversal',+    coerced,+    prism,+    traversed,+    _1,+    _2,+  )+import Amazonka.Data+import Amazonka.Prelude+import qualified Data.Text as Text++newtype BucketName = BucketName {fromBucketName :: Text}+  deriving+    ( Eq,+      Ord,+      Read,+      Show,+      Generic,+      IsString,+      FromText,+      ToText,+      ToByteString,+      FromXML,+      ToXML,+      ToQuery,+      ToLog,+      FromJSON+    )++{-# INLINE _BucketName #-}+_BucketName :: Iso' BucketName Text+_BucketName = coerced++instance Hashable BucketName++instance NFData BucketName++-- FIXME: Add the difference between weak + strong ETags and their respective+-- equalities if necessary, see: https://github.com/brendanhay/amazonka/issues/76+newtype ETag = ETag {fromETag :: ByteString}+  deriving+    ( Eq,+      Ord,+      Read,+      Show,+      Generic,+      IsString,+      FromText,+      ToText,+      ToByteString,+      FromXML,+      ToXML,+      ToQuery,+      ToLog+    )++{-# INLINE _ETag #-}+_ETag :: Iso' ETag ByteString+_ETag = coerced++instance Hashable ETag++instance NFData ETag++newtype ObjectVersionId = ObjectVersionId {fromObjectVersionId :: Text}+  deriving+    ( Eq,+      Ord,+      Read,+      Show,+      Generic,+      IsString,+      FromText,+      ToText,+      ToByteString,+      FromXML,+      ToXML,+      ToQuery,+      ToLog+    )++_ObjectVersionId :: Iso' ObjectVersionId Text+_ObjectVersionId = coerced++instance Hashable ObjectVersionId++instance NFData ObjectVersionId++newtype LocationConstraint = LocationConstraint {constraintRegion :: Region}+  deriving+    ( Eq,+      Ord,+      Read,+      Show,+      Generic,+      ToText,+      ToByteString,+      ToLog+    )++{-# INLINE _LocationConstraint #-}+_LocationConstraint :: Iso' LocationConstraint Region+_LocationConstraint = coerced++instance Hashable LocationConstraint++instance NFData LocationConstraint++instance FromText LocationConstraint where+  fromText text =+    LocationConstraint+      <$> case Text.toLower text of+        "" -> pure NorthVirginia+        "eu" -> pure Ireland+        other -> pure $ Region' other++instance FromXML LocationConstraint where+  parseXML = \case+    [] -> pure (LocationConstraint NorthVirginia)+    ns -> parseXMLText "LocationConstraint" ns++instance ToXML LocationConstraint where+  toXML = \case+    LocationConstraint NorthVirginia -> XNull+    LocationConstraint r -> toXMLText r++newtype ObjectKey = ObjectKey Text+  deriving+    ( Eq,+      Ord,+      Read,+      Show,+      Generic,+      IsString,+      FromText,+      ToText,+      ToByteString,+      FromXML,+      ToXML,+      ToQuery,+      ToPath,+      ToLog+    )++instance Hashable ObjectKey++instance NFData ObjectKey++type Delimiter = Char++_ObjectKey :: Iso' ObjectKey Text+_ObjectKey = coerced+{-# INLINE _ObjectKey #-}++-- FIXME: Note about laws for combining objectKey_keyPrefix/objectKey_keyName.++-- | Traverse the prefix of an object key.+--+-- The prefix is classified as the entirety of the object key minus the name.+-- A leading prefix in the presence of a name, and no other delimiters is+-- interpreted as a blank prefix.+--+-- >>> "/home/jsmith/base.wiki" ^? objectKey_keyPrefix '/'+-- Just "/home/jsmith"+--+-- >>> "/home/jsmith/" ^? objectKey_keyPrefix '/'+-- Just "/home/jsmith"+--+-- >>> "/home" ^? objectKey_keyPrefix '/'+-- Nothing+--+-- >>> "/" ^? objectKey_keyPrefix '/'+-- Nothing+objectKey_keyPrefix :: Delimiter -> Traversal' ObjectKey Text+objectKey_keyPrefix c = _ObjectKeySnoc True c . _1+{-# INLINE objectKey_keyPrefix #-}++-- | Traverse the name of an object key.+--+-- The name is classified as last path component based on the given delimiter.+-- A trailing delimiter is interpreted as a blank name.+--+-- >>> "/home/jsmith/base.wiki" ^? objectKey_keyName '/'+-- Just "base.wiki"+--+-- >>> "/home/jsmith/" ^? objectKey_keyName '/'+-- Just ""+--+-- >>> "/home" ^? objectKey_keyName '/'+-- Just "home"+--+-- >>> "/" ^? objectKey_keyName '/'+-- Just ""+objectKey_keyName :: Delimiter -> Traversal' ObjectKey Text+objectKey_keyName c = _ObjectKeySnoc False c . _2+{-# INLINE objectKey_keyName #-}++-- | Traverse the path components of an object key using the specified delimiter.+objectKey_keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text+objectKey_keyComponents !c f (ObjectKey k) = cat <$> traversed f split+  where+    split = Text.split (== c) k+    cat = ObjectKey . Text.intercalate (Text.singleton c)+{-# INLINE objectKey_keyComponents #-}++-- | Modelled on the '_Snoc' type class from "Control.Lens.Cons".+_ObjectKeySnoc :: Bool -> Delimiter -> Prism' ObjectKey (Text, Text)+_ObjectKeySnoc dir !c = prism (ObjectKey . uncurry cat) split+  where+    split x@(ObjectKey k) =+      let (h, t) = Text.breakOnEnd suf k+       in if+              | Text.length h <= 1, dir -> Left x+              | otherwise -> Right (Text.dropEnd 1 h, t)++    cat h t+      | Text.null h = t+      | Text.null t = h+      | suf `Text.isSuffixOf` h = h <> t+      | suf `Text.isPrefixOf` t = h <> t+      | otherwise = h <> suf <> t++    suf = Text.singleton c++-- | Get the S3 website endpoint for a specific region.+--+-- When you configure your bucket as a website, the website is available using+-- this region-specific website endpoint.+--+-- /See:/ <https://docs.aws.amazon.com/general/latest/gr/s3.html#s3_website_region_endpoints Amazon Simple Storage Service Website Endpoints>.+getWebsiteEndpoint :: Region -> Maybe Text+getWebsiteEndpoint = \case+  Ohio -> Just "s3-website.us-east-2.amazonaws.com"+  NorthVirginia -> Just "s3-website-us-east-1.amazonaws.com"+  NorthCalifornia -> Just "s3-website-us-west-1.amazonaws.com"+  Oregon -> Just "s3-website-us-west-2.amazonaws.com"+  CapeTown -> Just "s3-website.af-south-1.amazonaws.com"+  HongKong -> Just "s3-website.ap-east-1.amazonaws.com"+  Hyderabad -> Just "s3-website.ap-south-2.amazonaws.com"+  Jakarta -> Just "s3-website.ap-southeast-3.amazonaws.com"+  Melbourne -> Just "s3-website.ap-southeast-4.amazonaws.com"+  Mumbai -> Just "s3-website.ap-south-1.amazonaws.com"+  Osaka -> Just "s3-website.ap-northeast-3.amazonaws.com"+  Seoul -> Just "s3-website.ap-northeast-2.amazonaws.com"+  Singapore -> Just "s3-website-ap-southeast-1.amazonaws.com"+  Sydney -> Just "s3-website-ap-southeast-2.amazonaws.com"+  Tokyo -> Just "s3-website-ap-northeast-1.amazonaws.com"+  Montreal -> Just "s3-website.ca-central-1.amazonaws.com"+  Ningxia -> Just "s3-website.cn-northwest-1.amazonaws.com.cn"+  Frankfurt -> Just "s3-website.eu-central-1.amazonaws.com"+  Ireland -> Just "s3-website-eu-west-1.amazonaws.com"+  London -> Just "s3-website.eu-west-2.amazonaws.com"+  Milan -> Just "s3-website.eu-south-1.amazonaws.com"+  Paris -> Just "s3-website.eu-west-3.amazonaws.com"+  Stockholm -> Just "s3-website.eu-north-1.amazonaws.com"+  Spain -> Just "s3-website.eu-south-2.amazonaws.com"+  Zurich -> Just "s3-website.eu-central-2.amazonaws.com"+  Bahrain -> Just "s3-website.me-south-1.amazonaws.com"+  UAE -> Just "s3-website.me-central-1.amazonaws.com"+  SaoPaulo -> Just "s3-website-sa-east-1.amazonaws.com"+  GovCloudEast -> Just "s3-website.us-gov-east-1.amazonaws.com"+  GovCloudWest -> Just "s3-website-us-gov-west-1.amazonaws.com"+  Region' _ -> Nothing
− src/Network/AWS/S3/Internal.hs
@@ -1,266 +0,0 @@-{-# LANGUAGE BangPatterns               #-}-{-# LANGUAGE DeriveDataTypeable         #-}-{-# LANGUAGE DeriveGeneric              #-}-{-# LANGUAGE FlexibleContexts           #-}-{-# LANGUAGE GeneralizedNewtypeDeriving #-}-{-# LANGUAGE LambdaCase                 #-}-{-# LANGUAGE MultiWayIf                 #-}-{-# LANGUAGE OverloadedStrings          #-}-{-# LANGUAGE RankNTypes                 #-}---- |--- Module      : Network.AWS.S3.Internal--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : This Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)----module Network.AWS.S3.Internal-    ( Region             (..)-    , BucketName         (..)-    , ETag               (..)-    , ObjectVersionId    (..)--    -- * Bucket Location-    , LocationConstraint (..)-    , _LocationConstraint--    -- * Object Key-    , Delimiter-    , ObjectKey          (..)-    , _ObjectKey-    , keyPrefix-    , keyName-    , keyComponents--    -- * Website Endpoints-    , getWebsiteEndpoint-    ) where--import Data.String (IsString)--import Network.AWS.Data.Log-import Network.AWS.Data.XML-import Network.AWS.Lens     (IndexedTraversal', Iso', Prism', Traversal')-import Network.AWS.Lens     (iso, prism, traversed, _1, _2)-import Network.AWS.Prelude--import qualified Data.Text as Text--newtype BucketName = BucketName Text-    deriving-        ( Eq-        , Ord-        , Read-        , Show-        , Data-        , Typeable-        , Generic-        , IsString-        , FromText-        , ToText-        , ToByteString-        , FromXML-        , ToXML-        , ToQuery-        , ToLog-        , FromJSON-        )--instance Hashable BucketName-instance NFData   BucketName---- FIXME: Add the difference between weak + strong ETags and their respective--- equalities if necessary, see: https://github.com/brendanhay/amazonka/issues/76-newtype ETag = ETag ByteString-    deriving-        ( Eq-        , Ord-        , Read-        , Show-        , Data-        , Typeable-        , Generic-        , IsString-        , FromText-        , ToText-        , ToByteString-        , FromXML-        , ToXML-        , ToQuery-        , ToLog-        )--instance Hashable ETag-instance NFData   ETag--newtype ObjectVersionId = ObjectVersionId Text-    deriving-        ( Eq-        , Ord-        , Read-        , Show-        , Data-        , Typeable-        , Generic-        , IsString-        , FromText-        , ToText-        , ToByteString-        , FromXML-        , ToXML-        , ToQuery-        , ToLog-        )--instance Hashable ObjectVersionId-instance NFData   ObjectVersionId--newtype LocationConstraint = LocationConstraint { constraintRegion :: Region }-    deriving-        ( Eq-        , Ord-        , Read-        , Show-        , Data-        , Typeable-        , Generic-        , ToText-        , ToByteString-        , ToLog-        )--_LocationConstraint :: Iso' LocationConstraint Region-_LocationConstraint = iso constraintRegion LocationConstraint--instance Hashable LocationConstraint-instance NFData   LocationConstraint--instance FromText LocationConstraint where-    parser = LocationConstraint <$> (parser <|> go)-      where-        go = takeLowerText >>= \case-            ""   -> pure NorthVirginia-            "eu" -> pure Ireland-            e    -> fromTextError $-                "Failure parsing LocationConstraint from " <> e--instance FromXML LocationConstraint where-    parseXML = \case-        [] -> pure (LocationConstraint NorthVirginia)-        ns -> parseXMLText "LocationConstraint" ns--instance ToXML LocationConstraint where-    toXML = \case-        LocationConstraint NorthVirginia -> XNull-        LocationConstraint r             -> toXMLText r--newtype ObjectKey = ObjectKey Text-    deriving-        ( Eq-        , Ord-        , Read-        , Show-        , Data-        , Typeable-        , Generic-        , IsString-        , FromText-        , ToText-        , ToByteString-        , FromXML-        , ToXML-        , ToQuery-        , ToPath-        , ToLog-        )--instance Hashable ObjectKey-instance NFData   ObjectKey--type Delimiter = Char--_ObjectKey :: Iso' ObjectKey Text-_ObjectKey = iso (\(ObjectKey k) -> k) ObjectKey-{-# INLINE _ObjectKey #-}---- FIXME: Note about laws for combining keyPrefix/keyName.---- | Traverse the prefix of an object key.------ The prefix is classified as the entirety of the object key minus the name.--- A leading prefix in the presence of a name, and no other delimiters is--- interpreted as a blank prefix.------ >>> "/home/jsmith/base.wiki" ^? keyPrefix '/'--- Just "/home/jsmith"------ >>> "/home/jsmith/" ^? keyPrefix '/'--- Just "/home/jsmith"------ >>> "/home" ^? keyPrefix '/'--- Nothing------ >>> "/" ^? keyPrefix '/'--- Nothing----keyPrefix :: Delimiter -> Traversal' ObjectKey Text-keyPrefix c = _ObjectKeySnoc True c . _1-{-# INLINE keyPrefix #-}---- | Traverse the name of an object key.------- The name is classified as last path component based on the given delimiter.--- A trailing delimiter is interpreted as a blank name.------ >>> "/home/jsmith/base.wiki" ^? keyName '/'--- Just "base.wiki"------ >>> "/home/jsmith/" ^? keyName '/'--- Just ""------ >>> "/home" ^? keyName '/'--- Just "home"------ >>> "/" ^? keyName '/'--- Just ""----keyName :: Delimiter -> Traversal' ObjectKey Text-keyName c = _ObjectKeySnoc False c . _2-{-# INLINE keyName #-}---- | Traverse the path components of an object key using the specified delimiter.-keyComponents :: Delimiter -> IndexedTraversal' Int ObjectKey Text-keyComponents !c f (ObjectKey k) = cat <$> traversed f split-  where-    split = Text.split (== c) k-    cat   = ObjectKey . Text.intercalate (Text.singleton c)-{-# INLINE keyComponents #-}---- | Modelled on the '_Snoc' type class from "Control.Lens.Cons".-_ObjectKeySnoc :: Bool -> Delimiter -> Prism' ObjectKey (Text, Text)-_ObjectKeySnoc dir !c = prism (ObjectKey . uncurry cat) split-  where-    split x@(ObjectKey k) =-        let (h, t) = Text.breakOnEnd suf k-         in if | Text.length h <= 1, dir -> Left x-               | otherwise               -> Right (Text.dropEnd 1 h, t)--    cat h t-        | Text.null h             = t-        | Text.null t             = h-        | suf `Text.isSuffixOf` h = h <> t-        | suf `Text.isPrefixOf` t = h <> t-        | otherwise               = h <> suf <> t--    suf = Text.singleton c---- | Get the S3 website endpoint for a specific region.------ When you configure your bucket as a website, the website is available using--- this region-specific website endpoint.------ /See:/ <http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_website_region_endpoints Amazon Simple Storage Service Website Endpoints>.-getWebsiteEndpoint :: Region -> Text-getWebsiteEndpoint reg = "s3-website-" <> toText reg <> ".amazonaws.com"
test/Main.hs view
@@ -2,20 +2,22 @@  -- | -- Module      : Main--- Copyright   : (c) 2013-2018 Brendan Hay+-- Copyright   : (c) 2013-2023 Brendan Hay -- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>+-- Maintainer  : Brendan Hay -- Stability   : auto-generated -- Portability : non-portable (GHC extensions)--- module Main (main) where +import Test.Amazonka.S3+import Test.Amazonka.S3.Internal import Test.Tasty-import Test.AWS.S3-import Test.AWS.S3.Internal  main :: IO ()-main = defaultMain $ testGroup "S3"-    [ testGroup "tests"    tests-    , testGroup "fixtures" fixtures-    ]+main =+  defaultMain $+    testGroup+      "S3"+      [ testGroup "tests" tests,+        testGroup "fixtures" fixtures+      ]
− test/Test/AWS/Gen/S3.hs
@@ -1,1347 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-orphans        #-}---- Derived from AWS service descriptions, licensed under Apache 2.0.---- |--- Module      : Test.AWS.Gen.S3--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>--- Stability   : auto-generated--- Portability : non-portable (GHC extensions)----module Test.AWS.Gen.S3 where--import Data.Proxy-import Network.AWS.S3-import Test.AWS.Fixture-import Test.AWS.Prelude-import Test.AWS.S3.Internal-import Test.Tasty---- Auto-generated: the actual test selection needs to be manually placed into--- the top-level so that real test data can be incrementally added.------ This commented snippet is what the entire set should look like:---- fixtures :: TestTree--- fixtures =---     [ testGroup "request"---         [ requestPutBucketRequestPayment $---             putBucketRequestPayment------         , requestPutObject $---             putObject------         , requestDeleteObject $---             deleteObject------         , requestPutBucketLogging $---             putBucketLogging------         , requestGetBucketMetricsConfiguration $---             getBucketMetricsConfiguration------         , requestListBuckets $---             listBuckets------         , requestDeleteBucket $---             deleteBucket------         , requestCreateBucket $---             createBucket------         , requestDeleteBucketTagging $---             deleteBucketTagging------         , requestPutObjectACL $---             putObjectACL------         , requestPutBucketTagging $---             putBucketTagging------         , requestGetBucketInventoryConfiguration $---             getBucketInventoryConfiguration------         , requestPutBucketInventoryConfiguration $---             putBucketInventoryConfiguration------         , requestGetBucketLocation $---             getBucketLocation------         , requestListBucketInventoryConfigurations $---             listBucketInventoryConfigurations------         , requestDeleteBucketInventoryConfiguration $---             deleteBucketInventoryConfiguration------         , requestGetBucketNotificationConfiguration $---             getBucketNotificationConfiguration------         , requestPutBucketAccelerateConfiguration $---             putBucketAccelerateConfiguration------         , requestPutBucketMetricsConfiguration $---             putBucketMetricsConfiguration------         , requestDeleteBucketMetricsConfiguration $---             deleteBucketMetricsConfiguration------         , requestListObjectsV2 $---             listObjectsV2------         , requestGetObject $---             getObject------         , requestPutBucketReplication $---             putBucketReplication------         , requestGetBucketWebsite $---             getBucketWebsite------         , requestGetBucketRequestPayment $---             getBucketRequestPayment------         , requestDeleteBucketReplication $---             deleteBucketReplication------         , requestListObjectVersions $---             listObjectVersions------         , requestHeadBucket $---             headBucket------         , requestDeleteBucketLifecycle $---             deleteBucketLifecycle------         , requestPutBucketLifecycleConfiguration $---             putBucketLifecycleConfiguration------         , requestPutBucketAnalyticsConfiguration $---             putBucketAnalyticsConfiguration------         , requestListBucketAnalyticsConfigurations $---             listBucketAnalyticsConfigurations------         , requestDeleteBucketAnalyticsConfiguration $---             deleteBucketAnalyticsConfiguration------         , requestCreateMultipartUpload $---             createMultipartUpload------         , requestUploadPart $---             uploadPart------         , requestSelectObjectContent $---             selectObjectContent------         , requestGetBucketReplication $---             getBucketReplication------         , requestPutBucketWebsite $---             putBucketWebsite------         , requestDeleteBucketWebsite $---             deleteBucketWebsite------         , requestCompleteMultipartUpload $---             completeMultipartUpload------         , requestListMultipartUploads $---             listMultipartUploads------         , requestListObjects $---             listObjects------         , requestDeleteBucketPolicy $---             deleteBucketPolicy------         , requestGetBucketEncryption $---             getBucketEncryption------         , requestAbortMultipartUpload $---             abortMultipartUpload------         , requestPutBucketPolicy $---             putBucketPolicy------         , requestGetBucketAccelerateConfiguration $---             getBucketAccelerateConfiguration------         , requestGetObjectTorrent $---             getObjectTorrent------         , requestDeleteObjects $---             deleteObjects------         , requestPutBucketNotificationConfiguration $---             putBucketNotificationConfiguration------         , requestGetBucketVersioning $---             getBucketVersioning------         , requestDeleteBucketCORS $---             deleteBucketCORS------         , requestPutBucketCORS $---             putBucketCORS------         , requestGetBucketCORS $---             getBucketCORS------         , requestGetObjectACL $---             getObjectACL------         , requestRestoreObject $---             restoreObject------         , requestHeadObject $---             headObject------         , requestPutBucketVersioning $---             putBucketVersioning------         , requestGetBucketTagging $---             getBucketTagging------         , requestCopyObject $---             copyObject------         , requestListBucketMetricsConfigurations $---             listBucketMetricsConfigurations------         , requestGetBucketPolicy $---             getBucketPolicy------         , requestPutBucketEncryption $---             putBucketEncryption------         , requestDeleteBucketEncryption $---             deleteBucketEncryption------         , requestGetBucketLogging $---             getBucketLogging------         , requestGetBucketACL $---             getBucketACL------         , requestGetBucketLifecycleConfiguration $---             getBucketLifecycleConfiguration------         , requestGetBucketAnalyticsConfiguration $---             getBucketAnalyticsConfiguration------         , requestGetObjectTagging $---             getObjectTagging------         , requestListParts $---             listParts------         , requestDeleteObjectTagging $---             deleteObjectTagging------         , requestUploadPartCopy $---             uploadPartCopy------         , requestPutObjectTagging $---             putObjectTagging------         , requestPutBucketACL $---             putBucketACL------           ]----     , testGroup "response"---         [ responsePutBucketRequestPayment $---             putBucketRequestPaymentResponse------         , responsePutObject $---             putObjectResponse------         , responseDeleteObject $---             deleteObjectResponse------         , responsePutBucketLogging $---             putBucketLoggingResponse------         , responseGetBucketMetricsConfiguration $---             getBucketMetricsConfigurationResponse------         , responseListBuckets $---             listBucketsResponse------         , responseDeleteBucket $---             deleteBucketResponse------         , responseCreateBucket $---             createBucketResponse------         , responseDeleteBucketTagging $---             deleteBucketTaggingResponse------         , responsePutObjectACL $---             putObjectACLResponse------         , responsePutBucketTagging $---             putBucketTaggingResponse------         , responseGetBucketInventoryConfiguration $---             getBucketInventoryConfigurationResponse------         , responsePutBucketInventoryConfiguration $---             putBucketInventoryConfigurationResponse------         , responseGetBucketLocation $---             getBucketLocationResponse------         , responseListBucketInventoryConfigurations $---             listBucketInventoryConfigurationsResponse------         , responseDeleteBucketInventoryConfiguration $---             deleteBucketInventoryConfigurationResponse------         , responseGetBucketNotificationConfiguration $---             notificationConfiguration------         , responsePutBucketAccelerateConfiguration $---             putBucketAccelerateConfigurationResponse------         , responsePutBucketMetricsConfiguration $---             putBucketMetricsConfigurationResponse------         , responseDeleteBucketMetricsConfiguration $---             deleteBucketMetricsConfigurationResponse------         , responseListObjectsV2 $---             listObjectsV2Response------         , responseGetObject $---             getObjectResponse------         , responsePutBucketReplication $---             putBucketReplicationResponse------         , responseGetBucketWebsite $---             getBucketWebsiteResponse------         , responseGetBucketRequestPayment $---             getBucketRequestPaymentResponse------         , responseDeleteBucketReplication $---             deleteBucketReplicationResponse------         , responseListObjectVersions $---             listObjectVersionsResponse------         , responseHeadBucket $---             headBucketResponse------         , responseDeleteBucketLifecycle $---             deleteBucketLifecycleResponse------         , responsePutBucketLifecycleConfiguration $---             putBucketLifecycleConfigurationResponse------         , responsePutBucketAnalyticsConfiguration $---             putBucketAnalyticsConfigurationResponse------         , responseListBucketAnalyticsConfigurations $---             listBucketAnalyticsConfigurationsResponse------         , responseDeleteBucketAnalyticsConfiguration $---             deleteBucketAnalyticsConfigurationResponse------         , responseCreateMultipartUpload $---             createMultipartUploadResponse------         , responseUploadPart $---             uploadPartResponse------         , responseSelectObjectContent $---             selectObjectContentResponse------         , responseGetBucketReplication $---             getBucketReplicationResponse------         , responsePutBucketWebsite $---             putBucketWebsiteResponse------         , responseDeleteBucketWebsite $---             deleteBucketWebsiteResponse------         , responseCompleteMultipartUpload $---             completeMultipartUploadResponse------         , responseListMultipartUploads $---             listMultipartUploadsResponse------         , responseListObjects $---             listObjectsResponse------         , responseDeleteBucketPolicy $---             deleteBucketPolicyResponse------         , responseGetBucketEncryption $---             getBucketEncryptionResponse------         , responseAbortMultipartUpload $---             abortMultipartUploadResponse------         , responsePutBucketPolicy $---             putBucketPolicyResponse------         , responseGetBucketAccelerateConfiguration $---             getBucketAccelerateConfigurationResponse------         , responseGetObjectTorrent $---             getObjectTorrentResponse------         , responseDeleteObjects $---             deleteObjectsResponse------         , responsePutBucketNotificationConfiguration $---             putBucketNotificationConfigurationResponse------         , responseGetBucketVersioning $---             getBucketVersioningResponse------         , responseDeleteBucketCORS $---             deleteBucketCORSResponse------         , responsePutBucketCORS $---             putBucketCORSResponse------         , responseGetBucketCORS $---             getBucketCORSResponse------         , responseGetObjectACL $---             getObjectACLResponse------         , responseRestoreObject $---             restoreObjectResponse------         , responseHeadObject $---             headObjectResponse------         , responsePutBucketVersioning $---             putBucketVersioningResponse------         , responseGetBucketTagging $---             getBucketTaggingResponse------         , responseCopyObject $---             copyObjectResponse------         , responseListBucketMetricsConfigurations $---             listBucketMetricsConfigurationsResponse------         , responseGetBucketPolicy $---             getBucketPolicyResponse------         , responsePutBucketEncryption $---             putBucketEncryptionResponse------         , responseDeleteBucketEncryption $---             deleteBucketEncryptionResponse------         , responseGetBucketLogging $---             getBucketLoggingResponse------         , responseGetBucketACL $---             getBucketACLResponse------         , responseGetBucketLifecycleConfiguration $---             getBucketLifecycleConfigurationResponse------         , responseGetBucketAnalyticsConfiguration $---             getBucketAnalyticsConfigurationResponse------         , responseGetObjectTagging $---             getObjectTaggingResponse------         , responseListParts $---             listPartsResponse------         , responseDeleteObjectTagging $---             deleteObjectTaggingResponse------         , responseUploadPartCopy $---             uploadPartCopyResponse------         , responsePutObjectTagging $---             putObjectTaggingResponse------         , responsePutBucketACL $---             putBucketACLResponse------           ]---     ]---- Requests--requestPutBucketRequestPayment :: PutBucketRequestPayment -> TestTree-requestPutBucketRequestPayment = req-    "PutBucketRequestPayment"-    "fixture/PutBucketRequestPayment.yaml"--requestDeleteObject :: DeleteObject -> TestTree-requestDeleteObject = req-    "DeleteObject"-    "fixture/DeleteObject.yaml"--requestPutBucketLogging :: PutBucketLogging -> TestTree-requestPutBucketLogging = req-    "PutBucketLogging"-    "fixture/PutBucketLogging.yaml"--requestGetBucketMetricsConfiguration :: GetBucketMetricsConfiguration -> TestTree-requestGetBucketMetricsConfiguration = req-    "GetBucketMetricsConfiguration"-    "fixture/GetBucketMetricsConfiguration.yaml"--requestListBuckets :: ListBuckets -> TestTree-requestListBuckets = req-    "ListBuckets"-    "fixture/ListBuckets.yaml"--requestDeleteBucket :: DeleteBucket -> TestTree-requestDeleteBucket = req-    "DeleteBucket"-    "fixture/DeleteBucket.yaml"--requestCreateBucket :: CreateBucket -> TestTree-requestCreateBucket = req-    "CreateBucket"-    "fixture/CreateBucket.yaml"--requestDeleteBucketTagging :: DeleteBucketTagging -> TestTree-requestDeleteBucketTagging = req-    "DeleteBucketTagging"-    "fixture/DeleteBucketTagging.yaml"--requestPutObjectACL :: PutObjectACL -> TestTree-requestPutObjectACL = req-    "PutObjectACL"-    "fixture/PutObjectACL.yaml"--requestPutBucketTagging :: PutBucketTagging -> TestTree-requestPutBucketTagging = req-    "PutBucketTagging"-    "fixture/PutBucketTagging.yaml"--requestGetBucketInventoryConfiguration :: GetBucketInventoryConfiguration -> TestTree-requestGetBucketInventoryConfiguration = req-    "GetBucketInventoryConfiguration"-    "fixture/GetBucketInventoryConfiguration.yaml"--requestPutBucketInventoryConfiguration :: PutBucketInventoryConfiguration -> TestTree-requestPutBucketInventoryConfiguration = req-    "PutBucketInventoryConfiguration"-    "fixture/PutBucketInventoryConfiguration.yaml"--requestGetBucketLocation :: GetBucketLocation -> TestTree-requestGetBucketLocation = req-    "GetBucketLocation"-    "fixture/GetBucketLocation.yaml"--requestListBucketInventoryConfigurations :: ListBucketInventoryConfigurations -> TestTree-requestListBucketInventoryConfigurations = req-    "ListBucketInventoryConfigurations"-    "fixture/ListBucketInventoryConfigurations.yaml"--requestDeleteBucketInventoryConfiguration :: DeleteBucketInventoryConfiguration -> TestTree-requestDeleteBucketInventoryConfiguration = req-    "DeleteBucketInventoryConfiguration"-    "fixture/DeleteBucketInventoryConfiguration.yaml"--requestGetBucketNotificationConfiguration :: GetBucketNotificationConfiguration -> TestTree-requestGetBucketNotificationConfiguration = req-    "GetBucketNotificationConfiguration"-    "fixture/GetBucketNotificationConfiguration.yaml"--requestPutBucketAccelerateConfiguration :: PutBucketAccelerateConfiguration -> TestTree-requestPutBucketAccelerateConfiguration = req-    "PutBucketAccelerateConfiguration"-    "fixture/PutBucketAccelerateConfiguration.yaml"--requestPutBucketMetricsConfiguration :: PutBucketMetricsConfiguration -> TestTree-requestPutBucketMetricsConfiguration = req-    "PutBucketMetricsConfiguration"-    "fixture/PutBucketMetricsConfiguration.yaml"--requestDeleteBucketMetricsConfiguration :: DeleteBucketMetricsConfiguration -> TestTree-requestDeleteBucketMetricsConfiguration = req-    "DeleteBucketMetricsConfiguration"-    "fixture/DeleteBucketMetricsConfiguration.yaml"--requestListObjectsV2 :: ListObjectsV2 -> TestTree-requestListObjectsV2 = req-    "ListObjectsV2"-    "fixture/ListObjectsV2.yaml"--requestGetObject :: GetObject -> TestTree-requestGetObject = req-    "GetObject"-    "fixture/GetObject.yaml"--requestPutBucketReplication :: PutBucketReplication -> TestTree-requestPutBucketReplication = req-    "PutBucketReplication"-    "fixture/PutBucketReplication.yaml"--requestGetBucketWebsite :: GetBucketWebsite -> TestTree-requestGetBucketWebsite = req-    "GetBucketWebsite"-    "fixture/GetBucketWebsite.yaml"--requestGetBucketRequestPayment :: GetBucketRequestPayment -> TestTree-requestGetBucketRequestPayment = req-    "GetBucketRequestPayment"-    "fixture/GetBucketRequestPayment.yaml"--requestDeleteBucketReplication :: DeleteBucketReplication -> TestTree-requestDeleteBucketReplication = req-    "DeleteBucketReplication"-    "fixture/DeleteBucketReplication.yaml"--requestListObjectVersions :: ListObjectVersions -> TestTree-requestListObjectVersions = req-    "ListObjectVersions"-    "fixture/ListObjectVersions.yaml"--requestHeadBucket :: HeadBucket -> TestTree-requestHeadBucket = req-    "HeadBucket"-    "fixture/HeadBucket.yaml"--requestDeleteBucketLifecycle :: DeleteBucketLifecycle -> TestTree-requestDeleteBucketLifecycle = req-    "DeleteBucketLifecycle"-    "fixture/DeleteBucketLifecycle.yaml"--requestPutBucketLifecycleConfiguration :: PutBucketLifecycleConfiguration -> TestTree-requestPutBucketLifecycleConfiguration = req-    "PutBucketLifecycleConfiguration"-    "fixture/PutBucketLifecycleConfiguration.yaml"--requestPutBucketAnalyticsConfiguration :: PutBucketAnalyticsConfiguration -> TestTree-requestPutBucketAnalyticsConfiguration = req-    "PutBucketAnalyticsConfiguration"-    "fixture/PutBucketAnalyticsConfiguration.yaml"--requestListBucketAnalyticsConfigurations :: ListBucketAnalyticsConfigurations -> TestTree-requestListBucketAnalyticsConfigurations = req-    "ListBucketAnalyticsConfigurations"-    "fixture/ListBucketAnalyticsConfigurations.yaml"--requestDeleteBucketAnalyticsConfiguration :: DeleteBucketAnalyticsConfiguration -> TestTree-requestDeleteBucketAnalyticsConfiguration = req-    "DeleteBucketAnalyticsConfiguration"-    "fixture/DeleteBucketAnalyticsConfiguration.yaml"--requestCreateMultipartUpload :: CreateMultipartUpload -> TestTree-requestCreateMultipartUpload = req-    "CreateMultipartUpload"-    "fixture/CreateMultipartUpload.yaml"--requestSelectObjectContent :: SelectObjectContent -> TestTree-requestSelectObjectContent = req-    "SelectObjectContent"-    "fixture/SelectObjectContent.yaml"--requestGetBucketReplication :: GetBucketReplication -> TestTree-requestGetBucketReplication = req-    "GetBucketReplication"-    "fixture/GetBucketReplication.yaml"--requestPutBucketWebsite :: PutBucketWebsite -> TestTree-requestPutBucketWebsite = req-    "PutBucketWebsite"-    "fixture/PutBucketWebsite.yaml"--requestDeleteBucketWebsite :: DeleteBucketWebsite -> TestTree-requestDeleteBucketWebsite = req-    "DeleteBucketWebsite"-    "fixture/DeleteBucketWebsite.yaml"--requestCompleteMultipartUpload :: CompleteMultipartUpload -> TestTree-requestCompleteMultipartUpload = req-    "CompleteMultipartUpload"-    "fixture/CompleteMultipartUpload.yaml"--requestListMultipartUploads :: ListMultipartUploads -> TestTree-requestListMultipartUploads = req-    "ListMultipartUploads"-    "fixture/ListMultipartUploads.yaml"--requestListObjects :: ListObjects -> TestTree-requestListObjects = req-    "ListObjects"-    "fixture/ListObjects.yaml"--requestDeleteBucketPolicy :: DeleteBucketPolicy -> TestTree-requestDeleteBucketPolicy = req-    "DeleteBucketPolicy"-    "fixture/DeleteBucketPolicy.yaml"--requestGetBucketEncryption :: GetBucketEncryption -> TestTree-requestGetBucketEncryption = req-    "GetBucketEncryption"-    "fixture/GetBucketEncryption.yaml"--requestAbortMultipartUpload :: AbortMultipartUpload -> TestTree-requestAbortMultipartUpload = req-    "AbortMultipartUpload"-    "fixture/AbortMultipartUpload.yaml"--requestPutBucketPolicy :: PutBucketPolicy -> TestTree-requestPutBucketPolicy = req-    "PutBucketPolicy"-    "fixture/PutBucketPolicy.yaml"--requestGetBucketAccelerateConfiguration :: GetBucketAccelerateConfiguration -> TestTree-requestGetBucketAccelerateConfiguration = req-    "GetBucketAccelerateConfiguration"-    "fixture/GetBucketAccelerateConfiguration.yaml"--requestGetObjectTorrent :: GetObjectTorrent -> TestTree-requestGetObjectTorrent = req-    "GetObjectTorrent"-    "fixture/GetObjectTorrent.yaml"--requestDeleteObjects :: DeleteObjects -> TestTree-requestDeleteObjects = req-    "DeleteObjects"-    "fixture/DeleteObjects.yaml"--requestPutBucketNotificationConfiguration :: PutBucketNotificationConfiguration -> TestTree-requestPutBucketNotificationConfiguration = req-    "PutBucketNotificationConfiguration"-    "fixture/PutBucketNotificationConfiguration.yaml"--requestGetBucketVersioning :: GetBucketVersioning -> TestTree-requestGetBucketVersioning = req-    "GetBucketVersioning"-    "fixture/GetBucketVersioning.yaml"--requestDeleteBucketCORS :: DeleteBucketCORS -> TestTree-requestDeleteBucketCORS = req-    "DeleteBucketCORS"-    "fixture/DeleteBucketCORS.yaml"--requestPutBucketCORS :: PutBucketCORS -> TestTree-requestPutBucketCORS = req-    "PutBucketCORS"-    "fixture/PutBucketCORS.yaml"--requestGetBucketCORS :: GetBucketCORS -> TestTree-requestGetBucketCORS = req-    "GetBucketCORS"-    "fixture/GetBucketCORS.yaml"--requestGetObjectACL :: GetObjectACL -> TestTree-requestGetObjectACL = req-    "GetObjectACL"-    "fixture/GetObjectACL.yaml"--requestRestoreObject :: RestoreObject -> TestTree-requestRestoreObject = req-    "RestoreObject"-    "fixture/RestoreObject.yaml"--requestHeadObject :: HeadObject -> TestTree-requestHeadObject = req-    "HeadObject"-    "fixture/HeadObject.yaml"--requestPutBucketVersioning :: PutBucketVersioning -> TestTree-requestPutBucketVersioning = req-    "PutBucketVersioning"-    "fixture/PutBucketVersioning.yaml"--requestGetBucketTagging :: GetBucketTagging -> TestTree-requestGetBucketTagging = req-    "GetBucketTagging"-    "fixture/GetBucketTagging.yaml"--requestCopyObject :: CopyObject -> TestTree-requestCopyObject = req-    "CopyObject"-    "fixture/CopyObject.yaml"--requestListBucketMetricsConfigurations :: ListBucketMetricsConfigurations -> TestTree-requestListBucketMetricsConfigurations = req-    "ListBucketMetricsConfigurations"-    "fixture/ListBucketMetricsConfigurations.yaml"--requestGetBucketPolicy :: GetBucketPolicy -> TestTree-requestGetBucketPolicy = req-    "GetBucketPolicy"-    "fixture/GetBucketPolicy.yaml"--requestPutBucketEncryption :: PutBucketEncryption -> TestTree-requestPutBucketEncryption = req-    "PutBucketEncryption"-    "fixture/PutBucketEncryption.yaml"--requestDeleteBucketEncryption :: DeleteBucketEncryption -> TestTree-requestDeleteBucketEncryption = req-    "DeleteBucketEncryption"-    "fixture/DeleteBucketEncryption.yaml"--requestGetBucketLogging :: GetBucketLogging -> TestTree-requestGetBucketLogging = req-    "GetBucketLogging"-    "fixture/GetBucketLogging.yaml"--requestGetBucketACL :: GetBucketACL -> TestTree-requestGetBucketACL = req-    "GetBucketACL"-    "fixture/GetBucketACL.yaml"--requestGetBucketLifecycleConfiguration :: GetBucketLifecycleConfiguration -> TestTree-requestGetBucketLifecycleConfiguration = req-    "GetBucketLifecycleConfiguration"-    "fixture/GetBucketLifecycleConfiguration.yaml"--requestGetBucketAnalyticsConfiguration :: GetBucketAnalyticsConfiguration -> TestTree-requestGetBucketAnalyticsConfiguration = req-    "GetBucketAnalyticsConfiguration"-    "fixture/GetBucketAnalyticsConfiguration.yaml"--requestGetObjectTagging :: GetObjectTagging -> TestTree-requestGetObjectTagging = req-    "GetObjectTagging"-    "fixture/GetObjectTagging.yaml"--requestListParts :: ListParts -> TestTree-requestListParts = req-    "ListParts"-    "fixture/ListParts.yaml"--requestDeleteObjectTagging :: DeleteObjectTagging -> TestTree-requestDeleteObjectTagging = req-    "DeleteObjectTagging"-    "fixture/DeleteObjectTagging.yaml"--requestUploadPartCopy :: UploadPartCopy -> TestTree-requestUploadPartCopy = req-    "UploadPartCopy"-    "fixture/UploadPartCopy.yaml"--requestPutObjectTagging :: PutObjectTagging -> TestTree-requestPutObjectTagging = req-    "PutObjectTagging"-    "fixture/PutObjectTagging.yaml"--requestPutBucketACL :: PutBucketACL -> TestTree-requestPutBucketACL = req-    "PutBucketACL"-    "fixture/PutBucketACL.yaml"---- Responses--responsePutBucketRequestPayment :: PutBucketRequestPaymentResponse -> TestTree-responsePutBucketRequestPayment = res-    "PutBucketRequestPaymentResponse"-    "fixture/PutBucketRequestPaymentResponse.proto"-    s3-    (Proxy :: Proxy PutBucketRequestPayment)--responsePutObject :: PutObjectResponse -> TestTree-responsePutObject = res-    "PutObjectResponse"-    "fixture/PutObjectResponse.proto"-    s3-    (Proxy :: Proxy PutObject)--responseDeleteObject :: DeleteObjectResponse -> TestTree-responseDeleteObject = res-    "DeleteObjectResponse"-    "fixture/DeleteObjectResponse.proto"-    s3-    (Proxy :: Proxy DeleteObject)--responsePutBucketLogging :: PutBucketLoggingResponse -> TestTree-responsePutBucketLogging = res-    "PutBucketLoggingResponse"-    "fixture/PutBucketLoggingResponse.proto"-    s3-    (Proxy :: Proxy PutBucketLogging)--responseGetBucketMetricsConfiguration :: GetBucketMetricsConfigurationResponse -> TestTree-responseGetBucketMetricsConfiguration = res-    "GetBucketMetricsConfigurationResponse"-    "fixture/GetBucketMetricsConfigurationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketMetricsConfiguration)--responseListBuckets :: ListBucketsResponse -> TestTree-responseListBuckets = res-    "ListBucketsResponse"-    "fixture/ListBucketsResponse.proto"-    s3-    (Proxy :: Proxy ListBuckets)--responseDeleteBucket :: DeleteBucketResponse -> TestTree-responseDeleteBucket = res-    "DeleteBucketResponse"-    "fixture/DeleteBucketResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucket)--responseCreateBucket :: CreateBucketResponse -> TestTree-responseCreateBucket = res-    "CreateBucketResponse"-    "fixture/CreateBucketResponse.proto"-    s3-    (Proxy :: Proxy CreateBucket)--responseDeleteBucketTagging :: DeleteBucketTaggingResponse -> TestTree-responseDeleteBucketTagging = res-    "DeleteBucketTaggingResponse"-    "fixture/DeleteBucketTaggingResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketTagging)--responsePutObjectACL :: PutObjectACLResponse -> TestTree-responsePutObjectACL = res-    "PutObjectACLResponse"-    "fixture/PutObjectACLResponse.proto"-    s3-    (Proxy :: Proxy PutObjectACL)--responsePutBucketTagging :: PutBucketTaggingResponse -> TestTree-responsePutBucketTagging = res-    "PutBucketTaggingResponse"-    "fixture/PutBucketTaggingResponse.proto"-    s3-    (Proxy :: Proxy PutBucketTagging)--responseGetBucketInventoryConfiguration :: GetBucketInventoryConfigurationResponse -> TestTree-responseGetBucketInventoryConfiguration = res-    "GetBucketInventoryConfigurationResponse"-    "fixture/GetBucketInventoryConfigurationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketInventoryConfiguration)--responsePutBucketInventoryConfiguration :: PutBucketInventoryConfigurationResponse -> TestTree-responsePutBucketInventoryConfiguration = res-    "PutBucketInventoryConfigurationResponse"-    "fixture/PutBucketInventoryConfigurationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketInventoryConfiguration)--responseGetBucketLocation :: GetBucketLocationResponse -> TestTree-responseGetBucketLocation = res-    "GetBucketLocationResponse"-    "fixture/GetBucketLocationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketLocation)--responseListBucketInventoryConfigurations :: ListBucketInventoryConfigurationsResponse -> TestTree-responseListBucketInventoryConfigurations = res-    "ListBucketInventoryConfigurationsResponse"-    "fixture/ListBucketInventoryConfigurationsResponse.proto"-    s3-    (Proxy :: Proxy ListBucketInventoryConfigurations)--responseDeleteBucketInventoryConfiguration :: DeleteBucketInventoryConfigurationResponse -> TestTree-responseDeleteBucketInventoryConfiguration = res-    "DeleteBucketInventoryConfigurationResponse"-    "fixture/DeleteBucketInventoryConfigurationResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketInventoryConfiguration)--responseGetBucketNotificationConfiguration :: NotificationConfiguration -> TestTree-responseGetBucketNotificationConfiguration = res-    "GetBucketNotificationConfigurationResponse"-    "fixture/GetBucketNotificationConfigurationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketNotificationConfiguration)--responsePutBucketAccelerateConfiguration :: PutBucketAccelerateConfigurationResponse -> TestTree-responsePutBucketAccelerateConfiguration = res-    "PutBucketAccelerateConfigurationResponse"-    "fixture/PutBucketAccelerateConfigurationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketAccelerateConfiguration)--responsePutBucketMetricsConfiguration :: PutBucketMetricsConfigurationResponse -> TestTree-responsePutBucketMetricsConfiguration = res-    "PutBucketMetricsConfigurationResponse"-    "fixture/PutBucketMetricsConfigurationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketMetricsConfiguration)--responseDeleteBucketMetricsConfiguration :: DeleteBucketMetricsConfigurationResponse -> TestTree-responseDeleteBucketMetricsConfiguration = res-    "DeleteBucketMetricsConfigurationResponse"-    "fixture/DeleteBucketMetricsConfigurationResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketMetricsConfiguration)--responseListObjectsV2 :: ListObjectsV2Response -> TestTree-responseListObjectsV2 = res-    "ListObjectsV2Response"-    "fixture/ListObjectsV2Response.proto"-    s3-    (Proxy :: Proxy ListObjectsV2)--responsePutBucketReplication :: PutBucketReplicationResponse -> TestTree-responsePutBucketReplication = res-    "PutBucketReplicationResponse"-    "fixture/PutBucketReplicationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketReplication)--responseGetBucketWebsite :: GetBucketWebsiteResponse -> TestTree-responseGetBucketWebsite = res-    "GetBucketWebsiteResponse"-    "fixture/GetBucketWebsiteResponse.proto"-    s3-    (Proxy :: Proxy GetBucketWebsite)--responseGetBucketRequestPayment :: GetBucketRequestPaymentResponse -> TestTree-responseGetBucketRequestPayment = res-    "GetBucketRequestPaymentResponse"-    "fixture/GetBucketRequestPaymentResponse.proto"-    s3-    (Proxy :: Proxy GetBucketRequestPayment)--responseDeleteBucketReplication :: DeleteBucketReplicationResponse -> TestTree-responseDeleteBucketReplication = res-    "DeleteBucketReplicationResponse"-    "fixture/DeleteBucketReplicationResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketReplication)--responseListObjectVersions :: ListObjectVersionsResponse -> TestTree-responseListObjectVersions = res-    "ListObjectVersionsResponse"-    "fixture/ListObjectVersionsResponse.proto"-    s3-    (Proxy :: Proxy ListObjectVersions)--responseHeadBucket :: HeadBucketResponse -> TestTree-responseHeadBucket = res-    "HeadBucketResponse"-    "fixture/HeadBucketResponse.proto"-    s3-    (Proxy :: Proxy HeadBucket)--responseDeleteBucketLifecycle :: DeleteBucketLifecycleResponse -> TestTree-responseDeleteBucketLifecycle = res-    "DeleteBucketLifecycleResponse"-    "fixture/DeleteBucketLifecycleResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketLifecycle)--responsePutBucketLifecycleConfiguration :: PutBucketLifecycleConfigurationResponse -> TestTree-responsePutBucketLifecycleConfiguration = res-    "PutBucketLifecycleConfigurationResponse"-    "fixture/PutBucketLifecycleConfigurationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketLifecycleConfiguration)--responsePutBucketAnalyticsConfiguration :: PutBucketAnalyticsConfigurationResponse -> TestTree-responsePutBucketAnalyticsConfiguration = res-    "PutBucketAnalyticsConfigurationResponse"-    "fixture/PutBucketAnalyticsConfigurationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketAnalyticsConfiguration)--responseListBucketAnalyticsConfigurations :: ListBucketAnalyticsConfigurationsResponse -> TestTree-responseListBucketAnalyticsConfigurations = res-    "ListBucketAnalyticsConfigurationsResponse"-    "fixture/ListBucketAnalyticsConfigurationsResponse.proto"-    s3-    (Proxy :: Proxy ListBucketAnalyticsConfigurations)--responseDeleteBucketAnalyticsConfiguration :: DeleteBucketAnalyticsConfigurationResponse -> TestTree-responseDeleteBucketAnalyticsConfiguration = res-    "DeleteBucketAnalyticsConfigurationResponse"-    "fixture/DeleteBucketAnalyticsConfigurationResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketAnalyticsConfiguration)--responseCreateMultipartUpload :: CreateMultipartUploadResponse -> TestTree-responseCreateMultipartUpload = res-    "CreateMultipartUploadResponse"-    "fixture/CreateMultipartUploadResponse.proto"-    s3-    (Proxy :: Proxy CreateMultipartUpload)--responseUploadPart :: UploadPartResponse -> TestTree-responseUploadPart = res-    "UploadPartResponse"-    "fixture/UploadPartResponse.proto"-    s3-    (Proxy :: Proxy UploadPart)--responseSelectObjectContent :: SelectObjectContentResponse -> TestTree-responseSelectObjectContent = res-    "SelectObjectContentResponse"-    "fixture/SelectObjectContentResponse.proto"-    s3-    (Proxy :: Proxy SelectObjectContent)--responseGetBucketReplication :: GetBucketReplicationResponse -> TestTree-responseGetBucketReplication = res-    "GetBucketReplicationResponse"-    "fixture/GetBucketReplicationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketReplication)--responsePutBucketWebsite :: PutBucketWebsiteResponse -> TestTree-responsePutBucketWebsite = res-    "PutBucketWebsiteResponse"-    "fixture/PutBucketWebsiteResponse.proto"-    s3-    (Proxy :: Proxy PutBucketWebsite)--responseDeleteBucketWebsite :: DeleteBucketWebsiteResponse -> TestTree-responseDeleteBucketWebsite = res-    "DeleteBucketWebsiteResponse"-    "fixture/DeleteBucketWebsiteResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketWebsite)--responseCompleteMultipartUpload :: CompleteMultipartUploadResponse -> TestTree-responseCompleteMultipartUpload = res-    "CompleteMultipartUploadResponse"-    "fixture/CompleteMultipartUploadResponse.proto"-    s3-    (Proxy :: Proxy CompleteMultipartUpload)--responseListMultipartUploads :: ListMultipartUploadsResponse -> TestTree-responseListMultipartUploads = res-    "ListMultipartUploadsResponse"-    "fixture/ListMultipartUploadsResponse.proto"-    s3-    (Proxy :: Proxy ListMultipartUploads)--responseListObjects :: ListObjectsResponse -> TestTree-responseListObjects = res-    "ListObjectsResponse"-    "fixture/ListObjectsResponse.proto"-    s3-    (Proxy :: Proxy ListObjects)--responseDeleteBucketPolicy :: DeleteBucketPolicyResponse -> TestTree-responseDeleteBucketPolicy = res-    "DeleteBucketPolicyResponse"-    "fixture/DeleteBucketPolicyResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketPolicy)--responseGetBucketEncryption :: GetBucketEncryptionResponse -> TestTree-responseGetBucketEncryption = res-    "GetBucketEncryptionResponse"-    "fixture/GetBucketEncryptionResponse.proto"-    s3-    (Proxy :: Proxy GetBucketEncryption)--responseAbortMultipartUpload :: AbortMultipartUploadResponse -> TestTree-responseAbortMultipartUpload = res-    "AbortMultipartUploadResponse"-    "fixture/AbortMultipartUploadResponse.proto"-    s3-    (Proxy :: Proxy AbortMultipartUpload)--responsePutBucketPolicy :: PutBucketPolicyResponse -> TestTree-responsePutBucketPolicy = res-    "PutBucketPolicyResponse"-    "fixture/PutBucketPolicyResponse.proto"-    s3-    (Proxy :: Proxy PutBucketPolicy)--responseGetBucketAccelerateConfiguration :: GetBucketAccelerateConfigurationResponse -> TestTree-responseGetBucketAccelerateConfiguration = res-    "GetBucketAccelerateConfigurationResponse"-    "fixture/GetBucketAccelerateConfigurationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketAccelerateConfiguration)--responseDeleteObjects :: DeleteObjectsResponse -> TestTree-responseDeleteObjects = res-    "DeleteObjectsResponse"-    "fixture/DeleteObjectsResponse.proto"-    s3-    (Proxy :: Proxy DeleteObjects)--responsePutBucketNotificationConfiguration :: PutBucketNotificationConfigurationResponse -> TestTree-responsePutBucketNotificationConfiguration = res-    "PutBucketNotificationConfigurationResponse"-    "fixture/PutBucketNotificationConfigurationResponse.proto"-    s3-    (Proxy :: Proxy PutBucketNotificationConfiguration)--responseGetBucketVersioning :: GetBucketVersioningResponse -> TestTree-responseGetBucketVersioning = res-    "GetBucketVersioningResponse"-    "fixture/GetBucketVersioningResponse.proto"-    s3-    (Proxy :: Proxy GetBucketVersioning)--responseDeleteBucketCORS :: DeleteBucketCORSResponse -> TestTree-responseDeleteBucketCORS = res-    "DeleteBucketCORSResponse"-    "fixture/DeleteBucketCORSResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketCORS)--responsePutBucketCORS :: PutBucketCORSResponse -> TestTree-responsePutBucketCORS = res-    "PutBucketCORSResponse"-    "fixture/PutBucketCORSResponse.proto"-    s3-    (Proxy :: Proxy PutBucketCORS)--responseGetBucketCORS :: GetBucketCORSResponse -> TestTree-responseGetBucketCORS = res-    "GetBucketCORSResponse"-    "fixture/GetBucketCORSResponse.proto"-    s3-    (Proxy :: Proxy GetBucketCORS)--responseGetObjectACL :: GetObjectACLResponse -> TestTree-responseGetObjectACL = res-    "GetObjectACLResponse"-    "fixture/GetObjectACLResponse.proto"-    s3-    (Proxy :: Proxy GetObjectACL)--responseRestoreObject :: RestoreObjectResponse -> TestTree-responseRestoreObject = res-    "RestoreObjectResponse"-    "fixture/RestoreObjectResponse.proto"-    s3-    (Proxy :: Proxy RestoreObject)--responseHeadObject :: HeadObjectResponse -> TestTree-responseHeadObject = res-    "HeadObjectResponse"-    "fixture/HeadObjectResponse.proto"-    s3-    (Proxy :: Proxy HeadObject)--responsePutBucketVersioning :: PutBucketVersioningResponse -> TestTree-responsePutBucketVersioning = res-    "PutBucketVersioningResponse"-    "fixture/PutBucketVersioningResponse.proto"-    s3-    (Proxy :: Proxy PutBucketVersioning)--responseGetBucketTagging :: GetBucketTaggingResponse -> TestTree-responseGetBucketTagging = res-    "GetBucketTaggingResponse"-    "fixture/GetBucketTaggingResponse.proto"-    s3-    (Proxy :: Proxy GetBucketTagging)--responseCopyObject :: CopyObjectResponse -> TestTree-responseCopyObject = res-    "CopyObjectResponse"-    "fixture/CopyObjectResponse.proto"-    s3-    (Proxy :: Proxy CopyObject)--responseListBucketMetricsConfigurations :: ListBucketMetricsConfigurationsResponse -> TestTree-responseListBucketMetricsConfigurations = res-    "ListBucketMetricsConfigurationsResponse"-    "fixture/ListBucketMetricsConfigurationsResponse.proto"-    s3-    (Proxy :: Proxy ListBucketMetricsConfigurations)--responseGetBucketPolicy :: GetBucketPolicyResponse -> TestTree-responseGetBucketPolicy = res-    "GetBucketPolicyResponse"-    "fixture/GetBucketPolicyResponse.proto"-    s3-    (Proxy :: Proxy GetBucketPolicy)--responsePutBucketEncryption :: PutBucketEncryptionResponse -> TestTree-responsePutBucketEncryption = res-    "PutBucketEncryptionResponse"-    "fixture/PutBucketEncryptionResponse.proto"-    s3-    (Proxy :: Proxy PutBucketEncryption)--responseDeleteBucketEncryption :: DeleteBucketEncryptionResponse -> TestTree-responseDeleteBucketEncryption = res-    "DeleteBucketEncryptionResponse"-    "fixture/DeleteBucketEncryptionResponse.proto"-    s3-    (Proxy :: Proxy DeleteBucketEncryption)--responseGetBucketLogging :: GetBucketLoggingResponse -> TestTree-responseGetBucketLogging = res-    "GetBucketLoggingResponse"-    "fixture/GetBucketLoggingResponse.proto"-    s3-    (Proxy :: Proxy GetBucketLogging)--responseGetBucketACL :: GetBucketACLResponse -> TestTree-responseGetBucketACL = res-    "GetBucketACLResponse"-    "fixture/GetBucketACLResponse.proto"-    s3-    (Proxy :: Proxy GetBucketACL)--responseGetBucketLifecycleConfiguration :: GetBucketLifecycleConfigurationResponse -> TestTree-responseGetBucketLifecycleConfiguration = res-    "GetBucketLifecycleConfigurationResponse"-    "fixture/GetBucketLifecycleConfigurationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketLifecycleConfiguration)--responseGetBucketAnalyticsConfiguration :: GetBucketAnalyticsConfigurationResponse -> TestTree-responseGetBucketAnalyticsConfiguration = res-    "GetBucketAnalyticsConfigurationResponse"-    "fixture/GetBucketAnalyticsConfigurationResponse.proto"-    s3-    (Proxy :: Proxy GetBucketAnalyticsConfiguration)--responseGetObjectTagging :: GetObjectTaggingResponse -> TestTree-responseGetObjectTagging = res-    "GetObjectTaggingResponse"-    "fixture/GetObjectTaggingResponse.proto"-    s3-    (Proxy :: Proxy GetObjectTagging)--responseListParts :: ListPartsResponse -> TestTree-responseListParts = res-    "ListPartsResponse"-    "fixture/ListPartsResponse.proto"-    s3-    (Proxy :: Proxy ListParts)--responseDeleteObjectTagging :: DeleteObjectTaggingResponse -> TestTree-responseDeleteObjectTagging = res-    "DeleteObjectTaggingResponse"-    "fixture/DeleteObjectTaggingResponse.proto"-    s3-    (Proxy :: Proxy DeleteObjectTagging)--responseUploadPartCopy :: UploadPartCopyResponse -> TestTree-responseUploadPartCopy = res-    "UploadPartCopyResponse"-    "fixture/UploadPartCopyResponse.proto"-    s3-    (Proxy :: Proxy UploadPartCopy)--responsePutObjectTagging :: PutObjectTaggingResponse -> TestTree-responsePutObjectTagging = res-    "PutObjectTaggingResponse"-    "fixture/PutObjectTaggingResponse.proto"-    s3-    (Proxy :: Proxy PutObjectTagging)--responsePutBucketACL :: PutBucketACLResponse -> TestTree-responsePutBucketACL = res-    "PutBucketACLResponse"-    "fixture/PutBucketACLResponse.proto"-    s3-    (Proxy :: Proxy PutBucketACL)
− test/Test/AWS/S3.hs
@@ -1,116 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TemplateHaskell   #-}---- |--- Module      : Test.AWS.S3--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : Mozilla Public License, v. 2.0.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)----module Test.AWS.S3-    ( tests-    , fixtures-    ) where--import Data.Time-import Network.AWS.Prelude-import Network.AWS.S3-import Test.AWS.Gen.S3-import Test.AWS.Prelude-import Test.AWS.S3.Internal--tests :: [TestTree]-tests =-    [ objectKeyTests-    ]--fixtures :: [TestTree]-fixtures =-    [ testGroup "request"-        [ requestDeleteObjects $-            deleteObjects "bucketname" $-                delete' & dObjects .~-                    [ objectIdentifier "sample1.text"-                    , objectIdentifier "sample2.text"-                    ]--        , requestListMultipartUploads $-            listMultipartUploads "foo-bucket" & lmuMaxUploads ?~ 3--        , requestPutObjectACLWithBody $-            putObjectACL "bucket-body" "key-body"-                & poaAccessControlPolicy ?~-                    ( accessControlPolicy-                        & acpGrants .~ [grant & gPermission ?~ PWrite]-                        & acpOwner  ?~ (owner & oId         ?~ "foo-oid")-                    )--        , requestPutObjectACLWithHeaders $-            putObjectACL "bucket-headers" "key-headers"-                & poaACL ?~ OBucketOwnerRead-        ]--    , testGroup "response"-        [ responseGetBucketReplication $-            getBucketReplicationResponse 200-                & gbrrsReplicationConfiguration ?~-                   (replicationConfiguration "arn:aws:iam::35667example:role/CrossRegionReplicationRoleForS3"-                       & rcRules .~-                           [ replicationRule "" Enabled (destination "arn:aws:s3:::exampletargetbucket")-                               & rrId ?~ "rule1"-                           ])--        , responseCopyObject $-            copyObjectResponse 200-                & corsCopyObjectResult ?~-                    (copyObjectResult-                        & corETag         ?~ ETag "\"9b2cf535f27731c974343645a3985328\""-                        & corLastModified ?~ $(mkTime "2009-10-28T22:32:00Z"))--        , responseListParts $-            listPartsResponse 200-                & lprsBucket               ?~ "example-bucket"-                & lprsKey                  ?~ "example-object"-                & lprsUploadId             ?~ "XXBsb2FkIElEIGZvciBlbHZpbmcncyVcdS1tb3ZpZS5tMnRzEEEwbG9hZA"-                & lprsStorageClass         ?~ Standard-                & lprsPartNumberMarker     ?~ 1-                & lprsNextPartNumberMarker ?~ 3-                & lprsMaxParts             ?~ 2-                & lprsIsTruncated          ?~ True-                & lprsInitiator            ?~-                    (initiator-                        & iId              ?~ "arn:aws:iam::111122223333:user/some-user-11116a31-17b5-4fb7-9df5-b288870f11xx"-                        & iDisplayName     ?~ "umat-user-11116a31-17b5-4fb7-9df5-b288870f11xx")-                & lprsOwner                ?~-                    (owner-                        & oId              ?~ "75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a"-                        & oDisplayName     ?~ "someName")-                & lprsParts                .~-                    [ part & pPartNumber   ?~ 2-                           & pLastModified ?~ $(mkTime "2010-11-10T20:48:34.000Z")-                           & pETag         ?~ "\"7778aef83f66abc1fa1e8477f296d394\""-                           & pSize         ?~ 10485760-                    , part & pPartNumber   ?~ 3-                           & pLastModified ?~ $(mkTime "2010-11-10T20:48:33.000Z")-                           & pETag         ?~ "\"aaaa18db4cc2f85cedef654fccc4a4x8\""-                           & pSize         ?~ 10485760-                    ]--        , responseGetBucketACL $-            getBucketACLResponse 200-                & gbarsOwner                  ?~-                    (owner-                      & oId                   ?~ "fedcba0987654321"-                      & oDisplayName          ?~ "foo")-                & gbarsGrants                 .~-                    [ grant-                        & gPermission         ?~ PFullControl-                        & gGrantee            ?~-                            (grantee CanonicalUser-                               & gId          ?~ "1234567890abcdef"-                               & gDisplayName ?~ "bar")-                    ]-        ]-    ]
− test/Test/AWS/S3/Internal.hs
@@ -1,57 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}---- Module      : Test.AWS.S3.Internal--- Copyright   : (c) 2013-2018 Brendan Hay--- License     : This Source Code Form is subject to the terms of---               the Mozilla Public License, v. 2.0.---               A copy of the MPL can be found in the LICENSE file or---               you can obtain it at http://mozilla.org/MPL/2.0/.--- Maintainer  : Brendan Hay <brendan.g.hay@gmail.com>--- Stability   : experimental--- Portability : non-portable (GHC extensions)--module Test.AWS.S3.Internal where--import           Data.Time-import           Network.AWS.Prelude-import           Network.AWS.S3-import           Test.AWS.Fixture-import           Test.AWS.Prelude-import           Test.Tasty-import           Test.Tasty.HUnit---- FIXME: expand, convert to quick/smallcheck properties.-objectKeyTests :: TestTree-objectKeyTests = testGroup "object key"-    [ testGroup "encoding"-        [ testCase "without delimiters" $-            "/key" @=?-                enc (ObjectKey "key")--        , testCase "without leading prefix" $-            "/some/obj%23ect" @=?-                enc (ObjectKey "some/obj#ect")--        , testCase "custom delimiter" $-            "/%5Esome%5Eobj%25ect%5Efoo" @=?-                enc (ObjectKey "^some^obj%ect^foo")--        , testCase "leading prefix" $-            "/some%3D1/path%20to/foo%3Dbar/object%20here" @=?-                enc (ObjectKey "/some=1/path to/foo=bar/object here")-        ]-    ]-  where-    enc :: ObjectKey -> ByteString-    enc = toBS . escapePath . rawPath--requestPutObjectACLWithBody :: PutObjectACL -> TestTree-requestPutObjectACLWithBody = req-    "PutObjectACLWithBody"-    "fixture/PutObjectACLWithBody.yaml"--requestPutObjectACLWithHeaders :: PutObjectACL -> TestTree-requestPutObjectACLWithHeaders = req-    "PutObjectACLWithHeaders"-    "fixture/PutObjectACLWithHeaders.yaml"
+ test/Test/Amazonka/Gen/S3.hs view
@@ -0,0 +1,1864 @@+{-# OPTIONS_GHC -fno-warn-orphans #-}+{-# OPTIONS_GHC -fno-warn-unused-imports #-}++-- Derived from AWS service descriptions, licensed under Apache 2.0.++-- |+-- Module      : Test.Amazonka.Gen.S3+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.Gen.S3 where++import Amazonka.S3+import qualified Data.Proxy as Proxy+import Test.Amazonka.Fixture+import Test.Amazonka.Prelude+import Test.Amazonka.S3.Internal+import Test.Tasty++-- Auto-generated: the actual test selection needs to be manually placed into+-- the top-level so that real test data can be incrementally added.+--+-- This commented snippet is what the entire set should look like:++-- fixtures :: TestTree+-- fixtures =+--     [ testGroup "request"+--         [ requestAbortMultipartUpload $+--             newAbortMultipartUpload+--+--         , requestCompleteMultipartUpload $+--             newCompleteMultipartUpload+--+--         , requestCopyObject $+--             newCopyObject+--+--         , requestCreateBucket $+--             newCreateBucket+--+--         , requestCreateMultipartUpload $+--             newCreateMultipartUpload+--+--         , requestDeleteBucket $+--             newDeleteBucket+--+--         , requestDeleteBucketAnalyticsConfiguration $+--             newDeleteBucketAnalyticsConfiguration+--+--         , requestDeleteBucketCors $+--             newDeleteBucketCors+--+--         , requestDeleteBucketEncryption $+--             newDeleteBucketEncryption+--+--         , requestDeleteBucketIntelligentTieringConfiguration $+--             newDeleteBucketIntelligentTieringConfiguration+--+--         , requestDeleteBucketInventoryConfiguration $+--             newDeleteBucketInventoryConfiguration+--+--         , requestDeleteBucketLifecycle $+--             newDeleteBucketLifecycle+--+--         , requestDeleteBucketMetricsConfiguration $+--             newDeleteBucketMetricsConfiguration+--+--         , requestDeleteBucketOwnershipControls $+--             newDeleteBucketOwnershipControls+--+--         , requestDeleteBucketPolicy $+--             newDeleteBucketPolicy+--+--         , requestDeleteBucketReplication $+--             newDeleteBucketReplication+--+--         , requestDeleteBucketTagging $+--             newDeleteBucketTagging+--+--         , requestDeleteBucketWebsite $+--             newDeleteBucketWebsite+--+--         , requestDeleteObject $+--             newDeleteObject+--+--         , requestDeleteObjectTagging $+--             newDeleteObjectTagging+--+--         , requestDeleteObjects $+--             newDeleteObjects+--+--         , requestDeletePublicAccessBlock $+--             newDeletePublicAccessBlock+--+--         , requestGetBucketAccelerateConfiguration $+--             newGetBucketAccelerateConfiguration+--+--         , requestGetBucketAcl $+--             newGetBucketAcl+--+--         , requestGetBucketAnalyticsConfiguration $+--             newGetBucketAnalyticsConfiguration+--+--         , requestGetBucketCors $+--             newGetBucketCors+--+--         , requestGetBucketEncryption $+--             newGetBucketEncryption+--+--         , requestGetBucketIntelligentTieringConfiguration $+--             newGetBucketIntelligentTieringConfiguration+--+--         , requestGetBucketInventoryConfiguration $+--             newGetBucketInventoryConfiguration+--+--         , requestGetBucketLifecycleConfiguration $+--             newGetBucketLifecycleConfiguration+--+--         , requestGetBucketLocation $+--             newGetBucketLocation+--+--         , requestGetBucketLogging $+--             newGetBucketLogging+--+--         , requestGetBucketMetricsConfiguration $+--             newGetBucketMetricsConfiguration+--+--         , requestGetBucketNotificationConfiguration $+--             newGetBucketNotificationConfiguration+--+--         , requestGetBucketOwnershipControls $+--             newGetBucketOwnershipControls+--+--         , requestGetBucketPolicy $+--             newGetBucketPolicy+--+--         , requestGetBucketPolicyStatus $+--             newGetBucketPolicyStatus+--+--         , requestGetBucketReplication $+--             newGetBucketReplication+--+--         , requestGetBucketRequestPayment $+--             newGetBucketRequestPayment+--+--         , requestGetBucketTagging $+--             newGetBucketTagging+--+--         , requestGetBucketVersioning $+--             newGetBucketVersioning+--+--         , requestGetBucketWebsite $+--             newGetBucketWebsite+--+--         , requestGetObject $+--             newGetObject+--+--         , requestGetObjectAcl $+--             newGetObjectAcl+--+--         , requestGetObjectAttributes $+--             newGetObjectAttributes+--+--         , requestGetObjectLegalHold $+--             newGetObjectLegalHold+--+--         , requestGetObjectLockConfiguration $+--             newGetObjectLockConfiguration+--+--         , requestGetObjectRetention $+--             newGetObjectRetention+--+--         , requestGetObjectTagging $+--             newGetObjectTagging+--+--         , requestGetObjectTorrent $+--             newGetObjectTorrent+--+--         , requestGetPublicAccessBlock $+--             newGetPublicAccessBlock+--+--         , requestHeadBucket $+--             newHeadBucket+--+--         , requestHeadObject $+--             newHeadObject+--+--         , requestListBucketAnalyticsConfigurations $+--             newListBucketAnalyticsConfigurations+--+--         , requestListBucketIntelligentTieringConfigurations $+--             newListBucketIntelligentTieringConfigurations+--+--         , requestListBucketInventoryConfigurations $+--             newListBucketInventoryConfigurations+--+--         , requestListBucketMetricsConfigurations $+--             newListBucketMetricsConfigurations+--+--         , requestListBuckets $+--             newListBuckets+--+--         , requestListMultipartUploads $+--             newListMultipartUploads+--+--         , requestListObjectVersions $+--             newListObjectVersions+--+--         , requestListObjects $+--             newListObjects+--+--         , requestListObjectsV2 $+--             newListObjectsV2+--+--         , requestListParts $+--             newListParts+--+--         , requestPutBucketAccelerateConfiguration $+--             newPutBucketAccelerateConfiguration+--+--         , requestPutBucketAcl $+--             newPutBucketAcl+--+--         , requestPutBucketAnalyticsConfiguration $+--             newPutBucketAnalyticsConfiguration+--+--         , requestPutBucketCors $+--             newPutBucketCors+--+--         , requestPutBucketEncryption $+--             newPutBucketEncryption+--+--         , requestPutBucketIntelligentTieringConfiguration $+--             newPutBucketIntelligentTieringConfiguration+--+--         , requestPutBucketInventoryConfiguration $+--             newPutBucketInventoryConfiguration+--+--         , requestPutBucketLifecycleConfiguration $+--             newPutBucketLifecycleConfiguration+--+--         , requestPutBucketLogging $+--             newPutBucketLogging+--+--         , requestPutBucketMetricsConfiguration $+--             newPutBucketMetricsConfiguration+--+--         , requestPutBucketNotificationConfiguration $+--             newPutBucketNotificationConfiguration+--+--         , requestPutBucketOwnershipControls $+--             newPutBucketOwnershipControls+--+--         , requestPutBucketPolicy $+--             newPutBucketPolicy+--+--         , requestPutBucketReplication $+--             newPutBucketReplication+--+--         , requestPutBucketRequestPayment $+--             newPutBucketRequestPayment+--+--         , requestPutBucketTagging $+--             newPutBucketTagging+--+--         , requestPutBucketVersioning $+--             newPutBucketVersioning+--+--         , requestPutBucketWebsite $+--             newPutBucketWebsite+--+--         , requestPutObject $+--             newPutObject+--+--         , requestPutObjectAcl $+--             newPutObjectAcl+--+--         , requestPutObjectLegalHold $+--             newPutObjectLegalHold+--+--         , requestPutObjectLockConfiguration $+--             newPutObjectLockConfiguration+--+--         , requestPutObjectRetention $+--             newPutObjectRetention+--+--         , requestPutObjectTagging $+--             newPutObjectTagging+--+--         , requestPutPublicAccessBlock $+--             newPutPublicAccessBlock+--+--         , requestRestoreObject $+--             newRestoreObject+--+--         , requestSelectObjectContent $+--             newSelectObjectContent+--+--         , requestUploadPart $+--             newUploadPart+--+--         , requestUploadPartCopy $+--             newUploadPartCopy+--+--         , requestWriteGetObjectResponse $+--             newWriteGetObjectResponse+--+--           ]++--     , testGroup "response"+--         [ responseAbortMultipartUpload $+--             newAbortMultipartUploadResponse+--+--         , responseCompleteMultipartUpload $+--             newCompleteMultipartUploadResponse+--+--         , responseCopyObject $+--             newCopyObjectResponse+--+--         , responseCreateBucket $+--             newCreateBucketResponse+--+--         , responseCreateMultipartUpload $+--             newCreateMultipartUploadResponse+--+--         , responseDeleteBucket $+--             newDeleteBucketResponse+--+--         , responseDeleteBucketAnalyticsConfiguration $+--             newDeleteBucketAnalyticsConfigurationResponse+--+--         , responseDeleteBucketCors $+--             newDeleteBucketCorsResponse+--+--         , responseDeleteBucketEncryption $+--             newDeleteBucketEncryptionResponse+--+--         , responseDeleteBucketIntelligentTieringConfiguration $+--             newDeleteBucketIntelligentTieringConfigurationResponse+--+--         , responseDeleteBucketInventoryConfiguration $+--             newDeleteBucketInventoryConfigurationResponse+--+--         , responseDeleteBucketLifecycle $+--             newDeleteBucketLifecycleResponse+--+--         , responseDeleteBucketMetricsConfiguration $+--             newDeleteBucketMetricsConfigurationResponse+--+--         , responseDeleteBucketOwnershipControls $+--             newDeleteBucketOwnershipControlsResponse+--+--         , responseDeleteBucketPolicy $+--             newDeleteBucketPolicyResponse+--+--         , responseDeleteBucketReplication $+--             newDeleteBucketReplicationResponse+--+--         , responseDeleteBucketTagging $+--             newDeleteBucketTaggingResponse+--+--         , responseDeleteBucketWebsite $+--             newDeleteBucketWebsiteResponse+--+--         , responseDeleteObject $+--             newDeleteObjectResponse+--+--         , responseDeleteObjectTagging $+--             newDeleteObjectTaggingResponse+--+--         , responseDeleteObjects $+--             newDeleteObjectsResponse+--+--         , responseDeletePublicAccessBlock $+--             newDeletePublicAccessBlockResponse+--+--         , responseGetBucketAccelerateConfiguration $+--             newGetBucketAccelerateConfigurationResponse+--+--         , responseGetBucketAcl $+--             newGetBucketAclResponse+--+--         , responseGetBucketAnalyticsConfiguration $+--             newGetBucketAnalyticsConfigurationResponse+--+--         , responseGetBucketCors $+--             newGetBucketCorsResponse+--+--         , responseGetBucketEncryption $+--             newGetBucketEncryptionResponse+--+--         , responseGetBucketIntelligentTieringConfiguration $+--             newGetBucketIntelligentTieringConfigurationResponse+--+--         , responseGetBucketInventoryConfiguration $+--             newGetBucketInventoryConfigurationResponse+--+--         , responseGetBucketLifecycleConfiguration $+--             newGetBucketLifecycleConfigurationResponse+--+--         , responseGetBucketLocation $+--             newGetBucketLocationResponse+--+--         , responseGetBucketLogging $+--             newGetBucketLoggingResponse+--+--         , responseGetBucketMetricsConfiguration $+--             newGetBucketMetricsConfigurationResponse+--+--         , responseGetBucketNotificationConfiguration $+--             newNotificationConfiguration+--+--         , responseGetBucketOwnershipControls $+--             newGetBucketOwnershipControlsResponse+--+--         , responseGetBucketPolicy $+--             newGetBucketPolicyResponse+--+--         , responseGetBucketPolicyStatus $+--             newGetBucketPolicyStatusResponse+--+--         , responseGetBucketReplication $+--             newGetBucketReplicationResponse+--+--         , responseGetBucketRequestPayment $+--             newGetBucketRequestPaymentResponse+--+--         , responseGetBucketTagging $+--             newGetBucketTaggingResponse+--+--         , responseGetBucketVersioning $+--             newGetBucketVersioningResponse+--+--         , responseGetBucketWebsite $+--             newGetBucketWebsiteResponse+--+--         , responseGetObject $+--             newGetObjectResponse+--+--         , responseGetObjectAcl $+--             newGetObjectAclResponse+--+--         , responseGetObjectAttributes $+--             newGetObjectAttributesResponse+--+--         , responseGetObjectLegalHold $+--             newGetObjectLegalHoldResponse+--+--         , responseGetObjectLockConfiguration $+--             newGetObjectLockConfigurationResponse+--+--         , responseGetObjectRetention $+--             newGetObjectRetentionResponse+--+--         , responseGetObjectTagging $+--             newGetObjectTaggingResponse+--+--         , responseGetObjectTorrent $+--             newGetObjectTorrentResponse+--+--         , responseGetPublicAccessBlock $+--             newGetPublicAccessBlockResponse+--+--         , responseHeadBucket $+--             newHeadBucketResponse+--+--         , responseHeadObject $+--             newHeadObjectResponse+--+--         , responseListBucketAnalyticsConfigurations $+--             newListBucketAnalyticsConfigurationsResponse+--+--         , responseListBucketIntelligentTieringConfigurations $+--             newListBucketIntelligentTieringConfigurationsResponse+--+--         , responseListBucketInventoryConfigurations $+--             newListBucketInventoryConfigurationsResponse+--+--         , responseListBucketMetricsConfigurations $+--             newListBucketMetricsConfigurationsResponse+--+--         , responseListBuckets $+--             newListBucketsResponse+--+--         , responseListMultipartUploads $+--             newListMultipartUploadsResponse+--+--         , responseListObjectVersions $+--             newListObjectVersionsResponse+--+--         , responseListObjects $+--             newListObjectsResponse+--+--         , responseListObjectsV2 $+--             newListObjectsV2Response+--+--         , responseListParts $+--             newListPartsResponse+--+--         , responsePutBucketAccelerateConfiguration $+--             newPutBucketAccelerateConfigurationResponse+--+--         , responsePutBucketAcl $+--             newPutBucketAclResponse+--+--         , responsePutBucketAnalyticsConfiguration $+--             newPutBucketAnalyticsConfigurationResponse+--+--         , responsePutBucketCors $+--             newPutBucketCorsResponse+--+--         , responsePutBucketEncryption $+--             newPutBucketEncryptionResponse+--+--         , responsePutBucketIntelligentTieringConfiguration $+--             newPutBucketIntelligentTieringConfigurationResponse+--+--         , responsePutBucketInventoryConfiguration $+--             newPutBucketInventoryConfigurationResponse+--+--         , responsePutBucketLifecycleConfiguration $+--             newPutBucketLifecycleConfigurationResponse+--+--         , responsePutBucketLogging $+--             newPutBucketLoggingResponse+--+--         , responsePutBucketMetricsConfiguration $+--             newPutBucketMetricsConfigurationResponse+--+--         , responsePutBucketNotificationConfiguration $+--             newPutBucketNotificationConfigurationResponse+--+--         , responsePutBucketOwnershipControls $+--             newPutBucketOwnershipControlsResponse+--+--         , responsePutBucketPolicy $+--             newPutBucketPolicyResponse+--+--         , responsePutBucketReplication $+--             newPutBucketReplicationResponse+--+--         , responsePutBucketRequestPayment $+--             newPutBucketRequestPaymentResponse+--+--         , responsePutBucketTagging $+--             newPutBucketTaggingResponse+--+--         , responsePutBucketVersioning $+--             newPutBucketVersioningResponse+--+--         , responsePutBucketWebsite $+--             newPutBucketWebsiteResponse+--+--         , responsePutObject $+--             newPutObjectResponse+--+--         , responsePutObjectAcl $+--             newPutObjectAclResponse+--+--         , responsePutObjectLegalHold $+--             newPutObjectLegalHoldResponse+--+--         , responsePutObjectLockConfiguration $+--             newPutObjectLockConfigurationResponse+--+--         , responsePutObjectRetention $+--             newPutObjectRetentionResponse+--+--         , responsePutObjectTagging $+--             newPutObjectTaggingResponse+--+--         , responsePutPublicAccessBlock $+--             newPutPublicAccessBlockResponse+--+--         , responseRestoreObject $+--             newRestoreObjectResponse+--+--         , responseSelectObjectContent $+--             newSelectObjectContentResponse+--+--         , responseUploadPart $+--             newUploadPartResponse+--+--         , responseUploadPartCopy $+--             newUploadPartCopyResponse+--+--         , responseWriteGetObjectResponse $+--             newWriteGetObjectResponseResponse+--+--           ]+--     ]++-- Requests++requestAbortMultipartUpload :: AbortMultipartUpload -> TestTree+requestAbortMultipartUpload =+  req+    "AbortMultipartUpload"+    "fixture/AbortMultipartUpload.yaml"++requestCompleteMultipartUpload :: CompleteMultipartUpload -> TestTree+requestCompleteMultipartUpload =+  req+    "CompleteMultipartUpload"+    "fixture/CompleteMultipartUpload.yaml"++requestCopyObject :: CopyObject -> TestTree+requestCopyObject =+  req+    "CopyObject"+    "fixture/CopyObject.yaml"++requestCreateBucket :: CreateBucket -> TestTree+requestCreateBucket =+  req+    "CreateBucket"+    "fixture/CreateBucket.yaml"++requestCreateMultipartUpload :: CreateMultipartUpload -> TestTree+requestCreateMultipartUpload =+  req+    "CreateMultipartUpload"+    "fixture/CreateMultipartUpload.yaml"++requestDeleteBucket :: DeleteBucket -> TestTree+requestDeleteBucket =+  req+    "DeleteBucket"+    "fixture/DeleteBucket.yaml"++requestDeleteBucketAnalyticsConfiguration :: DeleteBucketAnalyticsConfiguration -> TestTree+requestDeleteBucketAnalyticsConfiguration =+  req+    "DeleteBucketAnalyticsConfiguration"+    "fixture/DeleteBucketAnalyticsConfiguration.yaml"++requestDeleteBucketCors :: DeleteBucketCors -> TestTree+requestDeleteBucketCors =+  req+    "DeleteBucketCors"+    "fixture/DeleteBucketCors.yaml"++requestDeleteBucketEncryption :: DeleteBucketEncryption -> TestTree+requestDeleteBucketEncryption =+  req+    "DeleteBucketEncryption"+    "fixture/DeleteBucketEncryption.yaml"++requestDeleteBucketIntelligentTieringConfiguration :: DeleteBucketIntelligentTieringConfiguration -> TestTree+requestDeleteBucketIntelligentTieringConfiguration =+  req+    "DeleteBucketIntelligentTieringConfiguration"+    "fixture/DeleteBucketIntelligentTieringConfiguration.yaml"++requestDeleteBucketInventoryConfiguration :: DeleteBucketInventoryConfiguration -> TestTree+requestDeleteBucketInventoryConfiguration =+  req+    "DeleteBucketInventoryConfiguration"+    "fixture/DeleteBucketInventoryConfiguration.yaml"++requestDeleteBucketLifecycle :: DeleteBucketLifecycle -> TestTree+requestDeleteBucketLifecycle =+  req+    "DeleteBucketLifecycle"+    "fixture/DeleteBucketLifecycle.yaml"++requestDeleteBucketMetricsConfiguration :: DeleteBucketMetricsConfiguration -> TestTree+requestDeleteBucketMetricsConfiguration =+  req+    "DeleteBucketMetricsConfiguration"+    "fixture/DeleteBucketMetricsConfiguration.yaml"++requestDeleteBucketOwnershipControls :: DeleteBucketOwnershipControls -> TestTree+requestDeleteBucketOwnershipControls =+  req+    "DeleteBucketOwnershipControls"+    "fixture/DeleteBucketOwnershipControls.yaml"++requestDeleteBucketPolicy :: DeleteBucketPolicy -> TestTree+requestDeleteBucketPolicy =+  req+    "DeleteBucketPolicy"+    "fixture/DeleteBucketPolicy.yaml"++requestDeleteBucketReplication :: DeleteBucketReplication -> TestTree+requestDeleteBucketReplication =+  req+    "DeleteBucketReplication"+    "fixture/DeleteBucketReplication.yaml"++requestDeleteBucketTagging :: DeleteBucketTagging -> TestTree+requestDeleteBucketTagging =+  req+    "DeleteBucketTagging"+    "fixture/DeleteBucketTagging.yaml"++requestDeleteBucketWebsite :: DeleteBucketWebsite -> TestTree+requestDeleteBucketWebsite =+  req+    "DeleteBucketWebsite"+    "fixture/DeleteBucketWebsite.yaml"++requestDeleteObject :: DeleteObject -> TestTree+requestDeleteObject =+  req+    "DeleteObject"+    "fixture/DeleteObject.yaml"++requestDeleteObjectTagging :: DeleteObjectTagging -> TestTree+requestDeleteObjectTagging =+  req+    "DeleteObjectTagging"+    "fixture/DeleteObjectTagging.yaml"++requestDeleteObjects :: DeleteObjects -> TestTree+requestDeleteObjects =+  req+    "DeleteObjects"+    "fixture/DeleteObjects.yaml"++requestDeletePublicAccessBlock :: DeletePublicAccessBlock -> TestTree+requestDeletePublicAccessBlock =+  req+    "DeletePublicAccessBlock"+    "fixture/DeletePublicAccessBlock.yaml"++requestGetBucketAccelerateConfiguration :: GetBucketAccelerateConfiguration -> TestTree+requestGetBucketAccelerateConfiguration =+  req+    "GetBucketAccelerateConfiguration"+    "fixture/GetBucketAccelerateConfiguration.yaml"++requestGetBucketAcl :: GetBucketAcl -> TestTree+requestGetBucketAcl =+  req+    "GetBucketAcl"+    "fixture/GetBucketAcl.yaml"++requestGetBucketAnalyticsConfiguration :: GetBucketAnalyticsConfiguration -> TestTree+requestGetBucketAnalyticsConfiguration =+  req+    "GetBucketAnalyticsConfiguration"+    "fixture/GetBucketAnalyticsConfiguration.yaml"++requestGetBucketCors :: GetBucketCors -> TestTree+requestGetBucketCors =+  req+    "GetBucketCors"+    "fixture/GetBucketCors.yaml"++requestGetBucketEncryption :: GetBucketEncryption -> TestTree+requestGetBucketEncryption =+  req+    "GetBucketEncryption"+    "fixture/GetBucketEncryption.yaml"++requestGetBucketIntelligentTieringConfiguration :: GetBucketIntelligentTieringConfiguration -> TestTree+requestGetBucketIntelligentTieringConfiguration =+  req+    "GetBucketIntelligentTieringConfiguration"+    "fixture/GetBucketIntelligentTieringConfiguration.yaml"++requestGetBucketInventoryConfiguration :: GetBucketInventoryConfiguration -> TestTree+requestGetBucketInventoryConfiguration =+  req+    "GetBucketInventoryConfiguration"+    "fixture/GetBucketInventoryConfiguration.yaml"++requestGetBucketLifecycleConfiguration :: GetBucketLifecycleConfiguration -> TestTree+requestGetBucketLifecycleConfiguration =+  req+    "GetBucketLifecycleConfiguration"+    "fixture/GetBucketLifecycleConfiguration.yaml"++requestGetBucketLocation :: GetBucketLocation -> TestTree+requestGetBucketLocation =+  req+    "GetBucketLocation"+    "fixture/GetBucketLocation.yaml"++requestGetBucketLogging :: GetBucketLogging -> TestTree+requestGetBucketLogging =+  req+    "GetBucketLogging"+    "fixture/GetBucketLogging.yaml"++requestGetBucketMetricsConfiguration :: GetBucketMetricsConfiguration -> TestTree+requestGetBucketMetricsConfiguration =+  req+    "GetBucketMetricsConfiguration"+    "fixture/GetBucketMetricsConfiguration.yaml"++requestGetBucketNotificationConfiguration :: GetBucketNotificationConfiguration -> TestTree+requestGetBucketNotificationConfiguration =+  req+    "GetBucketNotificationConfiguration"+    "fixture/GetBucketNotificationConfiguration.yaml"++requestGetBucketOwnershipControls :: GetBucketOwnershipControls -> TestTree+requestGetBucketOwnershipControls =+  req+    "GetBucketOwnershipControls"+    "fixture/GetBucketOwnershipControls.yaml"++requestGetBucketPolicy :: GetBucketPolicy -> TestTree+requestGetBucketPolicy =+  req+    "GetBucketPolicy"+    "fixture/GetBucketPolicy.yaml"++requestGetBucketPolicyStatus :: GetBucketPolicyStatus -> TestTree+requestGetBucketPolicyStatus =+  req+    "GetBucketPolicyStatus"+    "fixture/GetBucketPolicyStatus.yaml"++requestGetBucketReplication :: GetBucketReplication -> TestTree+requestGetBucketReplication =+  req+    "GetBucketReplication"+    "fixture/GetBucketReplication.yaml"++requestGetBucketRequestPayment :: GetBucketRequestPayment -> TestTree+requestGetBucketRequestPayment =+  req+    "GetBucketRequestPayment"+    "fixture/GetBucketRequestPayment.yaml"++requestGetBucketTagging :: GetBucketTagging -> TestTree+requestGetBucketTagging =+  req+    "GetBucketTagging"+    "fixture/GetBucketTagging.yaml"++requestGetBucketVersioning :: GetBucketVersioning -> TestTree+requestGetBucketVersioning =+  req+    "GetBucketVersioning"+    "fixture/GetBucketVersioning.yaml"++requestGetBucketWebsite :: GetBucketWebsite -> TestTree+requestGetBucketWebsite =+  req+    "GetBucketWebsite"+    "fixture/GetBucketWebsite.yaml"++requestGetObject :: GetObject -> TestTree+requestGetObject =+  req+    "GetObject"+    "fixture/GetObject.yaml"++requestGetObjectAcl :: GetObjectAcl -> TestTree+requestGetObjectAcl =+  req+    "GetObjectAcl"+    "fixture/GetObjectAcl.yaml"++requestGetObjectAttributes :: GetObjectAttributes -> TestTree+requestGetObjectAttributes =+  req+    "GetObjectAttributes"+    "fixture/GetObjectAttributes.yaml"++requestGetObjectLegalHold :: GetObjectLegalHold -> TestTree+requestGetObjectLegalHold =+  req+    "GetObjectLegalHold"+    "fixture/GetObjectLegalHold.yaml"++requestGetObjectLockConfiguration :: GetObjectLockConfiguration -> TestTree+requestGetObjectLockConfiguration =+  req+    "GetObjectLockConfiguration"+    "fixture/GetObjectLockConfiguration.yaml"++requestGetObjectRetention :: GetObjectRetention -> TestTree+requestGetObjectRetention =+  req+    "GetObjectRetention"+    "fixture/GetObjectRetention.yaml"++requestGetObjectTagging :: GetObjectTagging -> TestTree+requestGetObjectTagging =+  req+    "GetObjectTagging"+    "fixture/GetObjectTagging.yaml"++requestGetObjectTorrent :: GetObjectTorrent -> TestTree+requestGetObjectTorrent =+  req+    "GetObjectTorrent"+    "fixture/GetObjectTorrent.yaml"++requestGetPublicAccessBlock :: GetPublicAccessBlock -> TestTree+requestGetPublicAccessBlock =+  req+    "GetPublicAccessBlock"+    "fixture/GetPublicAccessBlock.yaml"++requestHeadBucket :: HeadBucket -> TestTree+requestHeadBucket =+  req+    "HeadBucket"+    "fixture/HeadBucket.yaml"++requestHeadObject :: HeadObject -> TestTree+requestHeadObject =+  req+    "HeadObject"+    "fixture/HeadObject.yaml"++requestListBucketAnalyticsConfigurations :: ListBucketAnalyticsConfigurations -> TestTree+requestListBucketAnalyticsConfigurations =+  req+    "ListBucketAnalyticsConfigurations"+    "fixture/ListBucketAnalyticsConfigurations.yaml"++requestListBucketIntelligentTieringConfigurations :: ListBucketIntelligentTieringConfigurations -> TestTree+requestListBucketIntelligentTieringConfigurations =+  req+    "ListBucketIntelligentTieringConfigurations"+    "fixture/ListBucketIntelligentTieringConfigurations.yaml"++requestListBucketInventoryConfigurations :: ListBucketInventoryConfigurations -> TestTree+requestListBucketInventoryConfigurations =+  req+    "ListBucketInventoryConfigurations"+    "fixture/ListBucketInventoryConfigurations.yaml"++requestListBucketMetricsConfigurations :: ListBucketMetricsConfigurations -> TestTree+requestListBucketMetricsConfigurations =+  req+    "ListBucketMetricsConfigurations"+    "fixture/ListBucketMetricsConfigurations.yaml"++requestListBuckets :: ListBuckets -> TestTree+requestListBuckets =+  req+    "ListBuckets"+    "fixture/ListBuckets.yaml"++requestListMultipartUploads :: ListMultipartUploads -> TestTree+requestListMultipartUploads =+  req+    "ListMultipartUploads"+    "fixture/ListMultipartUploads.yaml"++requestListObjectVersions :: ListObjectVersions -> TestTree+requestListObjectVersions =+  req+    "ListObjectVersions"+    "fixture/ListObjectVersions.yaml"++requestListObjects :: ListObjects -> TestTree+requestListObjects =+  req+    "ListObjects"+    "fixture/ListObjects.yaml"++requestListObjectsV2 :: ListObjectsV2 -> TestTree+requestListObjectsV2 =+  req+    "ListObjectsV2"+    "fixture/ListObjectsV2.yaml"++requestListParts :: ListParts -> TestTree+requestListParts =+  req+    "ListParts"+    "fixture/ListParts.yaml"++requestPutBucketAccelerateConfiguration :: PutBucketAccelerateConfiguration -> TestTree+requestPutBucketAccelerateConfiguration =+  req+    "PutBucketAccelerateConfiguration"+    "fixture/PutBucketAccelerateConfiguration.yaml"++requestPutBucketAcl :: PutBucketAcl -> TestTree+requestPutBucketAcl =+  req+    "PutBucketAcl"+    "fixture/PutBucketAcl.yaml"++requestPutBucketAnalyticsConfiguration :: PutBucketAnalyticsConfiguration -> TestTree+requestPutBucketAnalyticsConfiguration =+  req+    "PutBucketAnalyticsConfiguration"+    "fixture/PutBucketAnalyticsConfiguration.yaml"++requestPutBucketCors :: PutBucketCors -> TestTree+requestPutBucketCors =+  req+    "PutBucketCors"+    "fixture/PutBucketCors.yaml"++requestPutBucketEncryption :: PutBucketEncryption -> TestTree+requestPutBucketEncryption =+  req+    "PutBucketEncryption"+    "fixture/PutBucketEncryption.yaml"++requestPutBucketIntelligentTieringConfiguration :: PutBucketIntelligentTieringConfiguration -> TestTree+requestPutBucketIntelligentTieringConfiguration =+  req+    "PutBucketIntelligentTieringConfiguration"+    "fixture/PutBucketIntelligentTieringConfiguration.yaml"++requestPutBucketInventoryConfiguration :: PutBucketInventoryConfiguration -> TestTree+requestPutBucketInventoryConfiguration =+  req+    "PutBucketInventoryConfiguration"+    "fixture/PutBucketInventoryConfiguration.yaml"++requestPutBucketLifecycleConfiguration :: PutBucketLifecycleConfiguration -> TestTree+requestPutBucketLifecycleConfiguration =+  req+    "PutBucketLifecycleConfiguration"+    "fixture/PutBucketLifecycleConfiguration.yaml"++requestPutBucketLogging :: PutBucketLogging -> TestTree+requestPutBucketLogging =+  req+    "PutBucketLogging"+    "fixture/PutBucketLogging.yaml"++requestPutBucketMetricsConfiguration :: PutBucketMetricsConfiguration -> TestTree+requestPutBucketMetricsConfiguration =+  req+    "PutBucketMetricsConfiguration"+    "fixture/PutBucketMetricsConfiguration.yaml"++requestPutBucketNotificationConfiguration :: PutBucketNotificationConfiguration -> TestTree+requestPutBucketNotificationConfiguration =+  req+    "PutBucketNotificationConfiguration"+    "fixture/PutBucketNotificationConfiguration.yaml"++requestPutBucketOwnershipControls :: PutBucketOwnershipControls -> TestTree+requestPutBucketOwnershipControls =+  req+    "PutBucketOwnershipControls"+    "fixture/PutBucketOwnershipControls.yaml"++requestPutBucketPolicy :: PutBucketPolicy -> TestTree+requestPutBucketPolicy =+  req+    "PutBucketPolicy"+    "fixture/PutBucketPolicy.yaml"++requestPutBucketReplication :: PutBucketReplication -> TestTree+requestPutBucketReplication =+  req+    "PutBucketReplication"+    "fixture/PutBucketReplication.yaml"++requestPutBucketRequestPayment :: PutBucketRequestPayment -> TestTree+requestPutBucketRequestPayment =+  req+    "PutBucketRequestPayment"+    "fixture/PutBucketRequestPayment.yaml"++requestPutBucketTagging :: PutBucketTagging -> TestTree+requestPutBucketTagging =+  req+    "PutBucketTagging"+    "fixture/PutBucketTagging.yaml"++requestPutBucketVersioning :: PutBucketVersioning -> TestTree+requestPutBucketVersioning =+  req+    "PutBucketVersioning"+    "fixture/PutBucketVersioning.yaml"++requestPutBucketWebsite :: PutBucketWebsite -> TestTree+requestPutBucketWebsite =+  req+    "PutBucketWebsite"+    "fixture/PutBucketWebsite.yaml"++requestPutObjectAcl :: PutObjectAcl -> TestTree+requestPutObjectAcl =+  req+    "PutObjectAcl"+    "fixture/PutObjectAcl.yaml"++requestPutObjectLegalHold :: PutObjectLegalHold -> TestTree+requestPutObjectLegalHold =+  req+    "PutObjectLegalHold"+    "fixture/PutObjectLegalHold.yaml"++requestPutObjectLockConfiguration :: PutObjectLockConfiguration -> TestTree+requestPutObjectLockConfiguration =+  req+    "PutObjectLockConfiguration"+    "fixture/PutObjectLockConfiguration.yaml"++requestPutObjectRetention :: PutObjectRetention -> TestTree+requestPutObjectRetention =+  req+    "PutObjectRetention"+    "fixture/PutObjectRetention.yaml"++requestPutObjectTagging :: PutObjectTagging -> TestTree+requestPutObjectTagging =+  req+    "PutObjectTagging"+    "fixture/PutObjectTagging.yaml"++requestPutPublicAccessBlock :: PutPublicAccessBlock -> TestTree+requestPutPublicAccessBlock =+  req+    "PutPublicAccessBlock"+    "fixture/PutPublicAccessBlock.yaml"++requestRestoreObject :: RestoreObject -> TestTree+requestRestoreObject =+  req+    "RestoreObject"+    "fixture/RestoreObject.yaml"++requestSelectObjectContent :: SelectObjectContent -> TestTree+requestSelectObjectContent =+  req+    "SelectObjectContent"+    "fixture/SelectObjectContent.yaml"++requestUploadPartCopy :: UploadPartCopy -> TestTree+requestUploadPartCopy =+  req+    "UploadPartCopy"+    "fixture/UploadPartCopy.yaml"++-- Responses++responseAbortMultipartUpload :: AbortMultipartUploadResponse -> TestTree+responseAbortMultipartUpload =+  res+    "AbortMultipartUploadResponse"+    "fixture/AbortMultipartUploadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy AbortMultipartUpload)++responseCompleteMultipartUpload :: CompleteMultipartUploadResponse -> TestTree+responseCompleteMultipartUpload =+  res+    "CompleteMultipartUploadResponse"+    "fixture/CompleteMultipartUploadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CompleteMultipartUpload)++responseCopyObject :: CopyObjectResponse -> TestTree+responseCopyObject =+  res+    "CopyObjectResponse"+    "fixture/CopyObjectResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CopyObject)++responseCreateBucket :: CreateBucketResponse -> TestTree+responseCreateBucket =+  res+    "CreateBucketResponse"+    "fixture/CreateBucketResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateBucket)++responseCreateMultipartUpload :: CreateMultipartUploadResponse -> TestTree+responseCreateMultipartUpload =+  res+    "CreateMultipartUploadResponse"+    "fixture/CreateMultipartUploadResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy CreateMultipartUpload)++responseDeleteBucket :: DeleteBucketResponse -> TestTree+responseDeleteBucket =+  res+    "DeleteBucketResponse"+    "fixture/DeleteBucketResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucket)++responseDeleteBucketAnalyticsConfiguration :: DeleteBucketAnalyticsConfigurationResponse -> TestTree+responseDeleteBucketAnalyticsConfiguration =+  res+    "DeleteBucketAnalyticsConfigurationResponse"+    "fixture/DeleteBucketAnalyticsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketAnalyticsConfiguration)++responseDeleteBucketCors :: DeleteBucketCorsResponse -> TestTree+responseDeleteBucketCors =+  res+    "DeleteBucketCorsResponse"+    "fixture/DeleteBucketCorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketCors)++responseDeleteBucketEncryption :: DeleteBucketEncryptionResponse -> TestTree+responseDeleteBucketEncryption =+  res+    "DeleteBucketEncryptionResponse"+    "fixture/DeleteBucketEncryptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketEncryption)++responseDeleteBucketIntelligentTieringConfiguration :: DeleteBucketIntelligentTieringConfigurationResponse -> TestTree+responseDeleteBucketIntelligentTieringConfiguration =+  res+    "DeleteBucketIntelligentTieringConfigurationResponse"+    "fixture/DeleteBucketIntelligentTieringConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketIntelligentTieringConfiguration)++responseDeleteBucketInventoryConfiguration :: DeleteBucketInventoryConfigurationResponse -> TestTree+responseDeleteBucketInventoryConfiguration =+  res+    "DeleteBucketInventoryConfigurationResponse"+    "fixture/DeleteBucketInventoryConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketInventoryConfiguration)++responseDeleteBucketLifecycle :: DeleteBucketLifecycleResponse -> TestTree+responseDeleteBucketLifecycle =+  res+    "DeleteBucketLifecycleResponse"+    "fixture/DeleteBucketLifecycleResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketLifecycle)++responseDeleteBucketMetricsConfiguration :: DeleteBucketMetricsConfigurationResponse -> TestTree+responseDeleteBucketMetricsConfiguration =+  res+    "DeleteBucketMetricsConfigurationResponse"+    "fixture/DeleteBucketMetricsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketMetricsConfiguration)++responseDeleteBucketOwnershipControls :: DeleteBucketOwnershipControlsResponse -> TestTree+responseDeleteBucketOwnershipControls =+  res+    "DeleteBucketOwnershipControlsResponse"+    "fixture/DeleteBucketOwnershipControlsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketOwnershipControls)++responseDeleteBucketPolicy :: DeleteBucketPolicyResponse -> TestTree+responseDeleteBucketPolicy =+  res+    "DeleteBucketPolicyResponse"+    "fixture/DeleteBucketPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketPolicy)++responseDeleteBucketReplication :: DeleteBucketReplicationResponse -> TestTree+responseDeleteBucketReplication =+  res+    "DeleteBucketReplicationResponse"+    "fixture/DeleteBucketReplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketReplication)++responseDeleteBucketTagging :: DeleteBucketTaggingResponse -> TestTree+responseDeleteBucketTagging =+  res+    "DeleteBucketTaggingResponse"+    "fixture/DeleteBucketTaggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketTagging)++responseDeleteBucketWebsite :: DeleteBucketWebsiteResponse -> TestTree+responseDeleteBucketWebsite =+  res+    "DeleteBucketWebsiteResponse"+    "fixture/DeleteBucketWebsiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteBucketWebsite)++responseDeleteObject :: DeleteObjectResponse -> TestTree+responseDeleteObject =+  res+    "DeleteObjectResponse"+    "fixture/DeleteObjectResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteObject)++responseDeleteObjectTagging :: DeleteObjectTaggingResponse -> TestTree+responseDeleteObjectTagging =+  res+    "DeleteObjectTaggingResponse"+    "fixture/DeleteObjectTaggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteObjectTagging)++responseDeleteObjects :: DeleteObjectsResponse -> TestTree+responseDeleteObjects =+  res+    "DeleteObjectsResponse"+    "fixture/DeleteObjectsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeleteObjects)++responseDeletePublicAccessBlock :: DeletePublicAccessBlockResponse -> TestTree+responseDeletePublicAccessBlock =+  res+    "DeletePublicAccessBlockResponse"+    "fixture/DeletePublicAccessBlockResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy DeletePublicAccessBlock)++responseGetBucketAccelerateConfiguration :: GetBucketAccelerateConfigurationResponse -> TestTree+responseGetBucketAccelerateConfiguration =+  res+    "GetBucketAccelerateConfigurationResponse"+    "fixture/GetBucketAccelerateConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketAccelerateConfiguration)++responseGetBucketAcl :: GetBucketAclResponse -> TestTree+responseGetBucketAcl =+  res+    "GetBucketAclResponse"+    "fixture/GetBucketAclResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketAcl)++responseGetBucketAnalyticsConfiguration :: GetBucketAnalyticsConfigurationResponse -> TestTree+responseGetBucketAnalyticsConfiguration =+  res+    "GetBucketAnalyticsConfigurationResponse"+    "fixture/GetBucketAnalyticsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketAnalyticsConfiguration)++responseGetBucketCors :: GetBucketCorsResponse -> TestTree+responseGetBucketCors =+  res+    "GetBucketCorsResponse"+    "fixture/GetBucketCorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketCors)++responseGetBucketEncryption :: GetBucketEncryptionResponse -> TestTree+responseGetBucketEncryption =+  res+    "GetBucketEncryptionResponse"+    "fixture/GetBucketEncryptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketEncryption)++responseGetBucketIntelligentTieringConfiguration :: GetBucketIntelligentTieringConfigurationResponse -> TestTree+responseGetBucketIntelligentTieringConfiguration =+  res+    "GetBucketIntelligentTieringConfigurationResponse"+    "fixture/GetBucketIntelligentTieringConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketIntelligentTieringConfiguration)++responseGetBucketInventoryConfiguration :: GetBucketInventoryConfigurationResponse -> TestTree+responseGetBucketInventoryConfiguration =+  res+    "GetBucketInventoryConfigurationResponse"+    "fixture/GetBucketInventoryConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketInventoryConfiguration)++responseGetBucketLifecycleConfiguration :: GetBucketLifecycleConfigurationResponse -> TestTree+responseGetBucketLifecycleConfiguration =+  res+    "GetBucketLifecycleConfigurationResponse"+    "fixture/GetBucketLifecycleConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketLifecycleConfiguration)++responseGetBucketLocation :: GetBucketLocationResponse -> TestTree+responseGetBucketLocation =+  res+    "GetBucketLocationResponse"+    "fixture/GetBucketLocationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketLocation)++responseGetBucketLogging :: GetBucketLoggingResponse -> TestTree+responseGetBucketLogging =+  res+    "GetBucketLoggingResponse"+    "fixture/GetBucketLoggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketLogging)++responseGetBucketMetricsConfiguration :: GetBucketMetricsConfigurationResponse -> TestTree+responseGetBucketMetricsConfiguration =+  res+    "GetBucketMetricsConfigurationResponse"+    "fixture/GetBucketMetricsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketMetricsConfiguration)++responseGetBucketNotificationConfiguration :: NotificationConfiguration -> TestTree+responseGetBucketNotificationConfiguration =+  res+    "GetBucketNotificationConfigurationResponse"+    "fixture/GetBucketNotificationConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketNotificationConfiguration)++responseGetBucketOwnershipControls :: GetBucketOwnershipControlsResponse -> TestTree+responseGetBucketOwnershipControls =+  res+    "GetBucketOwnershipControlsResponse"+    "fixture/GetBucketOwnershipControlsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketOwnershipControls)++responseGetBucketPolicy :: GetBucketPolicyResponse -> TestTree+responseGetBucketPolicy =+  res+    "GetBucketPolicyResponse"+    "fixture/GetBucketPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketPolicy)++responseGetBucketPolicyStatus :: GetBucketPolicyStatusResponse -> TestTree+responseGetBucketPolicyStatus =+  res+    "GetBucketPolicyStatusResponse"+    "fixture/GetBucketPolicyStatusResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketPolicyStatus)++responseGetBucketReplication :: GetBucketReplicationResponse -> TestTree+responseGetBucketReplication =+  res+    "GetBucketReplicationResponse"+    "fixture/GetBucketReplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketReplication)++responseGetBucketRequestPayment :: GetBucketRequestPaymentResponse -> TestTree+responseGetBucketRequestPayment =+  res+    "GetBucketRequestPaymentResponse"+    "fixture/GetBucketRequestPaymentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketRequestPayment)++responseGetBucketTagging :: GetBucketTaggingResponse -> TestTree+responseGetBucketTagging =+  res+    "GetBucketTaggingResponse"+    "fixture/GetBucketTaggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketTagging)++responseGetBucketVersioning :: GetBucketVersioningResponse -> TestTree+responseGetBucketVersioning =+  res+    "GetBucketVersioningResponse"+    "fixture/GetBucketVersioningResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketVersioning)++responseGetBucketWebsite :: GetBucketWebsiteResponse -> TestTree+responseGetBucketWebsite =+  res+    "GetBucketWebsiteResponse"+    "fixture/GetBucketWebsiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetBucketWebsite)++responseGetObjectAcl :: GetObjectAclResponse -> TestTree+responseGetObjectAcl =+  res+    "GetObjectAclResponse"+    "fixture/GetObjectAclResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetObjectAcl)++responseGetObjectAttributes :: GetObjectAttributesResponse -> TestTree+responseGetObjectAttributes =+  res+    "GetObjectAttributesResponse"+    "fixture/GetObjectAttributesResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetObjectAttributes)++responseGetObjectLegalHold :: GetObjectLegalHoldResponse -> TestTree+responseGetObjectLegalHold =+  res+    "GetObjectLegalHoldResponse"+    "fixture/GetObjectLegalHoldResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetObjectLegalHold)++responseGetObjectLockConfiguration :: GetObjectLockConfigurationResponse -> TestTree+responseGetObjectLockConfiguration =+  res+    "GetObjectLockConfigurationResponse"+    "fixture/GetObjectLockConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetObjectLockConfiguration)++responseGetObjectRetention :: GetObjectRetentionResponse -> TestTree+responseGetObjectRetention =+  res+    "GetObjectRetentionResponse"+    "fixture/GetObjectRetentionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetObjectRetention)++responseGetObjectTagging :: GetObjectTaggingResponse -> TestTree+responseGetObjectTagging =+  res+    "GetObjectTaggingResponse"+    "fixture/GetObjectTaggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetObjectTagging)++responseGetPublicAccessBlock :: GetPublicAccessBlockResponse -> TestTree+responseGetPublicAccessBlock =+  res+    "GetPublicAccessBlockResponse"+    "fixture/GetPublicAccessBlockResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy GetPublicAccessBlock)++responseHeadBucket :: HeadBucketResponse -> TestTree+responseHeadBucket =+  res+    "HeadBucketResponse"+    "fixture/HeadBucketResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy HeadBucket)++responseHeadObject :: HeadObjectResponse -> TestTree+responseHeadObject =+  res+    "HeadObjectResponse"+    "fixture/HeadObjectResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy HeadObject)++responseListBucketAnalyticsConfigurations :: ListBucketAnalyticsConfigurationsResponse -> TestTree+responseListBucketAnalyticsConfigurations =+  res+    "ListBucketAnalyticsConfigurationsResponse"+    "fixture/ListBucketAnalyticsConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBucketAnalyticsConfigurations)++responseListBucketIntelligentTieringConfigurations :: ListBucketIntelligentTieringConfigurationsResponse -> TestTree+responseListBucketIntelligentTieringConfigurations =+  res+    "ListBucketIntelligentTieringConfigurationsResponse"+    "fixture/ListBucketIntelligentTieringConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBucketIntelligentTieringConfigurations)++responseListBucketInventoryConfigurations :: ListBucketInventoryConfigurationsResponse -> TestTree+responseListBucketInventoryConfigurations =+  res+    "ListBucketInventoryConfigurationsResponse"+    "fixture/ListBucketInventoryConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBucketInventoryConfigurations)++responseListBucketMetricsConfigurations :: ListBucketMetricsConfigurationsResponse -> TestTree+responseListBucketMetricsConfigurations =+  res+    "ListBucketMetricsConfigurationsResponse"+    "fixture/ListBucketMetricsConfigurationsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBucketMetricsConfigurations)++responseListBuckets :: ListBucketsResponse -> TestTree+responseListBuckets =+  res+    "ListBucketsResponse"+    "fixture/ListBucketsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListBuckets)++responseListMultipartUploads :: ListMultipartUploadsResponse -> TestTree+responseListMultipartUploads =+  res+    "ListMultipartUploadsResponse"+    "fixture/ListMultipartUploadsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListMultipartUploads)++responseListObjectVersions :: ListObjectVersionsResponse -> TestTree+responseListObjectVersions =+  res+    "ListObjectVersionsResponse"+    "fixture/ListObjectVersionsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListObjectVersions)++responseListObjects :: ListObjectsResponse -> TestTree+responseListObjects =+  res+    "ListObjectsResponse"+    "fixture/ListObjectsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListObjects)++responseListObjectsV2 :: ListObjectsV2Response -> TestTree+responseListObjectsV2 =+  res+    "ListObjectsV2Response"+    "fixture/ListObjectsV2Response.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListObjectsV2)++responseListParts :: ListPartsResponse -> TestTree+responseListParts =+  res+    "ListPartsResponse"+    "fixture/ListPartsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy ListParts)++responsePutBucketAccelerateConfiguration :: PutBucketAccelerateConfigurationResponse -> TestTree+responsePutBucketAccelerateConfiguration =+  res+    "PutBucketAccelerateConfigurationResponse"+    "fixture/PutBucketAccelerateConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketAccelerateConfiguration)++responsePutBucketAcl :: PutBucketAclResponse -> TestTree+responsePutBucketAcl =+  res+    "PutBucketAclResponse"+    "fixture/PutBucketAclResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketAcl)++responsePutBucketAnalyticsConfiguration :: PutBucketAnalyticsConfigurationResponse -> TestTree+responsePutBucketAnalyticsConfiguration =+  res+    "PutBucketAnalyticsConfigurationResponse"+    "fixture/PutBucketAnalyticsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketAnalyticsConfiguration)++responsePutBucketCors :: PutBucketCorsResponse -> TestTree+responsePutBucketCors =+  res+    "PutBucketCorsResponse"+    "fixture/PutBucketCorsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketCors)++responsePutBucketEncryption :: PutBucketEncryptionResponse -> TestTree+responsePutBucketEncryption =+  res+    "PutBucketEncryptionResponse"+    "fixture/PutBucketEncryptionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketEncryption)++responsePutBucketIntelligentTieringConfiguration :: PutBucketIntelligentTieringConfigurationResponse -> TestTree+responsePutBucketIntelligentTieringConfiguration =+  res+    "PutBucketIntelligentTieringConfigurationResponse"+    "fixture/PutBucketIntelligentTieringConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketIntelligentTieringConfiguration)++responsePutBucketInventoryConfiguration :: PutBucketInventoryConfigurationResponse -> TestTree+responsePutBucketInventoryConfiguration =+  res+    "PutBucketInventoryConfigurationResponse"+    "fixture/PutBucketInventoryConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketInventoryConfiguration)++responsePutBucketLifecycleConfiguration :: PutBucketLifecycleConfigurationResponse -> TestTree+responsePutBucketLifecycleConfiguration =+  res+    "PutBucketLifecycleConfigurationResponse"+    "fixture/PutBucketLifecycleConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketLifecycleConfiguration)++responsePutBucketLogging :: PutBucketLoggingResponse -> TestTree+responsePutBucketLogging =+  res+    "PutBucketLoggingResponse"+    "fixture/PutBucketLoggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketLogging)++responsePutBucketMetricsConfiguration :: PutBucketMetricsConfigurationResponse -> TestTree+responsePutBucketMetricsConfiguration =+  res+    "PutBucketMetricsConfigurationResponse"+    "fixture/PutBucketMetricsConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketMetricsConfiguration)++responsePutBucketNotificationConfiguration :: PutBucketNotificationConfigurationResponse -> TestTree+responsePutBucketNotificationConfiguration =+  res+    "PutBucketNotificationConfigurationResponse"+    "fixture/PutBucketNotificationConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketNotificationConfiguration)++responsePutBucketOwnershipControls :: PutBucketOwnershipControlsResponse -> TestTree+responsePutBucketOwnershipControls =+  res+    "PutBucketOwnershipControlsResponse"+    "fixture/PutBucketOwnershipControlsResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketOwnershipControls)++responsePutBucketPolicy :: PutBucketPolicyResponse -> TestTree+responsePutBucketPolicy =+  res+    "PutBucketPolicyResponse"+    "fixture/PutBucketPolicyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketPolicy)++responsePutBucketReplication :: PutBucketReplicationResponse -> TestTree+responsePutBucketReplication =+  res+    "PutBucketReplicationResponse"+    "fixture/PutBucketReplicationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketReplication)++responsePutBucketRequestPayment :: PutBucketRequestPaymentResponse -> TestTree+responsePutBucketRequestPayment =+  res+    "PutBucketRequestPaymentResponse"+    "fixture/PutBucketRequestPaymentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketRequestPayment)++responsePutBucketTagging :: PutBucketTaggingResponse -> TestTree+responsePutBucketTagging =+  res+    "PutBucketTaggingResponse"+    "fixture/PutBucketTaggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketTagging)++responsePutBucketVersioning :: PutBucketVersioningResponse -> TestTree+responsePutBucketVersioning =+  res+    "PutBucketVersioningResponse"+    "fixture/PutBucketVersioningResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketVersioning)++responsePutBucketWebsite :: PutBucketWebsiteResponse -> TestTree+responsePutBucketWebsite =+  res+    "PutBucketWebsiteResponse"+    "fixture/PutBucketWebsiteResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutBucketWebsite)++responsePutObject :: PutObjectResponse -> TestTree+responsePutObject =+  res+    "PutObjectResponse"+    "fixture/PutObjectResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutObject)++responsePutObjectAcl :: PutObjectAclResponse -> TestTree+responsePutObjectAcl =+  res+    "PutObjectAclResponse"+    "fixture/PutObjectAclResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutObjectAcl)++responsePutObjectLegalHold :: PutObjectLegalHoldResponse -> TestTree+responsePutObjectLegalHold =+  res+    "PutObjectLegalHoldResponse"+    "fixture/PutObjectLegalHoldResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutObjectLegalHold)++responsePutObjectLockConfiguration :: PutObjectLockConfigurationResponse -> TestTree+responsePutObjectLockConfiguration =+  res+    "PutObjectLockConfigurationResponse"+    "fixture/PutObjectLockConfigurationResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutObjectLockConfiguration)++responsePutObjectRetention :: PutObjectRetentionResponse -> TestTree+responsePutObjectRetention =+  res+    "PutObjectRetentionResponse"+    "fixture/PutObjectRetentionResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutObjectRetention)++responsePutObjectTagging :: PutObjectTaggingResponse -> TestTree+responsePutObjectTagging =+  res+    "PutObjectTaggingResponse"+    "fixture/PutObjectTaggingResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutObjectTagging)++responsePutPublicAccessBlock :: PutPublicAccessBlockResponse -> TestTree+responsePutPublicAccessBlock =+  res+    "PutPublicAccessBlockResponse"+    "fixture/PutPublicAccessBlockResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy PutPublicAccessBlock)++responseRestoreObject :: RestoreObjectResponse -> TestTree+responseRestoreObject =+  res+    "RestoreObjectResponse"+    "fixture/RestoreObjectResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy RestoreObject)++responseSelectObjectContent :: SelectObjectContentResponse -> TestTree+responseSelectObjectContent =+  res+    "SelectObjectContentResponse"+    "fixture/SelectObjectContentResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy SelectObjectContent)++responseUploadPart :: UploadPartResponse -> TestTree+responseUploadPart =+  res+    "UploadPartResponse"+    "fixture/UploadPartResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UploadPart)++responseUploadPartCopy :: UploadPartCopyResponse -> TestTree+responseUploadPartCopy =+  res+    "UploadPartCopyResponse"+    "fixture/UploadPartCopyResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy UploadPartCopy)++responseWriteGetObjectResponse :: WriteGetObjectResponseResponse -> TestTree+responseWriteGetObjectResponse =+  res+    "WriteGetObjectResponseResponse"+    "fixture/WriteGetObjectResponseResponse.proto"+    defaultService+    (Proxy.Proxy :: Proxy.Proxy WriteGetObjectResponse)
+ test/Test/Amazonka/S3.hs view
@@ -0,0 +1,20 @@+-- |+-- Module      : Test.Amazonka.S3+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.S3+  ( tests,+    fixtures,+  )+where++import Test.Tasty (TestTree)++tests :: [TestTree]+tests = []++fixtures :: [TestTree]+fixtures = []
+ test/Test/Amazonka/S3/Internal.hs view
@@ -0,0 +1,8 @@+-- |+-- Module      : Test.Amazonka.S3.Internal+-- Copyright   : (c) 2013-2023 Brendan Hay+-- License     : Mozilla Public License, v. 2.0.+-- Maintainer  : Brendan Hay+-- Stability   : auto-generated+-- Portability : non-portable (GHC extensions)+module Test.Amazonka.S3.Internal where