packages feed

aws 0.20 → 0.21

raw patch · 6 files changed

+22/−7 lines, 6 filesdep ~http-client-tlsPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: http-client-tls

API changes (from Hackage documentation)

- Aws.Core: instance (GHC.Show.Show a, GHC.Show.Show m) => GHC.Show.Show (Aws.Core.Response m a)
- Aws.Core: instance GHC.Exception.Exception Aws.Core.FormException
- Aws.Core: instance GHC.Exception.Exception Aws.Core.HeaderException
- Aws.Core: instance GHC.Exception.Exception Aws.Core.NoCredentialsException
- Aws.Core: instance GHC.Exception.Exception Aws.Core.XmlException
- Aws.DynamoDb.Core: instance Aws.DynamoDb.Core.DynSize a => Aws.DynamoDb.Core.DynSize (GHC.Base.Maybe a)
- Aws.DynamoDb.Core: instance Data.Semigroup.Semigroup (Aws.DynamoDb.Core.Parser a)
- Aws.DynamoDb.Core: instance Data.Semigroup.Semigroup Aws.DynamoDb.Core.DdbResponse
- Aws.DynamoDb.Core: instance GHC.Exception.Exception Aws.DynamoDb.Core.DdbError
- Aws.DynamoDb.Core: instance GHC.Exception.Exception Aws.DynamoDb.Core.DdbLibraryError
- Aws.Ec2.InstanceMetadata: instance GHC.Exception.Exception Aws.Ec2.InstanceMetadata.InstanceMetadataException
- Aws.Iam.Core: instance Data.Semigroup.Semigroup Aws.Iam.Core.IamMetadata
- Aws.Iam.Core: instance GHC.Exception.Exception Aws.Iam.Core.IamError
- Aws.S3.Core: instance Data.Semigroup.Semigroup Aws.S3.Core.S3Metadata
- Aws.S3.Core: instance GHC.Exception.Exception Aws.S3.Core.S3Error
- Aws.Ses.Core: instance Aws.Ses.Core.SesAsQuery a => Aws.Ses.Core.SesAsQuery (GHC.Base.Maybe a)
- Aws.Ses.Core: instance Data.Semigroup.Semigroup Aws.Ses.Core.Destination
- Aws.Ses.Core: instance Data.Semigroup.Semigroup Aws.Ses.Core.SesMetadata
- Aws.Ses.Core: instance GHC.Exception.Exception Aws.Ses.Core.SesError
- Aws.SimpleDb.Core: instance Data.Semigroup.Semigroup Aws.SimpleDb.Core.SdbMetadata
- Aws.SimpleDb.Core: instance GHC.Exception.Exception Aws.SimpleDb.Core.SdbError
- Aws.Sqs.Core: instance Data.Semigroup.Semigroup Aws.Sqs.Core.SqsMetadata
- Aws.Sqs.Core: instance GHC.Exception.Exception Aws.Sqs.Core.SqsError
+ Aws.Core: -- preferences.
+ Aws.Core: -- type for each AWS service.
+ Aws.Core: -- | Additional information, like API endpoints and service-specific
+ Aws.Core: instance (GHC.Show.Show m, GHC.Show.Show a) => GHC.Show.Show (Aws.Core.Response m a)
+ Aws.Core: instance GHC.Exception.Type.Exception Aws.Core.FormException
+ Aws.Core: instance GHC.Exception.Type.Exception Aws.Core.HeaderException
+ Aws.Core: instance GHC.Exception.Type.Exception Aws.Core.NoCredentialsException
+ Aws.Core: instance GHC.Exception.Type.Exception Aws.Core.XmlException
+ Aws.DynamoDb.Core: -- to?
+ Aws.DynamoDb.Core: -- | Which of the <a>DynData</a> instances does this data type directly map
+ Aws.DynamoDb.Core: instance Aws.DynamoDb.Core.DynSize a => Aws.DynamoDb.Core.DynSize (GHC.Maybe.Maybe a)
+ Aws.DynamoDb.Core: instance GHC.Base.Semigroup (Aws.DynamoDb.Core.Parser a)
+ Aws.DynamoDb.Core: instance GHC.Base.Semigroup Aws.DynamoDb.Core.DdbResponse
+ Aws.DynamoDb.Core: instance GHC.Exception.Type.Exception Aws.DynamoDb.Core.DdbError
+ Aws.DynamoDb.Core: instance GHC.Exception.Type.Exception Aws.DynamoDb.Core.DdbLibraryError
+ Aws.Ec2.InstanceMetadata: instance GHC.Exception.Type.Exception Aws.Ec2.InstanceMetadata.InstanceMetadataException
+ Aws.Iam.Core: instance GHC.Base.Semigroup Aws.Iam.Core.IamMetadata
+ Aws.Iam.Core: instance GHC.Exception.Type.Exception Aws.Iam.Core.IamError
+ Aws.S3.Core: instance GHC.Base.Semigroup Aws.S3.Core.S3Metadata
+ Aws.S3.Core: instance GHC.Exception.Type.Exception Aws.S3.Core.S3Error
+ Aws.Ses.Core: instance Aws.Ses.Core.SesAsQuery a => Aws.Ses.Core.SesAsQuery (GHC.Maybe.Maybe a)
+ Aws.Ses.Core: instance GHC.Base.Semigroup Aws.Ses.Core.Destination
+ Aws.Ses.Core: instance GHC.Base.Semigroup Aws.Ses.Core.SesMetadata
+ Aws.Ses.Core: instance GHC.Exception.Type.Exception Aws.Ses.Core.SesError
+ Aws.SimpleDb.Core: instance GHC.Base.Semigroup Aws.SimpleDb.Core.SdbMetadata
+ Aws.SimpleDb.Core: instance GHC.Exception.Type.Exception Aws.SimpleDb.Core.SdbError
+ Aws.Sqs.Core: instance GHC.Base.Semigroup Aws.Sqs.Core.SqsMetadata
+ Aws.Sqs.Core: instance GHC.Exception.Type.Exception Aws.Sqs.Core.SqsError
- Aws: aws :: (Transaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)
+ Aws: aws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)
- Aws: awsIteratedSource :: (IteratedTransaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) (Response (ResponseMetadata a) a)
+ Aws: awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) (Response (ResponseMetadata a) a)
- Aws: awsRef :: (Transaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a
+ Aws: awsRef :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a
- Aws: pureAws :: (Transaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a
+ Aws: pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a
- Aws: type family MemoryResponse resp :: *;
+ Aws: type family ServiceConfiguration request :: * -> *
- Aws.Aws: aws :: (Transaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)
+ Aws.Aws: aws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO (Response (ResponseMetadata a) a)
- Aws.Aws: awsIteratedSource :: (IteratedTransaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) (Response (ResponseMetadata a) a)
+ Aws.Aws: awsIteratedSource :: IteratedTransaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> Producer (ResourceT IO) (Response (ResponseMetadata a) a)
- Aws.Aws: awsRef :: (Transaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a
+ Aws.Aws: awsRef :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> IORef (ResponseMetadata a) -> r -> ResourceT IO a
- Aws.Aws: pureAws :: (Transaction r a) => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a
+ Aws.Aws: pureAws :: Transaction r a => Configuration -> ServiceConfiguration r NormalQuery -> Manager -> r -> ResourceT IO a
- Aws.Core: SignedQuery :: !Method -> !Protocol -> !ByteString -> !Int -> !ByteString -> !Query -> !(Maybe UTCTime) -> !(Maybe (IO ByteString)) -> !(Maybe ByteString) -> !(Maybe (Digest MD5)) -> !RequestHeaders -> !RequestHeaders -> !(Maybe RequestBody) -> !ByteString -> SignedQuery
+ Aws.Core: SignedQuery :: !Method -> !Protocol -> !ByteString -> !Int -> !ByteString -> !Query -> !Maybe UTCTime -> !Maybe (IO ByteString) -> !Maybe ByteString -> !Maybe (Digest MD5) -> !RequestHeaders -> !RequestHeaders -> !Maybe RequestBody -> !ByteString -> SignedQuery
- Aws.Core: [sqAuthorization] :: SignedQuery -> !(Maybe (IO ByteString))
+ Aws.Core: [sqAuthorization] :: SignedQuery -> !Maybe (IO ByteString)
- Aws.Core: [sqBody] :: SignedQuery -> !(Maybe RequestBody)
+ Aws.Core: [sqBody] :: SignedQuery -> !Maybe RequestBody
- Aws.Core: [sqContentMd5] :: SignedQuery -> !(Maybe (Digest MD5))
+ Aws.Core: [sqContentMd5] :: SignedQuery -> !Maybe (Digest MD5)
- Aws.Core: [sqContentType] :: SignedQuery -> !(Maybe ByteString)
+ Aws.Core: [sqContentType] :: SignedQuery -> !Maybe ByteString
- Aws.Core: [sqDate] :: SignedQuery -> !(Maybe UTCTime)
+ Aws.Core: [sqDate] :: SignedQuery -> !Maybe UTCTime
- Aws.Core: xmlCursorConsumer :: (Monoid m) => (Cursor -> Response m a) -> IORef m -> HTTPResponseConsumer a
+ Aws.Core: xmlCursorConsumer :: Monoid m => (Cursor -> Response m a) -> IORef m -> HTTPResponseConsumer a
- Aws.DynamoDb.Core: DBinSet :: (Set ByteString) -> DValue
+ Aws.DynamoDb.Core: DBinSet :: Set ByteString -> DValue
- Aws.DynamoDb.Core: DBoolSet :: (Set Bool) -> DValue
+ Aws.DynamoDb.Core: DBoolSet :: Set Bool -> DValue
- Aws.DynamoDb.Core: DList :: (Vector DValue) -> DValue
+ Aws.DynamoDb.Core: DList :: Vector DValue -> DValue
- Aws.DynamoDb.Core: DMap :: (Map Text DValue) -> DValue
+ Aws.DynamoDb.Core: DMap :: Map Text DValue -> DValue
- Aws.DynamoDb.Core: DNumSet :: (Set Scientific) -> DValue
+ Aws.DynamoDb.Core: DNumSet :: Set Scientific -> DValue
- Aws.DynamoDb.Core: DStringSet :: (Set Text) -> DValue
+ Aws.DynamoDb.Core: DStringSet :: Set Text -> DValue
- Aws.DynamoDb.Core: getAttr' :: forall a. (DynVal a) => Text -> Item -> Parser (Maybe a)
+ Aws.DynamoDb.Core: getAttr' :: forall a. DynVal a => Text -> Item -> Parser (Maybe a)
- Aws.Iam.Commands.CreateAccessKey: CreateAccessKey :: (Maybe Text) -> CreateAccessKey
+ Aws.Iam.Commands.CreateAccessKey: CreateAccessKey :: Maybe Text -> CreateAccessKey
- Aws.Iam.Commands.GetUser: GetUser :: (Maybe Text) -> GetUser
+ Aws.Iam.Commands.GetUser: GetUser :: Maybe Text -> GetUser
- Aws.Iam.Internal: (<>) :: Monoid m => m -> m -> m
+ Aws.Iam.Internal: (<>) :: Semigroup a => a -> a -> a
- Aws.S3.Commands.GetObject: GetObjectMemoryResponse :: ObjectMetadata -> (Response ByteString) -> GetObjectMemoryResponse
+ Aws.S3.Commands.GetObject: GetObjectMemoryResponse :: ObjectMetadata -> Response ByteString -> GetObjectMemoryResponse
- Aws.S3.Commands.HeadObject: HeadObjectMemoryResponse :: (Maybe ObjectMetadata) -> HeadObjectMemoryResponse
+ Aws.S3.Commands.HeadObject: HeadObjectMemoryResponse :: Maybe ObjectMetadata -> HeadObjectMemoryResponse
- Aws.S3.Commands.Multipart: CompleteMultipartUploadResponse :: !Text -> !Bucket -> !Text -> !Text -> !(Maybe Text) -> CompleteMultipartUploadResponse
+ Aws.S3.Commands.Multipart: CompleteMultipartUploadResponse :: !Text -> !Bucket -> !Text -> !Text -> !Maybe Text -> CompleteMultipartUploadResponse
- Aws.S3.Commands.Multipart: [cmurVersionId] :: CompleteMultipartUploadResponse -> !(Maybe Text)
+ Aws.S3.Commands.Multipart: [cmurVersionId] :: CompleteMultipartUploadResponse -> !Maybe Text
- Aws.S3.Commands.Multipart: chunkedConduit :: (MonadResource m) => Integer -> Conduit ByteString m ByteString
+ Aws.S3.Commands.Multipart: chunkedConduit :: MonadResource m => Integer -> Conduit ByteString m ByteString
- Aws.S3.Core: UserInfo :: CanonicalUserId -> Text -> UserInfo
+ Aws.S3.Core: UserInfo :: CanonicalUserId -> Maybe Text -> UserInfo
- Aws.S3.Core: [userDisplayName] :: UserInfo -> Text
+ Aws.S3.Core: [userDisplayName] :: UserInfo -> Maybe Text
- Aws.Sqs.Commands.Message: Message :: !Text -> !ReceiptHandle -> !Text -> Text -> ![(MessageAttribute, Text)] -> !(Maybe Text) -> ![UserMessageAttribute] -> Message
+ Aws.Sqs.Commands.Message: Message :: !Text -> !ReceiptHandle -> !Text -> Text -> ![(MessageAttribute, Text)] -> !Maybe Text -> ![UserMessageAttribute] -> Message
- Aws.Sqs.Commands.Message: ReceiveMessage :: !(Maybe Int) -> ![MessageAttribute] -> !(Maybe Int) -> ![UserMessageAttributeName] -> !QueueName -> !(Maybe Int) -> ReceiveMessage
+ Aws.Sqs.Commands.Message: ReceiveMessage :: !Maybe Int -> ![MessageAttribute] -> !Maybe Int -> ![UserMessageAttributeName] -> !QueueName -> !Maybe Int -> ReceiveMessage
- Aws.Sqs.Commands.Message: SendMessage :: !Text -> !QueueName -> ![UserMessageAttribute] -> !(Maybe Int) -> SendMessage
+ Aws.Sqs.Commands.Message: SendMessage :: !Text -> !QueueName -> ![UserMessageAttribute] -> !Maybe Int -> SendMessage
- Aws.Sqs.Commands.Message: SendMessageResponse :: !Text -> !MessageId -> !(Maybe Text) -> SendMessageResponse
+ Aws.Sqs.Commands.Message: SendMessageResponse :: !Text -> !MessageId -> !Maybe Text -> SendMessageResponse
- Aws.Sqs.Commands.Message: UserMessageAttributeBinary :: (Maybe UserMessageAttributeCustomType) -> ByteString -> UserMessageAttributeValue
+ Aws.Sqs.Commands.Message: UserMessageAttributeBinary :: Maybe UserMessageAttributeCustomType -> ByteString -> UserMessageAttributeValue
- Aws.Sqs.Commands.Message: UserMessageAttributeNumber :: (Maybe UserMessageAttributeCustomType) -> Scientific -> UserMessageAttributeValue
+ Aws.Sqs.Commands.Message: UserMessageAttributeNumber :: Maybe UserMessageAttributeCustomType -> Scientific -> UserMessageAttributeValue
- Aws.Sqs.Commands.Message: UserMessageAttributeString :: (Maybe UserMessageAttributeCustomType) -> Text -> UserMessageAttributeValue
+ Aws.Sqs.Commands.Message: UserMessageAttributeString :: Maybe UserMessageAttributeCustomType -> Text -> UserMessageAttributeValue
- Aws.Sqs.Commands.Message: [mMD5OfMessageAttributes] :: Message -> !(Maybe Text)
+ Aws.Sqs.Commands.Message: [mMD5OfMessageAttributes] :: Message -> !Maybe Text
- Aws.Sqs.Commands.Message: [rmMaxNumberOfMessages] :: ReceiveMessage -> !(Maybe Int)
+ Aws.Sqs.Commands.Message: [rmMaxNumberOfMessages] :: ReceiveMessage -> !Maybe Int
- Aws.Sqs.Commands.Message: [rmVisibilityTimeout] :: ReceiveMessage -> !(Maybe Int)
+ Aws.Sqs.Commands.Message: [rmVisibilityTimeout] :: ReceiveMessage -> !Maybe Int
- Aws.Sqs.Commands.Message: [rmWaitTimeSeconds] :: ReceiveMessage -> !(Maybe Int)
+ Aws.Sqs.Commands.Message: [rmWaitTimeSeconds] :: ReceiveMessage -> !Maybe Int
- Aws.Sqs.Commands.Message: [smDelaySeconds] :: SendMessage -> !(Maybe Int)
+ Aws.Sqs.Commands.Message: [smDelaySeconds] :: SendMessage -> !Maybe Int
- Aws.Sqs.Commands.Message: [smrMD5OfMessageAttributes] :: SendMessageResponse -> !(Maybe Text)
+ Aws.Sqs.Commands.Message: [smrMD5OfMessageAttributes] :: SendMessageResponse -> !Maybe Text

Files

Aws/Aws.hs view
@@ -51,6 +51,7 @@ import qualified Data.Text.Encoding           as T import qualified Data.Text.IO                 as T import qualified Network.HTTP.Conduit         as HTTP+import qualified Network.HTTP.Client.TLS      as HTTP import           System.IO                    (stderr) import           Prelude @@ -193,7 +194,7 @@             -> r             -> io (MemoryResponse a) simpleAws cfg scfg request = liftIO $ runResourceT $ do-    manager <- liftIO $ HTTP.newManager HTTP.tlsManagerSettings+    manager <- liftIO HTTP.getGlobalManager     loadToMemory =<< readResponseIO =<< aws cfg scfg manager request  -- | Run an AWS transaction, without enforcing that response and request type form a valid transaction pair.
Aws/Core.hs view
@@ -134,6 +134,7 @@ import           Data.Typeable import           Data.Word import qualified Network.HTTP.Conduit     as HTTP+import qualified Network.HTTP.Client.TLS  as HTTP import qualified Network.HTTP.Types       as HTTP import           System.Directory import           System.Environment@@ -326,7 +327,7 @@  loadCredentialsFromInstanceMetadata :: MonadIO io => io (Maybe Credentials) loadCredentialsFromInstanceMetadata = do-    mgr <- liftIO $ HTTP.newManager HTTP.tlsManagerSettings+    mgr <- liftIO HTTP.getGlobalManager     -- check if the path is routable     avail <- liftIO $ hostAvailable "169.254.169.254"     if not avail
Aws/S3/Core.hs view
@@ -483,13 +483,15 @@ data UserInfo     = UserInfo {         userId          :: CanonicalUserId-      , userDisplayName :: T.Text+      , userDisplayName :: Maybe T.Text       }     deriving (Show)  parseUserInfo :: MonadThrow m => Cu.Cursor -> m UserInfo parseUserInfo el = do id_ <- force "Missing user ID" $ el $/ elContent "ID"-                      displayName <- force "Missing user DisplayName" $ el $/ elContent "DisplayName"+                      displayName <- return $ case (el $/ elContent "DisplayName") of+                                                  (x:_) -> Just x+                                                  []    -> Nothing                       return UserInfo { userId = id_, userDisplayName = displayName }  data CannedAcl
CHANGELOG.md view
@@ -1,3 +1,13 @@+0.21 series+-----------++-   0.21+    - S3: Make user DisplayName field optional (used in "GetBucket"+      among other places)+    - Use HTTP.getGlobalManager from http-client-tls by default (more+      efficient, and we have a transitive dependency on the package+      anyways)+ 0.20 series ----------- 
aws.cabal view
@@ -1,5 +1,5 @@ Name:                aws-Version:             0.20+Version:             0.21 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.20+  tag: 0.21  Source-repository head   type: git@@ -131,6 +131,7 @@                        directory            >= 1.0     && < 2.0,                        filepath             >= 1.1     && < 1.5,                        http-conduit         >= 2.3     && < 2.4,+                       http-client-tls      >= 0.3     && < 0.4,                        http-types           >= 0.7     && < 1.0,                        lifted-base          >= 0.1     && < 0.3,                        memory,
tests/DynamoDb/Main.hs view
@@ -79,7 +79,7 @@     , "By running the tests in this test-suite costs for usage of AWS"     , "services may incur."     , ""-    , "In order to actually excute the tests in this test-suite you must"+    , "In order to actually execute the tests in this test-suite you must"     , "provide the command line options:"     , ""     , "    --run-with-aws-credentials"