 9822135f00
			
		
	
	9822135f00
	
	
	
		
			
			In client.Client, providing version number is optional. So write '(optional)' in the docstring describing this parameter. Change-Id: I5e355515de8d043bda85b5abf43c549b4ba22d61
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Licensed under the Apache License, Version 2.0 (the "License"); you may
 | |
| # not use this file except in compliance with the License. You may obtain
 | |
| # a copy of the License at
 | |
| #
 | |
| #      http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| # Unless required by applicable law or agreed to in writing, software
 | |
| # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 | |
| # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 | |
| # License for the specific language governing permissions and limitations
 | |
| # under the License.
 | |
| 
 | |
| from debtcollector import removals
 | |
| 
 | |
| from keystoneclient import discover
 | |
| from keystoneclient import httpclient
 | |
| from keystoneclient import session as client_session
 | |
| 
 | |
| 
 | |
| @removals.remove(message='Use keystoneclient.httpclient.HTTPClient instead',
 | |
|                  version='1.7.0', removal_version='2.0.0')
 | |
| class HTTPClient(httpclient.HTTPClient):
 | |
|     """Deprecated alias for httpclient.HTTPClient.
 | |
| 
 | |
|     This class is deprecated as of the 1.7.0 release in favor of
 | |
|     :class:`keystoneclient.httpclient.HTTPClient` and may be removed in the
 | |
|     2.0.0 release.
 | |
| 
 | |
|     """
 | |
| 
 | |
| 
 | |
| def Client(version=None, unstable=False, session=None, **kwargs):
 | |
|     """Factory function to create a new identity service client.
 | |
| 
 | |
|     The returned client will be either a V3 or V2 client. Check the version
 | |
|     using the :py:attr:`~keystoneclient.v3.client.Client.version` property or
 | |
|     the instance's class (with instanceof).
 | |
| 
 | |
|     :param tuple version: The required version of the identity API. If
 | |
|                           specified the client will be selected such that the
 | |
|                           major version is equivalent and an endpoint provides
 | |
|                           at least the specified minor version. For example to
 | |
|                           specify the 3.1 API use ``(3, 1)``. (optional)
 | |
|     :param bool unstable: Accept endpoints not marked as 'stable'. (optional)
 | |
|     :param session: A session object to be used for communication. If one is
 | |
|                     not provided it will be constructed from the provided
 | |
|                     kwargs. (optional)
 | |
|     :type session: keystoneclient.session.Session
 | |
|     :param kwargs: Additional arguments are passed through to the client
 | |
|                    that is being created.
 | |
|     :returns: New keystone client object.
 | |
|     :rtype: :py:class:`keystoneclient.v3.client.Client` or
 | |
|             :py:class:`keystoneclient.v2_0.client.Client`
 | |
|     :raises keystoneclient.exceptions.DiscoveryFailure: if the server's
 | |
|                                                         response is invalid.
 | |
|     :raises keystoneclient.exceptions.VersionNotAvailable: if a suitable client
 | |
|                                                            cannot be found.
 | |
|     """
 | |
|     if not session:
 | |
|         session = client_session.Session._construct(kwargs)
 | |
| 
 | |
|     d = discover.Discover(session=session, **kwargs)
 | |
|     return d.create_client(version=version, unstable=unstable)
 |