Revision 05092772 src/Ganeti/Query/Query.hs
b/src/Ganeti/Query/Query.hs | ||
---|---|---|
71 | 71 |
import qualified Ganeti.Query.Job as Query.Job |
72 | 72 |
import Ganeti.Query.Group |
73 | 73 |
import Ganeti.Query.Language |
74 |
import Ganeti.Query.Network |
|
74 | 75 |
import Ganeti.Query.Node |
75 | 76 |
import Ganeti.Query.Types |
76 | 77 |
import Ganeti.Path |
... | ... | |
197 | 198 |
fgroups <- filterM (\n -> evaluateFilter cfg Nothing n cfilter) groups |
198 | 199 |
let fdata = map (\node -> |
199 | 200 |
map (execGetter cfg GroupRuntime node) fgetters) fgroups |
200 |
return QueryResult {qresFields = fdefs, qresData = fdata } |
|
201 |
return QueryResult { qresFields = fdefs, qresData = fdata } |
|
202 |
|
|
203 |
queryInner cfg _ (Query (ItemTypeOpCode QRNetwork) fields qfilter) wanted = |
|
204 |
return $ do |
|
205 |
cfilter <- compileFilter networkFieldsMap qfilter |
|
206 |
let selected = getSelectedFields networkFieldsMap fields |
|
207 |
(fdefs, fgetters, _) = unzip3 selected |
|
208 |
networks <- case wanted of |
|
209 |
[] -> Ok . niceSortKey (fromNonEmpty . networkName) . |
|
210 |
Map.elems . fromContainer $ configNetworks cfg |
|
211 |
_ -> mapM (getNetwork cfg) wanted |
|
212 |
fnetworks <- filterM (\n -> evaluateFilter cfg Nothing n cfilter) networks |
|
213 |
let fdata = map (\network -> |
|
214 |
map (execGetter cfg NetworkRuntime network) fgetters) |
|
215 |
fnetworks |
|
216 |
return QueryResult { qresFields = fdefs, qresData = fdata } |
|
201 | 217 |
|
202 | 218 |
queryInner _ _ (Query qkind _ _) _ = |
203 | 219 |
return . Bad . GenericError $ "Query '" ++ show qkind ++ "' not supported" |
Also available in: Unified diff