"""
Parameters used for restful api.
"""
from flask_restful import reqparse
ANALYSIS_POST_PARSER = reqparse.RequestParser()
ANALYSIS_POST_PARSER.add_argument('appname', required=True, help="The appname to be analysed")
ANALYSIS_POST_PARSER.add_argument('pipe', required=True,
help="The pipe name to send process status")
ANALYSIS_POST_PARSER.add_argument('workload', required=True, help="The workload dict info")
ANALYSIS_POST_PARSER.add_argument('algorithm', required=True, help="The algorithm to be selected")
ANALYSIS_POST_PARSER.add_argument('modelpath', required=True, help="The modelfile to be used")
ANALYSIS_POST_PARSER.add_argument('scaler', required=True, help="The scalerfile to be used")
ANALYSIS_POST_PARSER.add_argument('encoder', required=True, help="The encoderfile to be used")
PROPERTY_PUT_PARSER = reqparse.RequestParser()
PROPERTY_PUT_PARSER.add_argument('section', required=True, help="The section to be configured")
PROPERTY_PUT_PARSER.add_argument('key', required=True, help="The property to be configured")
PROPERTY_PUT_PARSER.add_argument('value', required=True, help="The value to be configured")
CONFIGURATOR_POST_PARSER = reqparse.RequestParser()
CONFIGURATOR_POST_PARSER.add_argument('section', required=True, help="The section to be configured")
CONFIGURATOR_POST_PARSER.add_argument('key', required=True, help="The property to be configured")
CONFIGURATOR_POST_PARSER.add_argument('value', required=False, help="The value to be configured")
CONFIGURATOR_GET_PARSER = reqparse.RequestParser()
CONFIGURATOR_GET_PARSER.add_argument('section', required=True, help="The section to be configured")
CONFIGURATOR_GET_PARSER.add_argument('key', required=True, help="The key to be to be get")
MONITOR_GET_PARSER = reqparse.RequestParser()
MONITOR_GET_PARSER.add_argument('module', required=True, help="The module to be monitor")
MONITOR_GET_PARSER.add_argument('purpose', required=True, help="The purpose of the module")
MONITOR_GET_PARSER.add_argument('fmt', required=True, help="The format of the result")
MONITOR_GET_PARSER.add_argument('path', required=True, help="The path to be generated")
MONITOR_GET_PARSER.add_argument('para', required=True, help="The parameter of get method")
MONITOR_POST_PARSER = reqparse.RequestParser()
MONITOR_POST_PARSER.add_argument('module', required=True, help="The module to be monitor")
MONITOR_POST_PARSER.add_argument('purpose', required=True, help="The purpose of the module")
MONITOR_POST_PARSER.add_argument('field', required=True, help="The field of the monitor")
COLLECTOR_POST_PARSER = reqparse.RequestParser()
COLLECTOR_POST_PARSER.add_argument('sample_num', type=int, required=True,
help="the numbers to be collections")
COLLECTOR_POST_PARSER.add_argument('monitors', type=list, location='json',
help="knobs list cannot be null")
COLLECTOR_POST_PARSER.add_argument('pipe', required=True,
help="The pipe name to send process status")
COLLECTOR_POST_PARSER.add_argument('file', required=True,
help="The file for storing collected data")
COLLECTOR_POST_PARSER.add_argument('data_type', help="The type of collected data")
PROFILE_GET_PARSER = reqparse.RequestParser()
PROFILE_GET_PARSER.add_argument('section', required=True, help="The section to be configured")
PROFILE_GET_PARSER.add_argument('config', required=True, help="The config to be get")
PROFILE_GET_PARSER.add_argument('path', required=True, help="The path to backup to")
PROFILE_PUT_PARSER = reqparse.RequestParser()
PROFILE_PUT_PARSER.add_argument('section', required=True, help="The section to be configured")
PROFILE_PUT_PARSER.add_argument('config', required=True, help="The config to be get")