aws 0.21 → 0.21.1
raw patch · 4 files changed
+82/−5 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Aws.S3.Commands.PutBucketVersioning: PutBucketVersioning :: Bucket -> VersioningState -> PutBucketVersioning
+ Aws.S3.Commands.PutBucketVersioning: PutBucketVersioningResponse :: PutBucketVersioningResponse
+ Aws.S3.Commands.PutBucketVersioning: VersioningEnabled :: VersioningState
+ Aws.S3.Commands.PutBucketVersioning: VersioningSuspended :: VersioningState
+ Aws.S3.Commands.PutBucketVersioning: [pbvBucket] :: PutBucketVersioning -> Bucket
+ Aws.S3.Commands.PutBucketVersioning: [pbvVersioningConfiguration] :: PutBucketVersioning -> VersioningState
+ Aws.S3.Commands.PutBucketVersioning: data PutBucketVersioning
+ Aws.S3.Commands.PutBucketVersioning: data PutBucketVersioningResponse
+ Aws.S3.Commands.PutBucketVersioning: data VersioningState
+ Aws.S3.Commands.PutBucketVersioning: instance Aws.Core.AsMemoryResponse Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
+ Aws.S3.Commands.PutBucketVersioning: instance Aws.Core.ResponseConsumer r Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
+ Aws.S3.Commands.PutBucketVersioning: instance Aws.Core.SignQuery Aws.S3.Commands.PutBucketVersioning.PutBucketVersioning
+ Aws.S3.Commands.PutBucketVersioning: instance Aws.Core.Transaction Aws.S3.Commands.PutBucketVersioning.PutBucketVersioning Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
+ Aws.S3.Commands.PutBucketVersioning: instance GHC.Show.Show Aws.S3.Commands.PutBucketVersioning.PutBucketVersioning
+ Aws.S3.Commands.PutBucketVersioning: instance GHC.Show.Show Aws.S3.Commands.PutBucketVersioning.PutBucketVersioningResponse
+ Aws.S3.Commands.PutBucketVersioning: instance GHC.Show.Show Aws.S3.Commands.PutBucketVersioning.VersioningState
+ Aws.S3.Commands.PutBucketVersioning: putBucketVersioning :: Bucket -> VersioningState -> PutBucketVersioning
Files
- Aws/S3/Commands.hs +2/−0
- Aws/S3/Commands/PutBucketVersioning.hs +71/−0
- CHANGELOG.md +6/−3
- aws.cabal +3/−2
Aws/S3/Commands.hs view
@@ -12,6 +12,7 @@ , module Aws.S3.Commands.GetService , module Aws.S3.Commands.HeadObject , module Aws.S3.Commands.PutBucket+, module Aws.S3.Commands.PutBucketVersioning , module Aws.S3.Commands.PutObject , module Aws.S3.Commands.Multipart )@@ -29,5 +30,6 @@ import Aws.S3.Commands.GetService import Aws.S3.Commands.HeadObject import Aws.S3.Commands.PutBucket+import Aws.S3.Commands.PutBucketVersioning import Aws.S3.Commands.PutObject import Aws.S3.Commands.Multipart
+ Aws/S3/Commands/PutBucketVersioning.hs view
@@ -0,0 +1,71 @@+module Aws.S3.Commands.PutBucketVersioning where++import Aws.Core+import Aws.S3.Core+import Network.HTTP.Types (toQuery)+import qualified Data.Map as M+import qualified Data.Text.Encoding as T+import qualified Network.HTTP.Conduit as HTTP+import qualified Text.XML as XML+import qualified Data.ByteString.Lazy.Char8 as B8++data VersioningState = VersioningSuspended | VersioningEnabled+ deriving (Show)++-- | Sets the versioning state of an existing bucket.+data PutBucketVersioning+ = PutBucketVersioning+ { pbvBucket :: Bucket+ , pbvVersioningConfiguration :: VersioningState+ }+ deriving (Show)++putBucketVersioning :: Bucket -> VersioningState -> PutBucketVersioning+putBucketVersioning = PutBucketVersioning++data PutBucketVersioningResponse+ = PutBucketVersioningResponse+ deriving (Show)++-- | ServiceConfiguration: 'S3Configuration'+instance SignQuery PutBucketVersioning where+ type ServiceConfiguration PutBucketVersioning = S3Configuration++ signQuery PutBucketVersioning{..} = s3SignQuery $ S3Query+ { s3QMethod = Put+ , s3QBucket = Just $ T.encodeUtf8 pbvBucket+ , s3QSubresources = toQuery [("versioning" :: B8.ByteString, Nothing :: Maybe B8.ByteString)]+ , s3QQuery = []+ , s3QContentType = Nothing+ , s3QContentMd5 = Nothing+ , s3QObject = Nothing+ , s3QAmzHeaders = []+ , s3QOtherHeaders = []+ , s3QRequestBody = (Just . HTTP.RequestBodyLBS . XML.renderLBS XML.def)+ XML.Document+ { XML.documentPrologue = XML.Prologue [] Nothing []+ , XML.documentRoot = XML.Element+ { XML.elementName = "{http://s3.amazonaws.com/doc/2006-03-01/}VersioningConfiguration"+ , XML.elementAttributes = M.empty+ , XML.elementNodes = [ XML.NodeElement (XML.Element+ { XML.elementName = "{http://s3.amazonaws.com/doc/2006-03-01/}Status"+ , XML.elementAttributes = M.empty+ , XML.elementNodes = case pbvVersioningConfiguration of+ VersioningSuspended -> [XML.NodeContent "Suspended"]+ VersioningEnabled -> [XML.NodeContent "Enabled"]+ })]+ }+ , XML.documentEpilogue = []+ }+ }++instance ResponseConsumer r PutBucketVersioningResponse where+ type ResponseMetadata PutBucketVersioningResponse = S3Metadata++ responseConsumer _ _ = s3ResponseConsumer $ \_ -> return PutBucketVersioningResponse++instance Transaction PutBucketVersioning PutBucketVersioningResponse++instance AsMemoryResponse PutBucketVersioningResponse where+ type MemoryResponse PutBucketVersioningResponse = PutBucketVersioningResponse+ loadToMemory = return
CHANGELOG.md view
@@ -1,6 +1,9 @@ 0.21 series ----------- +- 0.21.1+ - S3: Add PutBucketVersioning command+ - 0.21 - S3: Make user DisplayName field optional (used in "GetBucket" among other places)@@ -34,13 +37,13 @@ 0.17 series ----------- +- 0.17.1+ - Fix testsuite build+ - 0.17 - HTTP proxy support - DDB: Support for additional interfaces, bug fixes - Relax version bounds--- 0.17.1- - Fix testsuite build 0.16 series -----------
aws.cabal view
@@ -1,5 +1,5 @@ Name: aws-Version: 0.21+Version: 0.21.1 Synopsis: Amazon Web Services (AWS) for Haskell Description: Bindings for Amazon Web Services (AWS), with the aim of supporting all AWS services. To see a high level overview of the library, see the README at <https://github.com/aristidb/aws/blob/master/README.md>. Homepage: http://github.com/aristidb/aws@@ -19,7 +19,7 @@ Source-repository this type: git location: https://github.com/aristidb/aws.git- tag: 0.21+ tag: 0.21.1 Source-repository head type: git@@ -80,6 +80,7 @@ Aws.S3.Commands.GetService Aws.S3.Commands.HeadObject Aws.S3.Commands.PutBucket+ Aws.S3.Commands.PutBucketVersioning Aws.S3.Commands.PutObject Aws.S3.Commands.Multipart Aws.S3.Core