{-# LANGUAGE FlexibleContexts #-} module Dhall.Secret.Aws where import Data.Typeable (Typeable) import qualified Amazonka import System.IO (stdout) awsRun :: (Amazonka.AWSRequest a, Typeable a, Typeable (Amazonka.AWSResponse a)) => a -> IO (Amazonka.AWSResponse a) awsRun :: forall a. (AWSRequest a, Typeable a, Typeable (AWSResponse a)) => a -> IO (AWSResponse a) awsRun a cmd = do Logger logger <- LogLevel -> Handle -> IO Logger forall (m :: * -> *). MonadIO m => LogLevel -> Handle -> m Logger Amazonka.newLogger LogLevel Amazonka.Info Handle stdout Env discover <- (EnvNoAuth -> IO Env) -> IO Env forall (m :: * -> *). MonadIO m => (EnvNoAuth -> m Env) -> m Env Amazonka.newEnv EnvNoAuth -> IO Env forall (m :: * -> *) (withAuth :: * -> *). (MonadCatch m, MonadIO m, Foldable withAuth) => Env' withAuth -> m Env Amazonka.discover ResourceT IO (AWSResponse a) -> IO (AWSResponse a) forall (m :: * -> *) a. MonadUnliftIO m => ResourceT m a -> m a Amazonka.runResourceT (ResourceT IO (AWSResponse a) -> IO (AWSResponse a)) -> ResourceT IO (AWSResponse a) -> IO (AWSResponse a) forall a b. (a -> b) -> a -> b $ Env -> a -> ResourceT IO (AWSResponse a) forall (m :: * -> *) a. (MonadResource m, AWSRequest a, Typeable a, Typeable (AWSResponse a)) => Env -> a -> m (AWSResponse a) Amazonka.send (Env discover { Amazonka.logger =logger}) a cmd