cloud-seeder-0.1.0.0: A tool for interacting with AWS CloudFormation

Safe HaskellNone
LanguageHaskell2010

Network.CloudSeeder.Interfaces

Synopsis

Documentation

class Monad m => MonadCLI m where Source #

A class of monads that can access command-line arguments.

Methods

getArgs :: m Command Source #

Returns positional arguments provided to the program while ignoring flags -- separate from getOptions to avoid cyclical dependencies.

getArgs :: (MonadTrans t, MonadCLI m', m ~ t m') => m Command Source #

Returns positional arguments provided to the program while ignoring flags -- separate from getOptions to avoid cyclical dependencies.

getOptions :: Set ParameterSpec -> m (Map Text Text) Source #

Returns flags provided to the program while ignoring positional arguments -- separate from getArgs to avoid cyclical dependencies.

getOptions :: (MonadTrans t, MonadCLI m', m ~ t m') => Set ParameterSpec -> m (Map Text Text) Source #

Returns flags provided to the program while ignoring positional arguments -- separate from getArgs to avoid cyclical dependencies.

whenEnv :: MonadCLI m => Text -> m () -> m () Source #

class Monad m => MonadCloud m where Source #

A class of monads that can interact with cloud deployments.

Instances

MonadCloud AppM Source # 
MonadCloud m => MonadCloud (LoggingT m) Source # 
(MonadCloud m, Monoid w) => MonadCloud (WriterT w m) Source # 
MonadCloud m => MonadCloud (StateT s m) Source # 
MonadCloud m => MonadCloud (ExceptT e m) Source # 
MonadCloud m => MonadCloud (ReaderT * r m) Source # 

computeChangeset' :: MonadCloudIO r m => StackName -> Text -> Map Text Text -> Map Text Text -> m Text Source #

getStackOutputs' :: MonadCloudIO r m => StackName -> m (Maybe (Map Text Text)) Source #

runChangeSet' :: MonadCloudIO r m => Text -> m () Source #

class Monad m => MonadEnvironment m where Source #

A class of monads that can access environment variables

Methods

getEnv :: Text -> m (Maybe Text) Source #

getEnv :: (MonadTrans t, MonadEnvironment m', m ~ t m') => Text -> m (Maybe Text) Source #

newtype StackName Source #

Constructors

StackName Text 

Instances

Eq StackName Source # 
Show StackName Source # 
IsString StackName Source # 
Generic StackName Source # 

Associated Types

type Rep StackName :: * -> * #

NFData StackName Source # 

Methods

rnf :: StackName -> () #

type Rep StackName Source # 
type Rep StackName = D1 (MetaData "StackName" "Network.CloudSeeder.Interfaces" "cloud-seeder-0.1.0.0-GJmSBHpJZ0g9wK7b45W1fy" True) (C1 (MetaCons "StackName" PrefixI False) (S1 (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

class (AsFileSystemError e, MonadError e m) => MonadFileSystem e m | m -> e where Source #

A class of monads that can interact with the filesystem.

Methods

readFile :: Text -> m Text Source #

Reads a file at the given path and returns its contents. If the file does not exist, is not accessible, or is improperly encoded, this method throws an exception.

readFile :: (MonadTrans t, MonadFileSystem e m', m ~ t m') => Text -> m Text Source #

Reads a file at the given path and returns its contents. If the file does not exist, is not accessible, or is improperly encoded, this method throws an exception.