diff --git a/inventory_provider/routes/data.py b/inventory_provider/routes/data.py index d96ce69c5b203f07aa238389f93dc30f8a78c42a..7b819151faf1a9ca1527cbe140f56072b8fd2ab8 100644 --- a/inventory_provider/routes/data.py +++ b/inventory_provider/routes/data.py @@ -177,3 +177,17 @@ def interface_statuses(hostname, interface): status=404, mimetype="text/html") return jsonify({"status": result.decode('utf-8')}) + + +@routes.route("/services/<hostname>/<path:interface>", + methods=['GET', 'POST']) +def services_for_interface(hostname, interface): + r = db.get_redis() + result = r.hget("interface_services", + "{}::{}".format(hostname, interface)) + if not result: + return Response( + response="no available info for {} {}".format(hostname, interface), + status=404, + mimetype="text/html") + return jsonify(json.loads(result.decode('utf-8')))