troveclient.apiclient.auth module

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

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.