def parse_security(security: BaseSecurity | None) -> dict[str, Any]:
if security is None:
return {}
if isinstance(security, SASLPlaintext):
return _parse_sasl_plaintext(security)
if isinstance(security, SASLScram256):
return _parse_sasl_scram256(security)
if isinstance(security, SASLScram512):
return _parse_sasl_scram512(security)
if isinstance(security, SASLOAuthBearer):
return _parse_sasl_oauthbearer(security)
if isinstance(security, SASLGSSAPI):
return _parse_sasl_gssapi(security)
if isinstance(security, BaseSecurity):
return _parse_base_security(security)
msg = f"KafkaBroker does not support `{type(security)}`."
raise NotImplementedError(msg)