cinder.api.extensions module

class ControllerExtension(extension, collection, controller)

Bases: object

Extend core controllers of cinder OpenStack API.

Provide a way to extend existing cinder 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

List of extensions.ControllerExtension extension objects.

Controller extensions are used to extend existing controllers.


List of extensions.ResourceExtension extension objects.

Resources define new nouns, and are accessible through URLs.

name = None
updated = None
class ExtensionManager

Bases: object

Load extensions from the configured extension path.

See cinder/tests/api/extensions/foxinsocks/ for an example extension implementation.


Returns a list of ControllerExtension objects.


Returns a list of ResourceExtension objects.


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.

class ExtensionsResource(extension_manager)

Bases: Resource

delete(req, id)
show(req, id)
class ResourceExtension(collection, controller, parent=None, collection_actions=None, member_actions=None, custom_routes_fn=None)

Bases: object

Add top level resources to the OpenStack API in cinder.

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

Registers all standard API extensions.