diff --git a/neutron_lib/api/definitions/__init__.py b/neutron_lib/api/definitions/__init__.py index 1fbc15042..55df729a6 100644 --- a/neutron_lib/api/definitions/__init__.py +++ b/neutron_lib/api/definitions/__init__.py @@ -33,6 +33,7 @@ from neutron_lib.api.definitions import l2_adjacency from neutron_lib.api.definitions import l3 from neutron_lib.api.definitions import l3_ext_gw_mode from neutron_lib.api.definitions import l3_ext_ha_mode +from neutron_lib.api.definitions import l3_flavors from neutron_lib.api.definitions import logging from neutron_lib.api.definitions import logging_resource from neutron_lib.api.definitions import network @@ -81,6 +82,7 @@ _ALL_API_DEFINITIONS = { l3, l3_ext_gw_mode, l3_ext_ha_mode, + l3_flavors, logging, logging_resource, network, diff --git a/neutron_lib/api/definitions/l3_flavors.py b/neutron_lib/api/definitions/l3_flavors.py new file mode 100644 index 000000000..6ef438107 --- /dev/null +++ b/neutron_lib/api/definitions/l3_flavors.py @@ -0,0 +1,41 @@ +# 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. + +from neutron_lib.api.definitions import l3 +from neutron_lib import constants + + +FLAVOR_ID = 'flavor_id' + +ALIAS = 'l3-flavors' +IS_SHIM_EXTENSION = False +IS_STANDARD_ATTR_EXTENSION = False +NAME = 'Router Flavor Extension' +API_PREFIX = '' +DESCRIPTION = 'Flavor support for routers.' +UPDATED_TIMESTAMP = '2016-05-17T00:00:00-00:00' +RESOURCE_NAME = l3.ROUTER +COLLECTION_NAME = l3.ROUTERS +RESOURCE_ATTRIBUTE_MAP = { + COLLECTION_NAME: { + FLAVOR_ID: { + 'allow_post': True, 'allow_put': False, + 'default': constants.ATTR_NOT_SPECIFIED, + 'is_visible': True, 'enforce_policy': True + } + } +} +SUB_RESOURCE_ATTRIBUTE_MAP = {} +ACTION_MAP = {} +REQUIRED_EXTENSIONS = ['flavors', l3.ALIAS] +OPTIONAL_EXTENSIONS = [] +ACTION_STATUS = {} diff --git a/neutron_lib/tests/unit/api/definitions/test_l3_flavors.py b/neutron_lib/tests/unit/api/definitions/test_l3_flavors.py new file mode 100644 index 000000000..ed3a20ee9 --- /dev/null +++ b/neutron_lib/tests/unit/api/definitions/test_l3_flavors.py @@ -0,0 +1,20 @@ +# 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. + +from neutron_lib.api.definitions import l3_flavors +from neutron_lib.tests.unit.api.definitions import base + + +class L3FlavorsDefinitionTestCase(base.DefinitionBaseTestCase): + extension_module = l3_flavors + extension_resources = () + extension_attributes = (l3_flavors.FLAVOR_ID,) diff --git a/releasenotes/notes/rehome-l3flavors-apidef-da5e9b5d46df5cc7.yaml b/releasenotes/notes/rehome-l3flavors-apidef-da5e9b5d46df5cc7.yaml new file mode 100644 index 000000000..090bf2a4d --- /dev/null +++ b/releasenotes/notes/rehome-l3flavors-apidef-da5e9b5d46df5cc7.yaml @@ -0,0 +1,4 @@ +--- +features: + - The ``l3-flavors`` extension's API definition is now available in + ``neutron_lib.api.definitions.l3_flavors``.