Consume column utils from osc-lib
get_column_definitions() and get_columns() in neutronclient.osc.utils have been migrated to osc-lib 1.8.0 (or later), so we no longer need to maintain our own versions. This commit consumes osc-lib versions. The workaround in firewallrule.py is no longer needed with osc-lib 1.8.0 as the original bug has been fixed in osc-lib 1.8.0 (osc-lib commit 8cbdcde6076fa1df40e00d3e16bf140a59aa6273). Change-Id: I4b9243b0fdb4ca744cc3f85371cb066a456f1d42
This commit is contained in:
@@ -20,8 +20,6 @@ Stuffs specific to neutronclient OSC plugin should not be added
|
||||
to this module. They should go to neutronclient.osc.v2.utils.
|
||||
"""
|
||||
|
||||
import operator
|
||||
|
||||
from keystoneclient import exceptions as identity_exc
|
||||
from keystoneclient.v3 import domains
|
||||
from keystoneclient.v3 import projects
|
||||
@@ -30,79 +28,6 @@ from osc_lib import utils
|
||||
from neutronclient._i18n import _
|
||||
|
||||
|
||||
LIST_BOTH = 'both'
|
||||
LIST_SHORT_ONLY = 'short_only'
|
||||
LIST_LONG_ONLY = 'long_only'
|
||||
|
||||
|
||||
def get_column_definitions(attr_map, long_listing):
|
||||
"""Return table headers and column names for a listing table.
|
||||
|
||||
:param attr_map: a list of table entry definitions.
|
||||
Each entry should be a tuple consisting of
|
||||
(API attribute name, header name, listing mode). For example:
|
||||
(('id', 'ID', LIST_BOTH),
|
||||
('name', 'Name', LIST_BOTH),
|
||||
('tenant_id', 'Project', LIST_LONG_ONLY))
|
||||
The third field of each tuple must be one of LIST_BOTH,
|
||||
LIST_LONG_ONLY (a corresponding column is shown only in a long mode), or
|
||||
LIST_SHORT_ONLY (a corresponding column is shown only in a short mode).
|
||||
:param long_listing: A boolean value which indicates a long listing
|
||||
or not. In most cases, parsed_args.long is passed to this argument.
|
||||
:return: A tuple of a list of table headers and a list of column names.
|
||||
"""
|
||||
|
||||
if long_listing:
|
||||
headers = [hdr for col, hdr, listing_mode in attr_map
|
||||
if listing_mode in (LIST_BOTH, LIST_LONG_ONLY)]
|
||||
columns = [col for col, hdr, listing_mode in attr_map
|
||||
if listing_mode in (LIST_BOTH, LIST_LONG_ONLY)]
|
||||
else:
|
||||
headers = [hdr for col, hdr, listing_mode in attr_map if listing_mode
|
||||
if listing_mode in (LIST_BOTH, LIST_SHORT_ONLY)]
|
||||
columns = [col for col, hdr, listing_mode in attr_map if listing_mode
|
||||
if listing_mode in (LIST_BOTH, LIST_SHORT_ONLY)]
|
||||
|
||||
return headers, columns
|
||||
|
||||
|
||||
def get_columns(item, attr_map=None):
|
||||
"""Return pair of resource attributes and corresponding display names.
|
||||
|
||||
Assume the following item and attr_map are passed.
|
||||
item: {'id': 'myid', 'name': 'myname',
|
||||
'foo': 'bar', 'tenant_id': 'mytenan'}
|
||||
attr_map:
|
||||
(('id', 'ID', LIST_BOTH),
|
||||
('name', 'Name', LIST_BOTH),
|
||||
('tenant_id', 'Project', LIST_LONG_ONLY))
|
||||
|
||||
This method returns:
|
||||
|
||||
(('id', 'name', 'tenant_id', 'foo'), # attributes
|
||||
('ID', 'Name', 'Project', 'foo') # display names
|
||||
|
||||
Both tuples of attributes and display names are sorted by display names
|
||||
in the alphabetical order.
|
||||
Attributes not found in a given attr_map are kept as-is.
|
||||
|
||||
:param item: a dictionary which represents a resource.
|
||||
Keys of the dictionary are expected to be attributes of the resource.
|
||||
Values are not referred to by this method.
|
||||
:param attr_map: a list of mapping from attribute to display name.
|
||||
The same format is used as for get_column_definitions attr_map.
|
||||
:return: A pair of tuple of attributes and tuple of display names.
|
||||
"""
|
||||
attr_map = attr_map or tuple([])
|
||||
_attr_map_dict = dict((col, hdr) for col, hdr, listing_mode in attr_map)
|
||||
|
||||
columns = [(column, _attr_map_dict.get(column, column))
|
||||
for column in item.keys()]
|
||||
columns = sorted(columns, key=operator.itemgetter(1))
|
||||
return (tuple(col[0] for col in columns),
|
||||
tuple(col[1] for col in columns))
|
||||
|
||||
|
||||
# TODO(amotoki): Use osc-lib version once osc-lib provides this.
|
||||
def add_project_owner_option_to_parser(parser):
|
||||
"""Register project and project domain options.
|
||||
|
@@ -13,6 +13,7 @@
|
||||
|
||||
from osc_lib.command import command
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.common import exceptions
|
||||
@@ -99,7 +100,7 @@ class CreateBgpPeer(command.ShowOne):
|
||||
attrs = _get_attrs(self.app.client_manager, parsed_args)
|
||||
body = {constants.BGP_PEER: attrs}
|
||||
obj = client.create_bgp_peer(body)[constants.BGP_PEER]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj)
|
||||
columns, display_columns = column_util.get_columns(obj)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -183,6 +184,6 @@ class ShowBgpPeer(command.ShowOne):
|
||||
id = client.find_resource(constants.BGP_PEER,
|
||||
parsed_args.bgp_peer)['id']
|
||||
obj = client.show_bgp_peer(id)[constants.BGP_PEER]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj)
|
||||
columns, display_columns = column_util.get_columns(obj)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
@@ -13,6 +13,7 @@
|
||||
|
||||
from osc_lib.command import command
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
@@ -149,7 +150,7 @@ class CreateBgpSpeaker(command.ShowOne):
|
||||
body = {}
|
||||
body[constants.BGP_SPEAKER] = attrs
|
||||
obj = client.create_bgp_speaker(body)[constants.BGP_SPEAKER]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj)
|
||||
columns, display_columns = column_util.get_columns(obj)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -315,6 +316,6 @@ class ShowBgpSpeaker(command.ShowOne):
|
||||
id = client.find_resource(constants.BGP_SPEAKER,
|
||||
parsed_args.bgp_speaker)['id']
|
||||
obj = client.show_bgp_speaker(id)[constants.BGP_SPEAKER]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj)
|
||||
columns, display_columns = column_util.get_columns(obj)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
@@ -18,6 +18,7 @@ import logging
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as osc_utils
|
||||
@@ -32,16 +33,16 @@ _formatters = {
|
||||
}
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('ingress_firewall_policy_id', 'Ingress Policy ID', osc_utils.LIST_BOTH),
|
||||
('egress_firewall_policy_id', 'Egress Policy ID', osc_utils.LIST_BOTH),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('status', 'Status', osc_utils.LIST_LONG_ONLY),
|
||||
('ports', 'Ports', osc_utils.LIST_LONG_ONLY),
|
||||
('admin_state_up', 'State', osc_utils.LIST_LONG_ONLY),
|
||||
('shared', 'Shared', osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('ingress_firewall_policy_id', 'Ingress Policy ID', column_util.LIST_BOTH),
|
||||
('egress_firewall_policy_id', 'Egress Policy ID', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('status', 'Status', column_util.LIST_LONG_ONLY),
|
||||
('ports', 'Ports', column_util.LIST_LONG_ONLY),
|
||||
('admin_state_up', 'State', column_util.LIST_LONG_ONLY),
|
||||
('shared', 'Shared', column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -201,7 +202,7 @@ class CreateFirewallGroup(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
obj = client.create_fwaas_firewall_group(
|
||||
{const.FWG: attrs})[const.FWG]
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return (display_columns, data)
|
||||
|
||||
@@ -254,7 +255,7 @@ class ListFirewallGroup(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_fwaas_firewall_groups()[const.FWGS]
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(
|
||||
s, columns, formatters=_formatters) for s in obj))
|
||||
@@ -313,7 +314,7 @@ class ShowFirewallGroup(command.ShowOne):
|
||||
fwg_id = client.find_resource(const.FWG, parsed_args.firewall_group,
|
||||
cmd_resource=const.CMD_FWG)['id']
|
||||
obj = client.show_fwaas_firewall_group(fwg_id)[const.FWG]
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return (display_columns, data)
|
||||
|
||||
|
@@ -21,6 +21,7 @@ import logging
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as osc_utils
|
||||
@@ -32,13 +33,13 @@ LOG = logging.getLogger(__name__)
|
||||
_formatters = {}
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('firewall_rules', 'Firewall Rules', osc_utils.LIST_BOTH),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('audited', 'Audited', osc_utils.LIST_LONG_ONLY),
|
||||
('shared', 'Shared', osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('firewall_rules', 'Firewall Rules', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('audited', 'Audited', column_util.LIST_LONG_ONLY),
|
||||
('shared', 'Shared', column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -155,7 +156,7 @@ class CreateFirewallPolicy(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
obj = client.create_fwaas_firewall_policy(
|
||||
{const.FWP: attrs})[const.FWP]
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return (display_columns, data)
|
||||
|
||||
@@ -297,7 +298,7 @@ class ListFirewallPolicy(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_fwaas_firewall_policies()[const.FWPS]
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(
|
||||
s, columns, formatters=_formatters) for s in obj))
|
||||
@@ -360,7 +361,7 @@ class ShowFirewallPolicy(command.ShowOne):
|
||||
parsed_args.firewall_policy,
|
||||
cmd_resource=const.CMD_FWP)['id']
|
||||
obj = client.show_fwaas_firewall_policy(fwp_id)[const.FWP]
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return (display_columns, data)
|
||||
|
||||
|
@@ -20,6 +20,7 @@ from cliff import columns as cliff_columns
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.common import utils as nc_utils
|
||||
@@ -31,21 +32,21 @@ LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('enabled', 'Enabled', osc_utils.LIST_BOTH),
|
||||
('summary', 'Summary', osc_utils.LIST_SHORT_ONLY),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('ip_version', 'IP Version', osc_utils.LIST_LONG_ONLY),
|
||||
('action', 'Action', osc_utils.LIST_LONG_ONLY),
|
||||
('protocol', 'Protocol', osc_utils.LIST_LONG_ONLY),
|
||||
('source_ip_address', 'Source IP Address', osc_utils.LIST_LONG_ONLY),
|
||||
('source_port', 'Source Port', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('enabled', 'Enabled', column_util.LIST_BOTH),
|
||||
('summary', 'Summary', column_util.LIST_SHORT_ONLY),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('ip_version', 'IP Version', column_util.LIST_LONG_ONLY),
|
||||
('action', 'Action', column_util.LIST_LONG_ONLY),
|
||||
('protocol', 'Protocol', column_util.LIST_LONG_ONLY),
|
||||
('source_ip_address', 'Source IP Address', column_util.LIST_LONG_ONLY),
|
||||
('source_port', 'Source Port', column_util.LIST_LONG_ONLY),
|
||||
('destination_ip_address', 'Destination IP Address',
|
||||
osc_utils.LIST_LONG_ONLY),
|
||||
('destination_port', 'Destination Port', osc_utils.LIST_LONG_ONLY),
|
||||
('shared', 'Shared', osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('destination_port', 'Destination Port', column_util.LIST_LONG_ONLY),
|
||||
('shared', 'Shared', column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -217,7 +218,7 @@ class CreateFirewallRule(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
obj = client.create_fwaas_firewall_rule(
|
||||
{const.FWR: attrs})[const.FWR]
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return display_columns, data
|
||||
|
||||
@@ -294,7 +295,7 @@ class ListFirewallRule(command.Lister):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_fwaas_firewall_rules()[const.FWRS]
|
||||
obj_extend = self.extend_list(obj, parsed_args)
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(
|
||||
s, columns, formatters=_formatters) for s in obj_extend))
|
||||
@@ -344,7 +345,7 @@ class ShowFirewallRule(command.ShowOne):
|
||||
const.FWR, parsed_args.firewall_rule,
|
||||
cmd_resource=const.CMD_FWR)['id']
|
||||
obj = client.show_fwaas_firewall_rule(fwr_id)[const.FWR]
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return (display_columns, data)
|
||||
|
||||
|
@@ -19,6 +19,7 @@ import copy
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
from oslo_log import log as logging
|
||||
|
||||
from neutronclient._i18n import _
|
||||
@@ -29,20 +30,20 @@ from neutronclient.osc import utils as osc_utils
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('enabled', 'Enabled', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('target_id', 'Target', osc_utils.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('resource_id', 'Resource', osc_utils.LIST_LONG_ONLY),
|
||||
('resource_type', 'Type', osc_utils.LIST_BOTH),
|
||||
('event', 'Event', osc_utils.LIST_LONG_ONLY),
|
||||
('summary', 'Summary', osc_utils.LIST_SHORT_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('enabled', 'Enabled', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('target_id', 'Target', column_util.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('resource_id', 'Resource', column_util.LIST_LONG_ONLY),
|
||||
('resource_type', 'Type', column_util.LIST_BOTH),
|
||||
('event', 'Event', column_util.LIST_LONG_ONLY),
|
||||
('summary', 'Summary', column_util.LIST_SHORT_ONLY),
|
||||
)
|
||||
|
||||
_attr_map_for_loggable = (
|
||||
('type', 'Supported types', osc_utils.LIST_BOTH),
|
||||
('type', 'Supported types', column_util.LIST_BOTH),
|
||||
)
|
||||
|
||||
NET_LOG = 'network_log'
|
||||
@@ -142,7 +143,7 @@ class CreateNetworkLog(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
obj = client.create_network_log({'log': attrs})['log']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return (display_columns, data)
|
||||
|
||||
@@ -195,7 +196,7 @@ class ListLoggableResource(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_network_loggable_resources()['loggable_resources']
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map_for_loggable, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(s, columns) for s in obj))
|
||||
|
||||
@@ -232,7 +233,7 @@ class ListNetworkLog(command.Lister):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_network_logs()['logs']
|
||||
obj_extend = self._extend_list(obj, parsed_args)
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (
|
||||
utils.get_dict_properties(s, columns) for s in obj_extend))
|
||||
@@ -284,6 +285,6 @@ class ShowNetworkLog(command.ShowOne):
|
||||
log_id = client.find_resource(
|
||||
'log', parsed_args.network_log, cmd_resource=NET_LOG)['id']
|
||||
obj = client.show_network_log(log_id)['log']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return (display_columns, data)
|
||||
|
@@ -21,6 +21,7 @@ from osc_lib.cli.parseractions import KeyValueAction
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils as osc_utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
@@ -29,20 +30,20 @@ from neutronclient.osc.v2.networking_bgpvpn import constants
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('name', 'Name', nc_osc_utils.LIST_BOTH),
|
||||
('type', 'Type', nc_osc_utils.LIST_BOTH),
|
||||
('route_targets', 'Route Targets', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('import_targets', 'Import Targets', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('export_targets', 'Export Targets', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('type', 'Type', column_util.LIST_BOTH),
|
||||
('route_targets', 'Route Targets', column_util.LIST_LONG_ONLY),
|
||||
('import_targets', 'Import Targets', column_util.LIST_LONG_ONLY),
|
||||
('export_targets', 'Export Targets', column_util.LIST_LONG_ONLY),
|
||||
('route_distinguishers', 'Route Distinguishers',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
('networks', 'Associated Networks', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('routers', 'Associated Routers', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('ports', 'Associated Ports', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('vni', 'VNI', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('local_pref', 'Local Pref', nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('networks', 'Associated Networks', column_util.LIST_LONG_ONLY),
|
||||
('routers', 'Associated Routers', column_util.LIST_LONG_ONLY),
|
||||
('ports', 'Associated Ports', column_util.LIST_LONG_ONLY),
|
||||
('vni', 'VNI', column_util.LIST_LONG_ONLY),
|
||||
('local_pref', 'Local Pref', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
_formatters = {
|
||||
'route_targets': format_columns.ListColumn,
|
||||
@@ -267,7 +268,7 @@ class CreateBgpvpn(command.ShowOne):
|
||||
attrs['tenant_id'] = project_id
|
||||
body = {constants.BGPVPN: attrs}
|
||||
obj = client.create_bgpvpn(body)[constants.BGPVPN]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = osc_utils.get_dict_properties(obj, columns,
|
||||
formatters=_formatters)
|
||||
return display_columns, data
|
||||
@@ -379,7 +380,7 @@ class ListBgpvpn(command.Lister):
|
||||
if parsed_args.property:
|
||||
params.update(parsed_args.property)
|
||||
objs = client.list_bgpvpns(**params)[constants.BGPVPNS]
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (osc_utils.get_dict_properties(
|
||||
s, columns, formatters=_formatters) for s in objs))
|
||||
@@ -401,7 +402,7 @@ class ShowBgpvpn(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
id = client.find_resource(constants.BGPVPN, parsed_args.bgpvpn)['id']
|
||||
obj = client.show_bgpvpn(id)[constants.BGPVPN]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = osc_utils.get_dict_properties(obj, columns,
|
||||
formatters=_formatters)
|
||||
return display_columns, data
|
||||
|
@@ -14,9 +14,9 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
from neutronclient.osc.v2.networking_bgpvpn import constants
|
||||
from neutronclient.osc.v2.networking_bgpvpn.resource_association import\
|
||||
CreateBgpvpnResAssoc
|
||||
@@ -34,10 +34,10 @@ class BgpvpnNetAssoc(object):
|
||||
_resource_plural = constants.NETWORK_ASSOCS
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(),
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
column_util.LIST_BOTH),
|
||||
)
|
||||
_formatters = {}
|
||||
|
||||
|
@@ -18,9 +18,9 @@ import logging
|
||||
|
||||
from osc_lib.cli import format_columns
|
||||
from osc_lib.cli import parseractions
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
from neutronclient.osc.v2.networking_bgpvpn import constants
|
||||
from neutronclient.osc.v2.networking_bgpvpn import resource_association
|
||||
|
||||
@@ -33,16 +33,16 @@ class BgpvpnPortAssoc(object):
|
||||
_resource_plural = constants.PORT_ASSOCS
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(),
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
column_util.LIST_BOTH),
|
||||
('prefix_routes', 'Prefix Routes (BGP LOCAL_PREF)',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('bgpvpn_routes', 'BGP VPN Routes (BGP LOCAL_PREF)',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('advertise_fixed_ips', "Advertise Port's Fixed IPs",
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
_formatters = {
|
||||
'prefix_routes': format_columns.ListColumn,
|
||||
|
@@ -20,6 +20,7 @@ from osc_lib.cli import parseractions
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils as osc_utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
@@ -83,8 +84,7 @@ class CreateBgpvpnResAssoc(command.ShowOne):
|
||||
transform = getattr(self, '_transform_resource', None)
|
||||
if callable(transform):
|
||||
transform(obj)
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj,
|
||||
self._attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, self._attr_map)
|
||||
data = osc_utils.get_dict_properties(obj, columns,
|
||||
formatters=self._formatters)
|
||||
return display_columns, data
|
||||
@@ -218,7 +218,7 @@ class ListBgpvpnResAssoc(command.Lister):
|
||||
transform = getattr(self, '_transform_resource', None)
|
||||
if callable(transform):
|
||||
[transform(obj) for obj in objs]
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
self._attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (osc_utils.get_dict_properties(
|
||||
s, columns, formatters=self._formatters) for s in objs))
|
||||
@@ -256,8 +256,7 @@ class ShowBgpvpnResAssoc(command.ShowOne):
|
||||
transform = getattr(self, '_transform_resource', None)
|
||||
if callable(transform):
|
||||
transform(obj)
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj,
|
||||
self._attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, self._attr_map)
|
||||
data = osc_utils.get_dict_properties(obj, columns,
|
||||
formatters=self._formatters)
|
||||
return display_columns, data
|
||||
|
@@ -14,9 +14,9 @@
|
||||
# under the License.
|
||||
#
|
||||
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
from neutronclient.osc.v2.networking_bgpvpn import constants
|
||||
from neutronclient.osc.v2.networking_bgpvpn.resource_association import\
|
||||
CreateBgpvpnResAssoc
|
||||
@@ -34,10 +34,10 @@ class BgpvpnRouterAssoc(object):
|
||||
_resource_plural = constants.ROUTER_ASSOCS
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(),
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
column_util.LIST_BOTH),
|
||||
)
|
||||
_formatters = {}
|
||||
|
||||
|
@@ -19,40 +19,40 @@ import logging
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.common import exceptions as nc_exc
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
resource = 'flow_classifier'
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('name', 'Name', nc_osc_utils.LIST_BOTH),
|
||||
('summary', 'Summary', nc_osc_utils.LIST_SHORT_ONLY),
|
||||
('protocol', 'Protocol', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('ethertype', 'Ethertype', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('summary', 'Summary', column_util.LIST_SHORT_ONLY),
|
||||
('protocol', 'Protocol', column_util.LIST_LONG_ONLY),
|
||||
('ethertype', 'Ethertype', column_util.LIST_LONG_ONLY),
|
||||
('source_ip_prefix', 'Source IP',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('destination_ip_prefix', 'Destination IP',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('logical_source_port', 'Logical Source Port',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('logical_destination_port', 'Logical Destination Port',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('source_port_range_min', 'Source Port Range Min',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('source_port_range_max', 'Source Port Range Max',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('destination_port_range_min', 'Destination Port Range Min',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('destination_port_range_max', 'Destination Port Range Max',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
('l7_parameters', 'L7 Parameters', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('description', 'Description', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('l7_parameters', 'L7 Parameters', column_util.LIST_LONG_ONLY),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ class CreateSfcFlowClassifier(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
body = {resource: attrs}
|
||||
obj = client.create_sfc_flow_classifier(body)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -200,7 +200,7 @@ class ListSfcFlowClassifier(command.Lister):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_sfc_flow_classifiers()
|
||||
obj_extend = self.extend_list(obj, parsed_args)
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(
|
||||
s, columns) for s in obj_extend))
|
||||
@@ -256,7 +256,7 @@ class ShowSfcFlowClassifier(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
fc_id = _get_id(client, parsed_args.flow_classifier, resource)
|
||||
obj = client.show_sfc_flow_classifier(fc_id)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
|
@@ -19,25 +19,25 @@ from osc_lib.cli import parseractions
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
resource = 'port_chain'
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('name', 'Name', nc_osc_utils.LIST_BOTH),
|
||||
('port_pair_groups', 'Port Pair Groups', nc_osc_utils.LIST_BOTH),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('port_pair_groups', 'Port Pair Groups', column_util.LIST_BOTH),
|
||||
('flow_classifiers', 'Flow Classifiers',
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
column_util.LIST_BOTH),
|
||||
('chain_parameters', 'Chain Parameters',
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
('description', 'Description', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('chain_id', 'Chain ID', nc_osc_utils.LIST_BOTH),
|
||||
('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('chain_id', 'Chain ID', column_util.LIST_BOTH),
|
||||
('project_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ class CreateSfcPortChain(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
body = {resource: attrs}
|
||||
obj = client.create_sfc_port_chain(body)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -131,7 +131,7 @@ class ListSfcPortChain(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
data = client.list_sfc_port_chains()
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers,
|
||||
(utils.get_dict_properties(s, columns)
|
||||
@@ -254,7 +254,7 @@ class ShowSfcPortChain(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
pc_id = _get_id(client, parsed_args.port_chain, resource)
|
||||
obj = client.show_sfc_port_chain(pc_id)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
|
@@ -19,23 +19,23 @@ from osc_lib.cli import parseractions
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
resource = 'port_pair'
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('name', 'Name', nc_osc_utils.LIST_BOTH),
|
||||
('ingress', 'Ingress Logical Port', nc_osc_utils.LIST_BOTH),
|
||||
('egress', 'Egress Logical Port', nc_osc_utils.LIST_BOTH),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('ingress', 'Ingress Logical Port', column_util.LIST_BOTH),
|
||||
('egress', 'Egress Logical Port', column_util.LIST_BOTH),
|
||||
('service_function_parameters', 'Service Function Parameters',
|
||||
nc_osc_utils.LIST_LONG_ONLY),
|
||||
('description', 'Description', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ class CreateSfcPortPair(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
body = {resource: attrs}
|
||||
obj = client.create_sfc_port_pair(body)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -125,7 +125,7 @@ class ListSfcPortPair(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
data = client.list_sfc_port_pairs()
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers,
|
||||
(utils.get_dict_properties(
|
||||
@@ -183,7 +183,7 @@ class ShowSfcPortPair(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
port_pair_id = _get_id(client, parsed_args.port_pair, resource)
|
||||
obj = client.show_sfc_port_pair(port_pair_id)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
|
@@ -19,24 +19,24 @@ from osc_lib.cli import parseractions
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
resource = 'port_pair_group'
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('name', 'Name', nc_osc_utils.LIST_BOTH),
|
||||
('port_pairs', 'Port Pair', nc_osc_utils.LIST_BOTH),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('port_pairs', 'Port Pair', column_util.LIST_BOTH),
|
||||
('port_pair_group_parameters', 'Port Pair Group Parameters',
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
('description', 'Description', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('group_id', 'Loadbalance ID', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('tap_enabled', 'Tap Enabled', nc_osc_utils.LIST_BOTH)
|
||||
column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('group_id', 'Loadbalance ID', column_util.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('tap_enabled', 'Tap Enabled', column_util.LIST_BOTH)
|
||||
)
|
||||
|
||||
|
||||
@@ -89,7 +89,7 @@ class CreateSfcPortPairGroup(command.ShowOne):
|
||||
attrs = _get_common_attrs(self.app.client_manager, parsed_args)
|
||||
body = {resource: attrs}
|
||||
obj = client.create_sfc_port_pair_group(body)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -135,7 +135,7 @@ class ListSfcPortPairGroup(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
data = client.list_sfc_port_pair_groups()
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers,
|
||||
(utils.get_dict_properties(
|
||||
@@ -217,7 +217,7 @@ class ShowSfcPortPairGroup(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
ppg_id = _get_id(client, parsed_args.port_pair_group, resource)
|
||||
obj = client.show_sfc_port_pair_group(ppg_id)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
|
@@ -17,20 +17,20 @@ import logging
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient._i18n import _
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
resource = 'service_graph'
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('name', 'Name', nc_osc_utils.LIST_BOTH),
|
||||
('port_chains', 'Branching Points', nc_osc_utils.LIST_BOTH),
|
||||
('description', 'Description', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('port_chains', 'Branching Points', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('project_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ class CreateSfcServiceGraph(command.ShowOne):
|
||||
try:
|
||||
body = {resource: attrs}
|
||||
obj = client.create_sfc_service_graph(body)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
except Exception as e:
|
||||
@@ -140,7 +140,7 @@ class ListSfcServiceGraph(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
data = client.list_sfc_service_graphs()
|
||||
headers, columns = nc_osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers,
|
||||
(utils.get_dict_properties(s, columns)
|
||||
@@ -163,7 +163,7 @@ class ShowSfcServiceGraph(command.ShowOne):
|
||||
client = self.app.client_manager.neutronclient
|
||||
sg_id = _get_id(client, parsed_args.service_graph, resource)
|
||||
obj = client.show_sfc_service_graph(sg_id)[resource]
|
||||
columns, display_columns = nc_osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
|
@@ -17,6 +17,7 @@
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
from oslo_log import log as logging
|
||||
|
||||
from neutronclient._i18n import _
|
||||
@@ -26,12 +27,12 @@ from neutronclient.osc import utils as osc_utils
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('type', 'Type', osc_utils.LIST_BOTH),
|
||||
('endpoints', 'Endpoints', osc_utils.LIST_BOTH),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('type', 'Type', column_util.LIST_BOTH),
|
||||
('endpoints', 'Endpoints', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -98,7 +99,7 @@ class CreateEndpointGroup(command.ShowOne):
|
||||
attrs['endpoints'] = parsed_args.endpoints
|
||||
obj = client.create_endpoint_group(
|
||||
{'endpoint_group': attrs})['endpoint_group']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -154,7 +155,7 @@ class ListEndpointGroup(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_endpoint_groups()['endpoint_groups']
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(s, columns) for s in obj))
|
||||
|
||||
@@ -211,6 +212,6 @@ class ShowEndpointGroup(command.ShowOne):
|
||||
'endpoint_group', parsed_args.endpoint_group,
|
||||
cmd_resource='endpoint_group')['id']
|
||||
obj = client.show_endpoint_group(endpoint_id)['endpoint_group']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return (display_columns, data)
|
||||
|
@@ -17,6 +17,7 @@
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
from oslo_log import log as logging
|
||||
|
||||
from neutronclient._i18n import _
|
||||
@@ -28,17 +29,17 @@ from neutronclient.osc.v2.vpnaas import utils as vpn_utils
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('auth_algorithm', 'Authentication Algorithm', osc_utils.LIST_BOTH),
|
||||
('encryption_algorithm', 'Encryption Algorithm', osc_utils.LIST_BOTH),
|
||||
('ike_version', 'IKE Version', osc_utils.LIST_BOTH),
|
||||
('pfs', 'Perfect Forward Secrecy (PFS)', osc_utils.LIST_BOTH),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('auth_algorithm', 'Authentication Algorithm', column_util.LIST_BOTH),
|
||||
('encryption_algorithm', 'Encryption Algorithm', column_util.LIST_BOTH),
|
||||
('ike_version', 'IKE Version', column_util.LIST_BOTH),
|
||||
('pfs', 'Perfect Forward Secrecy (PFS)', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('phase1_negotiation_mode', 'Phase1 Negotiation Mode',
|
||||
osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('lifetime', 'Lifetime', osc_utils.LIST_LONG_ONLY),
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('lifetime', 'Lifetime', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -130,7 +131,7 @@ class CreateIKEPolicy(command.ShowOne):
|
||||
if parsed_args.name:
|
||||
attrs['name'] = str(parsed_args.name)
|
||||
obj = client.create_ikepolicy({'ikepolicy': attrs})['ikepolicy']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -183,7 +184,7 @@ class ListIKEPolicy(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_ikepolicies()['ikepolicies']
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(s, columns) for s in obj))
|
||||
|
||||
@@ -238,6 +239,6 @@ class ShowIKEPolicy(command.ShowOne):
|
||||
'ikepolicy', parsed_args.ikepolicy,
|
||||
cmd_resource='ikepolicy')['id']
|
||||
obj = client.show_ikepolicy(ike_id)['ikepolicy']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return (display_columns, data)
|
||||
|
@@ -18,6 +18,7 @@ from osc_lib.cli import format_columns
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
from oslo_log import log as logging
|
||||
|
||||
from neutronclient._i18n import _
|
||||
@@ -35,26 +36,27 @@ _formatters = {
|
||||
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('peer_address', 'Peer Address', osc_utils.LIST_BOTH),
|
||||
('auth_mode', 'Authentication Algorithm', osc_utils.LIST_BOTH),
|
||||
('status', 'Status', osc_utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('peer_cidrs', 'Peer CIDRs', osc_utils.LIST_LONG_ONLY),
|
||||
('vpnservice_id', 'VPN Service', osc_utils.LIST_LONG_ONLY),
|
||||
('ipsecpolicy_id', 'IPSec Policy', osc_utils.LIST_LONG_ONLY),
|
||||
('ikepolicy_id', 'IKE Policy', osc_utils.LIST_LONG_ONLY),
|
||||
('mtu', 'MTU', osc_utils.LIST_LONG_ONLY),
|
||||
('initiator', 'Initiator', osc_utils.LIST_LONG_ONLY),
|
||||
('admin_state_up', 'State', osc_utils.LIST_LONG_ONLY),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('psk', 'Pre-shared Key', osc_utils.LIST_LONG_ONLY),
|
||||
('route_mode', 'Route Mode', osc_utils.LIST_LONG_ONLY),
|
||||
('local_id', 'Local ID', osc_utils.LIST_LONG_ONLY),
|
||||
('peer_id', 'Peer ID', osc_utils.LIST_LONG_ONLY),
|
||||
('local_ep_group_id', 'Local Endpoint Group ID', osc_utils.LIST_LONG_ONLY),
|
||||
('peer_ep_group_id', 'Peer Endpoint Group ID', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('peer_address', 'Peer Address', column_util.LIST_BOTH),
|
||||
('auth_mode', 'Authentication Algorithm', column_util.LIST_BOTH),
|
||||
('status', 'Status', column_util.LIST_BOTH),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('peer_cidrs', 'Peer CIDRs', column_util.LIST_LONG_ONLY),
|
||||
('vpnservice_id', 'VPN Service', column_util.LIST_LONG_ONLY),
|
||||
('ipsecpolicy_id', 'IPSec Policy', column_util.LIST_LONG_ONLY),
|
||||
('ikepolicy_id', 'IKE Policy', column_util.LIST_LONG_ONLY),
|
||||
('mtu', 'MTU', column_util.LIST_LONG_ONLY),
|
||||
('initiator', 'Initiator', column_util.LIST_LONG_ONLY),
|
||||
('admin_state_up', 'State', column_util.LIST_LONG_ONLY),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('psk', 'Pre-shared Key', column_util.LIST_LONG_ONLY),
|
||||
('route_mode', 'Route Mode', column_util.LIST_LONG_ONLY),
|
||||
('local_id', 'Local ID', column_util.LIST_LONG_ONLY),
|
||||
('peer_id', 'Peer ID', column_util.LIST_LONG_ONLY),
|
||||
('local_ep_group_id', 'Local Endpoint Group ID',
|
||||
column_util.LIST_LONG_ONLY),
|
||||
('peer_ep_group_id', 'Peer Endpoint Group ID', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -239,7 +241,7 @@ class CreateIPsecSiteConnection(command.ShowOne):
|
||||
raise exceptions.CommandError(message)
|
||||
obj = client.create_ipsec_site_connection(
|
||||
{'ipsec_site_connection': attrs})['ipsec_site_connection']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return display_columns, data
|
||||
|
||||
@@ -296,7 +298,7 @@ class ListIPsecSiteConnection(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_ipsec_site_connections()['ipsec_site_connections']
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(
|
||||
s, columns, formatters=_formatters) for s in obj))
|
||||
@@ -367,6 +369,6 @@ class ShowIPsecSiteConnection(command.ShowOne):
|
||||
cmd_resource='ipsec_site_connection')['id']
|
||||
obj = client.show_ipsec_site_connection(
|
||||
ipsec_site_id)['ipsec_site_connection']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns, formatters=_formatters)
|
||||
return (display_columns, data)
|
||||
|
@@ -17,6 +17,7 @@
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
from oslo_log import log as logging
|
||||
|
||||
from neutronclient._i18n import _
|
||||
@@ -28,16 +29,16 @@ from neutronclient.osc.v2.vpnaas import utils as vpn_utils
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('auth_algorithm', 'Authentication Algorithm', osc_utils.LIST_BOTH),
|
||||
('encapsulation_mode', 'Encapsulation Mode', osc_utils.LIST_BOTH),
|
||||
('transform_protocol', 'Transform Protocol', osc_utils.LIST_BOTH),
|
||||
('encryption_algorithm', 'Encryption Algorithm', osc_utils.LIST_BOTH),
|
||||
('pfs', 'Perfect Forward Secrecy (PFS)', osc_utils.LIST_LONG_ONLY),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('lifetime', 'Lifetime', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('auth_algorithm', 'Authentication Algorithm', column_util.LIST_BOTH),
|
||||
('encapsulation_mode', 'Encapsulation Mode', column_util.LIST_BOTH),
|
||||
('transform_protocol', 'Transform Protocol', column_util.LIST_BOTH),
|
||||
('encryption_algorithm', 'Encryption Algorithm', column_util.LIST_BOTH),
|
||||
('pfs', 'Perfect Forward Secrecy (PFS)', column_util.LIST_LONG_ONLY),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('lifetime', 'Lifetime', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -128,7 +129,7 @@ class CreateIPsecPolicy(command.ShowOne):
|
||||
if parsed_args.name:
|
||||
attrs['name'] = str(parsed_args.name)
|
||||
obj = client.create_ipsecpolicy({'ipsecpolicy': attrs})['ipsecpolicy']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -182,7 +183,7 @@ class ListIPsecPolicy(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_ipsecpolicies()['ipsecpolicies']
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(s, columns) for s in obj))
|
||||
|
||||
@@ -237,6 +238,6 @@ class ShowIPsecPolicy(command.ShowOne):
|
||||
'ipsecpolicy', parsed_args.ipsecpolicy,
|
||||
cmd_resource='ipsecpolicy')['id']
|
||||
obj = client.show_ipsecpolicy(ipsec_id)['ipsecpolicy']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return (display_columns, data)
|
||||
|
@@ -17,6 +17,7 @@
|
||||
from osc_lib.command import command
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
from oslo_log import log as logging
|
||||
|
||||
from neutronclient._i18n import _
|
||||
@@ -26,15 +27,15 @@ from neutronclient.osc import utils as osc_utils
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', osc_utils.LIST_BOTH),
|
||||
('name', 'Name', osc_utils.LIST_BOTH),
|
||||
('router_id', 'Router', osc_utils.LIST_BOTH),
|
||||
('subnet_id', 'Subnet', osc_utils.LIST_BOTH),
|
||||
('flavor_id', 'Flavor', osc_utils.LIST_BOTH),
|
||||
('admin_state_up', 'State', osc_utils.LIST_BOTH),
|
||||
('status', 'Status', osc_utils.LIST_BOTH),
|
||||
('description', 'Description', osc_utils.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('name', 'Name', column_util.LIST_BOTH),
|
||||
('router_id', 'Router', column_util.LIST_BOTH),
|
||||
('subnet_id', 'Subnet', column_util.LIST_BOTH),
|
||||
('flavor_id', 'Flavor', column_util.LIST_BOTH),
|
||||
('admin_state_up', 'State', column_util.LIST_BOTH),
|
||||
('status', 'Status', column_util.LIST_BOTH),
|
||||
('description', 'Description', column_util.LIST_LONG_ONLY),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
)
|
||||
|
||||
|
||||
@@ -121,7 +122,7 @@ class CreateVPNService(command.ShowOne):
|
||||
parsed_args.router).id
|
||||
attrs['router_id'] = _router_id
|
||||
obj = client.create_vpnservice({'vpnservice': attrs})['vpnservice']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return display_columns, data
|
||||
|
||||
@@ -175,7 +176,7 @@ class ListVPNService(command.Lister):
|
||||
def take_action(self, parsed_args):
|
||||
client = self.app.client_manager.neutronclient
|
||||
obj = client.list_vpnservices()['vpnservices']
|
||||
headers, columns = osc_utils.get_column_definitions(
|
||||
headers, columns = column_util.get_column_definitions(
|
||||
_attr_map, long_listing=parsed_args.long)
|
||||
return (headers, (utils.get_dict_properties(s, columns) for s in obj))
|
||||
|
||||
@@ -230,6 +231,6 @@ class ShowVPNService(command.ShowOne):
|
||||
'vpnservice', parsed_args.vpnservice,
|
||||
cmd_resource='vpnservice')['id']
|
||||
obj = client.show_vpnservice(vpn_id)['vpnservice']
|
||||
columns, display_columns = osc_utils.get_columns(obj, _attr_map)
|
||||
columns, display_columns = column_util.get_columns(obj, _attr_map)
|
||||
data = utils.get_dict_properties(obj, columns)
|
||||
return (display_columns, data)
|
||||
|
@@ -1,60 +0,0 @@
|
||||
# Copyright 2016 NEC Corporation
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
import testtools
|
||||
|
||||
from neutronclient.osc import utils
|
||||
|
||||
|
||||
class TestUtils(testtools.TestCase):
|
||||
|
||||
def test_get_column_definitions(self):
|
||||
attr_map = (
|
||||
('id', 'ID', utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', utils.LIST_LONG_ONLY),
|
||||
('name', 'Name', utils.LIST_BOTH),
|
||||
('summary', 'Summary', utils.LIST_SHORT_ONLY),
|
||||
)
|
||||
headers, columns = utils.get_column_definitions(attr_map,
|
||||
long_listing=False)
|
||||
self.assertEqual(['id', 'name', 'summary'], columns)
|
||||
self.assertEqual(['ID', 'Name', 'Summary'], headers)
|
||||
|
||||
def test_get_column_definitions_long(self):
|
||||
attr_map = (
|
||||
('id', 'ID', utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', utils.LIST_LONG_ONLY),
|
||||
('name', 'Name', utils.LIST_BOTH),
|
||||
('summary', 'Summary', utils.LIST_SHORT_ONLY),
|
||||
)
|
||||
headers, columns = utils.get_column_definitions(attr_map,
|
||||
long_listing=True)
|
||||
self.assertEqual(['id', 'tenant_id', 'name'], columns)
|
||||
self.assertEqual(['ID', 'Project', 'Name'], headers)
|
||||
|
||||
def test_get_columns(self):
|
||||
item = {
|
||||
'id': 'test-id',
|
||||
'tenant_id': 'test-tenant_id',
|
||||
# 'name' is not included
|
||||
'foo': 'bar', # unknown attribute
|
||||
}
|
||||
attr_map = (
|
||||
('id', 'ID', utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', utils.LIST_LONG_ONLY),
|
||||
('name', 'Name', utils.LIST_BOTH),
|
||||
)
|
||||
columns, display_names = utils.get_columns(item, attr_map)
|
||||
self.assertEqual(tuple(['id', 'tenant_id', 'foo']), columns)
|
||||
self.assertEqual(tuple(['ID', 'Project', 'foo']), display_names)
|
@@ -17,6 +17,7 @@
|
||||
import copy
|
||||
|
||||
import mock
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
from neutronclient.osc.v2.networking_bgpvpn import constants
|
||||
@@ -106,10 +107,10 @@ class BgpvpnFakeAssoc(object):
|
||||
_resource_plural = '%ss' % _resource
|
||||
|
||||
_attr_map = (
|
||||
('id', 'ID', nc_osc_utils.LIST_BOTH),
|
||||
('tenant_id', 'Project', nc_osc_utils.LIST_LONG_ONLY),
|
||||
('id', 'ID', column_util.LIST_BOTH),
|
||||
('tenant_id', 'Project', column_util.LIST_LONG_ONLY),
|
||||
('%s_id' % _assoc_res_name, '%s ID' % _assoc_res_name.capitalize(),
|
||||
nc_osc_utils.LIST_BOTH),
|
||||
column_util.LIST_BOTH),
|
||||
)
|
||||
_formatters = {}
|
||||
|
||||
|
@@ -20,25 +20,25 @@ import operator
|
||||
import mock
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils as osc_utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
from neutronclient.osc.v2.networking_bgpvpn import bgpvpn
|
||||
from neutronclient.osc.v2.networking_bgpvpn import constants
|
||||
from neutronclient.tests.unit.osc.v2.networking_bgpvpn import fakes
|
||||
|
||||
|
||||
columns_short = tuple(col for col, _, listing_mode in bgpvpn._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_SHORT_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_SHORT_ONLY))
|
||||
columns_long = tuple(col for col, _, listing_mode in bgpvpn._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_LONG_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_LONG_ONLY))
|
||||
headers_short = tuple(head for _, head, listing_mode in bgpvpn._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_SHORT_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_SHORT_ONLY))
|
||||
headers_long = tuple(head for _, head, listing_mode in bgpvpn._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_LONG_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_LONG_ONLY))
|
||||
sorted_attr_map = sorted(bgpvpn._attr_map, key=operator.itemgetter(1))
|
||||
sorted_columns = tuple(col for col, _, _ in sorted_attr_map)
|
||||
sorted_headers = tuple(head for _, head, _ in sorted_attr_map)
|
||||
|
@@ -20,27 +20,27 @@ import operator
|
||||
import mock
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils as osc_utils
|
||||
from osc_lib.utils import columns as column_util
|
||||
|
||||
from neutronclient.osc import utils as nc_osc_utils
|
||||
from neutronclient.tests.unit.osc.v2.networking_bgpvpn import fakes
|
||||
|
||||
|
||||
columns_short = tuple(col for col, _, listing_mode
|
||||
in fakes.BgpvpnFakeAssoc._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_SHORT_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_SHORT_ONLY))
|
||||
columns_long = tuple(col for col, _, listing_mode
|
||||
in fakes.BgpvpnFakeAssoc._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_LONG_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_LONG_ONLY))
|
||||
headers_short = tuple(head for _, head, listing_mode
|
||||
in fakes.BgpvpnFakeAssoc._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_SHORT_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_SHORT_ONLY))
|
||||
headers_long = tuple(head for _, head, listing_mode
|
||||
in fakes.BgpvpnFakeAssoc._attr_map
|
||||
if listing_mode in (nc_osc_utils.LIST_BOTH,
|
||||
nc_osc_utils.LIST_LONG_ONLY))
|
||||
if listing_mode in (column_util.LIST_BOTH,
|
||||
column_util.LIST_LONG_ONLY))
|
||||
sorted_attr_map = sorted(fakes.BgpvpnFakeAssoc._attr_map,
|
||||
key=operator.itemgetter(1))
|
||||
sorted_columns = tuple(col for col, _, _ in sorted_attr_map)
|
||||
|
Reference in New Issue
Block a user