1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
module Aws.S3.Commands.DeleteObjectVersion
where
import Aws.Core
import Aws.S3.Core
import Data.ByteString.Char8 ({- IsString -})
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
data DeleteObjectVersion = DeleteObjectVersion {
dovObjectName :: T.Text,
dovBucket :: Bucket,
dovVersionId :: T.Text
} deriving (Show)
deleteObjectVersion :: Bucket -> T.Text -> T.Text -> DeleteObjectVersion
deleteObjectVersion bucket object version
= DeleteObjectVersion {
dovObjectName = object
, dovBucket = bucket
, dovVersionId = version
}
data DeleteObjectVersionResponse = DeleteObjectVersionResponse {
} deriving (Show)
-- | ServiceConfiguration: 'S3Configuration'
instance SignQuery DeleteObjectVersion where
type ServiceConfiguration DeleteObjectVersion = S3Configuration
signQuery DeleteObjectVersion {..} = s3SignQuery S3Query {
s3QMethod = Delete
, s3QBucket = Just $ T.encodeUtf8 dovBucket
, s3QSubresources = [ ("versionId", Just $ T.encodeUtf8 dovVersionId) ]
, s3QQuery = []
, s3QContentType = Nothing
, s3QContentMd5 = Nothing
, s3QAmzHeaders = []
, s3QOtherHeaders = []
, s3QRequestBody = Nothing
, s3QObject = Just $ T.encodeUtf8 dovObjectName
}
instance ResponseConsumer DeleteObjectVersion DeleteObjectVersionResponse where
type ResponseMetadata DeleteObjectVersionResponse = S3Metadata
responseConsumer _ _
= s3ResponseConsumer $ \_ -> return DeleteObjectVersionResponse
instance Transaction DeleteObjectVersion DeleteObjectVersionResponse
instance AsMemoryResponse DeleteObjectVersionResponse where
type MemoryResponse DeleteObjectVersionResponse = DeleteObjectVersionResponse
loadToMemory = return
|