From 3c8d35247ebfc57663f363ba9522da27b8748262 Mon Sep 17 00:00:00 2001 From: Brant Knudson Date: Sat, 11 Oct 2014 16:20:54 -0500 Subject: [PATCH] Correct documenting constructor parameters When the docs are rendered to HTML, any docs on __init__ are not displayed. The parameters to the constructor have to be documented on the class rather than on the __init__ method. Also, corrected other minor issues in the same areas. Change-Id: Ic56da33f6b99fe5efb636c289e3c4e1569f0c84c --- keystoneclient/adapter.py | 35 +++--- .../auth/identity/generic/password.py | 18 +-- keystoneclient/auth/identity/generic/token.py | 8 +- keystoneclient/auth/identity/v2.py | 51 ++++---- keystoneclient/auth/identity/v3.py | 60 ++++----- keystoneclient/base.py | 7 +- keystoneclient/contrib/auth/v3/saml2.py | 105 ++++++++-------- keystoneclient/discover.py | 112 ++++++++--------- keystoneclient/fixture/discovery.py | 66 +++++----- keystoneclient/httpclient.py | 114 +++++++++--------- keystoneclient/v3/contrib/oauth1/auth.py | 14 +-- 11 files changed, 279 insertions(+), 311 deletions(-) diff --git a/keystoneclient/adapter.py b/keystoneclient/adapter.py index 49dd198ac..8f87c7366 100644 --- a/keystoneclient/adapter.py +++ b/keystoneclient/adapter.py @@ -23,6 +23,23 @@ class Adapter(object): state such as the service type and region_name that are only relevant to a particular client that is using the session. An adapter provides a wrapper of client local data around the global session object. + + :param session: The session object to wrap. + :type session: keystoneclient.session.Session + :param str service_type: The default service_type for URL discovery. + :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 tuple version: The version that this API targets. + :param auth: An auth plugin to use instead of the session one. + :type auth: keystoneclient.auth.base.BaseAuthPlugin + :param str user_agent: The User-Agent string to set. + :param int connect_retries: the maximum number of retries that should + be attempted for connection errors. + Default None - use session default which + is don't retry. """ @utils.positional() @@ -30,24 +47,6 @@ class Adapter(object): interface=None, region_name=None, endpoint_override=None, version=None, auth=None, user_agent=None, connect_retries=None): - """Create a new adapter. - - :param Session session: The session object to wrap. - :param str service_type: The default service_type for URL discovery. - :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 tuple version: The version that this API targets. - :param auth.BaseAuthPlugin auth: An auth plugin to use instead of the - session one. - :param str user_agent: The User-Agent string to set. - :param int connect_retries: the maximum number of retries that should - be attempted for connection errors. - Default None - use session default which - is don't retry. - """ self.session = session self.service_type = service_type self.service_name = service_name diff --git a/keystoneclient/auth/identity/generic/password.py b/keystoneclient/auth/identity/generic/password.py index c8d9b7a4b..a8950a3a8 100644 --- a/keystoneclient/auth/identity/generic/password.py +++ b/keystoneclient/auth/identity/generic/password.py @@ -34,19 +34,19 @@ def get_options(): class Password(base.BaseGenericPlugin): - """A common user/password authentication plugin.""" + """A common user/password authentication plugin. + + :param string username: Username for authentication. + :param string user_id: User ID for authentication. + :param string password: Password for authentication. + :param string user_domain_id: User's domain ID for authentication. + :param string user_domain_name: User's domain name for authentication. + + """ @utils.positional() def __init__(self, auth_url, username=None, user_id=None, password=None, user_domain_id=None, user_domain_name=None, **kwargs): - """Construct plugin. - - :param string username: Username for authentication. - :param string user_id: User ID for authentication. - :param string password: Password for authentication. - :param string user_domain_id: User's domain ID for authentication. - :param string user_domain_name: User's domain name for authentication. - """ super(Password, self).__init__(auth_url=auth_url, **kwargs) self._username = username diff --git a/keystoneclient/auth/identity/generic/token.py b/keystoneclient/auth/identity/generic/token.py index 547ce36e9..d309dfa82 100644 --- a/keystoneclient/auth/identity/generic/token.py +++ b/keystoneclient/auth/identity/generic/token.py @@ -29,12 +29,12 @@ def get_options(): class Token(base.BaseGenericPlugin): + """Generic token auth plugin. + + :param string token: Token for authentication. + """ def __init__(self, auth_url, token=None, **kwargs): - """Construct a plugin. - - :param string token: Token for authentication. - """ super(Token, self).__init__(auth_url, **kwargs) self._token = token diff --git a/keystoneclient/auth/identity/v2.py b/keystoneclient/auth/identity/v2.py index 23d4c432e..995044fef 100644 --- a/keystoneclient/auth/identity/v2.py +++ b/keystoneclient/auth/identity/v2.py @@ -26,6 +26,15 @@ _logger = logging.getLogger(__name__) @six.add_metaclass(abc.ABCMeta) class Auth(base.BaseIdentityPlugin): + """Identity V2 Authentication Plugin. + + :param string auth_url: Identity service endpoint for authorization. + :param string trust_id: Trust ID for trust scoping. + :param string tenant_id: Tenant ID for project scoping. + :param string tenant_name: Tenant name for project scoping. + :param bool reauthenticate: Allow fetching a new token if the current one + is going to expire. (optional) default True + """ @classmethod def get_options(cls): @@ -45,16 +54,6 @@ class Auth(base.BaseIdentityPlugin): tenant_id=None, tenant_name=None, reauthenticate=True): - """Construct an Identity V2 Authentication Plugin. - - :param string auth_url: Identity service endpoint for authorization. - :param string trust_id: Trust ID for trust scoping. - :param string tenant_id: Tenant ID for project scoping. - :param string tenant_name: Tenant name for project scoping. - :param bool reauthenticate: Allow fetching a new token if the current - one is going to expire. - (optional) default True - """ super(Auth, self).__init__(auth_url=auth_url, reauthenticate=reauthenticate) @@ -100,21 +99,21 @@ _NOT_PASSED = object() class Password(Auth): + """A plugin for authenticating with a username and password. + + A username or user_id must be provided. + + :param string auth_url: Identity service endpoint for authorization. + :param string username: Username for authentication. + :param string password: Password for authentication. + :param string user_id: User ID for authentication. + + :raises TypeError: if a user_id or username is not provided. + """ @utils.positional(4) def __init__(self, auth_url, username=_NOT_PASSED, password=None, user_id=_NOT_PASSED, **kwargs): - """A plugin for authenticating with a username and password. - - A username or user_id must be provided. - - :param string auth_url: Identity service endpoint for authorization. - :param string username: Username for authentication. - :param string password: Password for authentication. - :param string user_id: User ID for authentication. - - :raises TypeError: if a user_id or username is not provided. - """ super(Password, self).__init__(auth_url, **kwargs) if username is _NOT_PASSED and user_id is _NOT_PASSED: @@ -157,13 +156,13 @@ class Password(Auth): class Token(Auth): + """A plugin for authenticating with an existing token. + + :param string auth_url: Identity service endpoint for authorization. + :param string token: Existing token for authentication. + """ def __init__(self, auth_url, token, **kwargs): - """A plugin for authenticating with an existing token. - - :param string auth_url: Identity service endpoint for authorization. - :param string token: Existing token for authentication. - """ super(Token, self).__init__(auth_url, **kwargs) self.token = token diff --git a/keystoneclient/auth/identity/v3.py b/keystoneclient/auth/identity/v3.py index 0749924c6..8f723ff0f 100644 --- a/keystoneclient/auth/identity/v3.py +++ b/keystoneclient/auth/identity/v3.py @@ -26,6 +26,20 @@ _logger = logging.getLogger(__name__) class Auth(base.BaseIdentityPlugin): + """Identity V3 Authentication Plugin. + + :param string auth_url: Identity service endpoint for authentication. + :param list auth_methods: A collection of methods to authenticate with. + :param string trust_id: Trust ID for trust scoping. + :param string domain_id: Domain ID for domain scoping. + :param string domain_name: Domain name for domain scoping. + :param string project_id: Project ID for project scoping. + :param string project_name: Project name for project scoping. + :param string project_domain_id: Project's domain ID for project. + :param string project_domain_name: Project's domain name for project. + :param bool reauthenticate: Allow fetching a new token if the current one + is going to expire. (optional) default True + """ @utils.positional() def __init__(self, auth_url, auth_methods, @@ -37,22 +51,6 @@ class Auth(base.BaseIdentityPlugin): project_domain_id=None, project_domain_name=None, reauthenticate=True): - """Construct an Identity V3 Authentication Plugin. - - :param string auth_url: Identity service endpoint for authentication. - :param list auth_methods: A collection of methods to authenticate with. - :param string trust_id: Trust ID for trust scoping. - :param string domain_id: Domain ID for domain scoping. - :param string domain_name: Domain name for domain scoping. - :param string project_id: Project ID for project scoping. - :param string project_name: Project name for project scoping. - :param string project_domain_id: Project's domain ID for project. - :param string project_domain_name: Project's domain name for project. - :param bool reauthenticate: Allow fetching a new token if the current - one is going to expire. - (optional) default True - """ - super(Auth, self).__init__(auth_url=auth_url, reauthenticate=reauthenticate) @@ -207,6 +205,14 @@ class AuthConstructor(Auth): class PasswordMethod(AuthMethod): + """Construct a User/Password based authentication method. + + :param string password: Password for authentication. + :param string username: Username for authentication. + :param string user_id: User ID for authentication. + :param string user_domain_id: User's domain ID for authentication. + :param string user_domain_name: User's domain name for authentication. + """ _method_parameters = ['user_id', 'username', @@ -214,17 +220,6 @@ class PasswordMethod(AuthMethod): 'user_domain_name', 'password'] - def __init__(self, **kwargs): - """Construct a User/Password based authentication method. - - :param string password: Password for authentication. - :param string username: Username for authentication. - :param string user_id: User ID for authentication. - :param string user_domain_id: User's domain ID for authentication. - :param string user_domain_name: User's domain name for authentication. - """ - super(PasswordMethod, self).__init__(**kwargs) - def get_auth_data(self, session, auth, headers, **kwargs): user = {'password': self.password} @@ -261,16 +256,13 @@ class Password(AuthConstructor): class TokenMethod(AuthMethod): + """Construct an Auth plugin to fetch a token from a token. + + :param string token: Token for authentication. + """ _method_parameters = ['token'] - def __init__(self, **kwargs): - """Construct an Auth plugin to fetch a token from a token. - - :param string token: Token for authentication. - """ - super(TokenMethod, self).__init__(**kwargs) - def get_auth_data(self, session, auth, headers, **kwargs): headers['X-Auth-Token'] = self.token return 'token', {'id': self.token} diff --git a/keystoneclient/base.py b/keystoneclient/base.py index 316b79e27..81d5e26ab 100644 --- a/keystoneclient/base.py +++ b/keystoneclient/base.py @@ -79,14 +79,13 @@ class Manager(object): Managers interact with a particular type of API (servers, flavors, images, etc.) and provide CRUD operations for them. + + :param client: instance of BaseClient descendant for HTTP requests + """ resource_class = None def __init__(self, client): - """Initializes Manager with `client`. - - :param client: instance of BaseClient descendant for HTTP requests - """ super(Manager, self).__init__() self.client = client diff --git a/keystoneclient/contrib/auth/v3/saml2.py b/keystoneclient/contrib/auth/v3/saml2.py index 5458ac1ba..69db21baa 100644 --- a/keystoneclient/contrib/auth/v3/saml2.py +++ b/keystoneclient/contrib/auth/v3/saml2.py @@ -88,20 +88,38 @@ class Saml2UnscopedTokenAuthMethod(v3.AuthMethod): class Saml2UnscopedToken(_BaseSAMLPlugin): """Implement authentication plugin for SAML2 protocol. - ECP stands for ``Enhanced Client or Proxy`` and is a SAML2 extension + ECP stands for `Enhanced Client or Proxy` and is a SAML2 extension for federated authentication where a transportation layer consists of HTTP protocol and XML SOAP messages. - Read for more information:: - ``https://wiki.shibboleth.net/confluence/display/SHIB2/ECP`` + `Read for more information + `_ on ECP. - The SAML2 ECP specification can be found at:: - ``https://www.oasis-open.org/committees/download.php/ - 49979/saml-ecp-v2.0-wd09.pdf`` + Reference the `SAML2 ECP specification `_. Currently only HTTPBasicAuth mechanism is available for the IdP authenication. + :param auth_url: URL of the Identity Service + :type auth_url: string + + :param identity_provider: name of the Identity Provider the client will + authenticate against. This parameter will be used + to build a dynamic URL used to obtain unscoped + OpenStack token. + :type identity_provider: string + + :param identity_provider_url: An Identity Provider URL, where the SAML2 + authn request will be sent. + :type identity_provider_url: string + + :param username: User's login + :type username: string + + :param password: User's password + :type password: string + """ _auth_method_class = Saml2UnscopedTokenAuthMethod @@ -149,27 +167,6 @@ class Saml2UnscopedToken(_BaseSAMLPlugin): identity_provider_url, username, password, **kwargs): - """Class constructor accepting following parameters: - :param auth_url: URL of the Identity Service - :type auth_url: string - - :param identity_provider: name of the Identity Provider the client - will authenticate against. This parameter - will be used to build a dynamic URL used to - obtain unscoped OpenStack token. - :type identity_provider: string - - :param identity_provider_url: An Identity Provider URL, where the SAML2 - authn request will be sent. - :type identity_provider_url: string - - :param username: User's login - :type username: string - - :param password: User's password - :type password: string - - """ super(Saml2UnscopedToken, self).__init__(auth_url=auth_url, **kwargs) self.identity_provider = identity_provider self.identity_provider_url = identity_provider_url @@ -438,7 +435,32 @@ class Saml2UnscopedToken(_BaseSAMLPlugin): class ADFSUnscopedToken(_BaseSAMLPlugin): - """Authentication plugin for Microsoft ADFS2.0 IdPs.""" + """Authentication plugin for Microsoft ADFS2.0 IdPs. + + :param auth_url: URL of the Identity Service + :type auth_url: string + + :param identity_provider: name of the Identity Provider the client will + authenticate against. This parameter will be used + to build a dynamic URL used to obtain unscoped + OpenStack token. + :type identity_provider: string + + :param identity_provider_url: An Identity Provider URL, where the SAML2 + authentication request will be sent. + :type identity_provider_url: string + + :param service_provider_endpoint: Endpoint where an assertion is being + sent, for instance: ``https://host.domain/Shibboleth.sso/ADFS`` + :type service_provider_endpoint: string + + :param username: User's login + :type username: string + + :param password: User's password + :type password: string + + """ _auth_method_class = Saml2UnscopedTokenAuthMethod @@ -464,33 +486,6 @@ class ADFSUnscopedToken(_BaseSAMLPlugin): def __init__(self, auth_url, identity_provider, identity_provider_url, service_provider_endpoint, username, password, **kwargs): - """Constructor for ``ADFSUnscopedToken``. - - :param auth_url: URL of the Identity Service - :type auth_url: string - - :param identity_provider: name of the Identity Provider the client - will authenticate against. This parameter - will be used to build a dynamic URL used to - obtain unscoped OpenStack token. - :type identity_provider: string - - :param identity_provider_url: An Identity Provider URL, where the SAML2 - authentication request will be sent. - :type identity_provider_url: string - - :param service_provider_endpoint: Endpoint where an assertion is being - sent, for instance: ``https://host.domain/Shibboleth.sso/ADFS`` - :type service_provider_endpoint: string - - :param username: User's login - :type username: string - - :param password: User's password - :type password: string - - """ - super(ADFSUnscopedToken, self).__init__(auth_url=auth_url, **kwargs) self.identity_provider = identity_provider self.identity_provider_url = identity_provider_url diff --git a/keystoneclient/discover.py b/keystoneclient/discover.py index 695d345cb..329845eee 100644 --- a/keystoneclient/discover.py +++ b/keystoneclient/discover.py @@ -44,69 +44,63 @@ class Discover(_discover.Discover): Querying the server is done on object creation and every subsequent method operates upon the data that was retrieved. + + The connection parameters associated with this method are the same format + and name as those used by a client (see + :py:class:`keystoneclient.v2_0.client.Client` and + :py:class:`keystoneclient.v3.client.Client`). If not overridden in + subsequent methods they will also be what is passed to the constructed + client. + + In the event that auth_url and endpoint is provided then auth_url will be + used in accordance with how the client operates. + + :param session: A session object that will be used for communication. + Clients will also be constructed with this session. + :type session: keystoneclient.session.Session + :param string auth_url: Identity service endpoint for authorization. + (optional) + :param string endpoint: A user-supplied endpoint URL for the identity + service. (optional) + :param string original_ip: The original IP of the requesting user which + will be sent to identity service in a + 'Forwarded' header. (optional) DEPRECATED: use + the session object. This is ignored if a session + is provided. + :param boolean debug: Enables debug logging of all request and responses to + the identity service. default False (optional) + DEPRECATED: use the session object. This is ignored + if a session is provided. + :param string cacert: Path to the Privacy Enhanced Mail (PEM) file which + contains the trusted authority X.509 certificates + needed to established SSL connection with the + identity service. (optional) DEPRECATED: use the + session object. This is ignored if a session is + provided. + :param string key: Path to the Privacy Enhanced Mail (PEM) file which + contains the unencrypted client private key needed to + established two-way SSL connection with the identity + service. (optional) DEPRECATED: use the session object. + This is ignored if a session is provided. + :param string cert: Path to the Privacy Enhanced Mail (PEM) file which + contains the corresponding X.509 client certificate + needed to established two-way SSL connection with the + identity service. (optional) DEPRECATED: use the + session object. This is ignored if a session is + provided. + :param boolean insecure: Does not perform X.509 certificate validation when + establishing SSL connection with identity service. + default: False (optional) DEPRECATED: use the + session object. This is ignored if a session is + provided. + :param bool authenticated: Should a token be used to perform the initial + discovery operations. default: None (attach a + token if an auth plugin is available). + """ @utils.positional(2) def __init__(self, session=None, authenticated=None, **kwargs): - """Construct a new discovery object. - - The connection parameters associated with this method are the same - format and name as those used by a client (see - keystoneclient.v2_0.client.Client and keystoneclient.v3.client.Client). - If not overridden in subsequent methods they will also be what is - passed to the constructed client. - - In the event that auth_url and endpoint is provided then auth_url will - be used in accordance with how the client operates. - - The initialization process also queries the server. - - :param Session session: A session object that will be used for - communication. Clients will also be constructed - with this session. - :param string auth_url: Identity service endpoint for authorization. - (optional) - :param string endpoint: A user-supplied endpoint URL for the identity - service. (optional) - :param string original_ip: The original IP of the requesting user - which will be sent to identity service in a - 'Forwarded' header. (optional) - DEPRECATED: use the session object. This is - ignored if a session is provided. - :param boolean debug: Enables debug logging of all request and - responses to the identity service. - default False (optional) - DEPRECATED: use the session object. This is - ignored if a session is provided. - :param string cacert: Path to the Privacy Enhanced Mail (PEM) file - which contains the trusted authority X.509 - certificates needed to established SSL connection - with the identity service. (optional) - DEPRECATED: use the session object. This is - ignored if a session is provided. - :param string key: Path to the Privacy Enhanced Mail (PEM) file which - contains the unencrypted client private key needed - to established two-way SSL connection with the - identity service. (optional) - DEPRECATED: use the session object. This is - ignored if a session is provided. - :param string cert: Path to the Privacy Enhanced Mail (PEM) file which - contains the corresponding X.509 client certificate - needed to established two-way SSL connection with - the identity service. (optional) - DEPRECATED: use the session object. This is - ignored if a session is provided. - :param boolean insecure: Does not perform X.509 certificate validation - when establishing SSL connection with identity - service. default: False (optional) - DEPRECATED: use the session object. This is - ignored if a session is provided. - :param bool authenticated: Should a token be used to perform the - initial discovery operations. - default: None (attach a token if an auth - plugin is available). - """ - if not session: session = client_session.Session.construct(kwargs) kwargs['session'] = session diff --git a/keystoneclient/fixture/discovery.py b/keystoneclient/fixture/discovery.py index c7edf1591..1bc58a698 100644 --- a/keystoneclient/fixture/discovery.py +++ b/keystoneclient/fixture/discovery.py @@ -28,16 +28,14 @@ class DiscoveryBase(dict): """The basic version discovery structure. All version discovery elements should have access to these values. + + :param string id: The version id for this version entry. + :param string status: The status of this entry. + :param DateTime updated: When the API was last updated. """ @utils.positional() def __init__(self, id, status=None, updated=None): - """Create a new structure. - - :param string id: The version id for this version entry. - :param string status: The status of this entry. - :param DateTime updated: When the API was last updated. - """ super(DiscoveryBase, self).__init__() self.id = id @@ -106,20 +104,19 @@ class V2Discovery(DiscoveryBase): Provides some default values and helper methods for creating a v2.0 endpoint version structure. Clients should use this instead of creating their own structures. + + :param string href: The url that this entry should point to. + :param string id: The version id that should be reported. (optional) + Defaults to 'v2.0'. + :param bool html: Add HTML describedby links to the structure. + :param bool pdf: Add PDF describedby links to the structure. + """ _DESC_URL = 'http://docs.openstack.org/api/openstack-identity-service/2.0/' @utils.positional() def __init__(self, href, id=None, html=True, pdf=True, **kwargs): - """Create a new structure. - - :param string href: The url that this entry should point to. - :param string id: The version id that should be reported. (optional) - Defaults to 'v2.0'. - :param bool html: Add HTML describedby links to the structure. - :param bool pdf: Add PDF describedby links to the structure. - """ super(V2Discovery, self).__init__(id or 'v2.0', **kwargs) self.add_link(href) @@ -156,18 +153,16 @@ class V3Discovery(DiscoveryBase): Provides some default values and helper methods for creating a v3 endpoint version structure. Clients should use this instead of creating their own structures. + + :param href: The url that this entry should point to. + :param string id: The version id that should be reported. (optional) + Defaults to 'v3.0'. + :param bool json: Add JSON media-type elements to the structure. + :param bool xml: Add XML media-type elements to the structure. """ @utils.positional() def __init__(self, href, id=None, json=True, xml=True, **kwargs): - """Create a new structure. - - :param href: The url that this entry should point to. - :param string id: The version id that should be reported. (optional) - Defaults to 'v3.0'. - :param bool json: Add JSON media-type elements to the structure. - :param bool xml: Add XML media-type elements to the structure. - """ super(V3Discovery, self).__init__(id or 'v3.0', **kwargs) self.add_link(href) @@ -201,6 +196,18 @@ class DiscoveryList(dict): Creates a correctly structured list of identity service endpoints for use in testing with discovery. + + :param string href: The url that this should be based at. + :param bool v2: Add a v2 element. + :param bool v3: Add a v3 element. + :param string v2_status: The status to use for the v2 element. + :param DateTime v2_updated: The update time to use for the v2 element. + :param bool v2_html: True to add a html link to the v2 element. + :param bool v2_pdf: True to add a pdf link to the v2 element. + :param string v3_status: The status to use for the v3 element. + :param DateTime v3_updated: The update time to use for the v3 element. + :param bool v3_json: True to add a html link to the v2 element. + :param bool v3_xml: True to add a pdf link to the v2 element. """ TEST_URL = 'http://keystone.host:5000/' @@ -209,21 +216,6 @@ class DiscoveryList(dict): def __init__(self, href=None, v2=True, v3=True, v2_id=None, v3_id=None, v2_status=None, v2_updated=None, v2_html=True, v2_pdf=True, v3_status=None, v3_updated=None, v3_json=True, v3_xml=True): - """Create a new structure. - - :param string href: The url that this should be based at. - :param bool v2: Add a v2 element. - :param bool v3: Add a v3 element. - :param string v2_status: The status to use for the v2 element. - :param DateTime v2_updated: The update time to use for the v2 element. - :param bool v2_html: True to add a html link to the v2 element. - :param bool v2_pdf: True to add a pdf link to the v2 element. - :param string v3_status: The status to use for the v3 element. - :param DateTime v3_updated: The update time to use for the v3 element. - :param bool v3_json: True to add a html link to the v2 element. - :param bool v3_xml: True to add a pdf link to the v2 element. - """ - super(DiscoveryList, self).__init__(versions={'values': []}) href = href or self.TEST_URL diff --git a/keystoneclient/httpclient.py b/keystoneclient/httpclient.py index 428a742ce..560d086eb 100644 --- a/keystoneclient/httpclient.py +++ b/keystoneclient/httpclient.py @@ -131,6 +131,62 @@ class _KeystoneAdapter(adapter.LegacyJsonAdapter): class HTTPClient(baseclient.Client, base.BaseAuthPlugin): + """HTTP client + + :param string user_id: User ID for authentication. (optional) + :param string username: Username for authentication. (optional) + :param string user_domain_id: User's domain ID for authentication. + (optional) + :param string user_domain_name: User's domain name for authentication. + (optional) + :param string password: Password for authentication. (optional) + :param string domain_id: Domain ID for domain scoping. (optional) + :param string domain_name: Domain name for domain scoping. (optional) + :param string project_id: Project ID for project scoping. (optional) + :param string project_name: Project name for project scoping. (optional) + :param string project_domain_id: Project's domain ID for project scoping. + (optional) + :param string project_domain_name: Project's domain name for project + scoping. (optional) + :param string auth_url: Identity service endpoint for authorization. + :param string region_name: Name of a region to select when choosing an + endpoint from the service catalog. + :param integer timeout: DEPRECATED: use session. (optional) + :param string endpoint: A user-supplied endpoint URL for the identity + service. Lazy-authentication is possible for API + service calls if endpoint is set at instantiation. + (optional) + :param string token: Token for authentication. (optional) + :param string cacert: DEPRECATED: use session. (optional) + :param string key: DEPRECATED: use session. (optional) + :param string cert: DEPRECATED: use session. (optional) + :param boolean insecure: DEPRECATED: use session. (optional) + :param string original_ip: DEPRECATED: use session. (optional) + :param boolean debug: DEPRECATED: use logging configuration. (optional) + :param dict auth_ref: To allow for consumers of the client to manage their + own caching strategy, you may initialize a client + with a previously captured auth_reference (token). If + there are keyword arguments passed that also exist in + auth_ref, the value from the argument will take + precedence. + :param boolean use_keyring: Enables caching auth_ref into keyring. + default: False (optional) + :param boolean force_new_token: Keyring related parameter, forces request + for new token. default: False (optional) + :param integer stale_duration: Gap in seconds to determine if token from + keyring is about to expire. default: 30 + (optional) + :param string tenant_name: Tenant name. (optional) The tenant_name keyword + argument is deprecated, use project_name + instead. + :param string tenant_id: Tenant id. (optional) The tenant_id keyword + argument is deprecated, use project_id instead. + :param string trust_id: Trust ID for trust scoping. (optional) + :param object session: A Session object to be used for + communicating with the identity service. + :type session: keystoneclient.session.Session + + """ version = None @@ -143,64 +199,6 @@ class HTTPClient(baseclient.Client, base.BaseAuthPlugin): domain_name=None, project_id=None, project_name=None, project_domain_id=None, project_domain_name=None, trust_id=None, session=None, **kwargs): - """Construct a new http client - - :param string user_id: User ID for authentication. (optional) - :param string username: Username for authentication. (optional) - :param string user_domain_id: User's domain ID for authentication. - (optional) - :param string user_domain_name: User's domain name for authentication. - (optional) - :param string password: Password for authentication. (optional) - :param string domain_id: Domain ID for domain scoping. (optional) - :param string domain_name: Domain name for domain scoping. (optional) - :param string project_id: Project ID for project scoping. (optional) - :param string project_name: Project name for project scoping. - (optional) - :param string project_domain_id: Project's domain ID for project - scoping. (optional) - :param string project_domain_name: Project's domain name for project - scoping. (optional) - :param string auth_url: Identity service endpoint for authorization. - :param string region_name: Name of a region to select when choosing an - endpoint from the service catalog. - :param integer timeout: DEPRECATED: use session. (optional) - :param string endpoint: A user-supplied endpoint URL for the identity - service. Lazy-authentication is possible for - API service calls if endpoint is set at - instantiation. (optional) - :param string token: Token for authentication. (optional) - :param string cacert: DEPRECATED: use session. (optional) - :param string key: DEPRECATED: use session. (optional) - :param string cert: DEPRECATED: use session. (optional) - :param boolean insecure: DEPRECATED: use session. (optional) - :param string original_ip: DEPRECATED: use session. (optional) - :param boolean debug: DEPRECATED: use logging configuration. (optional) - :param dict auth_ref: To allow for consumers of the client to manage - their own caching strategy, you may initialize a - client with a previously captured auth_reference - (token). If there are keyword arguments passed - that also exist in auth_ref, the value from the - argument will take precedence. - :param boolean use_keyring: Enables caching auth_ref into keyring. - default: False (optional) - :param boolean force_new_token: Keyring related parameter, forces - request for new token. - default: False (optional) - :param integer stale_duration: Gap in seconds to determine if token - from keyring is about to expire. - default: 30 (optional) - :param string tenant_name: Tenant name. (optional) - The tenant_name keyword argument is - deprecated, use project_name instead. - :param string tenant_id: Tenant id. (optional) - The tenant_id keyword argument is - deprecated, use project_id instead. - :param string trust_id: Trust ID for trust scoping. (optional) - :param object session: A Session object to be used for - communicating with the identity service. - - """ # set baseline defaults self.user_id = None self.username = None diff --git a/keystoneclient/v3/contrib/oauth1/auth.py b/keystoneclient/v3/contrib/oauth1/auth.py index 028203e0d..bd4a152e2 100644 --- a/keystoneclient/v3/contrib/oauth1/auth.py +++ b/keystoneclient/v3/contrib/oauth1/auth.py @@ -20,18 +20,18 @@ except ImportError: class OAuthMethod(v3.AuthMethod): + """OAuth based authentication method. + + :param string consumer_key: Consumer key. + :param string consumer_secret: Consumer secret. + :param string access_key: Access token key. + :param string access_secret: Access token secret. + """ _method_parameters = ['consumer_key', 'consumer_secret', 'access_key', 'access_secret'] def __init__(self, **kwargs): - """Construct an OAuth based authentication method. - - :param string consumer_key: Consumer key. - :param string consumer_secret: Consumer secret. - :param string access_key: Access token key. - :param string access_secret: Access token secret. - """ super(OAuthMethod, self).__init__(**kwargs) if oauth1 is None: raise NotImplementedError('optional package oauthlib'