summaryrefslogtreecommitdiff
path: root/openstackclient/network
diff options
context:
space:
mode:
authorRichard Theis <rtheis@us.ibm.com>2016-10-05 08:09:16 -0500
committerRichard Theis <rtheis@us.ibm.com>2016-10-05 08:50:58 -0500
commitd6cc50f0daac71fbe2a18059be94f6d01a26d78d (patch)
tree35429ab484616f219957d2290a636678d79413bf /openstackclient/network
parent70cb628278642e0e275c3e8d294bb73c17a97f5e (diff)
downloadpython-openstackclient-d6cc50f0daac71fbe2a18059be94f6d01a26d78d.tar.gz
SDK Refactor: Prepare subnet pool commands
Prepare the OSC "subnet pool" commands for the SDK refactor. See [1] for details. [1] https://etherpad.openstack.org/p/osc-network-command-sdk-support Change-Id: I6d8cb7a079cf115ee25d48d9175e31f0f995c502 Partially-Implements: blueprint network-command-sdk-support
Diffstat (limited to 'openstackclient/network')
-rw-r--r--openstackclient/network/v2/subnet_pool.py35
1 files changed, 24 insertions, 11 deletions
diff --git a/openstackclient/network/v2/subnet_pool.py b/openstackclient/network/v2/subnet_pool.py
index a01d2f7b..2e0a32c2 100644
--- a/openstackclient/network/v2/subnet_pool.py
+++ b/openstackclient/network/v2/subnet_pool.py
@@ -22,17 +22,21 @@ from osc_lib import utils
from openstackclient.i18n import _
from openstackclient.identity import common as identity_common
+from openstackclient.network import sdk_utils
LOG = logging.getLogger(__name__)
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 = {
+ 'default_prefix_length': 'default_prefixlen',
+ 'is_shared': 'shared',
+ 'maximum_prefix_length': 'max_prefixlen',
+ 'minimum_prefix_length': 'min_prefixlen',
+ 'tenant_id': 'project_id',
+ }
+ return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map)
_formatters = {
@@ -134,6 +138,8 @@ def _add_default_options(parser):
)
+# TODO(rtheis): Use the SDK resource mapped attribute names once the
+# OSC minimum requirements include SDK 1.0.
class CreateSubnetPool(command.ShowOne):
"""Create subnet pool"""
@@ -184,9 +190,9 @@ class CreateSubnetPool(command.ShowOne):
if "prefixes" not in attrs:
attrs['prefixes'] = []
obj = client.create_subnet_pool(**attrs)
- columns = _get_columns(obj)
+ display_columns, columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)
- return (columns, data)
+ return (display_columns, data)
class DeleteSubnetPool(command.Command):
@@ -223,6 +229,8 @@ class DeleteSubnetPool(command.Command):
raise exceptions.CommandError(msg)
+# TODO(rtheis): Use only the SDK resource mapped attribute names once the
+# OSC minimum requirements include SDK 1.0.
class ListSubnetPool(command.Lister):
"""List subnet pools"""
@@ -281,8 +289,10 @@ class ListSubnetPool(command.Lister):
filters = {}
if parsed_args.share:
filters['shared'] = True
+ filters['is_shared'] = True
elif parsed_args.no_share:
filters['shared'] = False
+ filters['is_shared'] = False
if parsed_args.default:
filters['is_default'] = True
elif parsed_args.no_default:
@@ -294,6 +304,7 @@ class ListSubnetPool(command.Lister):
parsed_args.project_domain,
).id
filters['tenant_id'] = project_id
+ filters['project_id'] = project_id
if parsed_args.name is not None:
filters['name'] = parsed_args.name
if parsed_args.address_scope:
@@ -308,8 +319,8 @@ class ListSubnetPool(command.Lister):
if parsed_args.long:
headers += ('Default Prefix Length', 'Address Scope',
'Default Subnet Pool', 'Shared')
- columns += ('default_prefixlen', 'address_scope_id',
- 'is_default', 'shared')
+ columns += ('default_prefix_length', 'address_scope_id',
+ 'is_default', 'is_shared')
return (headers,
(utils.get_item_properties(
@@ -318,6 +329,8 @@ class ListSubnetPool(command.Lister):
) for s in data))
+# TODO(rtheis): Use the SDK resource mapped attribute names once the
+# OSC minimum requirements include SDK 1.0.
class SetSubnetPool(command.Command):
"""Set subnet pool properties"""
@@ -388,9 +401,9 @@ class ShowSubnetPool(command.ShowOne):
parsed_args.subnet_pool,
ignore_missing=False
)
- columns = _get_columns(obj)
+ display_columns, columns = _get_columns(obj)
data = utils.get_item_properties(obj, columns, formatters=_formatters)
- return (columns, data)
+ return (display_columns, data)
class UnsetSubnetPool(command.Command):