drone-1.0.1: src/Drone/Endpoints/Server.hs
{-# LANGUAGE OverloadedLabels #-}
{-# LANGUAGE OverloadedStrings #-}
module Drone.Endpoints.Server where
import Data.Text (Text)
import Drone.Client
import Drone.Types
import Lens.Micro ((^.))
import Network.HTTP.Req
getServer :: (MonadHttp m, Client c) => c -> Text -> m (JsonResponse Server)
getServer c name = req GET url NoReqBody jsonResponse opt
where
url = mkUrl c $ format (paths ^. #pathServer) name
opt = mkHeader c
getServers :: (MonadHttp m, Client c) => c -> m (JsonResponse [Server])
getServers c = req GET url NoReqBody jsonResponse opt
where
url = mkUrl c $ format (paths ^. #pathServers)
opt = mkHeader c
createServer :: (MonadHttp m, Client c) => c -> m (JsonResponse Server)
createServer c = req POST url NoReqBody jsonResponse opt
where
url = mkUrl c $ format (paths ^. #pathServers)
opt = mkHeader c
deleteServer :: (MonadHttp m, Client c) => c -> Text -> m IgnoreResponse
deleteServer c name = req DELETE url NoReqBody ignoreResponse opt
where
url = mkUrl c $ format (paths ^. #pathServer) name
opt = mkHeader c
pauseAutoscale :: (MonadHttp m, Client c) => c -> m IgnoreResponse
pauseAutoscale c = req POST url NoReqBody ignoreResponse opt
where
url = mkUrl c $ format (paths ^. #pathScalerPause)
opt = mkHeader c
resumeAutoscale :: (MonadHttp m, Client c) => c -> m IgnoreResponse
resumeAutoscale c = req POST url NoReqBody ignoreResponse opt
where
url = mkUrl c $ format (paths ^. #pathScalerResume)
opt = mkHeader c
getVersion :: (MonadHttp m, Client c) => c -> m (JsonResponse Version)
getVersion c = req GET url NoReqBody jsonResponse opt
where
url = mkUrl c $ format (paths ^. #pathVersion)
opt = mkHeader c