X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=src%2Femuvim%2Fapi%2Frest%2Frest_api_endpoint.py;h=fc48a333fa42870c02b1780a9a949609e7296840;hb=33d768923110817c5c364cda695e4699c8431776;hp=a065e16bc226c049529d2ad27c1ca88c41b25091;hpb=b3f3417d353e5cb40f2f5f5348792f19feade624;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 a065e16..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) @@ -61,24 +61,37 @@ class RestApiEndpoint(object): # setup endpoints - self.api.add_resource(Compute, - "/restapi/compute//", - "/restapi/compute////") + # compute related actions (start/stop VNFs, get info) + self.api.add_resource(Compute, "/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))