module Cloudy.Cmd where import Cloudy.Cli (CliCmd (..)) import Cloudy.Cmd.Aws (runAws) import Cloudy.Cmd.CopyFile (runCopyFile) import Cloudy.Cmd.List (runList) import Cloudy.Cmd.Scaleway (runScaleway) import Cloudy.Cmd.Ssh (runSsh) import Cloudy.Cmd.Destroy (runDestroy) import Cloudy.LocalConfFile (LocalConfFileOpts) runCmd :: LocalConfFileOpts -> CliCmd -> IO () runCmd :: LocalConfFileOpts -> CliCmd -> IO () runCmd LocalConfFileOpts localConfFileOpts = \case Aws AwsCliOpts awsCliOpts -> LocalConfFileOpts -> AwsCliOpts -> IO () runAws LocalConfFileOpts localConfFileOpts AwsCliOpts awsCliOpts List ListCliOpts listCliOpts -> LocalConfFileOpts -> ListCliOpts -> IO () runList LocalConfFileOpts localConfFileOpts ListCliOpts listCliOpts Scaleway ScalewayCliOpts scalewayCliOpts -> LocalConfFileOpts -> ScalewayCliOpts -> IO () runScaleway LocalConfFileOpts localConfFileOpts ScalewayCliOpts scalewayCliOpts Ssh SshCliOpts sshCliOpts -> LocalConfFileOpts -> SshCliOpts -> IO () runSsh LocalConfFileOpts localConfFileOpts SshCliOpts sshCliOpts CopyFile CopyFileCliOpts copyFileCliOpts -> LocalConfFileOpts -> CopyFileCliOpts -> IO () runCopyFile LocalConfFileOpts localConfFileOpts CopyFileCliOpts copyFileCliOpts Destroy DestroyCliOpts destroyCliOpts -> LocalConfFileOpts -> DestroyCliOpts -> IO () runDestroy LocalConfFileOpts localConfFileOpts DestroyCliOpts destroyCliOpts