This implements the RAPI part for managing job filters:
/2/filters/
GET returns the list of all currently set filters
POST adds a new filter
/2/filters/[uuid]
GET returns the description of the specified filter
DELETE removes the specified filter
PUT replaces the specified filter rule,
or creates it, if it doesn’t exist already.
Niklas Hambuechen (6):
JSON: Improve haddocks for `MaybeForJSON`
Add MonadBaseControl instance for RpcClientMonad
Utils: Add `isUUID`
WConfd.Client: Add `withLockedConfig` helper function
Query.Server: Extract `handleQuery` from `handleClassicQuery`
WIP: Filtering. GET, POST, PUT, DELETE all work
Makefile.am | 1 +
doc/rapi.rst | 90 +++++++++++++++++++++++++
lib/build/sphinx_ext.py | 2 +-
lib/luxi.py | 13 ++++
lib/objects.py | 7 +-
lib/rapi/connector.py | 9 ++-
lib/rapi/rlib2.py | 114 ++++++++++++++++++++++++++++++++
src/Ganeti/Config.hs | 7 ++
src/Ganeti/Constants.hs | 19 +++++-
src/Ganeti/JSON.hs | 2 +
src/Ganeti/Luxi.hs | 29 +++++++++
src/Ganeti/Objects.hs | 63 +++++++++++++++++-
src/Ganeti/OpCodes.hs | 1 -
src/Ganeti/OpParams.hs | 6 --
src/Ganeti/Query/Language.hs | 9 ++-
src/Ganeti/Query/Query.hs | 9 +++
src/Ganeti/Query/Server.hs | 145 ++++++++++++++++++++++++++++++++++++++---
src/Ganeti/THH/HsRPC.hs | 11 +++-
src/Ganeti/Utils.hs | 24 +++++++
src/Ganeti/WConfd/Client.hs | 28 ++++++++
test/hs/Test/Ganeti/Objects.hs | 3 +-
test/hs/Test/Ganeti/Utils.hs | 15 +++--
tools/cfgupgrade | 7 ++
23 files changed, 582 insertions(+), 32 deletions(-)
--
2.1.0.rc2.206.gedb03e5