diff options
| author | Sławek Kapłoński <slawek@kaplonski.pl> | 2017-09-07 20:34:15 +0000 |
|---|---|---|
| committer | Dean Troyer <dtroyer@gmail.com> | 2017-11-05 17:52:08 -0600 |
| commit | 07f0c7aa55920d65035124c9e8bfe8452356c811 (patch) | |
| tree | 90e16fb733a172c49990df7bd3d07b79d9642f3c /openstackclient/network | |
| parent | 8efed05e823eb76f309c0fee821fdc67a9886a3a (diff) | |
| download | python-openstackclient-07f0c7aa55920d65035124c9e8bfe8452356c811.tar.gz | |
Display Network QoS rule type details
Neutron API now supports getting details of supported
QoS rule type.
This patch adds support for this feature to OpenStack client.
Change-Id: I74d16563ce2236a7c899f5994f1dab43ace02138
Depends-On: I448b5d4f8e4ef42eafe50d9d6c63d0be666f98fc
Related-Bug: #1686035
Diffstat (limited to 'openstackclient/network')
| -rw-r--r-- | openstackclient/network/v2/network_qos_rule_type.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/openstackclient/network/v2/network_qos_rule_type.py b/openstackclient/network/v2/network_qos_rule_type.py index 52f8e235..7b92c8ad 100644 --- a/openstackclient/network/v2/network_qos_rule_type.py +++ b/openstackclient/network/v2/network_qos_rule_type.py @@ -17,6 +17,17 @@ from osc_lib.command import command from osc_lib import utils from openstackclient.i18n import _ +from openstackclient.network import sdk_utils + + +def _get_columns(item): + column_map = { + "type": "rule_type_name", + "drivers": "drivers", + } + invisible_columns = ["id", "name"] + return sdk_utils.get_osc_show_columns_for_sdk_resource( + item, column_map, invisible_columns) class ListNetworkQosRuleType(command.Lister): @@ -36,3 +47,23 @@ class ListNetworkQosRuleType(command.Lister): (utils.get_item_properties( s, columns, formatters={}, ) for s in data)) + + +class ShowNetworkQosRuleType(command.ShowOne): + _description = _("Show details about supported QoS rule type") + + def get_parser(self, prog_name): + parser = super(ShowNetworkQosRuleType, self).get_parser(prog_name) + parser.add_argument( + 'rule_type', + metavar="<qos-rule-type-name>", + help=_("Name of QoS rule type") + ) + return parser + + def take_action(self, parsed_args): + client = self.app.client_manager.network + obj = client.get_qos_rule_type(parsed_args.rule_type) + display_columns, columns = _get_columns(obj) + data = utils.get_item_properties(obj, columns) + return display_columns, data |
