diff options
| author | Jenkins <jenkins@review.openstack.org> | 2016-04-20 18:26:44 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2016-04-20 18:26:44 +0000 |
| commit | f26b085f84b6497eea4c6e78f9ced25defe2f257 (patch) | |
| tree | 99c6f324eb7bd7cf2f1f45d34203f4940a0a97d4 /openstackclient/compute | |
| parent | 42263d779b1cac6c502d4972276681627bd226f2 (diff) | |
| parent | 4e2272801377e50be25523d5a487d02da0614220 (diff) | |
| download | python-openstackclient-f26b085f84b6497eea4c6e78f9ced25defe2f257.tar.gz | |
Merge "Add "server group list" command"
Diffstat (limited to 'openstackclient/compute')
| -rw-r--r-- | openstackclient/compute/v2/server_group.py | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/openstackclient/compute/v2/server_group.py b/openstackclient/compute/v2/server_group.py index 02de011e..56d7e27a 100644 --- a/openstackclient/compute/v2/server_group.py +++ b/openstackclient/compute/v2/server_group.py @@ -99,3 +99,60 @@ class DeleteServerGroup(command.Command): total = len(parsed_args.server_group) msg = "%s of %s server groups failed to delete." % (result, total) raise exceptions.CommandError(msg) + + +class ListServerGroup(command.Lister): + """List all server groups.""" + + def get_parser(self, prog_name): + parser = super(ListServerGroup, self).get_parser(prog_name) + parser.add_argument( + '--all-projects', + action='store_true', + default=False, + help='Display information from all projects (admin only)', + ) + parser.add_argument( + '--long', + action='store_true', + default=False, + help='List additional fields in output', + ) + 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) + + if parsed_args.long: + column_headers = ( + 'ID', + 'Name', + 'Policies', + 'Members', + 'Project Id', + 'User Id', + ) + columns = ( + 'ID', + 'Name', + 'Policies', + 'Members', + 'Project Id', + 'User Id', + ) + else: + column_headers = columns = ( + 'ID', + 'Name', + 'Policies', + ) + + return (column_headers, + (utils.get_item_properties( + s, columns, + formatters={ + 'Policies': utils.format_list, + 'Members': utils.format_list, + } + ) for s in data)) |
