The cinder.api.extensions Module¶
- 
class 
ControllerExtension(extension, collection, controller)¶ Bases:
objectExtend core controllers of cinder OpenStack API.
Provide a way to extend existing cinder OpenStack API core controllers.
- 
class 
ExtensionDescriptor(ext_mgr)¶ Bases:
objectBase 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:
objectLoad 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:
cinder.api.openstack.wsgi.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:
objectAdd top level resources to the OpenStack API in cinder.
- 
load_standard_extensions(ext_mgr, logger, path, package, ext_list=None)¶ Registers all standard API extensions.