summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorAbhishek Raut <rauta@vmware.com>2016-11-19 17:45:01 -0800
committerAbhishek Raut <rauta@vmware.com>2016-11-19 22:46:17 -0800
commitc76e631a2cd19c78950a1c0ed1a4feb10815b25b (patch)
tree86415537f70055222b90af7836ac172c1eaded48 /openstackclient
parentd6e058fa1f6323ef73354f0aea0e09efb647bc7e (diff)
downloadpython-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.py20
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