diff --git a/doc/source/command-objects/server.rst b/doc/source/command-objects/server.rst index 41d484ee97..afa328ba36 100644 --- a/doc/source/command-objects/server.rst +++ b/doc/source/command-objects/server.rst @@ -188,6 +188,7 @@ List servers [--project <project> [--project-domain <project-domain>]] [--long] [--marker <server>] + [--limit <limit>] .. option:: --reservation-id <reservation-id> @@ -256,6 +257,12 @@ List servers The last server (name or ID) of the previous page. Display list of servers after marker. Display all servers if not specified. +.. option:: --limit <limit> + + Maximum number of servers to display. If limit equals -1, all servers will + be displayed. If limit is greater than 'osapi_max_limit' option of Nova + API, 'osapi_max_limit' will be used instead. + server lock ----------- diff --git a/openstackclient/compute/v2/server.py b/openstackclient/compute/v2/server.py index 2e5cd99ce2..1d0de27e17 100644 --- a/openstackclient/compute/v2/server.py +++ b/openstackclient/compute/v2/server.py @@ -755,6 +755,16 @@ class ListServer(lister.Lister): ' list of servers after marker. Display all servers if not' ' specified.') ) + parser.add_argument( + '--limit', + metavar='<limit>', + type=int, + default=None, + help=("Maximum number of servers to display. If limit equals -1," + " all servers will be displayed. If limit is greater than" + " 'osapi_max_limit' option of Nova API," + " 'osapi_max_limit' will be used instead."), + ) return parser @utils.log_method(log) @@ -845,7 +855,8 @@ class ListServer(lister.Lister): parsed_args.marker).id data = compute_client.servers.list(search_opts=search_opts, - marker=marker_id) + marker=marker_id, + limit=parsed_args.limit) return (column_headers, (utils.get_item_properties( s, columns,