def add_service(servicename, **_): """ Add a service configuration Variables: servicename => Name of the service to add Arguments: None Data Block: {'accepts': '(archive|executable|java|android)/.*', 'category': 'Extraction', 'classpath': 'al_services.alsvc_extract.Extract', 'config': {'DEFAULT_PW_LIST': ['password', 'infected']}, 'cpu_cores': 0.1, 'description': "Extracts some stuff" 'enabled': True, 'install_by_default': True, 'name': 'Extract', 'ram_mb': 256, 'rejects': 'empty|metadata/.*', 'stage': 'EXTRACT', 'submission_params': [{'default': u'', 'name': 'password', 'type': 'str', 'value': u''}, {'default': False, 'name': 'extract_pe_sections', 'type': 'bool', 'value': False}, {'default': False, 'name': 'continue_after_extract', 'type': 'bool', 'value': False}], 'supported_platforms': ['Linux'], 'timeout': 60} Result example: {"success": true } #Saving the user info succeded """ data = request.json if not STORAGE.get_service(servicename): STORAGE.save_service(servicename, data) return make_api_response({"success": True}) else: return make_api_response( {"success": False}, "You cannot add a service that already exists...", 400)
def set_service(servicename, **_): """ Save the configuration of a given service Variables: servicename => Name of the service to save Arguments: None Data Block: {'accepts': '(archive|executable|java|android)/.*', 'category': 'Extraction', 'classpath': 'al_services.alsvc_extract.Extract', 'config': {'DEFAULT_PW_LIST': ['password', 'infected']}, 'cpu_cores': 0.1, 'description': "Extract some stuff", 'enabled': True, 'install_by_default': True, 'name': 'Extract', 'ram_mb': 256, 'rejects': 'empty|metadata/.*', 'stage': 'EXTRACT', 'submission_params': [{'default': u'', 'name': 'password', 'type': 'str', 'value': u''}, {'default': False, 'name': 'extract_pe_sections', 'type': 'bool', 'value': False}, {'default': False, 'name': 'continue_after_extract', 'type': 'bool', 'value': False}], 'supported_platforms': ['Linux'], 'timeout': 60} Result example: {"success": true } #Saving the user info succeded """ data = request.json try: if servicename != data['name']: raise AccessDeniedException( "You are not allowed to change the service name.") return make_api_response( {"success": STORAGE.save_service(servicename, data)}) except AccessDeniedException, e: return make_api_response({"success": False}, e.message, 403)