diff options
| author | Abhishek Raut <rauta@vmware.com> | 2017-01-05 09:12:07 -0800 |
|---|---|---|
| committer | Abhishek Raut <rauta@vmware.com> | 2017-01-23 19:18:23 +0000 |
| commit | ab88573ebbbdfdb8b351a9aee4670a9a31b478b2 (patch) | |
| tree | 76e21f79700a70a47ffa96249175cebc006afd3b /openstackclient/network/v2 | |
| parent | d5745eaaa79491728da656baee0451b861723cce (diff) | |
| download | python-openstackclient-ab88573ebbbdfdb8b351a9aee4670a9a31b478b2.tar.gz | |
SDK refactor: Prepare security group commands
Prepare the OSC "security group" commands for the SDK refactor.
Change-Id: If9918fad2474f9b4d68424f2806f0de61fd58b2e
Partially-Implements: blueprint network-command-sdk-support
Diffstat (limited to 'openstackclient/network/v2')
| -rw-r--r-- | openstackclient/network/v2/security_group.py | 33 |
1 files changed, 12 insertions, 21 deletions
diff --git a/openstackclient/network/v2/security_group.py b/openstackclient/network/v2/security_group.py index df9e320b..c6d9ede7 100644 --- a/openstackclient/network/v2/security_group.py +++ b/openstackclient/network/v2/security_group.py @@ -21,6 +21,7 @@ import six from openstackclient.i18n import _ from openstackclient.identity import common as identity_common from openstackclient.network import common +from openstackclient.network import sdk_utils from openstackclient.network import utils as network_utils @@ -34,6 +35,7 @@ def _format_network_security_group_rules(sg_rules): sg_rule.pop(key) sg_rule.pop('security_group_id', None) sg_rule.pop('tenant_id', None) + sg_rule.pop('project_id', None) return utils.format_list_of_dicts(sg_rules) @@ -72,29 +74,15 @@ _formatters_compute = { def _get_columns(item): - # Build the display columns and a list of the property columns - # that need to be mapped (display column name, property name). - columns = list(item.to_dict().keys()) - property_column_mappings = [] - if 'security_group_rules' in columns: - columns.append('rules') - columns.remove('security_group_rules') - property_column_mappings.append(('rules', 'security_group_rules')) - if 'tenant_id' in columns: - columns.remove('tenant_id') - if 'project_id' not in columns: - columns.append('project_id') - property_column_mappings.append(('project_id', 'tenant_id')) - display_columns = sorted(columns) - - # Build the property columns and apply any column mappings. - property_columns = sorted(columns) - for property_column_mapping in property_column_mappings: - property_index = property_columns.index(property_column_mapping[0]) - property_columns[property_index] = property_column_mapping[1] - return tuple(display_columns), property_columns + column_map = { + 'security_group_rules': 'rules', + 'tenant_id': 'project_id', + } + return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map) +# TODO(abhiraut): Use the SDK resource mapped attribute names once the +# OSC minimum requirements include SDK 1.0. class CreateSecurityGroup(common.NetworkAndComputeShowOne): _description = _("Create a new security group") @@ -190,6 +178,8 @@ class DeleteSecurityGroup(common.NetworkAndComputeDelete): client.security_groups.delete(data.id) +# TODO(rauta): Use the SDK resource mapped attribute names once +# the OSC minimum requirements include SDK 1.0. class ListSecurityGroup(common.NetworkAndComputeLister): _description = _("List security groups") @@ -245,6 +235,7 @@ class ListSecurityGroup(common.NetworkAndComputeLister): parsed_args.project_domain, ).id filters['tenant_id'] = project_id + filters['project_id'] = project_id return self._get_return_data(client.security_groups(**filters)) def take_action_compute(self, client, parsed_args): |
