summaryrefslogtreecommitdiff
path: root/openstackclient
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-01-07 17:35:03 +0000
committerGerrit Code Review <review@openstack.org>2016-01-07 17:35:03 +0000
commitee1a4774ddfe003487de9411f7ad08cd0245b48b (patch)
tree87ea359f369e1d9a0fe16f0a172f3d83bb47808e /openstackclient
parenta80ccd8fbc53227f2b7e6b721c37f084290b45dc (diff)
parent5ff660f71854bc4e11d7e37b6ed54c6170bedc10 (diff)
downloadpython-openstackclient-ee1a4774ddfe003487de9411f7ad08cd0245b48b.tar.gz
Merge "Further improve output for "os security group show""
Diffstat (limited to 'openstackclient')
-rw-r--r--openstackclient/compute/v2/security_group.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/openstackclient/compute/v2/security_group.py b/openstackclient/compute/v2/security_group.py
index 95e3a1c1..6395e102 100644
--- a/openstackclient/compute/v2/security_group.py
+++ b/openstackclient/compute/v2/security_group.py
@@ -62,6 +62,23 @@ def _xform_security_group_rule(sgroup):
return info
+def _xform_and_trim_security_group_rule(sgroup):
+ info = _xform_security_group_rule(sgroup)
+ # Trim parent security group ID since caller has this information.
+ info.pop('parent_group_id', None)
+ # Trim keys with empty string values.
+ keys_to_trim = [
+ 'ip_protocol',
+ 'ip_range',
+ 'port_range',
+ 'remote_security_group',
+ ]
+ for key in keys_to_trim:
+ if key in info and not info[key]:
+ info.pop(key)
+ return info
+
+
class CreateSecurityGroup(show.ShowOne):
"""Create a new security group"""
@@ -396,7 +413,8 @@ class ShowSecurityGroup(show.ShowOne):
)._info)
rules = []
for r in info['rules']:
- rules.append(utils.format_dict(_xform_security_group_rule(r)))
+ formatted_rule = _xform_and_trim_security_group_rule(r)
+ rules.append(utils.format_dict(formatted_rule))
# Format rules into a list of strings
info.update(