packages feed

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 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