Revision 9a94c848 htools/Ganeti/Luxi.hs
b/htools/Ganeti/Luxi.hs | ||
---|---|---|
76 | 76 |
import Ganeti.Constants |
77 | 77 |
import Ganeti.Jobs (JobStatus) |
78 | 78 |
import Ganeti.OpCodes (OpCode) |
79 |
import qualified Ganeti.Query2 as Query2 |
|
79 | 80 |
import Ganeti.THH |
80 | 81 |
|
81 | 82 |
-- * Utility functions |
... | ... | |
100 | 101 |
type JobId = Int |
101 | 102 |
|
102 | 103 |
$(declareSADT "QrViaLuxi" |
103 |
[ ("QRLock", 'qrLock) |
|
104 |
[ ("QRLock", 'qrLock)
|
|
104 | 105 |
, ("QRInstance", 'qrInstance) |
105 |
, ("QRNode", 'qrNode) |
|
106 |
, ("QRGroup", 'qrGroup) |
|
107 |
, ("QROs", 'qrOs) |
|
106 |
, ("QRNode", 'qrNode) |
|
107 |
, ("QRGroup", 'qrGroup) |
|
108 |
, ("QROs", 'qrOs) |
|
109 |
, ("QRJob", 'qrJob) |
|
108 | 110 |
]) |
109 | 111 |
$(makeJSONInstance ''QrViaLuxi) |
110 | 112 |
|
... | ... | |
113 | 115 |
[(luxiReqQuery, |
114 | 116 |
[ ("what", [t| QrViaLuxi |], [| id |]) |
115 | 117 |
, ("fields", [t| [String] |], [| id |]) |
116 |
, ("qfilter", [t| () |], [| const JSNull |])
|
|
118 |
, ("qfilter", [t| Query2.Filter |], [| id |])
|
|
117 | 119 |
]) |
118 | 120 |
, (luxiReqQueryNodes, |
119 | 121 |
[ ("names", [t| [String] |], [| id |]) |
... | ... | |
360 | 362 |
ReqQueryClusterInfo -> do |
361 | 363 |
return QueryClusterInfo |
362 | 364 |
ReqQuery -> do |
363 |
(what, fields, _) <- |
|
364 |
fromJVal args::Result (QrViaLuxi, [String], JSValue) |
|
365 |
return $ Query what fields () |
|
365 |
(what, fields, qfilter) <- fromJVal args |
|
366 |
return $ Query what fields qfilter |
|
366 | 367 |
ReqSubmitJob -> do |
367 | 368 |
[ops1] <- fromJVal args |
368 | 369 |
ops2 <- mapM (fromJResult (luxiReqToRaw call) . J.readJSON) ops1 |
Also available in: Unified diff