Load the first valid configuration in the list *auth*. A single
        configuration method can be passed.

        Parameters
        ----------

        auth: List[ClusterAuth] (optional)
            Configuration methods to attempt in order.  Defaults to
            ``[InCluster(), KubeConfig()]``.

def load_first(auth=None):
        """
        Load the first valid configuration in the list *auth*. A single
        configuration method can be passed.

        Parameters
        ----------

        auth: List[ClusterAuth] (optional)
            Configuration methods to attempt in order.  Defaults to
            ``[InCluster(), KubeConfig()]``.

        """
        if auth is None:
            auth = ClusterAuth.DEFAULT
        elif isinstance(auth, ClusterAuth):
            auth = [auth]
        elif isinstance(auth, list):
            if not auth:
                raise kubernetes.config.ConfigException('No authorization methods were provided')
        else:
            msg = ("Invalid authorization method provided. See ClusterAuth "
                   "docstring for ways to specify authentication methods")
            raise ValueError(msg)

        auth_exc = None
        for auth_instance in auth:
            try:
                auth_instance.load()
            except kubernetes.config.ConfigException as exc:
                logger.debug('Failed to load configuration with %s method: %s', auth_instance.__class__, exc)
                auth_exc = exc
            else:
                break
        else:
            raise auth_exc