diff options
| author | Abhishek Raut <rauta@vmware.com> | 2016-11-19 17:45:01 -0800 |
|---|---|---|
| committer | Abhishek Raut <rauta@vmware.com> | 2016-11-19 22:46:17 -0800 |
| commit | c76e631a2cd19c78950a1c0ed1a4feb10815b25b (patch) | |
| tree | 86415537f70055222b90af7836ac172c1eaded48 /openstackclient | |
| parent | d6e058fa1f6323ef73354f0aea0e09efb647bc7e (diff) | |
| download | python-openstackclient-c76e631a2cd19c78950a1c0ed1a4feb10815b25b.tar.gz | |
SDK Refactor: Prepare security group rule commands
Prepare the OSC "security group rule" commands for the SDK refactor.
See [1] for details.
[1] https://etherpad.openstack.org/p/osc-network-command-sdk-support
Change-Id: I5553e40fe90f3a26d3f462a69f1a424032479d49
Partially-Implements: blueprint network-command-sdk-support
Diffstat (limited to 'openstackclient')
| -rw-r--r-- | openstackclient/network/v2/security_group_rule.py | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/openstackclient/network/v2/security_group_rule.py b/openstackclient/network/v2/security_group_rule.py index 05fafc0d..b878d875 100644 --- a/openstackclient/network/v2/security_group_rule.py +++ b/openstackclient/network/v2/security_group_rule.py @@ -29,6 +29,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 @@ -67,11 +68,10 @@ def _format_network_port_range(rule): def _get_columns(item): - columns = list(item.keys()) - if 'tenant_id' in columns: - columns.remove('tenant_id') - columns.append('project_id') - return tuple(sorted(columns)) + column_map = { + 'tenant_id': 'project_id', + } + return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map) def _convert_to_lowercase(string): @@ -89,6 +89,8 @@ def _is_icmp_protocol(protocol): return False +# TODO(abhiraut): Use the SDK resource mapped attribute names once the +# OSC minimum requirements include SDK 1.0. class CreateSecurityGroupRule(common.NetworkAndComputeShowOne): _description = _("Create a new security group rule") @@ -341,9 +343,9 @@ class CreateSecurityGroupRule(common.NetworkAndComputeShowOne): # Create and show the security group rule. obj = client.create_security_group_rule(**attrs) - columns = _get_columns(obj) + display_columns, columns = _get_columns(obj) data = utils.get_item_properties(obj, columns) - return (columns, data) + return (display_columns, data) def take_action_compute(self, client, parsed_args): group = utils.find_resource( @@ -597,9 +599,9 @@ class ShowSecurityGroupRule(common.NetworkAndComputeShowOne): def take_action_network(self, client, parsed_args): obj = client.find_security_group_rule(parsed_args.rule, ignore_missing=False) - columns = _get_columns(obj) + display_columns, columns = _get_columns(obj) data = utils.get_item_properties(obj, columns) - return (columns, data) + return (display_columns, data) def take_action_compute(self, client, parsed_args): # NOTE(rtheis): Unfortunately, compute does not have an API |
