diff --git a/surveilclient/v2_0/shell.py b/surveilclient/v2_0/shell.py index a811a7d..1e7d7ae 100644 --- a/surveilclient/v2_0/shell.py +++ b/surveilclient/v2_0/shell.py @@ -1195,9 +1195,17 @@ def do_config_reload(sc, args): print(sc.config.reload_config()['message']) +@cliutils.arg("--live_query", help="Live query") +@cliutils.arg("--page_size", help="Number of returned data") +@cliutils.arg("--page", help="Page number") def do_status_host_list(sc, args): """List all status hosts.""" - services = sc.status.hosts.list() + arg_names = ['live_query', + 'page_size', + 'page' + ] + arg = _dict_from_args(args, arg_names) + services = sc.status.hosts.list(**arg) if args.json: print(utils.json_formatter(services)) @@ -1236,9 +1244,18 @@ def do_status_host_show(sc, args): utils.print_item(host, hostProperties) +@cliutils.arg("--live_query", help="Live query") +@cliutils.arg("--page_size", help="Number of returned data") +@cliutils.arg("--page", help="Page number") def do_status_service_list(sc, args): """List all status services.""" - services = sc.status.services.list() + + arg_names = ['live_query', + 'page_size', + 'page' + ] + arg = _dict_from_args(args, arg_names) + services = sc.status.services.list(**arg) if args.json: print(utils.json_formatter(services)) diff --git a/surveilclient/v2_0/status/hosts.py b/surveilclient/v2_0/status/hosts.py index f936347..616b9c4 100644 --- a/surveilclient/v2_0/status/hosts.py +++ b/surveilclient/v2_0/status/hosts.py @@ -13,6 +13,7 @@ # under the License. from surveilclient.common import surveil_manager +from surveilclient.common import utils from surveilclient.v2_0.status.metrics import metrics @@ -23,10 +24,16 @@ class HostsManager(surveil_manager.SurveilManager): super(HostsManager, self).__init__(http_client) self.metrics = metrics.MetricsManager(self.http_client) - def list(self, live_query={'filters': '{}'}): + def list(self, live_query=None, page_size=None, page=None): """Get a list of hosts.""" + + query = utils.create_query( + query=live_query, + page_size=page_size, + page=page + ) resp, body = self.http_client.json_request( - HostsManager.base_url, 'POST', body=live_query + HostsManager.base_url, 'POST', body=query ) return body diff --git a/surveilclient/v2_0/status/services.py b/surveilclient/v2_0/status/services.py index 7a69766..8b7e0b5 100644 --- a/surveilclient/v2_0/status/services.py +++ b/surveilclient/v2_0/status/services.py @@ -13,15 +13,21 @@ # under the License. from surveilclient.common import surveil_manager +from surveilclient.common import utils class ServicesManager(surveil_manager.SurveilManager): base_url = '/status/services' - def list(self, live_query={'filters': '{}'}): - """Get a list of hosts.""" + def list(self, live_query=None, page_size=None, page=None): + """Get a list of services.""" + query = utils.create_query( + query=live_query, + page_size=page_size, + page=page + ) resp, body = self.http_client.json_request( - ServicesManager.base_url, 'POST', body=live_query + ServicesManager.base_url, 'POST', body=query ) return body