diff options
| author | Anthony Young <sleepsonthefloor@gmail.com> | 2011-02-01 08:10:42 -0800 |
|---|---|---|
| committer | Anthony Young <sleepsonthefloor@gmail.com> | 2011-02-01 08:10:42 -0800 |
| commit | ccd10fec118adf2025d36bd4d5d9e4e75a7ddc8a (patch) | |
| tree | 1c1147e20f24812c9cb449921a21f31bd667b65c /nova/adminclient.py | |
| parent | 199e511e17af5e1a0659cc9ca65e9d55a5296947 (diff) | |
| parent | 256186ddbb1474d2396b8fa81a3bb16713d589a4 (diff) | |
| download | nova-ccd10fec118adf2025d36bd4d5d9e4e75a7ddc8a.tar.gz nova-ccd10fec118adf2025d36bd4d5d9e4e75a7ddc8a.tar.xz nova-ccd10fec118adf2025d36bd4d5d9e4e75a7ddc8a.zip | |
merge trunk
Diffstat (limited to 'nova/adminclient.py')
| -rw-r--r-- | nova/adminclient.py | 20 |
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', |
