summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2011-12-26 22:53:26 +0000
committerGerrit Code Review <review@openstack.org>2011-12-26 22:53:26 +0000
commitcff2ddcbd532ed54d60dbfbdbb7720f4634487b9 (patch)
treec22be926054ef130dfacff0883ff9416a5e51235 /nova/api
parentdb7414235e14545cacf3701b85bf4b5cbb8b925a (diff)
parent5682d2a27b252c1aca294eb8a0749ff3fbb13b26 (diff)
downloadnova-cff2ddcbd532ed54d60dbfbdbb7720f4634487b9.tar.gz
nova-cff2ddcbd532ed54d60dbfbdbb7720f4634487b9.tar.xz
nova-cff2ddcbd532ed54d60dbfbdbb7720f4634487b9.zip
Merge "Convering /users to admin extension"
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/openstack/v2/__init__.py5
-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]