@classmethod
def load_from_options_getter(cls, getter, **kwargs):
    """Load a plugin from a getter function returning appropriate values.

        To handle cases other than the provided CONF and CLI loading you can
        specify a custom loader function that will be queried for the option
        value.

        The getter is a function that takes one value, an
        :py:class:`oslo_config.cfg.Opt` and returns a value to load with.

        :param getter: A function that returns a value for the given opt.
        :type getter: callable

        :returns: An authentication Plugin.
        :rtype: :py:class:`keystoneclient.auth.BaseAuthPlugin`
        """
    plugin_opts = cls.get_options()
    for opt in plugin_opts:
        val = getter(opt)
        if val is not None:
            val = opt.type(val)
        kwargs.setdefault(opt.dest, val)
    return cls.load_from_options(**kwargs)
