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