diff --git a/neutron_lib/api/definitions/__init__.py b/neutron_lib/api/definitions/__init__.py index 79ab18afe..dfa72429b 100644 --- a/neutron_lib/api/definitions/__init__.py +++ b/neutron_lib/api/definitions/__init__.py @@ -28,6 +28,7 @@ from neutron_lib.api.definitions import fip64 from neutron_lib.api.definitions import firewall from neutron_lib.api.definitions import firewall_v2 from neutron_lib.api.definitions import firewallrouterinsertion +from neutron_lib.api.definitions import ip_allocation from neutron_lib.api.definitions import l2_adjacency from neutron_lib.api.definitions import l3 from neutron_lib.api.definitions import logging @@ -72,6 +73,7 @@ _ALL_API_DEFINITIONS = { firewall, firewall_v2, firewallrouterinsertion, + ip_allocation, l2_adjacency, l3, logging, diff --git a/neutron_lib/api/definitions/ip_allocation.py b/neutron_lib/api/definitions/ip_allocation.py new file mode 100644 index 000000000..6101d1f2b --- /dev/null +++ b/neutron_lib/api/definitions/ip_allocation.py @@ -0,0 +1,45 @@ +# Copyright (c) 2016 Hewlett Packard Enterprise Development Company, L.P. +# +# 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 port + + +IP_ALLOCATION = 'ip_allocation' +IP_ALLOCATION_IMMEDIATE = 'immediate' +IP_ALLOCATION_DEFERRED = 'deferred' +IP_ALLOCATION_NONE = 'none' + +ALIAS = 'ip_allocation' +IS_SHIM_EXTENSION = False +IS_STANDARD_ATTR_EXTENSION = False +NAME = 'IP Allocation' +API_PREFIX = '' +DESCRIPTION = 'IP allocation extension.' +UPDATED_TIMESTAMP = '2016-06-10T23:00:00-00:00' +RESOURCE_NAME = port.RESOURCE_NAME +COLLECTION_NAME = port.COLLECTION_NAME +RESOURCE_ATTRIBUTE_MAP = { + COLLECTION_NAME: { + IP_ALLOCATION: { + 'allow_post': False, + 'allow_put': False, + 'is_visible': True + } + } +} +SUB_RESOURCE_ATTRIBUTE_MAP = {} +ACTION_MAP = {} +REQUIRED_EXTENSIONS = [] +OPTIONAL_EXTENSIONS = [] +ACTION_STATUS = {} diff --git a/neutron_lib/tests/unit/api/definitions/ip_allocation.py b/neutron_lib/tests/unit/api/definitions/ip_allocation.py new file mode 100644 index 000000000..e03f53ee6 --- /dev/null +++ b/neutron_lib/tests/unit/api/definitions/ip_allocation.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 ip_allocation +from neutron_lib.tests.unit.api.definitions import base + + +class IPAllocationDefinitionTestCase(base.DefinitionBaseTestCase): + extension_module = ip_allocation + extension_resources = () + extension_attributes = (ip_allocation.IP_ALLOCATION,) diff --git a/releasenotes/notes/rehome-ipalloc-apidef-dee59cfffd903b7a.yaml b/releasenotes/notes/rehome-ipalloc-apidef-dee59cfffd903b7a.yaml new file mode 100644 index 000000000..41dcefc28 --- /dev/null +++ b/releasenotes/notes/rehome-ipalloc-apidef-dee59cfffd903b7a.yaml @@ -0,0 +1,4 @@ +--- +features: + - The ``ip_allocation`` extension's API definition is now available in + ``neutron_lib.api.definitions.ip_allocation``.