def wf_ops(tenant_id='', instance_id=''): c = Connector().morph() method = request.method global ret if method == 'GET': logger.info("inside getting actions") if instance_id == '': try: service_def_id = request.args.get('service_def') if service_def_id is not None: return get_instance_sd(service_def_id) except Exception as e: logger.debug("no service_def query params passed.[%s]", str(e)) ret = list_services(None) for service in ret: service['input'] = json.loads(service['input']) status, output = _update_status_and_output(service['id']) service['status'] = status service['output'] = output service['service_id'] = service['service_definition_id'] del service['service_definition_id'] else: try: ret = get_service(None, instance_id) ret['input'] = json.loads(ret['input']) except Exception as e: logger.error("error in getting service for [%s]: [%s]", instance_id, str(e)) return jsonify({}), 404 status, output = _update_status_and_output(instance_id) ret['status'] = status ret['output'] = output ret['service_id'] = ret['service_definition_id'] del ret['service_definition_id'] logger.debug("returning list of workflows: %s" % (ret)) return jsonify(ret), 200 elif method == 'PUT': content = request.get_json() content['parameters']['tenant_id'] = tenant_id rc, ret = c.update_action(id, content) if (rc != Apiconstants.HTTP_OK): return jsonify(json.loads(ret)), rc return jsonify(json.dumps(ret)), 200 elif method == 'DELETE': rc, ret = Apiconstants.HTTP_OK, 'Success' try: ret_instance = get_service(None, instance_id) if ret_instance is None: raise ValueError("Instance id is not present") else: logger.info("deleting instance %s", instance_id) delete_service(None, instance_id) except Exception as e: logger.error("error while deleting instance from db. [%s]", str(e)) rc, ret = Apiconstants.HTTP_ERR_NOTFOUND, 'Failed' return jsonify(ret), rc
def wf_ops(): c = Connector().morph() method = request.method if method == 'GET': ret = list_workflows(None) return jsonify(response=ret), 200 elif method == 'PUT': content = request.get_json() rc, ret = c.update_action(id, content) if(rc != Apiconstants.HTTP_OK): return jsonify(response=json.loads(ret)), rc return jsonify(response=json.dumps(ret)), 200 elif method == 'DELETE': content = request.get_json() rc, ret = c.delete_action(id, content) if(rc != Apiconstants.HTTP_OK): return jsonify(response=json.loads(ret)), rc return jsonify(response=json.dumps(ret)), 200