amazonka-mtl-0.1.1.0: MTL-style type-class and deriving-via newtypes for Amazonka
Safe HaskellSafe-Inferred
LanguageHaskell2010

Control.Monad.AWS.EnvT

Description

Concrete reader monad over Env

Its MonadAWS instance can be used in situations where you don't have or want your own app transformer:

import qualified Amazonka
import Amazonka.S3
import Control.Monad.AWS

main :: IO ()
main = do
  env <- newEnv discover
  runEnvT someAction env

someAction :: (MonadIO m, MonadAWS m) => m ()
someAction = do
  resp <- send newListBuckets
  liftIO $ print resp
Synopsis

Documentation

data EnvT m a Source #

Since: 0.1.0.0

Instances

Instances details
Monad m => MonadReader Env (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

ask :: EnvT m Env #

local :: (Env -> Env) -> EnvT m a -> EnvT m a #

reader :: (Env -> a) -> EnvT m a #

MonadIO m => MonadAWS (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

sendEither :: (AWSRequest a, Typeable a, Typeable (AWSResponse a)) => a -> EnvT m (Either Error (AWSResponse a)) Source #

awaitEither :: (AWSRequest a, Typeable a) => Wait a -> a -> EnvT m (Either Error Accept) Source #

withAuth :: (AuthEnv -> EnvT m a) -> EnvT m a Source #

localEnv :: (Env -> Env) -> EnvT m a -> EnvT m a Source #

MonadIO m => MonadIO (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

liftIO :: IO a -> EnvT m a #

Applicative m => Applicative (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

pure :: a -> EnvT m a #

(<*>) :: EnvT m (a -> b) -> EnvT m a -> EnvT m b #

liftA2 :: (a -> b -> c) -> EnvT m a -> EnvT m b -> EnvT m c #

(*>) :: EnvT m a -> EnvT m b -> EnvT m b #

(<*) :: EnvT m a -> EnvT m b -> EnvT m a #

Functor m => Functor (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

fmap :: (a -> b) -> EnvT m a -> EnvT m b #

(<$) :: a -> EnvT m b -> EnvT m a #

Monad m => Monad (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

(>>=) :: EnvT m a -> (a -> EnvT m b) -> EnvT m b #

(>>) :: EnvT m a -> EnvT m b -> EnvT m b #

return :: a -> EnvT m a #

MonadIO m => MonadResource (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

liftResourceT :: ResourceT IO a -> EnvT m a #

MonadUnliftIO m => MonadUnliftIO (EnvT m) Source # 
Instance details

Defined in Control.Monad.AWS.EnvT

Methods

withRunInIO :: ((forall a. EnvT m a -> IO a) -> IO b) -> EnvT m b #

runEnvT :: MonadUnliftIO m => EnvT m a -> Env -> m a Source #

Since: 0.1.0.0