Safe Haskell | None |
---|
Implementation of the Ganeti config objects.
Some object fields are not implemented yet, and as such they are commented out below.
- fillDict :: Ord k => Map k v -> Map k v -> [k] -> Map k v
- type HvParams = Container JSValue
- type OsParams = Container String
- type OsParamsPrivate = Container (Private String)
- class TimeStampObject a where
- class UuidObject a where
- uuidOf :: a -> String
- class SerialNoObject a where
- serialOf :: a -> Int
- class TagsObject a where
- tagsOf :: a -> Set String
- data Ip4Address = Ip4Address Word8 Word8 Word8 Word8
- mkIp4Address :: (Word8, Word8, Word8, Word8) -> Ip4Address
- readIp4Address :: (Applicative m, Monad m) => String -> m Ip4Address
- ip4AddressToList :: Ip4Address -> [Word8]
- ip4AddressToNumber :: Ip4Address -> Integer
- ip4AddressFromNumber :: Integer -> Ip4Address
- nextIp4Address :: Ip4Address -> Ip4Address
- data Ip4Network = Ip4Network {
- ip4netAddr :: Ip4Address
- ip4netMask :: Word8
- mkIp4Network :: Ip4Address -> Word8 -> Ip4Network
- newtype AddressPool = AddressPool {}
- data Network = Network {
- networkName :: NonEmptyString
- networkMacPrefix :: Maybe String
- networkNetwork :: Ip4Network
- networkNetwork6 :: Maybe String
- networkGateway :: Maybe Ip4Address
- networkGateway6 :: Maybe String
- networkReservations :: Maybe AddressPool
- networkExtReservations :: Maybe AddressPool
- networkUuid :: String
- networkCtime :: ClockTime
- networkMtime :: ClockTime
- networkSerial :: Int
- networkTags :: TagSet
- loadNetwork :: JSValue -> Result Network
- saveNetwork :: Network -> JSValue
- data FilledNicParams = FilledNicParams {}
- data PartialNicParams = PartialNicParams {}
- allNicParamFields :: [String]
- fillNicParams :: FilledNicParams -> PartialNicParams -> FilledNicParams
- loadPartialNicParams :: JSValue -> Result PartialNicParams
- savePartialNicParams :: PartialNicParams -> JSValue
- loadFilledNicParams :: JSValue -> Result FilledNicParams
- saveFilledNicParams :: FilledNicParams -> JSValue
- data PartialNic = PartialNic {
- nicMac :: String
- nicIp :: Maybe String
- nicNicparams :: PartialNicParams
- nicNetwork :: Maybe String
- nicName :: Maybe String
- nicUuid :: String
- loadPartialNic :: JSValue -> Result PartialNic
- savePartialNic :: PartialNic -> JSValue
- devType :: String
- type DiskParams = Container JSValue
- type DRBDSecret = String
- data LogicalVolume = LogicalVolume {}
- data DiskLogicalId
- = LIDPlain LogicalVolume
- | LIDDrbd8 String String Int Int Int (Private DRBDSecret)
- | LIDFile FileDriver String
- | LIDSharedFile FileDriver String
- | LIDGluster FileDriver String
- | LIDBlockDev BlockDriver String
- | LIDRados String String
- | LIDExt String String
- lidDiskType :: DiskLogicalId -> DiskTemplate
- lidEncodeType :: DiskLogicalId -> [(String, JSValue)]
- encodeDLId :: DiskLogicalId -> JSValue
- encodeFullDLId :: DiskLogicalId -> (JSValue, [(String, JSValue)])
- decodeDLId :: [(String, JSValue)] -> JSValue -> Result DiskLogicalId
- data Disk = Disk {
- diskLogicalId :: DiskLogicalId
- diskChildren :: [Disk]
- diskIvName :: String
- diskSize :: Int
- diskMode :: DiskMode
- diskName :: Maybe String
- diskSpindles :: Maybe Int
- diskParams :: Maybe DiskParams
- diskUuid :: String
- diskSerial :: Int
- diskCtime :: ClockTime
- diskMtime :: ClockTime
- loadDisk :: JSValue -> Result Disk
- saveDisk :: Disk -> JSValue
- includesLogicalId :: LogicalVolume -> Disk -> Bool
- data FilledBeParams = FilledBeParams {
- bepMinmem :: Int
- bepMaxmem :: Int
- bepVcpus :: Int
- bepAutoBalance :: Bool
- bepAlwaysFailover :: Bool
- bepSpindleUse :: Int
- data PartialBeParams = PartialBeParams {
- bepMinmemP :: Maybe Int
- bepMaxmemP :: Maybe Int
- bepVcpusP :: Maybe Int
- bepAutoBalanceP :: Maybe Bool
- bepAlwaysFailoverP :: Maybe Bool
- bepSpindleUseP :: Maybe Int
- allBeParamFields :: [String]
- fillBeParams :: FilledBeParams -> PartialBeParams -> FilledBeParams
- loadPartialBeParams :: JSValue -> Result PartialBeParams
- savePartialBeParams :: PartialBeParams -> JSValue
- loadFilledBeParams :: JSValue -> Result FilledBeParams
- saveFilledBeParams :: FilledBeParams -> JSValue
- data Instance = Instance {
- instName :: String
- instPrimaryNode :: String
- instOs :: String
- instHypervisor :: Hypervisor
- instHvparams :: HvParams
- instBeparams :: PartialBeParams
- instOsparams :: OsParams
- instOsparamsPrivate :: OsParamsPrivate
- instAdminState :: AdminState
- instAdminStateSource :: AdminStateSource
- instNics :: [PartialNic]
- instDisks :: [String]
- instDiskTemplate :: DiskTemplate
- instDisksActive :: Bool
- instNetworkPort :: Maybe Int
- instCtime :: ClockTime
- instMtime :: ClockTime
- instUuid :: String
- instSerial :: Int
- instTags :: TagSet
- loadInstance :: JSValue -> Result Instance
- saveInstance :: Instance -> JSValue
- data FilledISpecParams = FilledISpecParams {
- ispecMemorySize :: Int
- ispecDiskSize :: Int
- ispecDiskCount :: Int
- ispecCpuCount :: Int
- ispecNicCount :: Int
- ispecSpindleUse :: Int
- data PartialISpecParams = PartialISpecParams {
- ispecMemorySizeP :: Maybe Int
- ispecDiskSizeP :: Maybe Int
- ispecDiskCountP :: Maybe Int
- ispecCpuCountP :: Maybe Int
- ispecNicCountP :: Maybe Int
- ispecSpindleUseP :: Maybe Int
- allISpecParamFields :: [String]
- fillISpecParams :: FilledISpecParams -> PartialISpecParams -> FilledISpecParams
- loadPartialISpecParams :: JSValue -> Result PartialISpecParams
- savePartialISpecParams :: PartialISpecParams -> JSValue
- loadFilledISpecParams :: JSValue -> Result FilledISpecParams
- saveFilledISpecParams :: FilledISpecParams -> JSValue
- data MinMaxISpecs = MinMaxISpecs {}
- loadMinMaxISpecs :: JSValue -> Result MinMaxISpecs
- saveMinMaxISpecs :: MinMaxISpecs -> JSValue
- data PartialIPolicy = PartialIPolicy {
- ipolicyMinMaxISpecsP :: Maybe [MinMaxISpecs]
- ipolicyStdSpecP :: Maybe PartialISpecParams
- ipolicySpindleRatioP :: Maybe Double
- ipolicyVcpuRatioP :: Maybe Double
- ipolicyDiskTemplatesP :: Maybe [DiskTemplate]
- loadPartialIPolicy :: JSValue -> Result PartialIPolicy
- savePartialIPolicy :: PartialIPolicy -> JSValue
- data FilledIPolicy = FilledIPolicy {
- ipolicyMinMaxISpecs :: [MinMaxISpecs]
- ipolicyStdSpec :: FilledISpecParams
- ipolicySpindleRatio :: Double
- ipolicyVcpuRatio :: Double
- ipolicyDiskTemplates :: [DiskTemplate]
- loadFilledIPolicy :: JSValue -> Result FilledIPolicy
- saveFilledIPolicy :: FilledIPolicy -> JSValue
- fillIPolicy :: FilledIPolicy -> PartialIPolicy -> FilledIPolicy
- data FilledNDParams = FilledNDParams {
- ndpOobProgram :: String
- ndpSpindleCount :: Int
- ndpExclusiveStorage :: Bool
- ndpOvs :: Bool
- ndpOvsName :: String
- ndpOvsLink :: String
- ndpSshPort :: Int
- ndpCpuSpeed :: Double
- data PartialNDParams = PartialNDParams {
- ndpOobProgramP :: Maybe String
- ndpSpindleCountP :: Maybe Int
- ndpExclusiveStorageP :: Maybe Bool
- ndpOvsP :: Maybe Bool
- ndpOvsNameP :: Maybe String
- ndpOvsLinkP :: Maybe String
- ndpSshPortP :: Maybe Int
- ndpCpuSpeedP :: Maybe Double
- allNDParamFields :: [String]
- fillNDParams :: FilledNDParams -> PartialNDParams -> FilledNDParams
- loadPartialNDParams :: JSValue -> Result PartialNDParams
- savePartialNDParams :: PartialNDParams -> JSValue
- loadFilledNDParams :: JSValue -> Result FilledNDParams
- saveFilledNDParams :: FilledNDParams -> JSValue
- type DiskState = Container JSValue
- type HypervisorState = Container JSValue
- data Node = Node {
- nodeName :: String
- nodePrimaryIp :: String
- nodeSecondaryIp :: String
- nodeMasterCandidate :: Bool
- nodeOffline :: Bool
- nodeDrained :: Bool
- nodeGroup :: String
- nodeMasterCapable :: Bool
- nodeVmCapable :: Bool
- nodeNdparams :: PartialNDParams
- nodePowered :: Bool
- nodeHvStateStatic :: HypervisorState
- nodeDiskStateStatic :: DiskState
- nodeCtime :: ClockTime
- nodeMtime :: ClockTime
- nodeUuid :: String
- nodeSerial :: Int
- nodeTags :: TagSet
- loadNode :: JSValue -> Result Node
- saveNode :: Node -> JSValue
- type GroupDiskParams = Container DiskParams
- type Networks = Container PartialNicParams
- data NodeGroup = NodeGroup {
- groupName :: String
- groupMembers :: [String]
- groupNdparams :: PartialNDParams
- groupAllocPolicy :: AllocPolicy
- groupIpolicy :: PartialIPolicy
- groupDiskparams :: GroupDiskParams
- groupNetworks :: Networks
- groupHvStateStatic :: HypervisorState
- groupDiskStateStatic :: DiskState
- groupCtime :: ClockTime
- groupMtime :: ClockTime
- groupUuid :: String
- groupSerial :: Int
- groupTags :: TagSet
- loadNodeGroup :: JSValue -> Result NodeGroup
- saveNodeGroup :: NodeGroup -> JSValue
- data IpFamily
- = IpFamilyV4
- | IpFamilyV6
- ipFamilyFromRaw :: forall m. Monad m => Int -> m IpFamily
- ipFamilyToRaw :: IpFamily -> Int
- ipFamilyToVersion :: IpFamily -> Int
- type ClusterHvParams = GenericContainer Hypervisor HvParams
- type OsHvParams = Container ClusterHvParams
- type ClusterBeParams = Container FilledBeParams
- type ClusterOsParams = Container OsParams
- type ClusterOsParamsPrivate = Container (Private OsParams)
- type ClusterNicParams = Container FilledNicParams
- type UidRange = (Int, Int)
- formatUidRange :: UidRange -> String
- type UidPool = [UidRange]
- type IAllocatorParams = Container JSValue
- type CandidateCertificates = Container String
- data Cluster = Cluster {
- clusterRsahostkeypub :: String
- clusterDsahostkeypub :: Maybe String
- clusterHighestUsedPort :: Int
- clusterTcpudpPortPool :: [Int]
- clusterMacPrefix :: String
- clusterVolumeGroupName :: Maybe String
- clusterReservedLvs :: [String]
- clusterDrbdUsermodeHelper :: Maybe String
- clusterMasterNode :: String
- clusterMasterIp :: String
- clusterMasterNetdev :: String
- clusterMasterNetmask :: Int
- clusterUseExternalMipScript :: Bool
- clusterClusterName :: String
- clusterFileStorageDir :: String
- clusterSharedFileStorageDir :: String
- clusterGlusterStorageDir :: String
- clusterEnabledHypervisors :: [Hypervisor]
- clusterHvparams :: ClusterHvParams
- clusterOsHvp :: OsHvParams
- clusterBeparams :: ClusterBeParams
- clusterOsparams :: ClusterOsParams
- clusterOsparamsPrivateCluster :: ClusterOsParamsPrivate
- clusterNicparams :: ClusterNicParams
- clusterNdparams :: FilledNDParams
- clusterDiskparams :: GroupDiskParams
- clusterCandidatePoolSize :: Int
- clusterModifyEtcHosts :: Bool
- clusterModifySshSetup :: Bool
- clusterMaintainNodeHealth :: Bool
- clusterUidPool :: UidPool
- clusterDefaultIallocator :: String
- clusterDefaultIallocatorParams :: IAllocatorParams
- clusterHiddenOs :: [String]
- clusterBlacklistedOs :: [String]
- clusterPrimaryIpFamily :: IpFamily
- clusterPreallocWipeDisks :: Bool
- clusterIpolicy :: FilledIPolicy
- clusterHvStateStatic :: HypervisorState
- clusterDiskStateStatic :: DiskState
- clusterEnabledDiskTemplates :: [DiskTemplate]
- clusterCandidateCerts :: CandidateCertificates
- clusterMaxRunningJobs :: Int
- clusterMaxTrackedJobs :: Int
- clusterInstallImage :: String
- clusterInstanceCommunicationNetwork :: String
- clusterZeroingImage :: String
- clusterCompressionTools :: [String]
- clusterEnabledUserShutdown :: Bool
- clusterCtime :: ClockTime
- clusterMtime :: ClockTime
- clusterUuid :: String
- clusterSerial :: Int
- clusterTags :: TagSet
- loadCluster :: JSValue -> Result Cluster
- saveCluster :: Cluster -> JSValue
- data ConfigData = ConfigData {
- configVersion :: Int
- configCluster :: Cluster
- configNodes :: Container Node
- configNodegroups :: Container NodeGroup
- configInstances :: Container Instance
- configNetworks :: Container Network
- configDisks :: Container Disk
- configCtime :: ClockTime
- configMtime :: ClockTime
- configSerial :: Int
- loadConfigData :: JSValue -> Result ConfigData
- saveConfigData :: ConfigData -> JSValue
- data MasterNetworkParameters = MasterNetworkParameters {
- masterNetworkParametersUuid :: String
- masterNetworkParametersIp :: String
- masterNetworkParametersNetmask :: Int
- masterNetworkParametersNetdev :: String
- masterNetworkParametersIpFamily :: IpFamily
- loadMasterNetworkParameters :: JSValue -> Result MasterNetworkParameters
- saveMasterNetworkParameters :: MasterNetworkParameters -> JSValue
Generic definitions
fillDict :: Ord k => Map k v -> Map k v -> [k] -> Map k vSource
Fills one map with keys from the other map, if not already existing. Mirrors objects.py:FillDict.
type HvParams = Container JSValueSource
The hypervisor parameter type. This is currently a simple map, without type checking on key/value pairs.
type OsParams = Container StringSource
The OS parameters type. This is, and will remain, a string container, since the keys are dynamically declared by the OSes, and the values are always strings.
type OsParamsPrivate = Container (Private String)Source
class TimeStampObject a whereSource
Class of objects that have timestamps.
class UuidObject a whereSource
Class of objects that have an UUID.
class SerialNoObject a whereSource
Class of object that have a serial number.
class TagsObject a whereSource
Class of objects that have tags.
Network definitions
Ipv4 types
data Ip4Address Source
Ip4Address Word8 Word8 Word8 Word8 |
Eq Ip4Address | |
Ord Ip4Address | |
Show Ip4Address | |
IsString Ip4Address | IsString instance for |
Arbitrary Ip4Address | |
JSON Ip4Address |
mkIp4Address :: (Word8, Word8, Word8, Word8) -> Ip4AddressSource
readIp4Address :: (Applicative m, Monad m) => String -> m Ip4AddressSource
ip4AddressToList :: Ip4Address -> [Word8]Source
ip4AddressToNumber :: Ip4Address -> IntegerSource
Converts an address into its ordinal number. This is needed for indexing IP adresses in reservation pools.
ip4AddressFromNumber :: Integer -> Ip4AddressSource
Converts a number into an address. This is needed for indexing IP adresses in reservation pools.
data Ip4Network Source
Custom type for an IPv4 network.
Ip4Network | |
|
Eq Ip4Network | |
Show Ip4Network | |
Arbitrary Ip4Network | |
JSON Ip4Network | JSON instance for |
mkIp4Network :: Ip4Address -> Word8 -> Ip4NetworkSource
Address pools
newtype AddressPool Source
Currently address pools just wrap a reservation BitArray
.
In future, Network
might be extended to include several address pools
and address pools might include their own ranges of addresses.
Eq AddressPool | |
Ord AddressPool | |
Show AddressPool | |
Arbitrary AddressPool | |
JSON AddressPool |
Ganeti "network" config object.
Network | |
|
loadNetwork :: JSValue -> Result NetworkSource
saveNetwork :: Network -> JSValueSource
NIC definitions
data FilledNicParams Source
Eq FilledNicParams | |
Show FilledNicParams | |
Arbitrary FilledNicParams | |
Arbitrary ClusterNicParams | |
JSON FilledNicParams | |
ArrayObject FilledNicParams | |
DictObject FilledNicParams |
data PartialNicParams Source
Eq PartialNicParams | |
Show PartialNicParams | |
Arbitrary PartialNicParams | |
JSON PartialNicParams | |
ArrayObject PartialNicParams | |
DictObject PartialNicParams |
allNicParamFields :: [String]Source
loadPartialNicParams :: JSValue -> Result PartialNicParamsSource
savePartialNicParams :: PartialNicParams -> JSValueSource
loadFilledNicParams :: JSValue -> Result FilledNicParamsSource
saveFilledNicParams :: FilledNicParams -> JSValueSource
data PartialNic Source
PartialNic | |
|
Eq PartialNic | |
Show PartialNic | |
Arbitrary PartialNic | |
JSON PartialNic | |
ArrayObject PartialNic | |
DictObject PartialNic | |
UuidObject PartialNic |
loadPartialNic :: JSValue -> Result PartialNicSource
savePartialNic :: PartialNic -> JSValueSource
Disk definitions
type DiskParams = Container JSValueSource
type DRBDSecret = StringSource
An alias for DRBD secrets
data LogicalVolume Source
Eq LogicalVolume | |
Ord LogicalVolume | |
Show LogicalVolume | |
Arbitrary LogicalVolume | |
JSON LogicalVolume | |
Validatable LogicalVolume |
data DiskLogicalId Source
The disk configuration type. This includes the disk type itself, for a more complete consistency. Note that since in the Python code-base there's no authoritative place where we document the logical id, this is probably a good reference point.
LIDPlain LogicalVolume | Volume group, logical volume |
LIDDrbd8 String String Int Int Int (Private DRBDSecret) | NodeA, NodeB, Port, MinorA, MinorB, Secret |
LIDFile FileDriver String | Driver, path |
LIDSharedFile FileDriver String | Driver, path |
LIDGluster FileDriver String | Driver, path |
LIDBlockDev BlockDriver String | Driver, path (must be under /dev) |
LIDRados String String | Unused, path |
LIDExt String String | ExtProvider, unique name |
Eq DiskLogicalId | |
Show DiskLogicalId | |
Arbitrary DiskLogicalId |
lidEncodeType :: DiskLogicalId -> [(String, JSValue)]Source
encodeDLId :: DiskLogicalId -> JSValueSource
encodeFullDLId :: DiskLogicalId -> (JSValue, [(String, JSValue)])Source
decodeDLId :: [(String, JSValue)] -> JSValue -> Result DiskLogicalIdSource
Disk data structure.
This is declared manually as it's a recursive structure, and our TH code currently can't build it.
Disk | |
|
Eq Disk | |
Show Disk | |
Arbitrary Disk |
|
JSON Disk | |
ArrayObject Disk | |
DictObject Disk | |
UuidObject Disk |
includesLogicalId :: LogicalVolume -> Disk -> BoolSource
Determines whether a disk or one of his children has the given logical id (determined by the volume group name and by the logical volume name). This can be true only for DRBD or LVM disks.
Instance definitions
data FilledBeParams Source
FilledBeParams | |
|
Eq FilledBeParams | |
Show FilledBeParams | |
Arbitrary FilledBeParams | |
Arbitrary ClusterBeParams | |
JSON FilledBeParams | |
ArrayObject FilledBeParams | |
DictObject FilledBeParams |
data PartialBeParams Source
PartialBeParams | |
|
Eq PartialBeParams | |
Show PartialBeParams | |
Arbitrary PartialBeParams | |
JSON PartialBeParams | |
ArrayObject PartialBeParams | |
DictObject PartialBeParams |
allBeParamFields :: [String]Source
loadPartialBeParams :: JSValue -> Result PartialBeParamsSource
savePartialBeParams :: PartialBeParams -> JSValueSource
loadFilledBeParams :: JSValue -> Result FilledBeParamsSource
saveFilledBeParams :: FilledBeParams -> JSValueSource
Instance | |
|
loadInstance :: JSValue -> Result InstanceSource
saveInstance :: Instance -> JSValueSource
IPolicy definitions
data FilledISpecParams Source
FilledISpecParams | |
|
data PartialISpecParams Source
PartialISpecParams | |
|
Eq PartialISpecParams | |
Show PartialISpecParams | |
Arbitrary PartialISpecParams | FIXME: This generates completely random data, without normal validation rules. |
JSON PartialISpecParams | |
ArrayObject PartialISpecParams | |
DictObject PartialISpecParams |
allISpecParamFields :: [String]Source
loadPartialISpecParams :: JSValue -> Result PartialISpecParamsSource
savePartialISpecParams :: PartialISpecParams -> JSValueSource
loadFilledISpecParams :: JSValue -> Result FilledISpecParamsSource
saveFilledISpecParams :: FilledISpecParams -> JSValueSource
data MinMaxISpecs Source
Eq MinMaxISpecs | |
Show MinMaxISpecs | |
Arbitrary MinMaxISpecs | |
JSON MinMaxISpecs | |
ArrayObject MinMaxISpecs | |
DictObject MinMaxISpecs |
loadMinMaxISpecs :: JSValue -> Result MinMaxISpecsSource
saveMinMaxISpecs :: MinMaxISpecs -> JSValueSource
data PartialIPolicy Source
Custom partial ipolicy. This is not built via buildParam since it has a special 2-level inheritance mode.
PartialIPolicy | |
|
Eq PartialIPolicy | |
Show PartialIPolicy | |
Arbitrary PartialIPolicy | FIXME: This generates completely random data, without normal validation rules. |
JSON PartialIPolicy | |
ArrayObject PartialIPolicy | |
DictObject PartialIPolicy |
loadPartialIPolicy :: JSValue -> Result PartialIPolicySource
savePartialIPolicy :: PartialIPolicy -> JSValueSource
data FilledIPolicy Source
Custom filled ipolicy. This is not built via buildParam since it has a special 2-level inheritance mode.
FilledIPolicy | |
|
Eq FilledIPolicy | |
Show FilledIPolicy | |
Arbitrary FilledIPolicy | |
JSON FilledIPolicy | |
ArrayObject FilledIPolicy | |
DictObject FilledIPolicy |
loadFilledIPolicy :: JSValue -> Result FilledIPolicySource
saveFilledIPolicy :: FilledIPolicy -> JSValueSource
fillIPolicy :: FilledIPolicy -> PartialIPolicy -> FilledIPolicySource
Custom filler for the ipolicy types.
Node definitions
data FilledNDParams Source
FilledNDParams | |
|
Eq FilledNDParams | |
Show FilledNDParams | |
Arbitrary FilledNDParams | |
JSON FilledNDParams | |
ArrayObject FilledNDParams | |
DictObject FilledNDParams |
data PartialNDParams Source
PartialNDParams | |
|
Eq PartialNDParams | |
Show PartialNDParams | |
Arbitrary PartialNDParams | |
JSON PartialNDParams | |
ArrayObject PartialNDParams | |
DictObject PartialNDParams |
allNDParamFields :: [String]Source
loadPartialNDParams :: JSValue -> Result PartialNDParamsSource
savePartialNDParams :: PartialNDParams -> JSValueSource
loadFilledNDParams :: JSValue -> Result FilledNDParamsSource
saveFilledNDParams :: FilledNDParams -> JSValueSource
type HypervisorState = Container JSValueSource
Node | |
|
NodeGroup definitions
type GroupDiskParams = Container DiskParamsSource
The cluster/group disk parameters type.
NodeGroup | |
|
loadNodeGroup :: JSValue -> Result NodeGroupSource
saveNodeGroup :: NodeGroup -> JSValueSource
IP family type
ipFamilyFromRaw :: forall m. Monad m => Int -> m IpFamilySource
ipFamilyToRaw :: IpFamily -> IntSource
ipFamilyToVersion :: IpFamily -> IntSource
Conversion from IP family to IP version. This is needed because Python uses both, depending on context.
type ClusterHvParams = GenericContainer Hypervisor HvParamsSource
Cluster HvParams (hvtype to hvparams mapping).
type OsHvParams = Container ClusterHvParamsSource
Cluster Os-HvParams (os to hvparams mapping).
type ClusterBeParams = Container FilledBeParamsSource
Cluser BeParams.
type ClusterOsParams = Container OsParamsSource
Cluster OsParams.
type ClusterNicParams = Container FilledNicParamsSource
Cluster NicParams.
formatUidRange :: UidRange -> StringSource
type IAllocatorParams = Container JSValueSource
The iallocator parameters type.
type CandidateCertificates = Container StringSource
Cluster definitions
loadCluster :: JSValue -> Result ClusterSource
saveCluster :: Cluster -> JSValueSource
ConfigData definitions
data ConfigData Source
ConfigData | |
|
loadConfigData :: JSValue -> Result ConfigDataSource
saveConfigData :: ConfigData -> JSValueSource
Master network parameters
data MasterNetworkParameters Source
MasterNetworkParameters | |
|
loadMasterNetworkParameters :: JSValue -> Result MasterNetworkParametersSource
saveMasterNetworkParameters :: MasterNetworkParameters -> JSValueSource