diff --git a/neutron_lib/api/definitions/constants.py b/neutron_lib/api/definitions/constants.py index 6e97f08..3747718 100644 --- a/neutron_lib/api/definitions/constants.py +++ b/neutron_lib/api/definitions/constants.py @@ -12,6 +12,8 @@ # under the License. # neutron-fwaas constants +from neutron_lib import constants + FIREWALL_GROUPS = 'firewall_groups' FIREWALL_POLICIES = 'firewall_policies' FIREWALL_RULES = 'firewall_rules' @@ -21,3 +23,7 @@ FWAAS_ALLOW = "allow" FWAAS_DENY = "deny" FWAAS_REJECT = "reject" FW_VALID_ACTION_VALUES = [FWAAS_ALLOW, FWAAS_DENY, FWAAS_REJECT] + +# Firewall Protocol List + +FW_PROTOCOL_VALUES = list(constants.IPTABLES_PROTOCOL_MAP.keys()) + [None] diff --git a/neutron_lib/api/definitions/firewall.py b/neutron_lib/api/definitions/firewall.py index a232d35..b8ce2da 100644 --- a/neutron_lib/api/definitions/firewall.py +++ b/neutron_lib/api/definitions/firewall.py @@ -12,7 +12,6 @@ from neutron_lib.api import converters from neutron_lib.api.definitions import constants as api_const -from neutron_lib import constants from neutron_lib.db import constants as db_const # The alias of the extension. @@ -65,11 +64,11 @@ RESOURCE_ATTRIBUTE_MAP = { 'convert_to': converters.convert_to_boolean, 'is_visible': True, 'required_by_policy': True, 'enforce_policy': True}, - 'protocol': {'allow_post': True, 'allow_put': True, - 'is_visible': True, 'default': None, - 'convert_to': converters.convert_to_protocol, - 'validate': {'type:values': - constants.IPTABLES_PROTOCOL_MAP}}, + 'protocol': { + 'allow_post': True, 'allow_put': True, + 'is_visible': True, 'default': None, + 'convert_to': converters.convert_to_protocol, + 'validate': {'type:values': api_const.FW_PROTOCOL_VALUES}}, 'ip_version': {'allow_post': True, 'allow_put': True, 'default': 4, 'convert_to': converters.convert_to_int, 'validate': {'type:values': [4, 6]}, diff --git a/neutron_lib/api/definitions/firewall_v2.py b/neutron_lib/api/definitions/firewall_v2.py index 40634cb..60ed405 100644 --- a/neutron_lib/api/definitions/firewall_v2.py +++ b/neutron_lib/api/definitions/firewall_v2.py @@ -12,7 +12,6 @@ from neutron_lib.api import converters from neutron_lib.api.definitions import constants as api_const -from neutron_lib import constants from neutron_lib.db import constants as db_const # The alias of the extension. @@ -66,11 +65,11 @@ RESOURCE_ATTRIBUTE_MAP = { 'default': False, 'is_visible': True, 'convert_to': converters.convert_to_boolean, 'required_by_policy': True, 'enforce_policy': True}, - 'protocol': {'allow_post': True, 'allow_put': True, - 'is_visible': True, 'default': None, - 'convert_to': converters.convert_to_protocol, - 'validate': {'type:values': - constants.IPTABLES_PROTOCOL_MAP}}, + 'protocol': { + 'allow_post': True, 'allow_put': True, + 'is_visible': True, 'default': None, + 'convert_to': converters.convert_to_protocol, + 'validate': {'type:values': api_const.FW_PROTOCOL_VALUES}}, 'ip_version': {'allow_post': True, 'allow_put': True, 'default': 4, 'convert_to': converters.convert_to_int, 'validate': {'type:values': [4, 6]},