in src/enums.cc [29:132]
void export_enums(py::module_& m) {
using namespace py;
enum_<KeySharedMode>(m, "KeySharedMode")
.value("AutoSplit", AUTO_SPLIT)
.value("Sticky", STICKY);
enum_<ProducerConfiguration::PartitionsRoutingMode>(m, "PartitionsRoutingMode")
.value("UseSinglePartition", ProducerConfiguration::UseSinglePartition)
.value("RoundRobinDistribution", ProducerConfiguration::RoundRobinDistribution)
.value("CustomPartition", ProducerConfiguration::CustomPartition);
enum_<CompressionType>(m, "CompressionType")
.value("NONE", CompressionNone) // Don't use 'None' since it's a keyword in py3
.value("LZ4", CompressionLZ4)
.value("ZLib", CompressionZLib)
.value("ZSTD", CompressionZSTD)
.value("SNAPPY", CompressionSNAPPY);
enum_<ConsumerType>(m, "ConsumerType")
.value("Exclusive", ConsumerExclusive)
.value("Shared", ConsumerShared)
.value("Failover", ConsumerFailover)
.value("KeyShared", ConsumerKeyShared);
enum_<Result>(m, "Result", "Collection of return codes")
.value("Ok", ResultOk)
.value("UnknownError", ResultUnknownError)
.value("InvalidConfiguration", ResultInvalidConfiguration)
.value("Timeout", ResultTimeout)
.value("LookupError", ResultLookupError)
.value("ConnectError", ResultConnectError)
.value("ReadError", ResultReadError)
.value("AuthenticationError", ResultAuthenticationError)
.value("AuthorizationError", ResultAuthorizationError)
.value("ErrorGettingAuthenticationData", ResultErrorGettingAuthenticationData)
.value("BrokerMetadataError", ResultBrokerMetadataError)
.value("BrokerPersistenceError", ResultBrokerPersistenceError)
.value("ChecksumError", ResultChecksumError)
.value("ConsumerBusy", ResultConsumerBusy)
.value("NotConnected", ResultNotConnected)
.value("AlreadyClosed", ResultAlreadyClosed)
.value("InvalidMessage", ResultInvalidMessage)
.value("ConsumerNotInitialized", ResultConsumerNotInitialized)
.value("ProducerNotInitialized", ResultProducerNotInitialized)
.value("ProducerBusy", ResultProducerBusy)
.value("TooManyLookupRequestException", ResultTooManyLookupRequestException)
.value("InvalidTopicName", ResultInvalidTopicName)
.value("InvalidUrl", ResultInvalidUrl)
.value("ServiceUnitNotReady", ResultServiceUnitNotReady)
.value("OperationNotSupported", ResultOperationNotSupported)
.value("ProducerBlockedQuotaExceededError", ResultProducerBlockedQuotaExceededError)
.value("ProducerBlockedQuotaExceededException", ResultProducerBlockedQuotaExceededException)
.value("ProducerQueueIsFull", ResultProducerQueueIsFull)
.value("MessageTooBig", ResultMessageTooBig)
.value("TopicNotFound", ResultTopicNotFound)
.value("SubscriptionNotFound", ResultSubscriptionNotFound)
.value("ConsumerNotFound", ResultConsumerNotFound)
.value("UnsupportedVersionError", ResultUnsupportedVersionError)
.value("TopicTerminated", ResultTopicTerminated)
.value("CryptoError", ResultCryptoError)
.value("IncompatibleSchema", ResultIncompatibleSchema)
.value("ConsumerAssignError", ResultConsumerAssignError)
.value("CumulativeAcknowledgementNotAllowedError", ResultCumulativeAcknowledgementNotAllowedError)
.value("TransactionCoordinatorNotFoundError", ResultTransactionCoordinatorNotFoundError)
.value("InvalidTxnStatusError", ResultInvalidTxnStatusError)
.value("NotAllowedError", ResultNotAllowedError)
.value("TransactionConflict", ResultTransactionConflict)
.value("TransactionNotFound", ResultTransactionNotFound)
.value("ProducerFenced", ResultProducerFenced)
.value("MemoryBufferIsFull", ResultMemoryBufferIsFull)
.value("Interrupted", pulsar::ResultInterrupted);
enum_<SchemaType>(m, "SchemaType", "Supported schema types")
.value("NONE", pulsar::NONE)
.value("STRING", pulsar::STRING)
.value("INT8", pulsar::INT8)
.value("INT16", pulsar::INT16)
.value("INT32", pulsar::INT32)
.value("INT64", pulsar::INT64)
.value("FLOAT", pulsar::FLOAT)
.value("DOUBLE", pulsar::DOUBLE)
.value("BYTES", pulsar::BYTES)
.value("JSON", pulsar::JSON)
.value("PROTOBUF", pulsar::PROTOBUF)
.value("AVRO", pulsar::AVRO)
.value("AUTO_CONSUME", pulsar::AUTO_CONSUME)
.value("AUTO_PUBLISH", pulsar::AUTO_PUBLISH)
.value("KEY_VALUE", pulsar::KEY_VALUE);
enum_<InitialPosition>(m, "InitialPosition", "Supported initial position")
.value("Latest", InitialPositionLatest)
.value("Earliest", InitialPositionEarliest);
enum_<ProducerConfiguration::BatchingType>(m, "BatchingType", "Supported batching types")
.value("Default", ProducerConfiguration::DefaultBatching)
.value("KeyBased", ProducerConfiguration::KeyBasedBatching);
enum_<Logger::Level>(m, "LoggerLevel")
.value("Debug", Logger::LEVEL_DEBUG)
.value("Info", Logger::LEVEL_INFO)
.value("Warn", Logger::LEVEL_WARN)
.value("Error", Logger::LEVEL_ERROR);
}