The nova.api.openstack.extensions Module

class ControllerExtension(extension, collection, controller)

Bases: object

Extend core controllers of nova OpenStack API.

Provide a way to extend existing nova OpenStack API core controllers.

class ExtensionDescriptor(ext_mgr)

Bases: object

Base class that defines the contract for extensions.

Note that you don’t have to derive from this class to have a valid extension; it is purely a convenience.

alias = None
get_controller_extensions()

List of extensions.ControllerExtension extension objects.

Controller extensions are used to extend existing controllers.

get_resources()

List of extensions.ResourceExtension extension objects.

Resources define new nouns, and are accessible through URLs.

is_valid()

Validate required fields for extensions.

Raises an attribute error if the attr is not defined

name = None
updated = None
class ExtensionManager

Bases: object

Load extensions from the configured extension path.

See nova/tests/api/openstack/compute/extensions/foxinsocks.py or an example extension implementation.

get_controller_extensions()

Returns a list of ControllerExtension objects.

get_resources()

Returns a list of ResourceExtension objects.

is_loaded(alias)
load_extension(ext_factory)

Execute an extension factory.

Loads an extension. The ‘ext_factory’ is the name of a callable that will be imported and called with one argument–the extension manager. The factory callable is expected to call the register() method at least once.

register(ext)
sorted_extensions()
class ExtensionsController(extension_manager)

Bases: nova.api.openstack.wsgi.Resource

create(req, body)
delete(req, id)
index(req)
show(req, id)
class ResourceExtension(collection, controller=None, parent=None, collection_actions=None, member_actions=None, custom_routes_fn=None, inherits=None, member_name=None)

Bases: object

Add top level resources to the OpenStack API in nova.

class V21APIExtensionBase(extension_info)

Bases: object

Abstract base class for all v2.1 API extensions.

All v2.1 API extensions must derive from this class and implement the abstract methods get_resources and get_controller_extensions even if they just return an empty list. The extensions must also define the abstract properties.

alias

Alias for the extension.

get_controller_extensions()

Return a list of controller extensions.

The extensions should return a list of ControllerExtension objects. This list may be empty.

get_resources()

Return a list of resources extensions.

The extensions should return a list of ResourceExtension objects. This list may be empty.

is_valid()

Validate required fields for extensions.

Raises an attribute error if the attr is not defined

name

Name of the extension.

version

Version of the extension.

check_compute_policy(context, action, target, scope='compute')
core_authorizer(api_name, extension_name)
expected_errors(errors)

Decorator for v2.1 API methods which specifies expected exceptions.

Specify which exceptions may occur when an API method is called. If an unexpected exception occurs then return a 500 instead and ask the user of the API to file a bug report.

extension_authorizer(api_name, extension_name)
load_standard_extensions(ext_mgr, logger, path, package, ext_list=None)

Registers all standard API extensions.

os_compute_authorizer(extension_name)
os_compute_soft_authorizer(extension_name)
soft_core_authorizer(api_name, extension_name)
soft_extension_authorizer(api_name, extension_name)

Previous topic

The nova.api.openstack.compute.volumes Module

Next topic

The nova.api.openstack.urlmap Module

Project Source

This Page