1818
1919from openstackclient .i18n import _
2020from openstackclient .identity import common as identity_common
21-
21+ from openstackclient . network import sdk_utils
2222
2323_formatters = {
2424 'subnet_ip_availability' : utils .format_list_of_dicts ,
2525}
2626
2727
2828def _get_columns (item ):
29- columns = list (item .keys ())
30- if 'tenant_id' in columns :
31- columns .remove ('tenant_id' )
32- columns .append ('project_id' )
33- return tuple (sorted (columns ))
29+ column_map = {
30+ 'tenant_id' : 'project_id' ,
31+ }
32+ return sdk_utils .get_osc_show_columns_for_sdk_resource (item , column_map )
3433
3534
35+ # TODO(ankur-gupta-f): Use the SDK resource mapped attribute names once
36+ # the OSC minimum requirements include SDK 1.0.
3637class ListIPAvailability (command .Lister ):
3738 _description = _ ("List IP availability for network" )
3839
@@ -84,6 +85,7 @@ def take_action(self, parsed_args):
8485 parsed_args .project_domain ,
8586 ).id
8687 filters ['tenant_id' ] = project_id
88+ filters ['project_id' ] = project_id
8789 data = client .network_ip_availabilities (** filters )
8890 return (column_headers ,
8991 (utils .get_item_properties (
@@ -107,6 +109,6 @@ def take_action(self, parsed_args):
107109 client = self .app .client_manager .network
108110 obj = client .find_network_ip_availability (parsed_args .network ,
109111 ignore_missing = False )
110- columns = _get_columns (obj )
112+ display_columns , columns = _get_columns (obj )
111113 data = utils .get_item_properties (obj , columns , formatters = _formatters )
112- return (columns , data )
114+ return (display_columns , data )
0 commit comments