From c53de3214ed74ffd5b53e6d1cf8a0c0fa73dac99 Mon Sep 17 00:00:00 2001 From: Jim Rollenhagen Date: Mon, 1 Apr 2019 15:41:17 -0400 Subject: Ignore case in security group rule --ethertype Currently, this only allows 'IPv4' or 'IPv6', but one can imagine a user frequently typing e.g. 'ipv6' and getting frustrated. Allow any case, while still keeping correct case for the choices and the value sent to Neutron. Change-Id: I70ce1f43d32aad01b174437d03c984a5b608b161 --- openstackclient/network/v2/security_group_rule.py | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'openstackclient/network') diff --git a/openstackclient/network/v2/security_group_rule.py b/openstackclient/network/v2/security_group_rule.py index ca0e00b9..961125a9 100644 --- a/openstackclient/network/v2/security_group_rule.py +++ b/openstackclient/network/v2/security_group_rule.py @@ -73,6 +73,14 @@ def _convert_to_lowercase(string): return string.lower() +def _convert_ipvx_case(string): + if string.lower() == 'ipv4': + return 'IPv4' + if string.lower() == 'ipv6': + return 'IPv6' + return string + + def _is_icmp_protocol(protocol): # NOTE(rtheis): Neutron has deprecated protocol icmpv6. # However, while the OSC CLI doesn't document the protocol, @@ -183,6 +191,7 @@ class CreateSecurityGroupRule(common.NetworkAndComputeShowOne): '--ethertype', metavar='', choices=['IPv4', 'IPv6'], + type=_convert_ipvx_case, help=_("Ethertype of network traffic " "(IPv4, IPv6; default: based on IP protocol)") ) -- cgit v1.2.1