X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=multivimbroker%2Fmultivimbroker%2Fforwarder%2Fviews.py;h=c2ea50587697e12855dfc3b0e0f9fb58d6b17041;hb=refs%2Fchanges%2F31%2F28131%2F1;hp=82759e56b21af44d85cae415d2c806fe95e1e85c;hpb=300a7e4839621acfb006cd8baadee0c4ed2c8bba;p=multicloud%2Fframework.git diff --git a/multivimbroker/multivimbroker/forwarder/views.py b/multivimbroker/multivimbroker/forwarder/views.py index 82759e5..c2ea505 100644 --- a/multivimbroker/multivimbroker/forwarder/views.py +++ b/multivimbroker/multivimbroker/forwarder/views.py @@ -1,4 +1,5 @@ # Copyright 2017 Wind River Systems, Inc. +# Copyright (c) 2017-2018 VMware, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -12,68 +13,111 @@ # See the License for the specific language governing permissions and # limitations under the License. -from rest_framework.views import APIView +import os +import json + +from rest_framework.views import APIView +from rest_framework.views import Response +from rest_framework.views import status from multivimbroker.forwarder.base import BaseHandler # -class BaseServer(BaseHandler,APIView): - def get(self,request,vimid): +class BaseServer(BaseHandler, APIView): + + def get(self, request, vimid): raise NotImplementedError() - def post(self,request,vimid): + def post(self, request, vimid): raise NotImplementedError() - def put(self,request,vimid): + def put(self, request, vimid): raise NotImplementedError() - def delete(self,request,vimid): + def delete(self, request, vimid): raise NotImplementedError() - def head(self,request,vimid): + def head(self, request, vimid): raise NotImplementedError() - def patch(self,request,vimid): + def patch(self, request, vimid): raise NotImplementedError() -# vio proxy handler +# proxy handler class Identity(BaseServer): - def get(self,request,vimid): + def get(self, request, vimid): + + return self.send(vimid, request.get_full_path(), request.body, "GET") + + def post(self, request, vimid): + + return self.send(vimid, request.get_full_path(), request.body, "POST") + + +class Registry(BaseServer): + + def post(self, request, vimid): + + return self.send(vimid, request.get_full_path(), request.body, "POST") - return self.send(vimid,request.get_full_path(),request.body,"GET") - def post(self,request,vimid): +class UnRegistry(BaseServer): - return self.send(vimid,request.get_full_path(),request.body,"POST") + def delete(self, request, vimid): + + return self.send(vimid, request.get_full_path(), request.body, + "DELETE") + + +class Extension(BaseServer): + + def get(self, request, vimid): + + return self.send(vimid, request.get_full_path(), request.body, "GET") + + +class VIMTypes(BaseServer): + + def get(self, request): + # Fix here unless we have plugin registry + json_file = os.path.join(os.path.dirname(__file__), + '../pub/config/provider-plugin.json') + with open(json_file, "r") as f: + plugins = json.load(f) + data = {"vim_types": plugins} + return Response(data=data, status=status.HTTP_200_OK) # forward handler class Forward(BaseServer): - def get(self,request,vimid): - - return self.send(vimid,request.get_full_path(),request.body,"GET") + def get(self, request, vimid): - def post(self,request,vimid): + return self.send(vimid, request.get_full_path(), request.body, "GET") - return self.send(vimid,request.get_full_path(),request.body,"POST",headers=None) + def post(self, request, vimid): - def patch(self,request,vimid): + return self.send(vimid, request.get_full_path(), request.body, "POST", + headers=None) - return self.send(vimid,request.get_full_path(),request.body,"PATCH",headers=None) + def patch(self, request, vimid): - def delete(self,request,vimid): + return self.send(vimid, request.get_full_path(), request.body, "PATCH", + headers=None) - return self.send(vimid,request.get_full_path(),request.body,"DELETE",headers=None) + def delete(self, request, vimid): - def head(self,request,vimid): + return self.send(vimid, request.get_full_path(), request.body, + "DELETE", headers=None) - return self.send(vimid,request.get_full_path(),request.body,"HEAD") + def head(self, request, vimid): - def put(self,request,vimid): + return self.send(vimid, request.get_full_path(), request.body, "HEAD") - return self.send(vimid,request.get_full_path(),request.body,"PUT",headers=None) + def put(self, request, vimid): + return self.send(vimid, request.get_full_path(), request.body, "PUT", + headers=None)