X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Frest_api_endpoint.py;h=7a0fc4f035df5241e33bb1d9ffae7b57ac64a5b5;hb=4fac2afba3182039dae6216d267d13eb3b98a56f;hp=51b58cb4dc754561802729bd9c30b2a495c8b994;hpb=4c8ea0150b9a89ce977fd62e5f102c49d2acb972;p=osm%2Fvim-emu.git diff --git a/src/emuvim/api/rest/rest_api_endpoint.py b/src/emuvim/api/rest/rest_api_endpoint.py index 51b58cb..7a0fc4f 100755 --- a/src/emuvim/api/rest/rest_api_endpoint.py +++ b/src/emuvim/api/rest/rest_api_endpoint.py @@ -32,21 +32,19 @@ from flask_restful import Api # need to import total module to set its global variable dcs import compute -from compute import dcs, ComputeList, ComputeStart, ComputeStatus, ComputeStop, DatacenterList, DatacenterStatus +from compute import dcs, ComputeList, Compute, DatacenterList, DatacenterStatus # need to import total module to set its global variable net import network from network import NetworkAction import monitor -from monitor import MonitorInterfaceAction, MonitorFlowAction +from monitor import MonitorInterfaceAction, MonitorFlowAction, MonitorLinkAction logging.basicConfig(level=logging.INFO) - class RestApiEndpoint(object): - """ Simple API endpoint that offers a REST interface. This interface will be used by the @@ -62,33 +60,38 @@ class RestApiEndpoint(object): self.api = Api(self.app) # setup endpoints + + self.api.add_resource(Compute, + "/restapi/compute//", + "/restapi/compute////") self.api.add_resource(ComputeList, - "/restapi/compute", - "/restapi/compute/") - self.api.add_resource(ComputeStart, "/restapi/compute///start") - self.api.add_resource(ComputeStop, "/restapi/compute///stop") - self.api.add_resource(ComputeStatus, "/restapi/compute//") - self.api.add_resource(DatacenterList, "/restapi/datacenter") + "/restapi/compute", + "/restapi/compute/") + self.api.add_resource(DatacenterStatus, "/restapi/datacenter/") + self.api.add_resource(DatacenterList, "/restapi/datacenter") - self.api.add_resource(NetworkAction, "/restapi/network//",) + self.api.add_resource(NetworkAction, + "/restapi/network//") self.api.add_resource(MonitorInterfaceAction, - "/restapi/monitor//", - "/restapi/monitor///") + "/restapi/monitor/vnf//", + "/restapi/monitor/vnf///", + "/restapi/monitor/vnf////") self.api.add_resource(MonitorFlowAction, - "/restapi/flowmon///", - "/restapi/flowmon////") + "/restapi/monitor/flow///", + "/restapi/monitor/flow////") + self.api.add_resource(MonitorLinkAction, + "/restapi/monitor/link//") logging.debug("Created API endpoint %s(%s:%d)" % (self.__class__.__name__, self.ip, self.port)) - def connectDatacenter(self, dc): compute.dcs[dc.label] = dc - logging.info("Connected DC(%s) to API endpoint %s(%s:%d)" % (dc.label, self.__class__.__name__, self.ip, self.port)) + logging.info( + "Connected DC(%s) to API endpoint %s(%s:%d)" % (dc.label, self.__class__.__name__, self.ip, self.port)) def connectDCNetwork(self, DCnetwork): - network.net = DCnetwork monitor.net = DCnetwork @@ -96,11 +99,10 @@ class RestApiEndpoint(object): self.__class__.__name__, self.ip, self.port)) def start(self): - thread = threading.Thread(target= self._start_flask, args=()) + thread = threading.Thread(target=self._start_flask, args=()) thread.daemon = True thread.start() logging.info("Started API endpoint @ http://%s:%d" % (self.ip, self.port)) - def _start_flask(self): - self.app.run(self.ip, self.port, debug=True, use_reloader=False) \ No newline at end of file + self.app.run(self.ip, self.port, debug=True, use_reloader=False)