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

Ganeti.OpParams

Description

Implementation of opcodes parameters.

These are defined in a separate module only due to TemplateHaskell stage restrictions - expressions defined in the current module can't be passed to splices. So we have to either parameters/repeat each parameter definition multiple times, or separate them into this module.

Synopsis

Documentation

data ReplaceDisksMode #

Replace disks type.

Instances

Instances details
Bounded ReplaceDisksMode # 
Instance details

Defined in Ganeti.Types

Enum ReplaceDisksMode # 
Instance details

Defined in Ganeti.Types

Show ReplaceDisksMode # 
Instance details

Defined in Ganeti.Types

Methods

showsPrec :: Int -> ReplaceDisksMode -> ShowS

show :: ReplaceDisksMode -> String

showList :: [ReplaceDisksMode] -> ShowS

Eq ReplaceDisksMode # 
Instance details

Defined in Ganeti.Types

Ord ReplaceDisksMode # 
Instance details

Defined in Ganeti.Types

JSON ReplaceDisksMode # 
Instance details

Defined in Ganeti.Types

Methods

readJSON :: JSValue -> Result ReplaceDisksMode

showJSON :: ReplaceDisksMode -> JSValue

readJSONs :: JSValue -> Result [ReplaceDisksMode]

showJSONs :: [ReplaceDisksMode] -> JSValue

data DiskIndex #

Disk index type (embedding constraints on the index value via a smart constructor).

Instances

Instances details
Show DiskIndex # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> DiskIndex -> ShowS

show :: DiskIndex -> String

showList :: [DiskIndex] -> ShowS

PyValue DiskIndex # 
Instance details

Defined in Ganeti.OpCodes

Methods

showValue :: DiskIndex -> String #

showValueList :: [DiskIndex] -> String #

Eq DiskIndex # 
Instance details

Defined in Ganeti.OpParams

Methods

(==) :: DiskIndex -> DiskIndex -> Bool

(/=) :: DiskIndex -> DiskIndex -> Bool

Ord DiskIndex # 
Instance details

Defined in Ganeti.OpParams

Methods

compare :: DiskIndex -> DiskIndex -> Ordering

(<) :: DiskIndex -> DiskIndex -> Bool

(<=) :: DiskIndex -> DiskIndex -> Bool

(>) :: DiskIndex -> DiskIndex -> Bool

(>=) :: DiskIndex -> DiskIndex -> Bool

max :: DiskIndex -> DiskIndex -> DiskIndex

min :: DiskIndex -> DiskIndex -> DiskIndex

JSON DiskIndex # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result DiskIndex

showJSON :: DiskIndex -> JSValue

readJSONs :: JSValue -> Result [DiskIndex]

showJSONs :: [DiskIndex] -> JSValue

mkDiskIndex :: MonadFail m => Int -> m DiskIndex #

Smart constructor for DiskIndex.

data DiskAccess #

Type holding disk access modes.

Instances

Instances details
Bounded DiskAccess # 
Instance details

Defined in Ganeti.OpParams

Enum DiskAccess # 
Instance details

Defined in Ganeti.OpParams

Show DiskAccess # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> DiskAccess -> ShowS

show :: DiskAccess -> String

showList :: [DiskAccess] -> ShowS

Eq DiskAccess # 
Instance details

Defined in Ganeti.OpParams

Methods

(==) :: DiskAccess -> DiskAccess -> Bool

(/=) :: DiskAccess -> DiskAccess -> Bool

Ord DiskAccess # 
Instance details

Defined in Ganeti.OpParams

JSON DiskAccess # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result DiskAccess

showJSON :: DiskAccess -> JSValue

readJSONs :: JSValue -> Result [DiskAccess]

showJSONs :: [DiskAccess] -> JSValue

data INicParams #

NIC modification definition.

Constructors

INicParams 

Fields

Instances

Instances details
Show INicParams # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> INicParams -> ShowS

show :: INicParams -> String

showList :: [INicParams] -> ShowS

ArrayObject INicParams # 
Instance details

Defined in Ganeti.OpParams

Methods

toJSArray :: INicParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result INicParams #

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 #

PyValue INicParams # 
Instance details

Defined in Ganeti.OpCodes

Methods

showValue :: INicParams -> String #

showValueList :: [INicParams] -> String #

Eq INicParams # 
Instance details

Defined in Ganeti.OpParams

Methods

(==) :: INicParams -> INicParams -> Bool

(/=) :: INicParams -> INicParams -> Bool

Ord INicParams # 
Instance details

Defined in Ganeti.OpParams

JSON INicParams # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result INicParams

showJSON :: INicParams -> JSValue

readJSONs :: JSValue -> Result [INicParams]

showJSONs :: [INicParams] -> JSValue

data IDiskParams #

Disk modification definition.

Constructors

IDiskParams 

Fields

Instances

Instances details
Show IDiskParams # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> IDiskParams -> ShowS

show :: IDiskParams -> String

showList :: [IDiskParams] -> ShowS

ArrayObject IDiskParams # 
Instance details

Defined in Ganeti.OpParams

Methods

toJSArray :: IDiskParams -> [JSValue] #

fromJSArray :: [JSValue] -> Result IDiskParams #

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 #

