diff options
| author | Richard Theis <rtheis@us.ibm.com> | 2016-10-05 08:09:16 -0500 |
|---|---|---|
| committer | Richard Theis <rtheis@us.ibm.com> | 2016-10-05 08:50:58 -0500 |
| commit | d6cc50f0daac71fbe2a18059be94f6d01a26d78d (patch) | |
| tree | 35429ab484616f219957d2290a636678d79413bf /openstackclient/network | |
| parent | 70cb628278642e0e275c3e8d294bb73c17a97f5e (diff) | |
| download | python-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.py | 35 |
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): |
