diff --git a/venusclient/v1/search.py b/venusclient/v1/search.py index 2b8211a..3291f72 100644 --- a/venusclient/v1/search.py +++ b/venusclient/v1/search.py @@ -54,55 +54,15 @@ class SearchManager(basemodels.BaseModelManager): except Exception as e: raise RuntimeError(str(e)) - def get_type_host(self): + def get_search_params(self, type, module_name, index_type='flog'): url = '/v1/search/params' - params = { - 'type': "host_name", - } - url += utils.prepare_query_string(params) - - try: - resp, body = self.api.json_request('GET', url) - return body - except Exception as e: - raise RuntimeError(str(e)) - - def get_type_level(self): - url = '/v1/search/params' - - params = { - 'type': "level", - } - url += utils.prepare_query_string(params) - - try: - resp, body = self.api.json_request('GET', url) - return body - except Exception as e: - raise RuntimeError(str(e)) - - def get_type_module(self, args): - url = '/v1/search/params' - - params = { - 'type': "module_name", - } - url += utils.prepare_query_string(params) - - try: - resp, body = self.api.json_request('GET', url) - return body - except Exception as e: - raise RuntimeError(str(e)) - - def get_type_program(self, args): - url = '/v1/search/params' - - params = { - 'type': "program_name", - } - url += utils.prepare_query_string(params) + qparams = {"type": type} + if module_name: + qparams["module_name"] = module_name + if index_type: + qparams["index_type"] = index_type + url += utils.prepare_query_string(qparams) try: resp, body = self.api.json_request('GET', url) diff --git a/venusclient/v1/search_shell.py b/venusclient/v1/search_shell.py index 4e10069..89cd85e 100644 --- a/venusclient/v1/search_shell.py +++ b/venusclient/v1/search_shell.py @@ -75,30 +75,25 @@ def do_search_logs(cs, args): return endpoint -def do_get_type_host(cs, args): - """get host name all cluster""" - endpoint = cs.search.get_type_host(args) - print(endpoint) - return endpoint - - -def do_get_type_level(cs, args): - """get log level all cluster""" - endpoint = cs.search.get_type_host(args) - print(endpoint) - return endpoint - - -def do_get_type_module(cs, args): - """get log module all cluster""" - endpoint = cs.search.get_type_module(args) - print(endpoint) - return endpoint - - -def do_get_type_program(cs, args): - """get log module all cluster""" - endpoint = cs.search.get_type_program(args) +@utils.arg('type', + metavar='', + choices=['host_name', 'level', 'program_name', 'module_name'], + help='The type of parameter, such as host_name, level, program_name' + ', module_name') +@utils.arg('--module_name', + metavar='', + dest='module_name', + help='The module name.') +@utils.arg('--index_type', + metavar='', + dest='index_type', + choices=['flog', 'slog'], + help='The type of elasticsearch index, flog(default):Openstack log,' + ' slog:host OS log.') +def do_get_search_params(cs, args): + """get search parameters of specified type""" + endpoint = cs.search.get_search_params(args.type, args.module_name, + args.index_type) print(endpoint) return endpoint