def DELETE(self): """ Delete models for multiple instances :: DELETE /_instances DELETE data: :: [ "{region}/{namespace}/{instanceId}", ... ] Returns: :: { "result": "success" } """ try: instances = json.loads(web.data()) except: raise InvalidRequestResponse({"result": "Invalid request"}) if not instances: raise InvalidRequestResponse( {"result": ("Missing instances in DELETE" " request")}) deleted = [] if instances: for server in instances: if server.count("/") == 4: (lhs, _, identifier) = server.rpartition("/") (regionAndNamespace, _, _) = lhs.rpartition("/") serverSansDimension = regionAndNamespace + "/" + identifier else: serverSansDimension = server with web.ctx.connFactory() as conn: modelIds = repository.listMetricIDsForInstance( conn, serverSansDimension) if modelIds: for modelId in modelIds: ModelHandler.deleteModel(modelId) deleted.append(server) if instances == deleted: self.addStandardHeaders() return encodeJson({'result': 'success'}) raise web.notfound("Not able to delete %s" % encodeJson(list(set(instances) - set(deleted))))
def DELETE(self): """ Delete models for multiple instances :: DELETE /_instances DELETE data: :: [ "{region}/{namespace}/{instanceId}", ... ] Returns: :: { "result": "success" } """ try: instances = json.loads(web.data()) except: raise InvalidRequestResponse({"result": "Invalid request"}) if not instances: raise InvalidRequestResponse({"result": ("Missing instances in DELETE" " request")}) deleted = [] if instances: for server in instances: if server.count("/") == 4: (lhs, _, identifier) = server.rpartition("/") (regionAndNamespace, _, _) = lhs.rpartition("/") serverSansDimension = regionAndNamespace + "/" + identifier else: serverSansDimension = server with web.ctx.connFactory() as conn: modelIds = repository.listMetricIDsForInstance(conn, serverSansDimension) if modelIds: for modelId in modelIds: ModelHandler.deleteModel(modelId) deleted.append(server) if instances == deleted: self.addStandardHeaders() return encodeJson({'result': 'success'}) raise web.notfound("Not able to delete %s" % encodeJson(list(set(instances)-set(deleted))))