module Cloudy.Cmd.Scaleway where

import Cloudy.Cli (ScalewayCliOpts (..))
import Cloudy.Cmd.Scaleway.Create (runCreate)
import Cloudy.Cmd.Scaleway.ListImages (runListImages)
import Cloudy.Cmd.Scaleway.ListInstanceTypes (runListInstanceTypes)
import Cloudy.LocalConfFile (LocalConfFileOpts)

runScaleway :: LocalConfFileOpts -> ScalewayCliOpts -> IO ()
runScaleway :: LocalConfFileOpts -> ScalewayCliOpts -> IO ()
runScaleway LocalConfFileOpts
localConfFileOpts = \case
  ScalewayCreate ScalewayCreateCliOpts
scalewayCreateCliOpts -> LocalConfFileOpts -> ScalewayCreateCliOpts -> IO ()
runCreate LocalConfFileOpts
localConfFileOpts ScalewayCreateCliOpts
scalewayCreateCliOpts
  ScalewayListImages ScalewayListImagesCliOpts
scalewayListImagesCliOpts -> LocalConfFileOpts -> ScalewayListImagesCliOpts -> IO ()
runListImages LocalConfFileOpts
localConfFileOpts ScalewayListImagesCliOpts
scalewayListImagesCliOpts
  ScalewayListInstanceTypes ScalewayListInstanceTypesCliOpts
scalewayListInstanceTypesCliOpts -> LocalConfFileOpts -> ScalewayListInstanceTypesCliOpts -> IO ()
runListInstanceTypes LocalConfFileOpts
localConfFileOpts ScalewayListInstanceTypesCliOpts
scalewayListInstanceTypesCliOpts