def GSSAuth(auth_method, gss_deleg_creds=True):
if _API == "<STR_LIT>":<EOL><INDENT>return _SSH_GSSAPI(auth_method, gss_deleg_creds)<EOL><DEDENT>elif _API == "<STR_LIT>" and os.name == "<STR_LIT>":<EOL><INDENT>return _SSH_SSPI(auth_method, gss_deleg_creds)<EOL><DEDENT>else:<EOL><INDENT>raise ImportError("<STR_LIT>")<EOL><DEDENT>
Provide SSH2 GSS-API / SSPI authentication.

:param str auth_method: The name of the SSH authentication mechanism
                        (gssapi-with-mic or gss-keyex)
:param bool gss_deleg_creds: Delegate client credentials or not.
                             We delegate credentials by default.
:return: Either an `._SSH_GSSAPI` (Unix) object or an
         `_SSH_SSPI` (Windows) object

:raises: ``ImportError`` -- If no GSS-API / SSPI module could be imported.

:see: `RFC 4462 <http://www.ietf.org/rfc/rfc4462.txt>`_
:note: Check for the available API and return either an `._SSH_GSSAPI`
       (MIT GSSAPI) object or an `._SSH_SSPI` (MS SSPI) object. If you
       get python-gssapi working on Windows, python-gssapi
       will be used and a `._SSH_GSSAPI` object will be returned.
       If there is no supported API available,
       ``None`` will be returned.