API Endpoint
Cinder has a system for managing multiple APIs on different subdomains.
Currently there is support for the OpenStack API, as well as the Amazon EC2
API.
Common Components
The cinder.api Module
-
root_app_factory(loader, global_conf, **local_conf)
The cinder.api.cloud Module
OpenStack API
The openstack Module
WSGI middleware for OpenStack API controllers.
-
class APIMapper(controller_scan=<function controller_scan at 0x7f5a4c3e6410>, directory=None, always_scan=False, register=True, explicit=True)
Bases: routes.mapper.Mapper
-
APIMapper.routematch(url=None, environ=None)
-
class APIRouter(ext_mgr=None)
Bases: cinder.wsgi.Router
Routes requests on the OpenStack API to the appropriate controller
and method.
-
APIRouter.ExtensionManager = None
-
classmethod APIRouter.factory(global_config, **local_config)
Simple paste factory, cinder.wsgi.Router doesn’t have
-
class FaultWrapper(application)
Bases: cinder.wsgi.Middleware
-
class ProjectMapper(controller_scan=<function controller_scan at 0x7f5a4c3e6410>, directory=None, always_scan=False, register=True, explicit=True)
Bases: cinder.api.openstack.APIMapper
-
ProjectMapper.resource(member_name, collection_name, **kwargs)
The auth Module
EC2 API
The cinder.api.ec2 Module
The cloud Module
The metadatarequesthandler Module
Tests
The api_unittest Module
The api_integration Module
The cloud_unittest Module
The api.fakes Module
-
class Context
Bases: object
-
class FakeAuthDatabase
Bases: object
-
static FakeAuthDatabase.auth_token_create(context, token)
-
static FakeAuthDatabase.auth_token_destroy(context, token_id)
-
static FakeAuthDatabase.auth_token_get(context, token_hash)
-
FakeAuthDatabase.data = {}
-
class FakeRateLimiter(application)
Bases: object
-
class FakeRequestContext(*args, **kwargs)
Bases: cinder.context.RequestContext
-
class FakeRouter(ext_mgr=None)
Bases: cinder.wsgi.Router
-
class FakeToken(**kwargs)
Bases: object
-
FakeToken.id_count = 0
-
class HTTPRequest(environ, charset=None, unicode_errors=None, decode_param_names=None, **kw)
Bases: webob.request.Request
-
classmethod HTTPRequest.blank(*args, **kwargs)
-
class TestRouter(controller)
Bases: cinder.wsgi.Router
-
get_fake_uuid(token=0)
-
stub_out_key_pair_funcs(stubs, have_key_pair=True)
-
stub_out_rate_limiting(stubs)
-
wsgi_app(inner_app_v2=None, fake_auth=True, fake_auth_context=None, use_no_auth=False, ext_mgr=None)
The api.test_wsgi Module
The test_api Module
The test_auth Module
The test_faults Module