diff options
| author | Stephen Finucane <sfinucan@redhat.com> | 2020-12-10 11:29:01 +0000 |
|---|---|---|
| committer | Stephen Finucane <sfinucan@redhat.com> | 2021-01-21 10:58:41 +0000 |
| commit | 5ec4d4c7188f4766d270be32e12b64b709d2b835 (patch) | |
| tree | e7cdb4448089e9259dbb01f43805d5adbeaee437 /openstackclient/compute | |
| parent | 1a6df700be2507bcec760994e64042d03b09ae16 (diff) | |
| download | python-openstackclient-5ec4d4c7188f4766d270be32e12b64b709d2b835.tar.gz | |
compute: Add missing options for 'server group list'
Add pagination parameters, '--limit' and '--offset'. It's unfortunate
that we can't use '--marker' like elsewhere but that requires
server-side support to be truly effective.
Change-Id: I186adc8cdf28e9c540ad22bca6684d9dd892976a
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server_group.py | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/openstackclient/compute/v2/server_group.py b/openstackclient/compute/v2/server_group.py index 783fdbfe..32dd1937 100644 --- a/openstackclient/compute/v2/server_group.py +++ b/openstackclient/compute/v2/server_group.py @@ -177,11 +177,47 @@ class ListServerGroup(command.Lister): default=False, help=_("List additional fields in output") ) + # TODO(stephenfin): This should really be a --marker option, but alas + # the API doesn't support that for some reason + parser.add_argument( + '--offset', + metavar='<offset>', + type=int, + default=None, + help=_( + 'Index from which to start listing servers. This should ' + 'typically be a factor of --limit. Display all servers groups ' + 'if not specified.' + ), + ) + parser.add_argument( + '--limit', + metavar='<limit>', + type=int, + default=None, + help=_( + "Maximum number of server groups to display. " + "If limit is greater than 'osapi_max_limit' option of Nova " + "API, 'osapi_max_limit' will be used instead." + ), + ) return parser def take_action(self, parsed_args): compute_client = self.app.client_manager.compute - data = compute_client.server_groups.list(parsed_args.all_projects) + + kwargs = {} + + if parsed_args.all_projects: + kwargs['all_projects'] = parsed_args.all_projects + + if parsed_args.offset: + kwargs['offset'] = parsed_args.offset + + if parsed_args.limit: + kwargs['limit'] = parsed_args.limit + + data = compute_client.server_groups.list(**kwargs) policy_key = 'Policies' if compute_client.api_version >= api_versions.APIVersion("2.64"): |
