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

Ganeti.JSON

Description

JSON utility functions.

Synopsis

Documentation

fromJResult :: (Monad m, MonadFail m) => String -> Result a -> m a #

Converts a JSON Result into a monadic value.

fromJResultE :: (Error e, MonadError e m) => String -> Result a -> m a #

Converts a JSON Result into a MonadError value.

readJSONWithDesc #

Arguments

:: JSON a 
=> String

description of a

-> JSValue

input value

-> Result a 

Annotate readJSON error messages with descriptions of what is being parsed into what.

readEitherString :: MonadFail m => JSValue -> m String #

Tries to read a string from a JSON value.

In case the value was not a string, we fail the read (in the context of the current monad.

type JSRecord = [JSField] #

A type alias for the list-based representation of J.JSObject.

loadJSArray #

Arguments

:: MonadFail m 
=> String

Operation description (for error reporting)

-> String

Input message

-> m [JSObject JSValue] 

Converts a JSON message into an array of JSON objects.

fromObj :: (JSON a, MonadFail m) => JSRecord -> String -> m a #

Reads the value of a key in a JSON object.

maybeFromObj :: (JSON a, MonadFail m) => JSRecord -> String -> m (Maybe a) #

Reads the value of an optional key in a JSON object. Missing keys, or keys that have a 'null' value, will be returned as Nothing, otherwise we attempt deserialisation and return a Just value.

fromObjWithDefault :: (JSON a, MonadFail m) => JSRecord -> String -> a -> m a #

Reads the value of a key in a JSON object with a default if missing. Note that both missing keys and keys with value 'null' will cause the default value to be returned.

fromKeyValue #

Arguments

:: (JSON a, MonadFail m) 
=> String

The key name

-> JSValue

The value to read

-> m a 

Reads a JValue, that originated from an object key.

fromJVal :: (Monad m, MonadFail m, JSON a) => JSValue -> m a #

Small wrapper over readJSON.

fromJValE :: (Error e, MonadError e m, JSON a) => JSValue -> m a #

Small wrapper over readJSON for MonadError.

jsonHead :: JSON b => [a] -> (a -> b) -> JSValue #

Helper function that returns Null or first element of the list.

getMaybeJsonHead :: JSON b => [a] -> (a -> Maybe b) -> JSValue #

Helper for extracting Maybe values from a possibly empty list.

getMaybeJsonElem :: JSON b => [a] -> Int -> (a -> Maybe b) -> JSValue #

Helper for extracting Maybe values from a list that might be too short.

asJSObject :: (Monad m, MonadFail m) => JSValue -> m (JSObject JSValue) #

Converts a JSON value into a JSON object.

asObjectList :: (Monad m, MonadFail m) => [JSValue] -> m [JSObject JSValue] #

Coneverts a list of JSON values into a list of JSON objects.

tryFromObj #

Arguments

:: JSON a 
=> String

Textual "owner" in error messages

-> JSRecord

The object array

-> String

The desired key from the object

-> Result a 

Try to extract a key from an object with better error reporting than fromObj.

arrayMaybeFromJVal :: (JSON a, Monad m, MonadFail m) => JSValue -> m [Maybe a] #

tryArrayMaybeFromObj #

Arguments

:: JSON a 
=> String

Textual "owner" in error messages

-> JSRecord

The object array

-> String

The desired key from the object

-> Result [Maybe a] 

Wrapper for arrayMaybeFromObj with better diagnostic

toArray :: (Monad m, MonadFail m) => JSValue -> m [JSValue] #

Ensure a given JSValue is actually a JSArray.

optionalJSField :: JSON a => String -> Maybe a -> Maybe JSField #

Creates a Maybe JSField. If the value string is Nothing, the JSField will be Nothing as well.

optFieldsToObj :: [Maybe JSField] -> JSValue #

Creates an object with all the non-Nothing fields of the given list.

containerFromList :: Ord a => [(a, b)] -> GenericContainer a b #

Creates a GenericContainer from a list of key-value pairs.

lookupContainer :: (Monad m, Ord a) => m b -> a -> GenericContainer a b -> m b #

Looks up a value in a container with a default value. If a key has no value, a given monadic default is returned. This allows simple error handling, as the default can be mzero, failError etc.

alterContainerL :: (Functor f, Ord a) => a -> (Maybe b -> f (Maybe b)) -> GenericContainer a b -> f (GenericContainer a b) #

Updates a value inside a container. The signature of the function is crafted so that it can be directly used as a lens.

readContainer :: (MonadFail m, HasStringRepr a, Ord a, JSON b) => JSObject JSValue -> m (GenericContainer a b) #

Container loader.

mkUsedKeys :: Set Text -> UsedKeys #

allUsedKeys :: UsedKeys #

class DictObject a where #

Class of objects that can be converted from and to JSObject lists-format.

Minimal complete definition

toDict, fromDictWKeys

Methods

toDict :: a -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result a #

fromDict :: [(String, JSValue)] -> Result a #

Instances

Instances details
DictObject ConfdReply # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toDict :: ConfdReply -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ConfdReply #

fromDict :: [(String, JSValue)] -> Result ConfdReply #

DictObject ConfdReqQ # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toDict :: ConfdReqQ -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ConfdReqQ #

fromDict :: [(String, JSValue)] -> Result ConfdReqQ #

DictObject ConfdRequest # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toDict :: ConfdRequest -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ConfdRequest #

fromDict :: [(String, JSValue)] -> Result ConfdRequest #

DictObject SignedMessage # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toDict :: SignedMessage -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result SignedMessage #

fromDict :: [(String, JSValue)] -> Result SignedMessage #

DictObject CPUavgload # 
Instance details

Defined in Ganeti.Cpu.Types

Methods

toDict :: CPUavgload -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result CPUavgload #

fromDict :: [(String, JSValue)] -> Result CPUavgload #

DictObject CPUstat # 
Instance details

Defined in Ganeti.Cpu.Types

Methods

toDict :: CPUstat -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result CPUstat #

fromDict :: [(String, JSValue)] -> Result CPUstat #

DictObject InstStatus # 
Instance details

Defined in Ganeti.DataCollectors.InstStatusTypes

Methods

toDict :: InstStatus -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result InstStatus #

fromDict :: [(String, JSValue)] -> Result InstStatus #

DictObject ReportData # 
Instance details

Defined in Ganeti.DataCollectors.InstStatusTypes

Methods

toDict :: ReportData -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ReportData #

fromDict :: [(String, JSValue)] -> Result ReportData #

DictObject DCReport # 
Instance details

Defined in Ganeti.DataCollectors.Types

Methods

toDict :: DCReport -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result DCReport #

fromDict :: [(String, JSValue)] -> Result DCReport #

DictObject DCStatus # 
Instance details

Defined in Ganeti.DataCollectors.Types

Methods

toDict :: DCStatus -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result DCStatus #

fromDict :: [(String, JSValue)] -> Result DCStatus #

DictObject IPolicy # 
Instance details

Defined in Ganeti.HTools.Types

Methods

toDict :: IPolicy -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result IPolicy #

fromDict :: [(String, JSValue)] -> Result IPolicy #

DictObject ISpec # 
Instance details

Defined in Ganeti.HTools.Types

Methods

toDict :: ISpec -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ISpec #

fromDict :: [(String, JSValue)] -> Result ISpec #

DictObject MinMaxISpecs # 
Instance details

Defined in Ganeti.HTools.Types

Methods

toDict :: MinMaxISpecs -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result MinMaxISpecs #

fromDict :: [(String, JSValue)] -> Result MinMaxISpecs #

DictObject QueuedJob # 
Instance details

Defined in Ganeti.JQueue.Objects

Methods

toDict :: QueuedJob -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result QueuedJob #

fromDict :: [(String, JSValue)] -> Result QueuedJob #

DictObject QueuedOpCode # 
Instance details

Defined in Ganeti.JQueue.Objects

Methods

toDict :: QueuedOpCode -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result QueuedOpCode #

fromDict :: [(String, JSValue)] -> Result QueuedOpCode #

DictObject LuxiOp # 
Instance details

Defined in Ganeti.Luxi

Methods

toDict :: LuxiOp -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result LuxiOp #

fromDict :: [(String, JSValue)] -> Result LuxiOp #

DictObject Cluster # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: Cluster -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result Cluster #

fromDict :: [(String, JSValue)] -> Result Cluster #

DictObject ConfigData # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: ConfigData -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ConfigData #

fromDict :: [(String, JSValue)] -> Result ConfigData #

DictObject DataCollectorConfig # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: DataCollectorConfig -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result DataCollectorConfig #

fromDict :: [(String, JSValue)] -> Result DataCollectorConfig #

DictObject FilledIPolicy # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: FilledIPolicy -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FilledIPolicy #

fromDict :: [(String, JSValue)] -> Result FilledIPolicy #

DictObject FilledISpecParams # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: FilledISpecParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FilledISpecParams #

fromDict :: [(String, JSValue)] -> Result FilledISpecParams #

DictObject FilledNDParams # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: FilledNDParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FilledNDParams #

fromDict :: [(String, JSValue)] -> Result FilledNDParams #

DictObject FilterRule # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: FilterRule -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FilterRule #

fromDict :: [(String, JSValue)] -> Result FilterRule #

DictObject MasterNetworkParameters # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: MasterNetworkParameters -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result MasterNetworkParameters #

fromDict :: [(String, JSValue)] -> Result MasterNetworkParameters #

DictObject MinMaxISpecs # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: MinMaxISpecs -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result MinMaxISpecs #

fromDict :: [(String, JSValue)] -> Result MinMaxISpecs #

DictObject Network # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: Network -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result Network #

fromDict :: [(String, JSValue)] -> Result Network #

DictObject Node # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: Node -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result Node #

fromDict :: [(String, JSValue)] -> Result Node #

DictObject NodeGroup # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: NodeGroup -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result NodeGroup #

fromDict :: [(String, JSValue)] -> Result NodeGroup #

DictObject PartialIPolicy # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: PartialIPolicy -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result PartialIPolicy #

fromDict :: [(String, JSValue)] -> Result PartialIPolicy #

DictObject PartialISpecParams # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: PartialISpecParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result PartialISpecParams #

fromDict :: [(String, JSValue)] -> Result PartialISpecParams #

DictObject PartialNDParams # 
Instance details

Defined in Ganeti.Objects

Methods

toDict :: PartialNDParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result PartialNDParams #

fromDict :: [(String, JSValue)] -> Result PartialNDParams #

DictObject Disk # 
Instance details

Defined in Ganeti.Objects.Disk

Methods

toDict :: Disk -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result Disk #

fromDict :: [(String, JSValue)] -> Result Disk #

DictObject ForthcomingDiskData # 
Instance details

Defined in Ganeti.Objects.Disk

Methods

toDict :: ForthcomingDiskData -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ForthcomingDiskData #

fromDict :: [(String, JSValue)] -> Result ForthcomingDiskData #

DictObject RealDiskData # 
Instance details

Defined in Ganeti.Objects.Disk

Methods

toDict :: RealDiskData -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RealDiskData #

fromDict :: [(String, JSValue)] -> Result RealDiskData #

DictObject FilledBeParams # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toDict :: FilledBeParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FilledBeParams #

fromDict :: [(String, JSValue)] -> Result FilledBeParams #

DictObject ForthcomingInstanceData # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toDict :: ForthcomingInstanceData -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result ForthcomingInstanceData #

fromDict :: [(String, JSValue)] -> Result ForthcomingInstanceData #

DictObject Instance # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toDict :: Instance -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result Instance #

fromDict :: [(String, JSValue)] -> Result Instance #

DictObject PartialBeParams # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toDict :: PartialBeParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result PartialBeParams #

fromDict :: [(String, JSValue)] -> Result PartialBeParams #

DictObject RealInstanceData # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toDict :: RealInstanceData -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RealInstanceData #

fromDict :: [(String, JSValue)] -> Result RealInstanceData #

DictObject FilledNicParams # 
Instance details

Defined in Ganeti.Objects.Nic

Methods

toDict :: FilledNicParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FilledNicParams #

fromDict :: [(String, JSValue)] -> Result FilledNicParams #

DictObject PartialNic # 
Instance details

Defined in Ganeti.Objects.Nic

Methods

toDict :: PartialNic -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result PartialNic #

fromDict :: [(String, JSValue)] -> Result PartialNic #

DictObject PartialNicParams # 
Instance details

Defined in Ganeti.Objects.Nic

Methods

toDict :: PartialNicParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result PartialNicParams #

fromDict :: [(String, JSValue)] -> Result PartialNicParams #

DictObject CommonOpParams # 
Instance details

Defined in Ganeti.OpCodes

Methods

toDict :: CommonOpParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result CommonOpParams #

fromDict :: [(String, JSValue)] -> Result CommonOpParams #

DictObject MetaOpCode # 
Instance details

Defined in Ganeti.OpCodes

Methods

toDict :: MetaOpCode -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result MetaOpCode #

fromDict :: [(String, JSValue)] -> Result MetaOpCode #

DictObject OpCode # 
Instance details

Defined in Ganeti.OpCodes

Methods

toDict :: OpCode -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result OpCode #

fromDict :: [(String, JSValue)] -> Result OpCode #

DictObject IDiskParams # 
Instance details

Defined in Ganeti.OpParams

Methods

toDict :: IDiskParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result IDiskParams #

fromDict :: [(String, JSValue)] -> Result IDiskParams #

DictObject INicParams # 
Instance details

Defined in Ganeti.OpParams

Methods

toDict :: INicParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result INicParams #

fromDict :: [(String, JSValue)] -> Result INicParams #

DictObject FieldDefinition # 
Instance details

Defined in Ganeti.Query.Language

Methods

toDict :: FieldDefinition -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result FieldDefinition #

fromDict :: [(String, JSValue)] -> Result FieldDefinition #

DictObject QueryFieldsResult # 
Instance details

Defined in Ganeti.Query.Language

Methods

toDict :: QueryFieldsResult -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result QueryFieldsResult #

fromDict :: [(String, JSValue)] -> Result QueryFieldsResult #

DictObject QueryResult # 
Instance details

Defined in Ganeti.Query.Language

Methods

toDict :: QueryResult -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result QueryResult #

fromDict :: [(String, JSValue)] -> Result QueryResult #

DictObject HvInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: HvInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result HvInfo #

fromDict :: [(String, JSValue)] -> Result HvInfo #

DictObject InstanceConsoleInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: InstanceConsoleInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result InstanceConsoleInfo #

fromDict :: [(String, JSValue)] -> Result InstanceConsoleInfo #

DictObject InstanceConsoleInfoParams # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: InstanceConsoleInfoParams -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result InstanceConsoleInfoParams #

fromDict :: [(String, JSValue)] -> Result InstanceConsoleInfoParams #

DictObject InstanceInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: InstanceInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result InstanceInfo #

fromDict :: [(String, JSValue)] -> Result InstanceInfo #

DictObject RpcCallAllInstancesInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallAllInstancesInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallAllInstancesInfo #

fromDict :: [(String, JSValue)] -> Result RpcCallAllInstancesInfo #

DictObject RpcCallExportList # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallExportList -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallExportList #

fromDict :: [(String, JSValue)] -> Result RpcCallExportList #

DictObject RpcCallInstanceConsoleInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallInstanceConsoleInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallInstanceConsoleInfo #

fromDict :: [(String, JSValue)] -> Result RpcCallInstanceConsoleInfo #

DictObject RpcCallInstanceInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallInstanceInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallInstanceInfo #

fromDict :: [(String, JSValue)] -> Result RpcCallInstanceInfo #

DictObject RpcCallInstanceList # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallInstanceList -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallInstanceList #

fromDict :: [(String, JSValue)] -> Result RpcCallInstanceList #

DictObject RpcCallJobqueueRename # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallJobqueueRename -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallJobqueueRename #

fromDict :: [(String, JSValue)] -> Result RpcCallJobqueueRename #

DictObject RpcCallJobqueueUpdate # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallJobqueueUpdate -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallJobqueueUpdate #

fromDict :: [(String, JSValue)] -> Result RpcCallJobqueueUpdate #

DictObject RpcCallMasterNodeName # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallMasterNodeName -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallMasterNodeName #

fromDict :: [(String, JSValue)] -> Result RpcCallMasterNodeName #

DictObject RpcCallNodeActivateMasterIp # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallNodeActivateMasterIp -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallNodeActivateMasterIp #

fromDict :: [(String, JSValue)] -> Result RpcCallNodeActivateMasterIp #

DictObject RpcCallNodeInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallNodeInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallNodeInfo #

fromDict :: [(String, JSValue)] -> Result RpcCallNodeInfo #

DictObject RpcCallSetDrainFlag # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallSetDrainFlag -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallSetDrainFlag #

fromDict :: [(String, JSValue)] -> Result RpcCallSetDrainFlag #

DictObject RpcCallSetWatcherPause # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallSetWatcherPause -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallSetWatcherPause #

fromDict :: [(String, JSValue)] -> Result RpcCallSetWatcherPause #

DictObject RpcCallStorageList # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallStorageList -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallStorageList #

fromDict :: [(String, JSValue)] -> Result RpcCallStorageList #

DictObject RpcCallTestDelay # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallTestDelay -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallTestDelay #

fromDict :: [(String, JSValue)] -> Result RpcCallTestDelay #

DictObject RpcCallUploadFile # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallUploadFile -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallUploadFile #

fromDict :: [(String, JSValue)] -> Result RpcCallUploadFile #

DictObject RpcCallVersion # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallVersion -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallVersion #

fromDict :: [(String, JSValue)] -> Result RpcCallVersion #

DictObject RpcCallWriteSsconfFiles # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcCallWriteSsconfFiles -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcCallWriteSsconfFiles #

fromDict :: [(String, JSValue)] -> Result RpcCallWriteSsconfFiles #

DictObject RpcResultAllInstancesInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultAllInstancesInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultAllInstancesInfo #

fromDict :: [(String, JSValue)] -> Result RpcResultAllInstancesInfo #

DictObject RpcResultExportList # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultExportList -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultExportList #

fromDict :: [(String, JSValue)] -> Result RpcResultExportList #

DictObject RpcResultInstanceConsoleInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultInstanceConsoleInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultInstanceConsoleInfo #

fromDict :: [(String, JSValue)] -> Result RpcResultInstanceConsoleInfo #

DictObject RpcResultInstanceInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultInstanceInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultInstanceInfo #

fromDict :: [(String, JSValue)] -> Result RpcResultInstanceInfo #

DictObject RpcResultInstanceList # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultInstanceList -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultInstanceList #

fromDict :: [(String, JSValue)] -> Result RpcResultInstanceList #

DictObject RpcResultMasterNodeName # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultMasterNodeName -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultMasterNodeName #

fromDict :: [(String, JSValue)] -> Result RpcResultMasterNodeName #

DictObject RpcResultNodeActivateMasterIp # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultNodeActivateMasterIp -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultNodeActivateMasterIp #

fromDict :: [(String, JSValue)] -> Result RpcResultNodeActivateMasterIp #

DictObject RpcResultNodeInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultNodeInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultNodeInfo #

fromDict :: [(String, JSValue)] -> Result RpcResultNodeInfo #

DictObject RpcResultStorageList # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultStorageList -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultStorageList #

fromDict :: [(String, JSValue)] -> Result RpcResultStorageList #

DictObject RpcResultVersion # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: RpcResultVersion -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result RpcResultVersion #

fromDict :: [(String, JSValue)] -> Result RpcResultVersion #

DictObject StorageInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toDict :: StorageInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result StorageInfo #

fromDict :: [(String, JSValue)] -> Result StorageInfo #

DictObject Diskstats # 
Instance details

Defined in Ganeti.Storage.Diskstats.Types

Methods

toDict :: Diskstats -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result Diskstats #

fromDict :: [(String, JSValue)] -> Result Diskstats #

DictObject LVInfo # 
Instance details

Defined in Ganeti.Storage.Lvm.Types

Methods

toDict :: LVInfo -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result LVInfo #

fromDict :: [(String, JSValue)] -> Result LVInfo #

DictObject TempResState # 
Instance details

Defined in Ganeti.WConfd.TempRes

Methods

toDict :: TempResState -> [(String, JSValue)] #

fromDictWKeys :: [(String, JSValue)] -> WriterT UsedKeys Result TempResState #

fromDict :: [(String, JSValue)] -> Result TempResState #

showJSONtoDict :: DictObject a => a -> JSValue #

A default implementation of showJSON using toDict.

readJSONfromDict :: DictObject a => JSValue -> Result a #

A default implementation of readJSON using fromDict. Checks that the input value is a JSON object and converts it using fromDict. Also checks the input contains only the used keys returned by fromDict.

class ArrayObject a where #

Class of objects that can be converted from and to [JSValue] with a fixed length and order.

Methods

toJSArray :: a -> [JSValue] #

fromJSArray :: [JSValue] -> Result a #

Instances

Instances details
ArrayObject ConfdReply # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toJSArray :: ConfdReply -> [JSValue] #

fromJSArray :: [JSValue] -> Result ConfdReply #

ArrayObject ConfdReqQ # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toJSArray :: ConfdReqQ -> [JSValue] #

fromJSArray :: [JSValue] -> Result ConfdReqQ #

ArrayObject ConfdRequest # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toJSArray :: ConfdRequest -> [JSValue] #

fromJSArray :: [JSValue] -> Result ConfdRequest #

ArrayObject SignedMessage # 
Instance details

Defined in Ganeti.Confd.Types

Methods

toJSArray :: SignedMessage -> [JSValue] #

fromJSArray :: [JSValue] -> Result SignedMessage #

ArrayObject CPUavgload # 
Instance details

Defined in Ganeti.Cpu.Types

Methods

toJSArray :: CPUavgload -> [JSValue] #

fromJSArray :: [JSValue] -> Result CPUavgload #

ArrayObject CPUstat # 
Instance details

Defined in Ganeti.Cpu.Types

Methods

toJSArray :: CPUstat -> [JSValue] #

fromJSArray :: [JSValue] -> Result CPUstat #

ArrayObject InstStatus # 
Instance details

Defined in Ganeti.DataCollectors.InstStatusTypes

Methods

toJSArray :: InstStatus -> [JSValue] #

fromJSArray :: [JSValue] -> Result InstStatus #

ArrayObject ReportData # 
Instance details

Defined in Ganeti.DataCollectors.InstStatusTypes

Methods

toJSArray :: ReportData -> [JSValue] #

fromJSArray :: [JSValue] -> Result ReportData #

ArrayObject DCReport # 
Instance details

Defined in Ganeti.DataCollectors.Types

Methods

toJSArray :: DCReport -> [JSValue] #

fromJSArray :: [JSValue] -> Result DCReport #

ArrayObject DCStatus # 
Instance details

Defined in Ganeti.DataCollectors.Types

Methods

toJSArray :: DCStatus -> [JSValue] #

fromJSArray :: [JSValue] -> Result DCStatus #

ArrayObject IPolicy # 
Instance details

Defined in Ganeti.HTools.Types

Methods

toJSArray :: IPolicy -> [JSValue] #

fromJSArray :: [JSValue] -> Result IPolicy #

ArrayObject ISpec # 
Instance details

Defined in Ganeti.HTools.Types

Methods

toJSArray :: ISpec -> [JSValue] #

fromJSArray :: [JSValue] -> Result ISpec #

ArrayObject MinMaxISpecs # 
Instance details

Defined in Ganeti.HTools.Types

Methods

toJSArray :: MinMaxISpecs -> [JSValue] #

fromJSArray :: [JSValue] -> Result MinMaxISpecs #

ArrayObject QueuedJob # 
Instance details

Defined in Ganeti.JQueue.Objects

Methods

toJSArray :: QueuedJob -> [JSValue] #

fromJSArray :: [JSValue] -> Result QueuedJob #

ArrayObject QueuedOpCode # 
Instance details

Defined in Ganeti.JQueue.Objects

Methods

toJSArray :: QueuedOpCode -> [JSValue] #

fromJSArray :: [JSValue] -> Result QueuedOpCode #

ArrayObject Cluster # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: Cluster -> [JSValue] #

fromJSArray :: [JSValue] -> Result Cluster #

ArrayObject ConfigData # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: ConfigData -> [JSValue] #

fromJSArray :: [JSValue] -> Result ConfigData #

ArrayObject DataCollectorConfig # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: DataCollectorConfig -> [JSValue] #

fromJSArray :: [JSValue] -> Result DataCollectorConfig #

ArrayObject FilledIPolicy # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: FilledIPolicy -> [JSValue] #

fromJSArray :: [JSValue] -> Result FilledIPolicy #

ArrayObject FilledISpecParams # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: FilledISpecParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result FilledISpecParams #

ArrayObject FilledNDParams # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: FilledNDParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result FilledNDParams #

ArrayObject FilterRule # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: FilterRule -> [JSValue] #

fromJSArray :: [JSValue] -> Result FilterRule #

ArrayObject MasterNetworkParameters # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: MasterNetworkParameters -> [JSValue] #

fromJSArray :: [JSValue] -> Result MasterNetworkParameters #

ArrayObject MinMaxISpecs # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: MinMaxISpecs -> [JSValue] #

fromJSArray :: [JSValue] -> Result MinMaxISpecs #

ArrayObject Network # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: Network -> [JSValue] #

fromJSArray :: [JSValue] -> Result Network #

ArrayObject Node # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: Node -> [JSValue] #

fromJSArray :: [JSValue] -> Result Node #

ArrayObject NodeGroup # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: NodeGroup -> [JSValue] #

fromJSArray :: [JSValue] -> Result NodeGroup #

ArrayObject PartialIPolicy # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: PartialIPolicy -> [JSValue] #

fromJSArray :: [JSValue] -> Result PartialIPolicy #

ArrayObject PartialISpecParams # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: PartialISpecParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result PartialISpecParams #

ArrayObject PartialNDParams # 
Instance details

Defined in Ganeti.Objects

Methods

toJSArray :: PartialNDParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result PartialNDParams #

ArrayObject Disk # 
Instance details

Defined in Ganeti.Objects.Disk

Methods

toJSArray :: Disk -> [JSValue] #

fromJSArray :: [JSValue] -> Result Disk #

ArrayObject ForthcomingDiskData # 
Instance details

Defined in Ganeti.Objects.Disk

Methods

toJSArray :: ForthcomingDiskData -> [JSValue] #

fromJSArray :: [JSValue] -> Result ForthcomingDiskData #

ArrayObject RealDiskData # 
Instance details

Defined in Ganeti.Objects.Disk

Methods

toJSArray :: RealDiskData -> [JSValue] #

fromJSArray :: [JSValue] -> Result RealDiskData #

ArrayObject FilledBeParams # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toJSArray :: FilledBeParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result FilledBeParams #

ArrayObject ForthcomingInstanceData # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toJSArray :: ForthcomingInstanceData -> [JSValue] #

fromJSArray :: [JSValue] -> Result ForthcomingInstanceData #

ArrayObject Instance # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toJSArray :: Instance -> [JSValue] #

fromJSArray :: [JSValue] -> Result Instance #

ArrayObject PartialBeParams # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toJSArray :: PartialBeParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result PartialBeParams #

ArrayObject RealInstanceData # 
Instance details

Defined in Ganeti.Objects.Instance

Methods

toJSArray :: RealInstanceData -> [JSValue] #

fromJSArray :: [JSValue] -> Result RealInstanceData #

ArrayObject FilledNicParams # 
Instance details

Defined in Ganeti.Objects.Nic

Methods

toJSArray :: FilledNicParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result FilledNicParams #

ArrayObject PartialNic # 
Instance details

Defined in Ganeti.Objects.Nic

Methods

toJSArray :: PartialNic -> [JSValue] #

fromJSArray :: [JSValue] -> Result PartialNic #

ArrayObject PartialNicParams # 
Instance details

Defined in Ganeti.Objects.Nic

Methods

toJSArray :: PartialNicParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result PartialNicParams #

ArrayObject CommonOpParams # 
Instance details

Defined in Ganeti.OpCodes

Methods

toJSArray :: CommonOpParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result CommonOpParams #

ArrayObject IDiskParams # 
Instance details

Defined in Ganeti.OpParams

Methods

toJSArray :: IDiskParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result IDiskParams #

ArrayObject INicParams # 
Instance details

Defined in Ganeti.OpParams

Methods

toJSArray :: INicParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result INicParams #

ArrayObject FieldDefinition # 
Instance details

Defined in Ganeti.Query.Language

Methods

toJSArray :: FieldDefinition -> [JSValue] #

fromJSArray :: [JSValue] -> Result FieldDefinition #

ArrayObject QueryFieldsResult # 
Instance details

Defined in Ganeti.Query.Language

Methods

toJSArray :: QueryFieldsResult -> [JSValue] #

fromJSArray :: [JSValue] -> Result QueryFieldsResult #

ArrayObject QueryResult # 
Instance details

Defined in Ganeti.Query.Language

Methods

toJSArray :: QueryResult -> [JSValue] #

fromJSArray :: [JSValue] -> Result QueryResult #

ArrayObject HvInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: HvInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result HvInfo #

ArrayObject InstanceConsoleInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: InstanceConsoleInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result InstanceConsoleInfo #

ArrayObject InstanceConsoleInfoParams # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: InstanceConsoleInfoParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result InstanceConsoleInfoParams #

ArrayObject InstanceInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: InstanceInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result InstanceInfo #

ArrayObject RpcCallAllInstancesInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallAllInstancesInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallAllInstancesInfo #

ArrayObject RpcCallExportList # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallExportList -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallExportList #

ArrayObject RpcCallInstanceConsoleInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallInstanceConsoleInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallInstanceConsoleInfo #

ArrayObject RpcCallInstanceInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallInstanceInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallInstanceInfo #

ArrayObject RpcCallInstanceList # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallInstanceList -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallInstanceList #

ArrayObject RpcCallJobqueueRename # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallJobqueueRename -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallJobqueueRename #

ArrayObject RpcCallJobqueueUpdate # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallJobqueueUpdate -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallJobqueueUpdate #

ArrayObject RpcCallMasterNodeName # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallMasterNodeName -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallMasterNodeName #

ArrayObject RpcCallNodeActivateMasterIp # 
Instance details

Defined in Ganeti.Rpc

ArrayObject RpcCallNodeInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallNodeInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallNodeInfo #

ArrayObject RpcCallSetDrainFlag # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallSetDrainFlag -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallSetDrainFlag #

ArrayObject RpcCallSetWatcherPause # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallSetWatcherPause -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallSetWatcherPause #

ArrayObject RpcCallStorageList # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallStorageList -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallStorageList #

ArrayObject RpcCallTestDelay # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallTestDelay -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallTestDelay #

ArrayObject RpcCallUploadFile # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallUploadFile -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallUploadFile #

ArrayObject RpcCallVersion # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallVersion -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallVersion #

ArrayObject RpcCallWriteSsconfFiles # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcCallWriteSsconfFiles -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcCallWriteSsconfFiles #

ArrayObject RpcResultAllInstancesInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultAllInstancesInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultAllInstancesInfo #

ArrayObject RpcResultExportList # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultExportList -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultExportList #

ArrayObject RpcResultInstanceConsoleInfo # 
Instance details

Defined in Ganeti.Rpc

ArrayObject RpcResultInstanceInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultInstanceInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultInstanceInfo #

ArrayObject RpcResultInstanceList # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultInstanceList -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultInstanceList #

ArrayObject RpcResultMasterNodeName # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultMasterNodeName -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultMasterNodeName #

ArrayObject RpcResultNodeActivateMasterIp # 
Instance details

Defined in Ganeti.Rpc

ArrayObject RpcResultNodeInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultNodeInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultNodeInfo #

ArrayObject RpcResultStorageList # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultStorageList -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultStorageList #

ArrayObject RpcResultVersion # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: RpcResultVersion -> [JSValue] #

fromJSArray :: [JSValue] -> Result RpcResultVersion #

ArrayObject StorageInfo # 
Instance details

Defined in Ganeti.Rpc

Methods

toJSArray :: StorageInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result StorageInfo #

ArrayObject Diskstats # 
Instance details

Defined in Ganeti.Storage.Diskstats.Types

Methods

toJSArray :: Diskstats -> [JSValue] #

fromJSArray :: [JSValue] -> Result Diskstats #

ArrayObject LVInfo # 
Instance details

Defined in Ganeti.Storage.Lvm.Types

Methods

toJSArray :: LVInfo -> [JSValue] #

fromJSArray :: [JSValue] -> Result LVInfo #

ArrayObject TempResState # 
Instance details

Defined in Ganeti.WConfd.TempRes

Methods

toJSArray :: TempResState -> [JSValue] #

fromJSArray :: [JSValue] -> Result TempResState #

class HasStringRepr a where #

Class of types that can be converted from Strings. This is similar to the Read class, but it's using a different serialisation format, so we have to define a separate class. Mostly useful for custom key types in JSON dictionaries, which have to be backed by strings.

Methods

fromStringRepr :: MonadFail m => String -> m a #

toStringRepr :: a -> String #

Instances

Instances details
HasStringRepr ByteString # 
Instance details

Defined in Ganeti.JSON

Methods

fromStringRepr :: MonadFail m => String -> m ByteString #

toStringRepr :: ByteString -> String #

HasStringRepr SSKey # 
Instance details

Defined in Ganeti.Ssconf

Methods

fromStringRepr :: MonadFail m => String -> m SSKey #

toStringRepr :: SSKey -> String #

HasStringRepr DiskTemplate # 
Instance details

Defined in Ganeti.Types

Methods

fromStringRepr :: MonadFail m => String -> m DiskTemplate #

toStringRepr :: DiskTemplate -> String #

HasStringRepr Hypervisor # 
Instance details

Defined in Ganeti.Types

Methods

fromStringRepr :: MonadFail m => String -> m Hypervisor #

toStringRepr :: Hypervisor -> String #

HasStringRepr String #

Trivial instance HasStringRepr for String.

Instance details

Defined in Ganeti.JSON

Methods

fromStringRepr :: MonadFail m => String -> m String #

toStringRepr :: String -> String #

newtype GenericContainer a b #

The container type, a wrapper over Data.Map

Constructors

GenericContainer 

Fields

Instances

Instances details
Foldable (GenericContainer a) # 
Instance details

Defined in Ganeti.JSON

Methods

fold :: Monoid m => GenericContainer a m -> m

foldMap :: Monoid m => (a0 -> m) -> GenericContainer a a0 -> m

foldMap' :: Monoid m => (a0 -> m) -> GenericContainer a a0 -> m

foldr :: (a0 -> b -> b) -> b -> GenericContainer a a0 -> b

foldr' :: (a0 -> b -> b) -> b -> GenericContainer a a0 -> b

foldl :: (b -> a0 -> b) -> b -> GenericContainer a a0 -> b

foldl' :: (b -> a0 -> b) -> b -> GenericContainer a a0 -> b

foldr1 :: (a0 -> a0 -> a0) -> GenericContainer a a0 -> a0

foldl1 :: (a0 -> a0 -> a0) -> GenericContainer a a0 -> a0

toList :: GenericContainer a a0 -> [a0]

null :: GenericContainer a a0 -> Bool

length :: GenericContainer a a0 -> Int

elem :: Eq a0 => a0 -> GenericContainer a a0 -> Bool

maximum :: Ord a0 => GenericContainer a a0 -> a0

minimum :: Ord a0 => GenericContainer a a0 -> a0

sum :: Num a0 => GenericContainer a a0 -> a0

product :: Num a0 => GenericContainer a a0 -> a0

Traversable (GenericContainer a) # 
Instance details

Defined in Ganeti.JSON

Methods

traverse :: Applicative f => (a0 -> f b) -> GenericContainer a a0 -> f (GenericContainer a b)

sequenceA :: Applicative f => GenericContainer a (f a0) -> f (GenericContainer a a0)

mapM :: Monad m => (a0 -> m b) -> GenericContainer a a0 -> m (GenericContainer a b)

sequence :: Monad m => GenericContainer a (m a0) -> m (GenericContainer a a0)

Functor (GenericContainer a) # 
Instance details

Defined in Ganeti.JSON

Methods

fmap :: (a0 -> b) -> GenericContainer a a0 -> GenericContainer a b

(<$) :: a0 -> GenericContainer a b -> GenericContainer a a0

(Show a, Show b) => Show (GenericContainer a b) # 
Instance details

Defined in Ganeti.JSON

Methods

showsPrec :: Int -> GenericContainer a b -> ShowS

show :: GenericContainer a b -> String

showList :: [GenericContainer a b] -> ShowS

(NFData a, NFData b) => NFData (GenericContainer a b) # 
Instance details

Defined in Ganeti.JSON

Methods

rnf :: GenericContainer a b -> ()

(Eq a, Eq b) => Eq (GenericContainer a b) # 
Instance details

Defined in Ganeti.JSON

Methods

(==) :: GenericContainer a b -> GenericContainer a b -> Bool

(/=) :: GenericContainer a b -> GenericContainer a b -> Bool

(Ord a, Ord b) => Ord (GenericContainer a b) # 
Instance details

Defined in Ganeti.JSON

(HasStringRepr a, Ord a, JSON b) => JSON (GenericContainer a b) # 
Instance details

Defined in Ganeti.JSON

Methods

readJSON :: JSValue -> Result (GenericContainer a b)

showJSON :: GenericContainer a b -> JSValue

readJSONs :: JSValue -> Result [GenericContainer a b]

showJSONs :: [GenericContainer a b] -> JSValue

emptyContainer :: GenericContainer a b #

The empty container.

type Container = GenericContainer ByteString #

Type alias for string keys.

newtype MaybeForJSON a #

A Maybe newtype that allows for serialization more appropriate to the semantics of Maybe and JSON in our calls. Does not produce needless and confusing dictionaries.

In particular, JSNull corresponds to Nothing. This also means that this `Maybe a` newtype should not be used with a values that themselves can serialize to null.

Constructors

MaybeForJSON 

Fields

Instances

Instances details
Show a => Show (MaybeForJSON a) # 
Instance details

Defined in Ganeti.JSON

Methods

showsPrec :: Int -> MaybeForJSON a -> ShowS

show :: MaybeForJSON a -> String

showList :: [MaybeForJSON a] -> ShowS

Eq a => Eq (MaybeForJSON a) # 
Instance details

Defined in Ganeti.JSON

Methods

(==) :: MaybeForJSON a -> MaybeForJSON a -> Bool

(/=) :: MaybeForJSON a -> MaybeForJSON a -> Bool

Ord a => Ord (MaybeForJSON a) # 
Instance details

Defined in Ganeti.JSON

Methods

compare :: MaybeForJSON a -> MaybeForJSON a -> Ordering

(<) :: MaybeForJSON a -> MaybeForJSON a -> Bool

(<=) :: MaybeForJSON a -> MaybeForJSON a -> Bool

(>) :: MaybeForJSON a -> MaybeForJSON a -> Bool

(>=) :: MaybeForJSON a -> MaybeForJSON a -> Bool

max :: MaybeForJSON a -> MaybeForJSON a -> MaybeForJSON a

min :: MaybeForJSON a -> MaybeForJSON a -> MaybeForJSON a

JSON a => JSON (MaybeForJSON a) # 
Instance details

Defined in Ganeti.JSON

Methods

readJSON :: JSValue -> Result (MaybeForJSON a)

showJSON :: MaybeForJSON a -> JSValue

readJSONs :: JSValue -> Result [MaybeForJSON a]

showJSONs :: [MaybeForJSON a] -> JSValue

newtype TimeAsDoubleJSON #

Constructors

TimeAsDoubleJSON 

Fields

Instances

Instances details
Show TimeAsDoubleJSON # 
Instance details

Defined in Ganeti.JSON

Methods

showsPrec :: Int -> TimeAsDoubleJSON -> ShowS

show :: TimeAsDoubleJSON -> String

showList :: [TimeAsDoubleJSON] -> ShowS

Eq TimeAsDoubleJSON # 
Instance details

Defined in Ganeti.JSON

Ord TimeAsDoubleJSON # 
Instance details

Defined in Ganeti.JSON

JSON TimeAsDoubleJSON # 
Instance details

Defined in Ganeti.JSON

Methods

readJSON :: JSValue -> Result TimeAsDoubleJSON

showJSON :: TimeAsDoubleJSON -> JSValue

readJSONs :: JSValue -> Result [TimeAsDoubleJSON]

showJSONs :: [TimeAsDoubleJSON] -> JSValue

newtype Tuple5 a b c d e #

Constructors

Tuple5 

Fields

Instances

Instances details
(JSON a, JSON b, JSON c, JSON d, JSON e) => JSON (Tuple5 a b c d e) # 
Instance details

Defined in Ganeti.JSON

Methods

readJSON :: JSValue -> Result (Tuple5 a b c d e)

showJSON :: Tuple5 a b c d e -> JSValue

readJSONs :: JSValue -> Result [Tuple5 a b c d e]

showJSONs :: [Tuple5 a b c d e] -> JSValue

nestedAccessByKey :: [String] -> JSValue -> Result JSValue #

Look up a value in a JSON object. Accessing ["a", "b", "c"] on an object is equivalent as accessing myobject.a.b.c on a JavaScript object.

An error is returned if the object doesn't have such an accessor or if any value during the nested access is not an object at all.

nestedAccessByKeyDotted :: String -> JSValue -> Result JSValue #

Same as nestedAccessByKey, but accessing with a dotted string instead (like nestedAccessByKeyDotted "a.b.c").

branchOnField #

Arguments

:: String

fieldname to branch on

-> (JSValue -> Result a)

decoding function if field is present and true; field will already be removed in the input

-> (JSValue -> Result a)

decoding function otherwise

-> JSValue 
-> Result a 

Branch decoding on a field in a JSON object.

addField :: (String, JSValue) -> JSValue -> JSValue #

Add a field to a JSON object; to nothing, if the argument is not an object.

maybeParseMap :: JSON a => JSValue -> Maybe (Map String a) #

Maybe obtain a map from a JSON object.

Orphan instances

NFData JSValue # 
Instance details

Methods

rnf :: JSValue -> ()

NFData a => NFData (JSObject a) # 
Instance details

Methods

rnf :: JSObject a -> ()