Revision ccc817a2 htools/Ganeti/Luxi.hs
b/htools/Ganeti/Luxi.hs | ||
---|---|---|
31 | 31 |
, ResultStatus(..) |
32 | 32 |
, LuxiReq(..) |
33 | 33 |
, Client |
34 |
, JobId |
|
34 | 35 |
, checkRS |
35 | 36 |
, getClient |
36 | 37 |
, closeClient |
... | ... | |
71 | 72 |
|
72 | 73 |
-- * Generic protocol functionality |
73 | 74 |
|
75 |
-- | The Ganeti job type. |
|
76 |
type JobId = String |
|
77 |
|
|
74 | 78 |
$(declareSADT "QrViaLuxi" |
75 | 79 |
[ ("QRLock", 'qrLock) |
76 | 80 |
, ("QRInstance", 'qrInstance) |
... | ... | |
354 | 358 |
return rval |
355 | 359 |
|
356 | 360 |
-- | Specialized submitManyJobs call. |
357 |
submitManyJobs :: Client -> [[OpCode]] -> IO (Result [String])
|
|
361 |
submitManyJobs :: Client -> [[OpCode]] -> IO (Result [JobId])
|
|
358 | 362 |
submitManyJobs s jobs = do |
359 | 363 |
rval <- callMethod (SubmitManyJobs jobs) s |
360 | 364 |
-- map each result (status, payload) pair into a nice Result ADT |
... | ... | |
371 | 375 |
x -> Bad ("Cannot parse response from Ganeti: " ++ show x) |
372 | 376 |
|
373 | 377 |
-- | Custom queryJobs call. |
374 |
queryJobsStatus :: Client -> [String] -> IO (Result [JobStatus])
|
|
378 |
queryJobsStatus :: Client -> [JobId] -> IO (Result [JobStatus])
|
|
375 | 379 |
queryJobsStatus s jids = do |
376 | 380 |
rval <- callMethod (QueryJobs (map read jids) ["status"]) s |
377 | 381 |
return $ case rval of |
Also available in: Unified diff