Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Ganeti.WConfd.Client
Description
The Ganeti WConfd client functions.
The client functions are automatically generated from Ganeti.WConfd.Core
Synopsis
- updateNodeGroup :: NodeGroup -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON))
- updateNode :: Node -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON))
- updateNetwork :: Network -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON))
- updateInstance :: Instance -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON))
- updateDisk :: Disk -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON))
- updateCluster :: Cluster -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON))
- setInstanceStatus :: InstanceUUID -> MaybeForJSON AdminState -> MaybeForJSON Bool -> MaybeForJSON AdminStateSource -> RpcClientMonad (MaybeForJSON Instance)
- setInstancePrimaryNode :: InstanceUUID -> NodeUUID -> RpcClientMonad Bool
- removeInstanceDisk :: InstanceUUID -> DiskUUID -> RpcClientMonad Bool
- removeInstance :: InstanceUUID -> RpcClientMonad Bool
- detachInstanceDisk :: InstanceUUID -> DiskUUID -> RpcClientMonad Bool
- attachInstanceDisk :: InstanceUUID -> DiskUUID -> MaybeForJSON Int -> RpcClientMonad Bool
- allocatePort :: RpcClientMonad (MaybeForJSON Int)
- addTcpUdpPort :: Int -> RpcClientMonad Bool
- addInstanceDisk :: InstanceUUID -> Disk -> MaybeForJSON Int -> Bool -> RpcClientMonad Bool
- addInstance :: Instance -> ClientId -> Bool -> RpcClientMonad Bool
- hasPendingRequest :: ClientId -> RpcClientMonad Bool
- guardedOpportunisticLockUnion :: Int -> ClientId -> [(GanetiLocks, OwnerState)] -> RpcClientMonad [GanetiLocks]
- opportunisticLockUnion :: ClientId -> [(GanetiLocks, OwnerState)] -> RpcClientMonad [GanetiLocks]
- intersectLocks :: ClientId -> [GanetiLocks] -> RpcClientMonad ()
- downGradeLocksLevel :: ClientId -> LockLevel -> RpcClientMonad ()
- freeLocksLevel :: ClientId -> LockLevel -> RpcClientMonad ()
- freeLocks :: ClientId -> RpcClientMonad ()
- updateLocksWaiting :: ClientId -> Integer -> GanetiLockRequest -> RpcClientMonad [ClientId]
- tryUpdateLocks :: ClientId -> GanetiLockRequest -> RpcClientMonad [ClientId]
- listLocksWaitingStatus :: RpcClientMonad ([(GanetiLocks, [(ClientId, OwnerState)])], [(Integer, ClientId, [LockRequest GanetiLocks])])
- listAllLocksOwners :: RpcClientMonad [(GanetiLocks, [(ClientId, OwnerState)])]
- listAllLocks :: RpcClientMonad [GanetiLocks]
- listLocks :: ClientId -> RpcClientMonad [(GanetiLocks, OwnerState)]
- listReservedIps :: ClientId -> RpcClientMonad [IPv4Reservation]
- commitReleaseTemporaryIp :: NetworkUUID -> Ip4Address -> RpcClientMonad ()
- commitTemporaryIps :: ClientId -> RpcClientMonad ()
- generateIp :: ClientId -> NetworkUUID -> RpcClientMonad Ip4Address
- releaseIp :: ClientId -> NetworkUUID -> Ip4Address -> RpcClientMonad ()
- reserveIp :: ClientId -> NetworkUUID -> Ip4Address -> Bool -> RpcClientMonad ()
- reserveLV :: ClientId -> LogicalVolume -> RpcClientMonad ()
- generateDRBDSecret :: ClientId -> RpcClientMonad DRBDSecret
- generateMAC :: ClientId -> MaybeForJSON NetworkUUID -> RpcClientMonad MAC
- reserveMAC :: ClientId -> MAC -> RpcClientMonad ()
- releaseDRBDMinors :: DiskUUID -> RpcClientMonad ()
- allocateDRBDMinor :: DiskUUID -> [NodeUUID] -> RpcClientMonad [DRBDMinor]
- computeDRBDMap :: RpcClientMonad DRBDMap
- dropAllReservations :: ClientId -> RpcClientMonad ()
- flushConfigGroup :: String -> RpcClientMonad ()
- flushConfig :: RpcClientMonad ()
- writeConfigAndUnlock :: ClientId -> ConfigData -> RpcClientMonad Bool
- unlockConfig :: ClientId -> RpcClientMonad ()
- lockConfig :: ClientId -> Bool -> RpcClientMonad (MaybeForJSON ConfigData)
- verifyConfig :: RpcClientMonad ()
- writeConfig :: ClientId -> ConfigData -> RpcClientMonad ()
- readConfig :: RpcClientMonad ConfigData
- prepareClusterDestruction :: ClientId -> RpcClientMonad ()
- cleanupLocks :: RpcClientMonad ()
- echo :: String -> RpcClientMonad String
- wconfdConnectConfig :: ConnectConfig
- getWConfdClient :: FilePath -> IO Client
- waitLockConfig :: ClientId -> Bool -> RpcClientMonad ConfigData
- withLockedConfig :: ClientId -> Bool -> (ConfigData -> RpcClientMonad a) -> RpcClientMonad a
Generated client functions
updateNodeGroup :: NodeGroup -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON)) #
updateNode :: Node -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON)) #
updateNetwork :: Network -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON)) #
updateInstance :: Instance -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON)) #
updateDisk :: Disk -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON)) #
updateCluster :: Cluster -> RpcClientMonad (MaybeForJSON (Int, TimeAsDoubleJSON)) #
setInstanceStatus :: InstanceUUID -> MaybeForJSON AdminState -> MaybeForJSON Bool -> MaybeForJSON AdminStateSource -> RpcClientMonad (MaybeForJSON Instance) #
setInstancePrimaryNode :: InstanceUUID -> NodeUUID -> RpcClientMonad Bool #
removeInstanceDisk :: InstanceUUID -> DiskUUID -> RpcClientMonad Bool #
removeInstance :: InstanceUUID -> RpcClientMonad Bool #
detachInstanceDisk :: InstanceUUID -> DiskUUID -> RpcClientMonad Bool #
attachInstanceDisk :: InstanceUUID -> DiskUUID -> MaybeForJSON Int -> RpcClientMonad Bool #
allocatePort :: RpcClientMonad (MaybeForJSON Int) #
addTcpUdpPort :: Int -> RpcClientMonad Bool #
addInstanceDisk :: InstanceUUID -> Disk -> MaybeForJSON Int -> Bool -> RpcClientMonad Bool #
addInstance :: Instance -> ClientId -> Bool -> RpcClientMonad Bool #
hasPendingRequest :: ClientId -> RpcClientMonad Bool #
guardedOpportunisticLockUnion :: Int -> ClientId -> [(GanetiLocks, OwnerState)] -> RpcClientMonad [GanetiLocks] #
opportunisticLockUnion :: ClientId -> [(GanetiLocks, OwnerState)] -> RpcClientMonad [GanetiLocks] #
intersectLocks :: ClientId -> [GanetiLocks] -> RpcClientMonad () #
downGradeLocksLevel :: ClientId -> LockLevel -> RpcClientMonad () #
freeLocksLevel :: ClientId -> LockLevel -> RpcClientMonad () #
freeLocks :: ClientId -> RpcClientMonad () #
updateLocksWaiting :: ClientId -> Integer -> GanetiLockRequest -> RpcClientMonad [ClientId] #
tryUpdateLocks :: ClientId -> GanetiLockRequest -> RpcClientMonad [ClientId] #
listLocksWaitingStatus :: RpcClientMonad ([(GanetiLocks, [(ClientId, OwnerState)])], [(Integer, ClientId, [LockRequest GanetiLocks])]) #
listAllLocksOwners :: RpcClientMonad [(GanetiLocks, [(ClientId, OwnerState)])] #
listLocks :: ClientId -> RpcClientMonad [(GanetiLocks, OwnerState)] #
commitReleaseTemporaryIp :: NetworkUUID -> Ip4Address -> RpcClientMonad () #
commitTemporaryIps :: ClientId -> RpcClientMonad () #
generateIp :: ClientId -> NetworkUUID -> RpcClientMonad Ip4Address #
releaseIp :: ClientId -> NetworkUUID -> Ip4Address -> RpcClientMonad () #
reserveIp :: ClientId -> NetworkUUID -> Ip4Address -> Bool -> RpcClientMonad () #
reserveLV :: ClientId -> LogicalVolume -> RpcClientMonad () #
generateMAC :: ClientId -> MaybeForJSON NetworkUUID -> RpcClientMonad MAC #
reserveMAC :: ClientId -> MAC -> RpcClientMonad () #
releaseDRBDMinors :: DiskUUID -> RpcClientMonad () #
allocateDRBDMinor :: DiskUUID -> [NodeUUID] -> RpcClientMonad [DRBDMinor] #
dropAllReservations :: ClientId -> RpcClientMonad () #
flushConfigGroup :: String -> RpcClientMonad () #
flushConfig :: RpcClientMonad () #
writeConfigAndUnlock :: ClientId -> ConfigData -> RpcClientMonad Bool #
unlockConfig :: ClientId -> RpcClientMonad () #
lockConfig :: ClientId -> Bool -> RpcClientMonad (MaybeForJSON ConfigData) #
verifyConfig :: RpcClientMonad () #
writeConfig :: ClientId -> ConfigData -> RpcClientMonad () #
prepareClusterDestruction :: ClientId -> RpcClientMonad () #
cleanupLocks :: RpcClientMonad () #
echo :: String -> RpcClientMonad String #
Helper functions for creating the client
wconfdConnectConfig :: ConnectConfig #
The default WConfd client configuration
getWConfdClient :: FilePath -> IO Client #
Given a socket path, creates a WConfd client with the default configuration and timeout.
Helper functions for getting a remote lock
Arguments
:: ClientId | |
-> Bool | whether the lock shall be in shared mode |
-> RpcClientMonad ConfigData |
Calls the lockConfig
RPC until the lock is obtained.
Arguments
:: ClientId | |
-> Bool | whether the lock shall be in shared mode |
-> (ConfigData -> RpcClientMonad a) | action to run |
-> RpcClientMonad a |
Calls the lockConfig
RPC until the lock is obtained,
runs a function on the obtained config, and calls unlockConfig
.