From 6d55b9f33b415cfab206a22732807e1ad105b1f0 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Wed, 11 Dec 2019 14:43:04 +0100 Subject: [PATCH] implemented /service/category route --- inventory_provider/routes/poller.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py index 8497b2cc..fea6e948 100644 --- a/inventory_provider/routes/poller.py +++ b/inventory_provider/routes/poller.py @@ -82,3 +82,23 @@ def poller_interface_oids(hostname): result.append(ifc_data) return jsonify(result) + + +@routes.route('/services/{category}', methods=['GET', 'POST']) +@common.require_accepts_json +def service_category_interfaces(category): + + result = [] + + r = common.get_current_redis() + for k in r.scan_iter(f'interface-services:{category}:*'): + ifc = r.get(k.decode('utf-8')) + result.append(json.loads(ifc.decode('utf-8'))) + + if not result: + return Response( + response=f'no info available for service category {category}', + status=404, + mimetype="text/html") + + return jsonify(result) -- GitLab