PyValue IDiskParams # 
Instance details

Defined in Ganeti.OpCodes

Methods

showValue :: IDiskParams -> String #

showValueList :: [IDiskParams] -> String #

Eq IDiskParams # 
Instance details

Defined in Ganeti.OpParams

Methods

(==) :: IDiskParams -> IDiskParams -> Bool

(/=) :: IDiskParams -> IDiskParams -> Bool

Ord IDiskParams # 
Instance details

Defined in Ganeti.OpParams

JSON IDiskParams # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result IDiskParams

showJSON :: IDiskParams -> JSValue

readJSONs :: JSValue -> Result [IDiskParams]

showJSONs :: [IDiskParams] -> JSValue

data RecreateDisksInfo #

Disk changes type for OpInstanceRecreateDisks. This is a bit strange, because the type in Python is something like Either [DiskIndex] [DiskChanges], but we can't represent the type of an empty list in JSON, so we have to add a custom case for the empty list.

Instances

Instances details
Show RecreateDisksInfo # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> RecreateDisksInfo -> ShowS

show :: RecreateDisksInfo -> String

showList :: [RecreateDisksInfo] -> ShowS

PyValue RecreateDisksInfo # 
Instance details

Defined in Ganeti.OpCodes

Methods

showValue :: RecreateDisksInfo -> String #

showValueList :: [RecreateDisksInfo] -> String #

Eq RecreateDisksInfo # 
Instance details

Defined in Ganeti.OpParams

Ord RecreateDisksInfo # 
Instance details

Defined in Ganeti.OpParams

JSON RecreateDisksInfo # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result RecreateDisksInfo

showJSON :: RecreateDisksInfo -> JSValue

readJSONs :: JSValue -> Result [RecreateDisksInfo]

showJSONs :: [RecreateDisksInfo] -> JSValue

data DdmOldChanges #

Simple type for old-style ddm changes.

Instances

Instances details
Show DdmOldChanges # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> DdmOldChanges -> ShowS

show :: DdmOldChanges -> String

showList :: [DdmOldChanges] -> ShowS

Eq DdmOldChanges # 
Instance details

Defined in Ganeti.OpParams

Ord DdmOldChanges # 
Instance details

Defined in Ganeti.OpParams

JSON DdmOldChanges # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result DdmOldChanges

showJSON :: DdmOldChanges -> JSValue

readJSONs :: JSValue -> Result [DdmOldChanges]

showJSONs :: [DdmOldChanges] -> JSValue

data SetParamsMods a #

Instance disk or nic modifications.

Instances

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

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> SetParamsMods a -> ShowS

show :: SetParamsMods a -> String

showList :: [SetParamsMods a] -> ShowS

PyValue a => PyValue (SetParamsMods a) # 
Instance details

Defined in Ganeti.OpCodes

Methods

showValue :: SetParamsMods a -> String #

showValueList :: [SetParamsMods a] -> String #

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

Defined in Ganeti.OpParams

Methods

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

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

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

Defined in Ganeti.OpParams

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

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result (SetParamsMods a)

showJSON :: SetParamsMods a -> JSValue

readJSONs :: JSValue -> Result [SetParamsMods a]

showJSONs :: [SetParamsMods a] -> JSValue

data ExportTarget #

Custom type for target_node parameter of OpBackupExport, which varies depending on mode. FIXME: this uses an [JSValue] since we don't care about individual rows (just like the Python code tests). But the proper type could be parsed if we wanted.

Instances

Instances details
Show ExportTarget # 
Instance details

Defined in Ganeti.OpParams

Methods

showsPrec :: Int -> ExportTarget -> ShowS

show :: ExportTarget -> String

showList :: [ExportTarget] -> ShowS

Eq ExportTarget # 
Instance details

Defined in Ganeti.OpParams

Methods

(==) :: ExportTarget -> ExportTarget -> Bool

(/=) :: ExportTarget -> ExportTarget -> Bool

Ord ExportTarget # 
Instance details

Defined in Ganeti.OpParams

JSON ExportTarget # 
Instance details

Defined in Ganeti.OpParams

Methods

readJSON :: JSValue -> Result ExportTarget

showJSON :: ExportTarget -> JSValue

readJSONs :: JSValue -> Result [ExportTarget]

showJSONs :: [ExportTarget] -> JSValue

pShutdownTimeout' :: Field #

Another name for the shutdown timeout, because we like to be inconsistent.

pHotplug :: Field #

Whether to hotplug device.

pClusterFileStorageDir :: Field #

Cluster-wide default directory for storing file-backed disks.

pClusterSharedFileStorageDir :: Field #

Cluster-wide default directory for storing shared-file-backed disks.

pClusterGlusterStorageDir :: Field #

Cluster-wide default directory for storing Gluster-backed disks.

pZeroingImage :: Field #

The OS to use when zeroing instance disks.

pCompressionTools :: Field #

The additional tools that can be used to compress data in transit

pVgName :: Field #

Volume group name.

pModifyEtcHosts :: Field #

Whether to modify and keep in sync the etchosts files of nodes.

pPreallocWipeDisks :: Field #

Whether to wipe disks before allocating them to instances.