troveclient.apiclient.auth module¶
-
class
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.
-
classmethod
add_common_opts
(parser)¶ Add options that are common for several plugins.
-
classmethod
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']¶
-
static
get_opt
(opt_name, args)¶ Return option name and value.
- Parameters
opt_name – name of the option, e.g., “username”
args – parsed arguments
-
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
-
abstract
token_and_endpoint
(endpoint_type, service_type)¶ Return token and endpoint.
- Parameters
service_type (string) – Service type of the endpoint
endpoint_type (string) – Type of endpoint. Possible values: public or publicURL, internal or internalURL, admin or adminURL
- Returns
tuple of token and endpoint strings
- Raises
EndpointException
-
classmethod
-
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