troveclient.apiclient.auth Module¶troveclient.apiclient.auth.BaseAuthPlugin(auth_system=None, **kwargs)¶Bases: object
Base class for authentication plugins.
An authentication plugin needs to override at least the authenticate method to be a valid plugin.
add_common_opts(parser)¶Add options that are common for several plugins.
add_opts(parser)¶Populate the parser with the options for this plugin.
auth_system = None¶authenticate(http_client)¶Authenticate using plugin defined method.
The method usually analyses self.opts and performs a request to authentication server.
| Parameters: | http_client (troveclient.client.HTTPClient) – client object that needs authentication |
|---|---|
| Raises: | AuthorizationFailure |
common_opt_names = ['auth_system', 'username', 'password', 'tenant_name', 'token', 'auth_url']¶get_opt(opt_name, args)¶Return option name and value.
| Parameters: |
|
|---|
opt_names = []¶parse_opts(args)¶Parse the actual auth-system options if any.
This method is expected to populate the attribute self.opts with a dict containing the options and values needed to make authentication.
sufficient_options()¶Check if all required options are present.
| Raises: | AuthPluginOptionsMissing |
|---|
token_and_endpoint(endpoint_type, service_type)¶Return token and endpoint.
| Parameters: |
|
|---|---|
| Returns: | tuple of token and endpoint strings |
| Raises: | EndpointException |
troveclient.apiclient.auth.discover_auth_systems()¶Discover the available auth-systems.
This won’t take into account the old style auth-systems.
troveclient.apiclient.auth.load_auth_system_opts(parser)¶Load options needed by the available auth-systems into a parser.
This function will try to populate the parser with options from the available plugins.
troveclient.apiclient.auth.load_plugin(auth_system)¶troveclient.apiclient.auth.load_plugin_from_args(args)¶Load required plugin and populate it with options.
Try to guess auth system if it is not specified. Systems are tried in alphabetical order.
| Raises: | AuthPluginOptionsMissing |
|---|
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.