~ubuntu-branches/ubuntu/saucy/python-novaclient/saucy

« back to all changes in this revision

Viewing changes to novaclient/client.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2012-02-03 10:46:49 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20120203104649-3604yixrglbsoi0g
Tags: 2012.1~e4~20120203.484-0ubuntu1
New upstream release. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
    def __init__(self, user, password, projectid, auth_url, insecure=False,
38
38
                 timeout=None, token=None, region_name=None,
39
 
                 endpoint_name='publicURL'):
 
39
                 endpoint_type='publicURL', service_name=None):
40
40
        super(HTTPClient, self).__init__(timeout=timeout)
41
41
        self.user = user
42
42
        self.password = password
44
44
        self.auth_url = auth_url
45
45
        self.version = 'v1.1'
46
46
        self.region_name = region_name
47
 
        self.endpoint_name = endpoint_name
 
47
        self.endpoint_type = endpoint_type
 
48
        self.service_name = service_name
48
49
 
49
50
        self.management_url = None
50
51
        self.auth_token = None
154
155
                self.management_url = self.service_catalog.url_for(
155
156
                                           attr='region',
156
157
                                           filter_value=self.region_name,
157
 
                                           endpoint_type=self.endpoint_name)
 
158
                                           endpoint_type=self.endpoint_type,
 
159
                                           service_name=self.service_name)
158
160
                return None
 
161
            except exceptions.AmbiguousEndpoints, exc:
 
162
                print "Found more than one valid endpoint. Use a more " \
 
163
                      "restrictive filter"
 
164
                raise
159
165
            except KeyError:
160
166
                raise exceptions.AuthorizationFailure()
161
167
            except exceptions.EndpointNotFound:
295
301
 
296
302
 
297
303
def get_client_class(version):
 
304
    version_map = {
 
305
        '1.1': 'novaclient.v1_1.client.Client',
 
306
        '2': 'novaclient.v1_1.client.Client',
 
307
    }
298
308
    try:
299
 
        version = str(version)
300
 
        client_path = {
301
 
            '1.1': 'novaclient.v1_1.client.Client',
302
 
            '2': 'novaclient.v1_1.client.Client',
303
 
        }[version]
 
309
        client_path = version_map[str(version)]
304
310
    except (KeyError, ValueError):
305
 
        raise exceptions.UnsupportedVersion()
 
311
        msg = "Invalid client version '%s'. must be one of: %s" % (
 
312
              (version, ', '.join(version_map.keys())))
 
313
        raise exceptions.UnsupportedVersion(msg)
306
314
 
307
315
    return utils.import_class(client_path)
308
316