himpy-0.5.0: System/Himpy/Types.hs
module System.Himpy.Types where
import Control.Concurrent.MVar (MVar)
import Data.Map (Map)
import Control.Concurrent.STM.TChan (TChan)
data Threshold = Threshold {
tHost :: String,
tService :: String,
tWarning :: Maybe Double,
tCritical :: Double
} deriving (Show, Read)
data Metric = Metric String String String Double deriving (Show, Read)
data HimpyConfig = Hosts Integer Float String Integer String [HimpyHost] [Threshold] deriving (Show, Read)
data HimpyHost = Host String String [HimpyRecipe] deriving (Show, Read)
data HimpyRecipe = WinSrvRecipe [String] |
StorageRecipe |
LoadRecipe |
JuniperRecipe |
NetworkRecipe deriving (Show, Read)
type HInternalIndex = Map (String,String) Double
type HIndex = MVar HInternalIndex
class RecipeMod mod where
recipe :: mod -> TChan [Metric] -> TChan String -> HimpyHost -> HIndex -> IO ()