module AWS.ELB
(
ELB
, runELB
, runELBwithManager
, setRegion
, apiVersion
, module AWS.ELB.LoadBalancer
) where
import Data.Text (Text)
import Data.Conduit
import Control.Monad.IO.Class (MonadIO)
import qualified Control.Monad.State as State
import qualified Network.HTTP.Conduit as HTTP
import Data.Monoid
import AWS.Class
import AWS.Lib.Query (textToBS)
import AWS
import AWS.ELB.Internal
import AWS.ELB.LoadBalancer
initialELBContext :: HTTP.Manager -> AWSContext
initialELBContext mgr = AWSContext
{ manager = mgr
, endpoint = "elasticloadbalancing.amazonaws.com"
, lastRequestId = Nothing
}
runELB :: MonadIO m => Credential -> ELB m a -> m a
runELB = runAWS initialELBContext
runELBwithManager :: Monad m
=> HTTP.Manager -> Credential -> ELB m a -> m a
runELBwithManager mgr = runAWSwithManager mgr initialELBContext
setRegion
:: (MonadBaseControl IO m, MonadResource m)
=> Text -> ELB m ()
setRegion region = do
ctx <- State.get
State.put
ctx { endpoint =
"elasticloadbalancing." <> textToBS region <> ".amazonaws.com"
}