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¶
- 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.
- name = None¶
- updated = None¶
- class ExtensionManager¶
Bases:
object
Load extensions from the configured extension path.
See cinder/tests/api/extensions/foxinsocks/extension.py for 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)¶
- class ExtensionsResource(extension_manager)¶
Bases:
Resource
- create(req)¶
- delete(req, id)¶
- index(req)¶
- 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.