def parse_security(security: BaseSecurity | None) -> dict[str, Any]:
if security is None:
return {}
if security.ssl_context:
msg = "ssl_context is not supported by confluent-kafka-python, please use config instead."
raise SetupError(msg)
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)