ganeti-3.1: Cluster-based virtualization management software
Safe HaskellSafe-Inferred
LanguageHaskell2010

Ganeti.Metad.ConfigCore

Description

Functions of the metadata daemon exported for RPC

Synopsis

The monad in which all the Metad functions execute

data MetadHandle #

Constructors

MetadHandle 

type MetadMonadIntType = ReaderT MetadHandle IO #

A type alias for easier referring to the actual content of the monad when implementing its instances.

newtype MetadMonadInt a #

The internal part of the monad without error handling.

Instances

Instances details
MonadIO MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

Methods

liftIO :: IO a -> MetadMonadInt a #

Applicative MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

Functor MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

Methods

fmap :: (a -> b) -> MetadMonadInt a -> MetadMonadInt b

(<$) :: a -> MetadMonadInt b -> MetadMonadInt a

Monad MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

MonadLog MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

Methods

logAt :: Priority -> String -> MetadMonadInt () #

MonadBaseControl IO MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

Associated Types

type StM MetadMonadInt a

Methods

liftBaseWith :: (RunInBase MetadMonadInt IO -> IO a) -> MetadMonadInt a

restoreM :: StM MetadMonadInt a -> MetadMonadInt a

MonadBase IO MetadMonadInt # 
Instance details

Defined in Ganeti.Metad.ConfigCore

Methods

liftBase :: IO α -> MetadMonadInt α

type StM MetadMonadInt b # 
Instance details

Defined in Ganeti.Metad.ConfigCore

type StM MetadMonadInt b = StM MetadMonadIntType b

runMetadMonadInt :: MetadMonadInt a -> MetadHandle -> IO a #

Runs the internal part of the MetadMonad monad on a given daemon handle.

type MetadMonad = ResultT GanetiException MetadMonadInt #

The complete monad with error handling.

Basic functions in the monad

Functions available to the RPC module

echo :: String -> MetadMonad String #

updateConfig :: JSValue -> MetadMonad () #

Update the configuration with the received instance parameters.

The list of all functions exported to RPC.