diff options
| author | Brian Waldon <brian.waldon@rackspace.com> | 2011-12-23 10:20:37 -0500 |
|---|---|---|
| committer | Brian Waldon <brian.waldon@rackspace.com> | 2011-12-26 17:36:50 -0500 |
| commit | 5682d2a27b252c1aca294eb8a0749ff3fbb13b26 (patch) | |
| tree | 9a78bdc5e178c7277f4c1e772f79f64db974b39b /nova/api | |
| parent | 686ec45dfd9dc7b1a830ec32accd3b68ab7adbbe (diff) | |
| download | nova-5682d2a27b252c1aca294eb8a0749ff3fbb13b26.tar.gz nova-5682d2a27b252c1aca294eb8a0749ff3fbb13b26.tar.xz nova-5682d2a27b252c1aca294eb8a0749ff3fbb13b26.zip | |
Convering /users to admin extension
Relates to blueprint separate-nova-adminapi
Change-Id: I0ef13569586be022ba533c4e850793b37b098fea
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/v2/__init__.py | 5 | ||||
| -rw-r--r-- | nova/api/openstack/v2/contrib/users.py (renamed from nova/api/openstack/v2/users.py) | 27 |
2 files changed, 21 insertions, 11 deletions
diff --git a/nova/api/openstack/v2/__init__.py b/nova/api/openstack/v2/__init__.py index 1d3830b05..1dadd7bef 100644 --- a/nova/api/openstack/v2/__init__.py +++ b/nova/api/openstack/v2/__init__.py @@ -33,7 +33,6 @@ from nova.api.openstack.v2 import ips from nova.api.openstack.v2 import limits from nova.api.openstack.v2 import servers from nova.api.openstack.v2 import server_metadata -from nova.api.openstack.v2 import users from nova.api.openstack.v2 import versions from nova.api.openstack.v2 import zones from nova.api.openstack import wsgi @@ -134,10 +133,6 @@ class APIRouter(base_wsgi.Router): if FLAGS.allow_admin_api: LOG.debug(_("Including admin operations in API.")) - mapper.resource("user", "users", - controller=users.create_resource(), - collection={'detail': 'GET'}) - mapper.resource("zone", "zones", controller=zones.create_resource(), collection={'detail': 'GET', diff --git a/nova/api/openstack/v2/users.py b/nova/api/openstack/v2/contrib/users.py index 9dba79e03..b9bdd75e4 100644 --- a/nova/api/openstack/v2/users.py +++ b/nova/api/openstack/v2/contrib/users.py @@ -16,6 +16,7 @@ from webob import exc from nova.api.openstack import common +from nova.api.openstack.v2 import extensions from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova.auth import manager @@ -129,11 +130,25 @@ class UserXMLSerializer(xmlutil.XMLTemplateSerializer): return UserTemplate() -def create_resource(): - body_serializers = { - 'application/xml': UserXMLSerializer(), - } +class Users(extensions.ExtensionDescriptor): + """Allow admins to acces user information""" - serializer = wsgi.ResponseSerializer(body_serializers) + name = "Users" + alias = "os-users" + namespace = "http://docs.openstack.org/compute/ext/users/api/v1.1" + updated = "2011-08-08T00:00:00+00:00" + admin_only = True - return wsgi.Resource(Controller(), serializer=serializer) + def get_resources(self): + body_serializers = { + 'application/xml': UserXMLSerializer(), + } + serializer = wsgi.ResponseSerializer(body_serializers) + + coll_actions = {'detail': 'GET'} + res = extensions.ResourceExtension('users', + Controller(), + serializer=serializer, + collection_actions=coll_actions) + + return [res] |
