dhall-secret-0.5.50: src/Dhall/Secret/Aws.hs
module Dhall.Secret.Aws where
import Control.Lens ((&), (.~))
import Data.Text (pack)
import Network.AWS (AWS, Credentials (Discover),
HasEnv (envLogger), LogLevel (Info),
envRegion, newEnv, newLogger, runAWS,
runResourceT)
import Network.AWS.Data (fromText)
import System.Environment.Blank (getEnv)
import System.IO (stdout)
awsRun :: Network.AWS.AWS b -> IO b
awsRun cmd = do
logger <- Network.AWS.newLogger Network.AWS.Info stdout
discover <- Network.AWS.newEnv Network.AWS.Discover
defaultRegion <- getEnv "AWS_REGION"
Network.AWS.runResourceT $ Network.AWS.runAWS (case (hush . fromText . pack) =<< defaultRegion of
Nothing -> discover & Network.AWS.envLogger .~ logger
Just region -> discover & Network.AWS.envRegion .~ region & Network.AWS.envLogger .~ logger)
cmd
where
hush (Left _) = Nothing
hush (Right x) = Just x