amazonka-1.1.0: Comprehensive Amazon Web Services SDK

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityprovisional
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.Env

Contents

Description

Environment and AWS specific configuration for the AWS and AWST monads.

Synopsis

Creating the Environment

newEnv Source

Arguments

:: (Applicative m, MonadIO m, MonadCatch m) 
=> Region

Initial region to operate in.

-> Credentials

Credential discovery mechanism.

-> m Env 

Creates a new environment with a new Manager without debug logging and uses getAuth to expand/discover the supplied Credentials. Lenses from HasEnv can be used to further configure the resulting Env.

Throws AuthError when environment variables or IAM profiles cannot be read.

See: newEnvWith.

newEnvWith Source

Arguments

:: (Applicative m, MonadIO m, MonadCatch m) 
=> Region

Initial region to operate in.

-> Credentials

Credential discovery mechanism.

-> Maybe Bool

Preload memoisation for the underlying EC2 instance check.

-> Manager 
-> m Env 

See: newEnv

Throws AuthError when environment variables or IAM profiles cannot be read.

data Env Source

The environment containing the parameters required to make AWS requests.

class HasEnv a where Source

Minimal complete definition

environment

Methods

environment :: Lens' a Env Source

envRegion :: Lens' a Region Source

The current region.

envLogger :: Lens' a Logger Source

The function used to output log messages.

envRetryCheck :: Lens' a (Int -> HttpException -> IO Bool) Source

The function used to determine if an HttpException should be retried.

envRetryPolicy :: Lens' a (Maybe RetryPolicy) Source

The RetryPolicy used to determine backoff/on and retry delay/growth.

envTimeout :: Lens' a (Maybe Seconds) Source

A HTTP response timeout override to apply. This defaults to Nothing, and the timeout selection is outlined below.

Timeouts are chosen by considering:

envManager :: Lens' a Manager Source

The Manager used to create and manage open HTTP connections.

envAuth :: Lens' a Auth Source

The credentials used to sign requests for authentication with AWS.

envEC2 :: Getter a (IORef (Maybe Bool)) Source

A memoised predicate for whether the underlying host is an EC2 instance.

Instances

Scoped Actions

within :: (MonadReader r m, HasEnv r) => Region -> m a -> m a Source

Scope an action within the specific Region.

once :: (MonadReader r m, HasEnv r) => m a -> m a Source

Scope an action such that any retry logic for the Service is ignored and any requests will at most be sent once.

timeout :: (MonadReader r m, HasEnv r) => Seconds -> m a -> m a Source

Scope an action such that any HTTP response will use this timeout value.