diff options
author | Jamie Lennox <jamielennox@redhat.com> | 2014-08-28 11:57:06 +1000 |
---|---|---|
committer | Jamie Lennox <jamielennox@redhat.com> | 2014-09-01 10:48:32 +1000 |
commit | 22a93fceb40fd289e5c5d91d1b1b10e40b0a0ae9 (patch) | |
tree | 4471f80658f036bbed108693eb313a69e19900e5 /keystoneclient/adapter.py | |
parent | 1643f7da32b1f729f12d042565d8c67f10f91b8c (diff) | |
download | python-keystoneclient-22a93fceb40fd289e5c5d91d1b1b10e40b0a0ae9.tar.gz |
Allow providing an endpoint_override to requests
As much as I'd prefer not to need this functionality there are plenty of
existing clients that we want to have use the adapter that can accept a
bypass argument such that it ignores the service catalog and uses that
URL for all requests.
We therefore need to be able to support similar functionality in our
adapter.
Change-Id: I206705241ff9b84967d0d9c089b4795bcc26b65e
Diffstat (limited to 'keystoneclient/adapter.py')
-rw-r--r-- | keystoneclient/adapter.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/keystoneclient/adapter.py b/keystoneclient/adapter.py index 1018b02..605b1ec 100644 --- a/keystoneclient/adapter.py +++ b/keystoneclient/adapter.py @@ -26,8 +26,8 @@ class Adapter(object): @utils.positional() def __init__(self, session, service_type=None, service_name=None, - interface=None, region_name=None, auth=None, - user_agent=None): + interface=None, region_name=None, endpoint_override=None, + auth=None, user_agent=None): """Create a new adapter. :param Session session: The session object to wrap. @@ -35,16 +35,18 @@ class Adapter(object): :param str service_name: The default service_name for URL discovery. :param str interface: The default interface for URL discovery. :param str region_name: The default region_name for URL discovery. + :param str endpoint_override: Always use this endpoint URL for requests + for this client. :param auth.BaseAuthPlugin auth: An auth plugin to use instead of the session one. :param str user_agent: The User-Agent string to set. """ - self.session = session self.service_type = service_type self.service_name = service_name self.interface = interface self.region_name = region_name + self.endpoint_override = endpoint_override self.user_agent = user_agent self.auth = auth @@ -60,6 +62,9 @@ class Adapter(object): if self.region_name: endpoint_filter.setdefault('region_name', self.region_name) + if self.endpoint_override: + kwargs.setdefault('endpoint_override', self.endpoint_override) + if self.auth: kwargs.setdefault('auth', self.auth) if self.user_agent: |