summaryrefslogtreecommitdiffstats
path: root/nova/adminclient.py
diff options
context:
space:
mode:
authorRicardo Carrillo Cruz <emaildericky@gmail.com>2011-02-04 11:48:45 +0100
committerRicardo Carrillo Cruz <emaildericky@gmail.com>2011-02-04 11:48:45 +0100
commitc852a4d48d2d7afe0a7d74b5da4d5b31386bbda3 (patch)
tree4b3fdecca5d391e5b2bdb06a4ea9379a13c0337c /nova/adminclient.py
parente35ca46173a5f3bf2d1460c19249fd0bf9f5b538 (diff)
parent7783105dbbfa5c6e6d1ab9cc965929d1c4cc4eef (diff)
downloadnova-c852a4d48d2d7afe0a7d74b5da4d5b31386bbda3.tar.gz
nova-c852a4d48d2d7afe0a7d74b5da4d5b31386bbda3.tar.xz
nova-c852a4d48d2d7afe0a7d74b5da4d5b31386bbda3.zip
merging
Diffstat (limited to 'nova/adminclient.py')
-rw-r--r--nova/adminclient.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/nova/adminclient.py b/nova/adminclient.py
index 3cdd8347f..c614b274c 100644
--- a/nova/adminclient.py
+++ b/nova/adminclient.py
@@ -21,6 +21,7 @@ Nova User API client library.
import base64
import boto
+import boto.exception
import httplib
from boto.ec2.regioninfo import RegionInfo
@@ -288,10 +289,14 @@ class NovaAdminClient(object):
def get_user(self, name):
"""Grab a single user by name."""
- user = self.apiconn.get_object('DescribeUser', {'Name': name},
- UserInfo)
- if user.username != None:
- return user
+ try:
+ return self.apiconn.get_object('DescribeUser',
+ {'Name': name},
+ UserInfo)
+ except boto.exception.BotoServerError, e:
+ if e.status == 400 and e.error_code == 'NotFound':
+ return None
+ raise
def has_user(self, username):
"""Determine if user exists."""
@@ -376,6 +381,13 @@ class NovaAdminClient(object):
'MemberUsers': member_users}
return self.apiconn.get_object('RegisterProject', params, ProjectInfo)
+ def modify_project(self, projectname, manager_user=None, description=None):
+ """Modifies an existing project."""
+ params = {'Name': projectname,
+ 'ManagerUser': manager_user,
+ 'Description': description}
+ return self.apiconn.get_status('ModifyProject', params)
+
def delete_project(self, projectname):
"""Permanently deletes the specified project."""
return self.apiconn.get_object('DeregisterProject',