| Copyright | © 2017 All rights reserved. |
|---|---|
| License | GPL-3 |
| Maintainer | Evan Cofsky <> |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | None |
| Language | Haskell2010 |
Network.AWS.Machines.AWS
Description
- type AWSProcessT m a b = AWSMachineT m (Is a) b
- type AWSSourceT m b = forall k. AWSMachineT m k b
- type RequestMod a = a -> a
- type M m = (MonadBaseControl IO m, MonadAWS (AWST' Env (ResourceT m)))
- withAWS :: (MonadCatch m, MonadIO m, M m) => Credentials -> Logger -> Region -> AWSProcessT m a b -> m [b]
- withAWSEnv :: (MonadCatch m, MonadIO m, M m) => Env -> AWSProcessT m a b -> m [b]
- awsSource :: (AWSRequest a, Foldable f) => GetResponse f a c -> [RequestMod a] -> a -> AWSSourceT m c
- pagedSource :: (Foldable f, AWSPager a) => GetResponse f a c -> [RequestMod a] -> a -> AWSSourceT m c
- liftAWS :: MonadAWS m => forall a. AWS a -> m a
- liftIO :: MonadIO m => forall a. IO a -> m a
- class Monad m => MonadIO m where
- class (Functor m, Applicative m, Monad m, MonadIO m, MonadCatch m) => MonadAWS m where
- class MonadBase b m => MonadBaseControl b m | m -> b
- data AWST' r m a :: * -> (* -> *) -> * -> *
- data Env :: *
- data ResourceT m a :: (* -> *) -> * -> *
- class MonadThrow m => MonadCatch m
Documentation
type AWSProcessT m a b = AWSMachineT m (Is a) b Source #
A process transducing a stream of AWS values.
type AWSSourceT m b = forall k. AWSMachineT m k b Source #
A stream of AWS values.
type RequestMod a = a -> a Source #
Modifies an AWSRequest after the smart constructor has created
it.
type M m = (MonadBaseControl IO m, MonadAWS (AWST' Env (ResourceT m))) Source #
The base monad constraints for an AWSMachineT.
withAWS :: (MonadCatch m, MonadIO m, M m) => Credentials -> Logger -> Region -> AWSProcessT m a b -> m [b] Source #
Run an AWSProcessT.
withAWSEnv :: (MonadCatch m, MonadIO m, M m) => Env -> AWSProcessT m a b -> m [b] Source #
Run an AWSProcessT with an Env that's already set up.
awsSource :: (AWSRequest a, Foldable f) => GetResponse f a c -> [RequestMod a] -> a -> AWSSourceT m c Source #
Arguments
| :: (Foldable f, AWSPager a) | |
| => GetResponse f a c | Accessor for the list of ∈ in the response. |
| -> [RequestMod a] | Request modifiers |
| -> a | The initial request. |
| -> AWSSourceT m c | A |
Stream an AWSPager instance.
class Monad m => MonadIO m where #
Monads in which IO computations may be embedded.
Any monad built by applying a sequence of monad transformers to the
IO monad will be an instance of this class.
Instances should satisfy the following laws, which state that liftIO
is a transformer of monads:
Minimal complete definition
Instances
| MonadIO IO | |
| MonadIO m => MonadIO (ResourceT m) | |
| MonadIO m => MonadIO (MaybeT m) | |
| MonadIO m => MonadIO (CatchT m) | |
| MonadIO m => MonadIO (IterT m) | |
| MonadIO m => MonadIO (ListT m) | |
| MonadIO m => MonadIO (AWST' r m) | |
| MonadIO m => MonadIO (IdentityT * m) | |
| (Monoid w, MonadIO m) => MonadIO (WriterT w m) | |
| (Monoid w, MonadIO m) => MonadIO (WriterT w m) | |
| MonadIO m => MonadIO (StateT s m) | |
| MonadIO m => MonadIO (StateT s m) | |
| (Error e, MonadIO m) => MonadIO (ErrorT e m) | |
| (Functor f, MonadIO m) => MonadIO (FreeT f m) | |
| MonadIO m => MonadIO (ExceptT e m) | |
| MonadIO m => MonadIO (ReaderT * r m) | |
| MonadIO m => MonadIO (ConduitM i o m) | |
| MonadIO m => MonadIO (ContT * r m) | |
| (Monoid w, MonadIO m) => MonadIO (RWST r w s m) | |
| (Monoid w, MonadIO m) => MonadIO (RWST r w s m) | |
| MonadIO m => MonadIO (Pipe l i o u m) | |
class (Functor m, Applicative m, Monad m, MonadIO m, MonadCatch m) => MonadAWS m where #
Monads in which AWS actions may be embedded.
Minimal complete definition
Instances
| MonadAWS AWS | |
| MonadAWS m => MonadAWS (MaybeT m) | |
| MonadAWS m => MonadAWS (ListT m) | |
| MonadAWS m => MonadAWS (IdentityT * m) | |
| (Monoid w, MonadAWS m) => MonadAWS (WriterT w m) | |
| (Monoid w, MonadAWS m) => MonadAWS (WriterT w m) | |
| MonadAWS m => MonadAWS (StateT s m) | |
| MonadAWS m => MonadAWS (StateT s m) | |
| MonadAWS m => MonadAWS (ExceptT e m) | |
| MonadAWS m => MonadAWS (ReaderT * r m) | |
| (Monoid w, MonadAWS m) => MonadAWS (RWST r w s m) | |
| (Monoid w, MonadAWS m) => MonadAWS (RWST r w s m) | |
class MonadBase b m => MonadBaseControl b m | m -> b #
Minimal complete definition
Instances
data AWST' r m a :: * -> (* -> *) -> * -> * #
Instances
| MonadAWS AWS | |
| MonadState s m => MonadState s (AWST' r m) | |
| Monad m => MonadReader r (AWST' r m) | |
| MonadBaseControl b m => MonadBaseControl b (AWST' r m) | |
| MonadError e m => MonadError e (AWST' r m) | |
| MonadWriter w m => MonadWriter w (AWST' r m) | |
| MonadBase b m => MonadBase b (AWST' r m) | |
| MFunctor (AWST' r) | |
| MonadTrans (AWST' r) | |
| MonadTransControl (AWST' r) | |
| Monad m => Monad (AWST' r m) | |
| Functor m => Functor (AWST' r m) | |
| Applicative m => Applicative (AWST' r m) | |
| Alternative m => Alternative (AWST' r m) | |
| MonadPlus m => MonadPlus (AWST' r m) | |
| MonadIO m => MonadIO (AWST' r m) | |
| MonadActive m => MonadActive (AWST' r m) | |
| MonadThrow m => MonadThrow (AWST' r m) | |
| MonadCatch m => MonadCatch (AWST' r m) | |
| MonadMask m => MonadMask (AWST' r m) | |
| MonadResource m => MonadResource (AWST' r m) | |
| type StT (AWST' r) a | |
| type StM (AWST' r m) a | |
The environment containing the parameters required to make AWS requests.
data ResourceT m a :: (* -> *) -> * -> * #
The Resource transformer. This transformer keeps track of all registered
actions, and calls them upon exit (via runResourceT). Actions may be
registered via register, or resources may be allocated atomically via
allocate. allocate corresponds closely to bracket.
Releasing may be performed before exit via the release function. This is a
highly recommended optimization, as it will ensure that scarce resources are
freed early. Note that calling release will deregister the action, so that
a release action will only ever be called once.
Since 0.3.0
Instances
class MonadThrow m => MonadCatch m #
A class for monads which allow exceptions to be caught, in particular
exceptions which were thrown by throwM.
Instances should obey the following law:
catch (throwM e) f = f e
Note that the ability to catch an exception does not guarantee that we can
deal with all possible exit points from a computation. Some monads, such as
continuation-based stacks, allow for more than just a success/failure
strategy, and therefore catch cannot be used by those monads to properly
implement a function such as finally. For more information, see
MonadMask.
Minimal complete definition
Instances