X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Frest_api_endpoint.py;h=fc48a333fa42870c02b1780a9a949609e7296840;hb=139b0bee04cd9336bcd7acb6728d0cf6976d6f5d;hp=b586915debc34851a7b45d7b113f42c0d1a11ec9;hpb=a9dd901a96789fea8b1f4dd6a11b6fdcc01da830;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 b586915..fc48a33 100755 --- a/src/emuvim/api/rest/rest_api_endpoint.py +++ b/src/emuvim/api/rest/rest_api_endpoint.py @@ -32,14 +32,14 @@ from flask_restful import Api # need to import total module to set its global variable dcs import compute -from compute import dcs, ComputeList, Compute, DatacenterList, DatacenterStatus +from compute import dcs, ComputeList, Compute, ComputeResources, 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, MonitorSkewAction logging.basicConfig(level=logging.INFO) @@ -60,20 +60,38 @@ class RestApiEndpoint(object): self.api = Api(self.app) # setup endpoints + + # compute related actions (start/stop VNFs, get info) self.api.add_resource(Compute, "/restapi/compute//") - self.api.add_resource(ComputeList, "/restapi/compute/") + self.api.add_resource(ComputeList, + "/restapi/compute", + "/restapi/compute/") + self.api.add_resource(ComputeResources, "/restapi/compute/resources//") self.api.add_resource(DatacenterStatus, "/restapi/datacenter/") self.api.add_resource(DatacenterList, "/restapi/datacenter") - self.api.add_resource(NetworkAction, "/restapi/network//", ) + # network related actions (setup chaining between VNFs) + self.api.add_resource(NetworkAction, + "/restapi/network") + + + # monitoring related actions + # export a network interface traffic rate counter self.api.add_resource(MonitorInterfaceAction, - "/restapi/monitor//", - "/restapi/monitor///") + "/restapi/monitor/interface") + # export flow traffic counter, of a manually pre-installed flow entry, specified by its cookie self.api.add_resource(MonitorFlowAction, - "/restapi/flowmon///", - "/restapi/flowmon////") + "/restapi/monitor/flow") + # install monitoring of a specific flow on a pre-existing link in the service. + # the traffic counters of the newly installed monitor flow are exported + self.api.add_resource(MonitorLinkAction, + "/restapi/monitor/link") + # install skewness monitor of resource usage disribution + # the skewness metric is exported + self.api.add_resource(MonitorSkewAction, + "/restapi/monitor/skewness") logging.debug("Created API endpoint %s(%s:%d)" % (self.__class__.__name__, self.ip, self.port))