neutron-lib/neutron_lib/api/definitions/trunk_details.py
Armando Migliaccio 4da199808f Introduce API definition for trunk/trunk_details extensions
This patch serves as a trail blazer for Neutron API consolidation. It
introduces the following:

 * It provides the API definitions to be used by a Neutron Stadium project.
 * It introduces some testing scaffolding to validate the correctness of
   an API definition and coverage for the extension.
 * It provides the API reference documentation for the extension.

More patches will follow up to consolidate the rest of the Neutron APIs and
will use this as an example/template on how to approach the consolidation
effort.

Change-Id: Ie620a6fc21916ab34a19632c7fb9456b2c7c43b1
2016-10-19 05:26:19 +00:00

63 lines
2.1 KiB
Python

# All rights reserved.
#
# 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 trunk
from neutron_lib import constants
# The alias of the extension.
ALIAS = 'trunk-details'
# Whether or not this extension is simply signaling behavior to the user
# or it actively modifies the attribute map.
IS_SHIM_EXTENSION = False
# Whether the extension is marking the adoption of standardattr model for
# legacy resources, or introducing new standardattr attributes. False or
# None if the standardattr model is adopted since the introduction of
# resource extension.
# If this is True, the alias for the extension should be prefixed with
# 'standard-attr-'.
IS_STANDARD_ATTR_EXTENSION = False
# The name of the extension.
NAME = 'Trunk port details'
# The description of the extension.
DESCRIPTION = "Expose trunk port details"
# A timestamp of when the extension was introduced.
TIMESTAMP = "2016-01-01T10:00:00-00:00"
# The specific resources and/or attributes for the extension (optional).
TRUNK_DETAILS = 'trunk_details'
# The resource attribute map for the extension.
RESOURCE_ATTRIBUTE_MAP = {
'ports': {TRUNK_DETAILS: {'allow_post': False, 'allow_put': False,
'default': constants.ATTR_NOT_SPECIFIED,
'is_visible': True,
'enforce_policy': True,
'required_by_policy': True}},
}
# The action map.
ACTION_MAP = None
# The list of required extensions.
REQUIRED_EXTENSIONS = [trunk.ALIAS]
# The list of optional extensions.
OPTIONAL_EXTENSIONS = None