Merge "Fix handling the use_default_subnet_pool attribute"
This commit is contained in:
@@ -13,8 +13,24 @@
|
|||||||
import six
|
import six
|
||||||
|
|
||||||
|
|
||||||
# Get the OSC show command display and attribute columns for an SDK resource.
|
def get_osc_show_columns_for_sdk_resource(
|
||||||
def get_osc_show_columns_for_sdk_resource(sdk_resource, osc_column_map):
|
sdk_resource,
|
||||||
|
osc_column_map,
|
||||||
|
invisible_columns=[]
|
||||||
|
):
|
||||||
|
"""Get and filter the display and attribute columns for an SDK resource.
|
||||||
|
|
||||||
|
Common utility function for preparing the output of an OSC show command.
|
||||||
|
Some of the columns may need to get renamed, others made invisible.
|
||||||
|
|
||||||
|
:param sdk_resource: An SDK resource
|
||||||
|
:param osc_column_map: A hash of mappings for display column names
|
||||||
|
:param invisible_columns: A list of invisible column names
|
||||||
|
|
||||||
|
:returns: Two tuples containing the names of the display and attribute
|
||||||
|
columns
|
||||||
|
"""
|
||||||
|
|
||||||
if getattr(sdk_resource, 'allow_get', None) is not None:
|
if getattr(sdk_resource, 'allow_get', None) is not None:
|
||||||
resource_dict = sdk_resource.to_dict(
|
resource_dict = sdk_resource.to_dict(
|
||||||
body=True, headers=False, ignore_none=False)
|
body=True, headers=False, ignore_none=False)
|
||||||
@@ -24,6 +40,9 @@ def get_osc_show_columns_for_sdk_resource(sdk_resource, osc_column_map):
|
|||||||
# Build the OSC column names to display for the SDK resource.
|
# Build the OSC column names to display for the SDK resource.
|
||||||
attr_map = {}
|
attr_map = {}
|
||||||
display_columns = list(resource_dict.keys())
|
display_columns = list(resource_dict.keys())
|
||||||
|
for col_name in invisible_columns:
|
||||||
|
if col_name in display_columns:
|
||||||
|
display_columns.remove(col_name)
|
||||||
for sdk_attr, osc_attr in six.iteritems(osc_column_map):
|
for sdk_attr, osc_attr in six.iteritems(osc_column_map):
|
||||||
if sdk_attr in display_columns:
|
if sdk_attr in display_columns:
|
||||||
attr_map[osc_attr] = sdk_attr
|
attr_map[osc_attr] = sdk_attr
|
||||||
|
@@ -132,7 +132,13 @@ def _get_columns(item):
|
|||||||
'subnet_pool_id': 'subnetpool_id',
|
'subnet_pool_id': 'subnetpool_id',
|
||||||
'tenant_id': 'project_id',
|
'tenant_id': 'project_id',
|
||||||
}
|
}
|
||||||
return sdk_utils.get_osc_show_columns_for_sdk_resource(item, column_map)
|
# Do not show this column when displaying a subnet
|
||||||
|
invisible_columns = ['use_default_subnetpool']
|
||||||
|
return sdk_utils.get_osc_show_columns_for_sdk_resource(
|
||||||
|
item,
|
||||||
|
column_map,
|
||||||
|
invisible_columns=invisible_columns
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def convert_entries_to_nexthop(entries):
|
def convert_entries_to_nexthop(entries):
|
||||||
@@ -179,7 +185,7 @@ def _get_attrs(client_manager, parsed_args, is_create=True):
|
|||||||
ignore_missing=False)
|
ignore_missing=False)
|
||||||
attrs['subnetpool_id'] = subnet_pool.id
|
attrs['subnetpool_id'] = subnet_pool.id
|
||||||
if parsed_args.use_default_subnet_pool:
|
if parsed_args.use_default_subnet_pool:
|
||||||
attrs['use_default_subnetpool'] = True
|
attrs['use_default_subnet_pool'] = True
|
||||||
if parsed_args.prefix_length is not None:
|
if parsed_args.prefix_length is not None:
|
||||||
attrs['prefixlen'] = parsed_args.prefix_length
|
attrs['prefixlen'] = parsed_args.prefix_length
|
||||||
if parsed_args.subnet_range is not None:
|
if parsed_args.subnet_range is not None:
|
||||||
|
Reference in New Issue
Block a user