The troveclient.apiclient.auth Module

The 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
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

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
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

python-troveclient 2.12.1.dev1