/* * SPDX-FileCopyrightText: 2020 Stalwart Labs LLC * * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-SEL */ // This file is auto-generated. Do not edit directly. use crate::{Level, event::enums::*}; use std::borrow::Cow; impl EventType { pub fn parse(value: &str) -> Option { hashify::map! { value.as_bytes(), EventType, b"acme.auth-start" => EventType::Acme(AcmeEvent::AuthStart), b"acme.auth-pending" => EventType::Acme(AcmeEvent::AuthPending), b"acme.auth-valid" => EventType::Acme(AcmeEvent::AuthValid), b"acme.auth-completed" => EventType::Acme(AcmeEvent::AuthCompleted), b"acme.auth-error" => EventType::Acme(AcmeEvent::AuthError), b"acme.auth-too-many-attempts" => EventType::Acme(AcmeEvent::AuthTooManyAttempts), b"acme.process-cert" => EventType::Acme(AcmeEvent::ProcessCert), b"acme.order-start" => EventType::Acme(AcmeEvent::OrderStart), b"acme.order-processing" => EventType::Acme(AcmeEvent::OrderProcessing), b"acme.order-completed" => EventType::Acme(AcmeEvent::OrderCompleted), b"acme.order-ready" => EventType::Acme(AcmeEvent::OrderReady), b"acme.order-valid" => EventType::Acme(AcmeEvent::OrderValid), b"acme.order-invalid" => EventType::Acme(AcmeEvent::OrderInvalid), b"acme.renew-backoff" => EventType::Acme(AcmeEvent::RenewBackoff), b"acme.client-supplied-sni" => EventType::Acme(AcmeEvent::ClientSuppliedSni), b"acme.client-missing-sni" => EventType::Acme(AcmeEvent::ClientMissingSni), b"acme.tls-alpn-received" => EventType::Acme(AcmeEvent::TlsAlpnReceived), b"acme.tls-alpn-error" => EventType::Acme(AcmeEvent::TlsAlpnError), b"acme.token-not-found" => EventType::Acme(AcmeEvent::TokenNotFound), b"acme.error" => EventType::Acme(AcmeEvent::Error), b"ai.llm-response" => EventType::Ai(AiEvent::LlmResponse), b"ai.api-error" => EventType::Ai(AiEvent::ApiError), // inbuxa: SCIM-54 b"scim.resource-created" => EventType::Scim(ScimEvent::ResourceCreated), b"scim.resource-updated" => EventType::Scim(ScimEvent::ResourceUpdated), b"scim.resource-suspended" => EventType::Scim(ScimEvent::ResourceSuspended), b"scim.resource-reactivated" => EventType::Scim(ScimEvent::ResourceReactivated), b"scim.resource-deleted" => EventType::Scim(ScimEvent::ResourceDeleted), b"arc.chain-too-long" => EventType::Arc(ArcEvent::ChainTooLong), b"arc.invalid-instance" => EventType::Arc(ArcEvent::InvalidInstance), b"arc.invalid-cv" => EventType::Arc(ArcEvent::InvalidCv), b"arc.has-header-tag" => EventType::Arc(ArcEvent::HasHeaderTag), b"arc.broken-chain" => EventType::Arc(ArcEvent::BrokenChain), b"arc.sealer-not-found" => EventType::Arc(ArcEvent::SealerNotFound), b"auth.success" => EventType::Auth(AuthEvent::Success), b"auth.failed" => EventType::Auth(AuthEvent::Failed), b"auth.token-expired" => EventType::Auth(AuthEvent::TokenExpired), b"auth.mfa-required" => EventType::Auth(AuthEvent::MfaRequired), b"auth.too-many-attempts" => EventType::Auth(AuthEvent::TooManyAttempts), b"auth.client-registration" => EventType::Auth(AuthEvent::ClientRegistration), b"auth.error" => EventType::Auth(AuthEvent::Error), b"auth.warning" => EventType::Auth(AuthEvent::Warning), b"auth.credential-expired" => EventType::Auth(AuthEvent::CredentialExpired), b"calendar.rule-expansion-error" => EventType::Calendar(CalendarEvent::RuleExpansionError), b"calendar.alarm-sent" => EventType::Calendar(CalendarEvent::AlarmSent), b"calendar.alarm-skipped" => EventType::Calendar(CalendarEvent::AlarmSkipped), b"calendar.alarm-recipient-override" => EventType::Calendar(CalendarEvent::AlarmRecipientOverride), b"calendar.alarm-failed" => EventType::Calendar(CalendarEvent::AlarmFailed), b"calendar.itip-message-sent" => EventType::Calendar(CalendarEvent::ItipMessageSent), b"calendar.itip-message-received" => EventType::Calendar(CalendarEvent::ItipMessageReceived), b"calendar.itip-message-error" => EventType::Calendar(CalendarEvent::ItipMessageError), b"cluster.startup" => EventType::Cluster(ClusterEvent::Startup), b"cluster.subscriber-start" => EventType::Cluster(ClusterEvent::SubscriberStart), b"cluster.subscriber-stop" => EventType::Cluster(ClusterEvent::SubscriberStop), b"cluster.subscriber-error" => EventType::Cluster(ClusterEvent::SubscriberError), b"cluster.subscriber-disconnected" => EventType::Cluster(ClusterEvent::SubscriberDisconnected), b"cluster.publisher-start" => EventType::Cluster(ClusterEvent::PublisherStart), b"cluster.publisher-stop" => EventType::Cluster(ClusterEvent::PublisherStop), b"cluster.publisher-error" => EventType::Cluster(ClusterEvent::PublisherError), b"cluster.message-received" => EventType::Cluster(ClusterEvent::MessageReceived), b"cluster.message-skipped" => EventType::Cluster(ClusterEvent::MessageSkipped), b"cluster.message-invalid" => EventType::Cluster(ClusterEvent::MessageInvalid), b"cluster.node-id-renewed" => EventType::Cluster(ClusterEvent::NodeIdRenewed), b"dane.authentication-success" => EventType::Dane(DaneEvent::AuthenticationSuccess), b"dane.authentication-failure" => EventType::Dane(DaneEvent::AuthenticationFailure), b"dane.no-certificates-found" => EventType::Dane(DaneEvent::NoCertificatesFound), b"dane.certificate-parse-error" => EventType::Dane(DaneEvent::CertificateParseError), b"dane.tlsa-record-match" => EventType::Dane(DaneEvent::TlsaRecordMatch), b"dane.tlsa-record-fetch" => EventType::Dane(DaneEvent::TlsaRecordFetch), b"dane.tlsa-record-fetch-error" => EventType::Dane(DaneEvent::TlsaRecordFetchError), b"dane.tlsa-record-not-found" => EventType::Dane(DaneEvent::TlsaRecordNotFound), b"dane.tlsa-record-not-dnssec-signed" => EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned), b"dane.tlsa-record-invalid" => EventType::Dane(DaneEvent::TlsaRecordInvalid), b"dane.bogus-dnssec-record" => EventType::Dane(DaneEvent::BogusDnssecRecord), b"delivery.attempt-start" => EventType::Delivery(DeliveryEvent::AttemptStart), b"delivery.attempt-end" => EventType::Delivery(DeliveryEvent::AttemptEnd), b"delivery.completed" => EventType::Delivery(DeliveryEvent::Completed), b"delivery.failed" => EventType::Delivery(DeliveryEvent::Failed), b"delivery.domain-delivery-start" => EventType::Delivery(DeliveryEvent::DomainDeliveryStart), b"delivery.mx-lookup" => EventType::Delivery(DeliveryEvent::MxLookup), b"delivery.mx-lookup-failed" => EventType::Delivery(DeliveryEvent::MxLookupFailed), b"delivery.ip-lookup" => EventType::Delivery(DeliveryEvent::IpLookup), b"delivery.ip-lookup-failed" => EventType::Delivery(DeliveryEvent::IpLookupFailed), b"delivery.null-mx" => EventType::Delivery(DeliveryEvent::NullMx), b"delivery.connect" => EventType::Delivery(DeliveryEvent::Connect), b"delivery.connect-error" => EventType::Delivery(DeliveryEvent::ConnectError), b"delivery.missing-outbound-hostname" => EventType::Delivery(DeliveryEvent::MissingOutboundHostname), b"delivery.greeting-failed" => EventType::Delivery(DeliveryEvent::GreetingFailed), b"delivery.ehlo" => EventType::Delivery(DeliveryEvent::Ehlo), b"delivery.ehlo-rejected" => EventType::Delivery(DeliveryEvent::EhloRejected), b"delivery.auth" => EventType::Delivery(DeliveryEvent::Auth), b"delivery.auth-failed" => EventType::Delivery(DeliveryEvent::AuthFailed), b"delivery.mail-from" => EventType::Delivery(DeliveryEvent::MailFrom), b"delivery.mail-from-rejected" => EventType::Delivery(DeliveryEvent::MailFromRejected), b"delivery.delivered" => EventType::Delivery(DeliveryEvent::Delivered), b"delivery.rcpt-to" => EventType::Delivery(DeliveryEvent::RcptTo), b"delivery.rcpt-to-rejected" => EventType::Delivery(DeliveryEvent::RcptToRejected), b"delivery.rcpt-to-failed" => EventType::Delivery(DeliveryEvent::RcptToFailed), b"delivery.message-rejected" => EventType::Delivery(DeliveryEvent::MessageRejected), b"delivery.start-tls" => EventType::Delivery(DeliveryEvent::StartTls), b"delivery.start-tls-unavailable" => EventType::Delivery(DeliveryEvent::StartTlsUnavailable), b"delivery.start-tls-error" => EventType::Delivery(DeliveryEvent::StartTlsError), b"delivery.start-tls-disabled" => EventType::Delivery(DeliveryEvent::StartTlsDisabled), b"delivery.implicit-tls-error" => EventType::Delivery(DeliveryEvent::ImplicitTlsError), b"delivery.concurrency-limit-exceeded" => EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded), b"delivery.rate-limit-exceeded" => EventType::Delivery(DeliveryEvent::RateLimitExceeded), b"delivery.double-bounce" => EventType::Delivery(DeliveryEvent::DoubleBounce), b"delivery.dsn-success" => EventType::Delivery(DeliveryEvent::DsnSuccess), b"delivery.dsn-temp-fail" => EventType::Delivery(DeliveryEvent::DsnTempFail), b"delivery.dsn-perm-fail" => EventType::Delivery(DeliveryEvent::DsnPermFail), b"delivery.raw-input" => EventType::Delivery(DeliveryEvent::RawInput), b"delivery.raw-output" => EventType::Delivery(DeliveryEvent::RawOutput), b"dkim.pass" => EventType::Dkim(DkimEvent::Pass), b"dkim.neutral" => EventType::Dkim(DkimEvent::Neutral), b"dkim.fail" => EventType::Dkim(DkimEvent::Fail), b"dkim.perm-error" => EventType::Dkim(DkimEvent::PermError), b"dkim.temp-error" => EventType::Dkim(DkimEvent::TempError), b"dkim.none" => EventType::Dkim(DkimEvent::None), b"dkim.unsupported-version" => EventType::Dkim(DkimEvent::UnsupportedVersion), b"dkim.unsupported-algorithm" => EventType::Dkim(DkimEvent::UnsupportedAlgorithm), b"dkim.unsupported-canonicalization" => EventType::Dkim(DkimEvent::UnsupportedCanonicalization), b"dkim.unsupported-key-type" => EventType::Dkim(DkimEvent::UnsupportedKeyType), b"dkim.failed-body-hash-match" => EventType::Dkim(DkimEvent::FailedBodyHashMatch), b"dkim.failed-verification" => EventType::Dkim(DkimEvent::FailedVerification), b"dkim.failed-auid-match" => EventType::Dkim(DkimEvent::FailedAuidMatch), b"dkim.revoked-public-key" => EventType::Dkim(DkimEvent::RevokedPublicKey), b"dkim.incompatible-algorithms" => EventType::Dkim(DkimEvent::IncompatibleAlgorithms), b"dkim.signature-expired" => EventType::Dkim(DkimEvent::SignatureExpired), b"dkim.signature-length" => EventType::Dkim(DkimEvent::SignatureLength), b"dkim.signer-not-found" => EventType::Dkim(DkimEvent::SignerNotFound), b"dkim.build-error" => EventType::Dkim(DkimEvent::BuildError), b"dkim.signature-created" => EventType::Dkim(DkimEvent::SignatureCreated), b"dkim.signature-published" => EventType::Dkim(DkimEvent::SignaturePublished), b"dkim.signature-retiring" => EventType::Dkim(DkimEvent::SignatureRetiring), b"dkim.signature-retired" => EventType::Dkim(DkimEvent::SignatureRetired), b"dkim.signature-deleted" => EventType::Dkim(DkimEvent::SignatureDeleted), b"dkim.instance-missing" => EventType::Dkim(DkimEvent::InstanceMissing), b"dkim.instance-syntax" => EventType::Dkim(DkimEvent::InstanceSyntax), b"dkim.instance-tag-missing" => EventType::Dkim(DkimEvent::InstanceTagMissing), b"dkim.instance-not-signed" => EventType::Dkim(DkimEvent::InstanceNotSigned), b"dkim.instance-above-signature" => EventType::Dkim(DkimEvent::InstanceAboveSignature), b"dkim.signature-missing" => EventType::Dkim(DkimEvent::SignatureMissing), b"dkim.signature-syntax" => EventType::Dkim(DkimEvent::SignatureSyntax), b"dkim.signature-tag-missing" => EventType::Dkim(DkimEvent::SignatureTagMissing), b"dkim.signature-tag-unexpected" => EventType::Dkim(DkimEvent::SignatureTagUnexpected), b"dkim.sequence-gap" => EventType::Dkim(DkimEvent::SequenceGap), b"dkim.sequence-overflow" => EventType::Dkim(DkimEvent::SequenceOverflow), b"dkim.chain-too-long" => EventType::Dkim(DkimEvent::ChainTooLong), b"dkim.mail-from-mismatch" => EventType::Dkim(DkimEvent::MailFromMismatch), b"dkim.rcpt-to-mismatch" => EventType::Dkim(DkimEvent::RcptToMismatch), b"dkim.mail-from-domain-mismatch" => EventType::Dkim(DkimEvent::MailFromDomainMismatch), b"dkim.next-domain-mismatch" => EventType::Dkim(DkimEvent::NextDomainMismatch), b"dkim.custody-break" => EventType::Dkim(DkimEvent::CustodyBreak), b"dkim.public-key-fetch" => EventType::Dkim(DkimEvent::PublicKeyFetch), b"dkim.public-key-missing" => EventType::Dkim(DkimEvent::PublicKeyMissing), b"dkim.public-key-multiple" => EventType::Dkim(DkimEvent::PublicKeyMultiple), b"dkim.public-key-syntax" => EventType::Dkim(DkimEvent::PublicKeySyntax), b"dkim.public-key-algorithm-mismatch" => EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch), b"dkim.no-valid-algorithm" => EventType::Dkim(DkimEvent::NoValidAlgorithm), b"dkim.header-hash-mismatch" => EventType::Dkim(DkimEvent::HeaderHashMismatch), b"dkim.modified" => EventType::Dkim(DkimEvent::Modified), b"dkim.exploded" => EventType::Dkim(DkimEvent::Exploded), b"dmarc.pass" => EventType::Dmarc(DmarcEvent::Pass), b"dmarc.fail" => EventType::Dmarc(DmarcEvent::Fail), b"dmarc.perm-error" => EventType::Dmarc(DmarcEvent::PermError), b"dmarc.temp-error" => EventType::Dmarc(DmarcEvent::TempError), b"dmarc.none" => EventType::Dmarc(DmarcEvent::None), b"dns.record-created" => EventType::Dns(DnsEvent::RecordCreated), b"dns.record-creation-failed" => EventType::Dns(DnsEvent::RecordCreationFailed), b"dns.record-deletion-failed" => EventType::Dns(DnsEvent::RecordDeletionFailed), b"dns.record-not-propagated" => EventType::Dns(DnsEvent::RecordNotPropagated), b"dns.record-lookup-failed" => EventType::Dns(DnsEvent::RecordLookupFailed), b"dns.record-propagated" => EventType::Dns(DnsEvent::RecordPropagated), b"dns.record-propagation-timeout" => EventType::Dns(DnsEvent::RecordPropagationTimeout), b"dns.build-error" => EventType::Dns(DnsEvent::BuildError), b"eval.result" => EventType::Eval(EvalEvent::Result), b"eval.error" => EventType::Eval(EvalEvent::Error), b"eval.directory-not-found" => EventType::Eval(EvalEvent::DirectoryNotFound), b"eval.store-not-found" => EventType::Eval(EvalEvent::StoreNotFound), b"http.connection-start" => EventType::Http(HttpEvent::ConnectionStart), b"http.connection-end" => EventType::Http(HttpEvent::ConnectionEnd), b"http.error" => EventType::Http(HttpEvent::Error), b"http.request-url" => EventType::Http(HttpEvent::RequestUrl), b"http.request-body" => EventType::Http(HttpEvent::RequestBody), b"http.response-body" => EventType::Http(HttpEvent::ResponseBody), b"http.x-forwarded-missing" => EventType::Http(HttpEvent::XForwardedMissing), b"imap.connection-start" => EventType::Imap(ImapEvent::ConnectionStart), b"imap.connection-end" => EventType::Imap(ImapEvent::ConnectionEnd), b"imap.get-acl" => EventType::Imap(ImapEvent::GetAcl), b"imap.set-acl" => EventType::Imap(ImapEvent::SetAcl), b"imap.my-rights" => EventType::Imap(ImapEvent::MyRights), b"imap.list-rights" => EventType::Imap(ImapEvent::ListRights), b"imap.append" => EventType::Imap(ImapEvent::Append), b"imap.capabilities" => EventType::Imap(ImapEvent::Capabilities), b"imap.id" => EventType::Imap(ImapEvent::Id), b"imap.close" => EventType::Imap(ImapEvent::Close), b"imap.copy" => EventType::Imap(ImapEvent::Copy), b"imap.move" => EventType::Imap(ImapEvent::Move), b"imap.create-mailbox" => EventType::Imap(ImapEvent::CreateMailbox), b"imap.delete-mailbox" => EventType::Imap(ImapEvent::DeleteMailbox), b"imap.rename-mailbox" => EventType::Imap(ImapEvent::RenameMailbox), b"imap.enable" => EventType::Imap(ImapEvent::Enable), b"imap.expunge" => EventType::Imap(ImapEvent::Expunge), b"imap.fetch" => EventType::Imap(ImapEvent::Fetch), b"imap.idle-start" => EventType::Imap(ImapEvent::IdleStart), b"imap.idle-stop" => EventType::Imap(ImapEvent::IdleStop), b"imap.list" => EventType::Imap(ImapEvent::List), b"imap.lsub" => EventType::Imap(ImapEvent::Lsub), b"imap.logout" => EventType::Imap(ImapEvent::Logout), b"imap.namespace" => EventType::Imap(ImapEvent::Namespace), b"imap.noop" => EventType::Imap(ImapEvent::Noop), b"imap.search" => EventType::Imap(ImapEvent::Search), b"imap.sort" => EventType::Imap(ImapEvent::Sort), b"imap.select" => EventType::Imap(ImapEvent::Select), b"imap.status" => EventType::Imap(ImapEvent::Status), b"imap.store" => EventType::Imap(ImapEvent::Store), b"imap.subscribe" => EventType::Imap(ImapEvent::Subscribe), b"imap.unsubscribe" => EventType::Imap(ImapEvent::Unsubscribe), b"imap.thread" => EventType::Imap(ImapEvent::Thread), b"imap.uid-batches" => EventType::Imap(ImapEvent::UidBatches), b"imap.get-quota" => EventType::Imap(ImapEvent::GetQuota), b"imap.error" => EventType::Imap(ImapEvent::Error), b"imap.raw-input" => EventType::Imap(ImapEvent::RawInput), b"imap.raw-output" => EventType::Imap(ImapEvent::RawOutput), b"incoming-report.dmarc-report" => EventType::IncomingReport(IncomingReportEvent::DmarcReport), b"incoming-report.dmarc-report-with-warnings" => EventType::IncomingReport(IncomingReportEvent::DmarcReportWithWarnings), b"incoming-report.tls-report" => EventType::IncomingReport(IncomingReportEvent::TlsReport), b"incoming-report.tls-report-with-warnings" => EventType::IncomingReport(IncomingReportEvent::TlsReportWithWarnings), b"incoming-report.abuse-report" => EventType::IncomingReport(IncomingReportEvent::AbuseReport), b"incoming-report.auth-failure-report" => EventType::IncomingReport(IncomingReportEvent::AuthFailureReport), b"incoming-report.fraud-report" => EventType::IncomingReport(IncomingReportEvent::FraudReport), b"incoming-report.not-spam-report" => EventType::IncomingReport(IncomingReportEvent::NotSpamReport), b"incoming-report.virus-report" => EventType::IncomingReport(IncomingReportEvent::VirusReport), b"incoming-report.other-report" => EventType::IncomingReport(IncomingReportEvent::OtherReport), b"incoming-report.message-parse-failed" => EventType::IncomingReport(IncomingReportEvent::MessageParseFailed), b"incoming-report.dmarc-parse-failed" => EventType::IncomingReport(IncomingReportEvent::DmarcParseFailed), b"incoming-report.tls-rpc-parse-failed" => EventType::IncomingReport(IncomingReportEvent::TlsRpcParseFailed), b"incoming-report.arf-parse-failed" => EventType::IncomingReport(IncomingReportEvent::ArfParseFailed), b"incoming-report.decompress-error" => EventType::IncomingReport(IncomingReportEvent::DecompressError), b"iprev.pass" => EventType::Iprev(IprevEvent::Pass), b"iprev.fail" => EventType::Iprev(IprevEvent::Fail), b"iprev.perm-error" => EventType::Iprev(IprevEvent::PermError), b"iprev.temp-error" => EventType::Iprev(IprevEvent::TempError), b"iprev.none" => EventType::Iprev(IprevEvent::None), b"jmap.method-call" => EventType::Jmap(JmapEvent::MethodCall), b"jmap.invalid-arguments" => EventType::Jmap(JmapEvent::InvalidArguments), b"jmap.request-too-large" => EventType::Jmap(JmapEvent::RequestTooLarge), b"jmap.state-mismatch" => EventType::Jmap(JmapEvent::StateMismatch), b"jmap.anchor-not-found" => EventType::Jmap(JmapEvent::AnchorNotFound), b"jmap.unsupported-filter" => EventType::Jmap(JmapEvent::UnsupportedFilter), b"jmap.unsupported-sort" => EventType::Jmap(JmapEvent::UnsupportedSort), b"jmap.unknown-method" => EventType::Jmap(JmapEvent::UnknownMethod), b"jmap.invalid-result-reference" => EventType::Jmap(JmapEvent::InvalidResultReference), b"jmap.forbidden" => EventType::Jmap(JmapEvent::Forbidden), b"jmap.account-not-found" => EventType::Jmap(JmapEvent::AccountNotFound), b"jmap.account-not-supported-by-method" => EventType::Jmap(JmapEvent::AccountNotSupportedByMethod), b"jmap.account-read-only" => EventType::Jmap(JmapEvent::AccountReadOnly), b"jmap.not-found" => EventType::Jmap(JmapEvent::NotFound), b"jmap.cannot-calculate-changes" => EventType::Jmap(JmapEvent::CannotCalculateChanges), b"jmap.unknown-data-type" => EventType::Jmap(JmapEvent::UnknownDataType), b"jmap.unknown-capability" => EventType::Jmap(JmapEvent::UnknownCapability), b"jmap.not-json" => EventType::Jmap(JmapEvent::NotJson), b"jmap.not-request" => EventType::Jmap(JmapEvent::NotRequest), b"jmap.websocket-start" => EventType::Jmap(JmapEvent::WebsocketStart), b"jmap.websocket-stop" => EventType::Jmap(JmapEvent::WebsocketStop), b"jmap.websocket-error" => EventType::Jmap(JmapEvent::WebsocketError), b"limit.size-request" => EventType::Limit(LimitEvent::SizeRequest), b"limit.size-upload" => EventType::Limit(LimitEvent::SizeUpload), b"limit.calls-in" => EventType::Limit(LimitEvent::CallsIn), b"limit.concurrent-request" => EventType::Limit(LimitEvent::ConcurrentRequest), b"limit.concurrent-upload" => EventType::Limit(LimitEvent::ConcurrentUpload), b"limit.concurrent-connection" => EventType::Limit(LimitEvent::ConcurrentConnection), b"limit.quota" => EventType::Limit(LimitEvent::Quota), b"limit.blob-quota" => EventType::Limit(LimitEvent::BlobQuota), b"limit.tenant-quota" => EventType::Limit(LimitEvent::TenantQuota), b"limit.too-many-requests" => EventType::Limit(LimitEvent::TooManyRequests), b"mail-auth.parse-error" => EventType::MailAuth(MailAuthEvent::ParseError), b"mail-auth.missing-parameters" => EventType::MailAuth(MailAuthEvent::MissingParameters), b"mail-auth.no-headers-found" => EventType::MailAuth(MailAuthEvent::NoHeadersFound), b"mail-auth.crypto" => EventType::MailAuth(MailAuthEvent::Crypto), b"mail-auth.io" => EventType::MailAuth(MailAuthEvent::Io), b"mail-auth.base64" => EventType::MailAuth(MailAuthEvent::Base64), b"mail-auth.dns-error" => EventType::MailAuth(MailAuthEvent::DnsError), b"mail-auth.dns-record-not-found" => EventType::MailAuth(MailAuthEvent::DnsRecordNotFound), b"mail-auth.dns-invalid-record-type" => EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType), b"mail-auth.policy-not-aligned" => EventType::MailAuth(MailAuthEvent::PolicyNotAligned), b"manage-sieve.connection-start" => EventType::ManageSieve(ManageSieveEvent::ConnectionStart), b"manage-sieve.connection-end" => EventType::ManageSieve(ManageSieveEvent::ConnectionEnd), b"manage-sieve.create-script" => EventType::ManageSieve(ManageSieveEvent::CreateScript), b"manage-sieve.update-script" => EventType::ManageSieve(ManageSieveEvent::UpdateScript), b"manage-sieve.get-script" => EventType::ManageSieve(ManageSieveEvent::GetScript), b"manage-sieve.delete-script" => EventType::ManageSieve(ManageSieveEvent::DeleteScript), b"manage-sieve.rename-script" => EventType::ManageSieve(ManageSieveEvent::RenameScript), b"manage-sieve.check-script" => EventType::ManageSieve(ManageSieveEvent::CheckScript), b"manage-sieve.have-space" => EventType::ManageSieve(ManageSieveEvent::HaveSpace), b"manage-sieve.list-scripts" => EventType::ManageSieve(ManageSieveEvent::ListScripts), b"manage-sieve.set-active" => EventType::ManageSieve(ManageSieveEvent::SetActive), b"manage-sieve.capabilities" => EventType::ManageSieve(ManageSieveEvent::Capabilities), b"manage-sieve.start-tls" => EventType::ManageSieve(ManageSieveEvent::StartTls), b"manage-sieve.unauthenticate" => EventType::ManageSieve(ManageSieveEvent::Unauthenticate), b"manage-sieve.logout" => EventType::ManageSieve(ManageSieveEvent::Logout), b"manage-sieve.noop" => EventType::ManageSieve(ManageSieveEvent::Noop), b"manage-sieve.error" => EventType::ManageSieve(ManageSieveEvent::Error), b"manage-sieve.raw-input" => EventType::ManageSieve(ManageSieveEvent::RawInput), b"manage-sieve.raw-output" => EventType::ManageSieve(ManageSieveEvent::RawOutput), b"message-ingest.ham" => EventType::MessageIngest(MessageIngestEvent::Ham), b"message-ingest.spam" => EventType::MessageIngest(MessageIngestEvent::Spam), b"message-ingest.imap-append" => EventType::MessageIngest(MessageIngestEvent::ImapAppend), b"message-ingest.jmap-append" => EventType::MessageIngest(MessageIngestEvent::JmapAppend), b"message-ingest.duplicate" => EventType::MessageIngest(MessageIngestEvent::Duplicate), b"message-ingest.error" => EventType::MessageIngest(MessageIngestEvent::Error), b"message-ingest.search-index" => EventType::MessageIngest(MessageIngestEvent::SearchIndex), b"milter.read" => EventType::Milter(MilterEvent::Read), b"milter.write" => EventType::Milter(MilterEvent::Write), b"milter.action-accept" => EventType::Milter(MilterEvent::ActionAccept), b"milter.action-discard" => EventType::Milter(MilterEvent::ActionDiscard), b"milter.action-reject" => EventType::Milter(MilterEvent::ActionReject), b"milter.action-temp-fail" => EventType::Milter(MilterEvent::ActionTempFail), b"milter.action-reply-code" => EventType::Milter(MilterEvent::ActionReplyCode), b"milter.action-connection-failure" => EventType::Milter(MilterEvent::ActionConnectionFailure), b"milter.action-shutdown" => EventType::Milter(MilterEvent::ActionShutdown), b"milter.io-error" => EventType::Milter(MilterEvent::IoError), b"milter.frame-too-large" => EventType::Milter(MilterEvent::FrameTooLarge), b"milter.frame-invalid" => EventType::Milter(MilterEvent::FrameInvalid), b"milter.unexpected-response" => EventType::Milter(MilterEvent::UnexpectedResponse), b"milter.timeout" => EventType::Milter(MilterEvent::Timeout), b"milter.tls-invalid-name" => EventType::Milter(MilterEvent::TlsInvalidName), b"milter.disconnected" => EventType::Milter(MilterEvent::Disconnected), b"milter.parse-error" => EventType::Milter(MilterEvent::ParseError), b"mta-hook.action-accept" => EventType::MtaHook(MtaHookEvent::ActionAccept), b"mta-hook.action-discard" => EventType::MtaHook(MtaHookEvent::ActionDiscard), b"mta-hook.action-reject" => EventType::MtaHook(MtaHookEvent::ActionReject), b"mta-hook.action-quarantine" => EventType::MtaHook(MtaHookEvent::ActionQuarantine), b"mta-hook.error" => EventType::MtaHook(MtaHookEvent::Error), b"mta-sts.authorized" => EventType::MtaSts(MtaStsEvent::Authorized), b"mta-sts.not-authorized" => EventType::MtaSts(MtaStsEvent::NotAuthorized), b"mta-sts.policy-fetch" => EventType::MtaSts(MtaStsEvent::PolicyFetch), b"mta-sts.policy-not-found" => EventType::MtaSts(MtaStsEvent::PolicyNotFound), b"mta-sts.policy-fetch-error" => EventType::MtaSts(MtaStsEvent::PolicyFetchError), b"mta-sts.invalid-policy" => EventType::MtaSts(MtaStsEvent::InvalidPolicy), b"network.listen-start" => EventType::Network(NetworkEvent::ListenStart), b"network.listen-stop" => EventType::Network(NetworkEvent::ListenStop), b"network.listen-error" => EventType::Network(NetworkEvent::ListenError), b"network.bind-error" => EventType::Network(NetworkEvent::BindError), b"network.read-error" => EventType::Network(NetworkEvent::ReadError), b"network.write-error" => EventType::Network(NetworkEvent::WriteError), b"network.flush-error" => EventType::Network(NetworkEvent::FlushError), b"network.accept-error" => EventType::Network(NetworkEvent::AcceptError), b"network.split-error" => EventType::Network(NetworkEvent::SplitError), b"network.timeout" => EventType::Network(NetworkEvent::Timeout), b"network.closed" => EventType::Network(NetworkEvent::Closed), b"network.proxy-error" => EventType::Network(NetworkEvent::ProxyError), b"network.set-opt-error" => EventType::Network(NetworkEvent::SetOptError), b"outgoing-report.spf-report" => EventType::OutgoingReport(OutgoingReportEvent::SpfReport), b"outgoing-report.spf-rate-limited" => EventType::OutgoingReport(OutgoingReportEvent::SpfRateLimited), b"outgoing-report.dkim-report" => EventType::OutgoingReport(OutgoingReportEvent::DkimReport), b"outgoing-report.dkim-rate-limited" => EventType::OutgoingReport(OutgoingReportEvent::DkimRateLimited), b"outgoing-report.dmarc-report" => EventType::OutgoingReport(OutgoingReportEvent::DmarcReport), b"outgoing-report.dmarc-rate-limited" => EventType::OutgoingReport(OutgoingReportEvent::DmarcRateLimited), b"outgoing-report.dmarc-aggregate-report" => EventType::OutgoingReport(OutgoingReportEvent::DmarcAggregateReport), b"outgoing-report.tls-aggregate" => EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate), b"outgoing-report.http-submission" => EventType::OutgoingReport(OutgoingReportEvent::HttpSubmission), b"outgoing-report.unauthorized-reporting-address" => EventType::OutgoingReport(OutgoingReportEvent::UnauthorizedReportingAddress), b"outgoing-report.reporting-address-validation-error" => EventType::OutgoingReport(OutgoingReportEvent::ReportingAddressValidationError), b"outgoing-report.not-found" => EventType::OutgoingReport(OutgoingReportEvent::NotFound), b"outgoing-report.submission-error" => EventType::OutgoingReport(OutgoingReportEvent::SubmissionError), b"outgoing-report.no-recipients-found" => EventType::OutgoingReport(OutgoingReportEvent::NoRecipientsFound), b"outgoing-report.locked" => EventType::OutgoingReport(OutgoingReportEvent::Locked), b"outgoing-report.max-size-exceeded" => EventType::OutgoingReport(OutgoingReportEvent::MaxSizeExceeded), b"pop3.connection-start" => EventType::Pop3(Pop3Event::ConnectionStart), b"pop3.connection-end" => EventType::Pop3(Pop3Event::ConnectionEnd), b"pop3.delete" => EventType::Pop3(Pop3Event::Delete), b"pop3.reset" => EventType::Pop3(Pop3Event::Reset), b"pop3.quit" => EventType::Pop3(Pop3Event::Quit), b"pop3.fetch" => EventType::Pop3(Pop3Event::Fetch), b"pop3.list" => EventType::Pop3(Pop3Event::List), b"pop3.list-message" => EventType::Pop3(Pop3Event::ListMessage), b"pop3.uidl" => EventType::Pop3(Pop3Event::Uidl), b"pop3.uidl-message" => EventType::Pop3(Pop3Event::UidlMessage), b"pop3.stat" => EventType::Pop3(Pop3Event::Stat), b"pop3.noop" => EventType::Pop3(Pop3Event::Noop), b"pop3.capabilities" => EventType::Pop3(Pop3Event::Capabilities), b"pop3.start-tls" => EventType::Pop3(Pop3Event::StartTls), b"pop3.utf8" => EventType::Pop3(Pop3Event::Utf8), b"pop3.error" => EventType::Pop3(Pop3Event::Error), b"pop3.raw-input" => EventType::Pop3(Pop3Event::RawInput), b"pop3.raw-output" => EventType::Pop3(Pop3Event::RawOutput), b"push-subscription.success" => EventType::PushSubscription(PushSubscriptionEvent::Success), b"push-subscription.error" => EventType::PushSubscription(PushSubscriptionEvent::Error), b"push-subscription.not-found" => EventType::PushSubscription(PushSubscriptionEvent::NotFound), b"queue.started" => EventType::Queue(QueueEvent::Started), b"queue.message-queued" => EventType::Queue(QueueEvent::MessageQueued), b"queue.authenticated-message-queued" => EventType::Queue(QueueEvent::AuthenticatedMessageQueued), b"queue.report-queued" => EventType::Queue(QueueEvent::ReportQueued), b"queue.dsn-queued" => EventType::Queue(QueueEvent::DsnQueued), b"queue.autogenerated-queued" => EventType::Queue(QueueEvent::AutogeneratedQueued), b"queue.rescheduled" => EventType::Queue(QueueEvent::Rescheduled), b"queue.locked" => EventType::Queue(QueueEvent::Locked), b"queue.blob-not-found" => EventType::Queue(QueueEvent::BlobNotFound), b"queue.rate-limit-exceeded" => EventType::Queue(QueueEvent::RateLimitExceeded), b"queue.concurrency-limit-exceeded" => EventType::Queue(QueueEvent::ConcurrencyLimitExceeded), b"queue.quota-exceeded" => EventType::Queue(QueueEvent::QuotaExceeded), b"queue.back-pressure" => EventType::Queue(QueueEvent::BackPressure), b"registry.local-read-error" => EventType::Registry(RegistryEvent::LocalReadError), b"registry.local-write-error" => EventType::Registry(RegistryEvent::LocalWriteError), b"registry.local-parse-error" => EventType::Registry(RegistryEvent::LocalParseError), b"registry.read-error" => EventType::Registry(RegistryEvent::ReadError), b"registry.write-error" => EventType::Registry(RegistryEvent::WriteError), b"registry.deserialization-error" => EventType::Registry(RegistryEvent::DeserializationError), b"registry.build-error" => EventType::Registry(RegistryEvent::BuildError), b"registry.build-warning" => EventType::Registry(RegistryEvent::BuildWarning), b"registry.not-supported" => EventType::Registry(RegistryEvent::NotSupported), b"registry.validation-error" => EventType::Registry(RegistryEvent::ValidationError), b"resource.not-found" => EventType::Resource(ResourceEvent::NotFound), b"resource.bad-parameters" => EventType::Resource(ResourceEvent::BadParameters), b"resource.error" => EventType::Resource(ResourceEvent::Error), b"resource.download-external" => EventType::Resource(ResourceEvent::DownloadExternal), b"resource.application-updated" => EventType::Resource(ResourceEvent::ApplicationUpdated), b"resource.application-unpacked" => EventType::Resource(ResourceEvent::ApplicationUnpacked), b"security.authentication-ban" => EventType::Security(SecurityEvent::AuthenticationBan), b"security.abuse-ban" => EventType::Security(SecurityEvent::AbuseBan), b"security.scan-ban" => EventType::Security(SecurityEvent::ScanBan), b"security.loiter-ban" => EventType::Security(SecurityEvent::LoiterBan), b"security.ip-blocked" => EventType::Security(SecurityEvent::IpBlocked), b"security.ip-block-expired" => EventType::Security(SecurityEvent::IpBlockExpired), b"security.ip-allow-expired" => EventType::Security(SecurityEvent::IpAllowExpired), b"security.ip-unauthorized" => EventType::Security(SecurityEvent::IpUnauthorized), b"security.unauthorized" => EventType::Security(SecurityEvent::Unauthorized), b"server.startup" => EventType::Server(ServerEvent::Startup), b"server.shutdown" => EventType::Server(ServerEvent::Shutdown), b"server.startup-error" => EventType::Server(ServerEvent::StartupError), b"server.thread-error" => EventType::Server(ServerEvent::ThreadError), b"server.licensing" => EventType::Server(ServerEvent::Licensing), b"server.recovery-mode" => EventType::Server(ServerEvent::RecoveryMode), b"server.bootstrap-mode" => EventType::Server(ServerEvent::BootstrapMode), b"sieve.action-accept" => EventType::Sieve(SieveEvent::ActionAccept), b"sieve.action-accept-replace" => EventType::Sieve(SieveEvent::ActionAcceptReplace), b"sieve.action-discard" => EventType::Sieve(SieveEvent::ActionDiscard), b"sieve.action-reject" => EventType::Sieve(SieveEvent::ActionReject), b"sieve.send-message" => EventType::Sieve(SieveEvent::SendMessage), b"sieve.message-too-large" => EventType::Sieve(SieveEvent::MessageTooLarge), b"sieve.script-not-found" => EventType::Sieve(SieveEvent::ScriptNotFound), b"sieve.list-not-found" => EventType::Sieve(SieveEvent::ListNotFound), b"sieve.runtime-error" => EventType::Sieve(SieveEvent::RuntimeError), b"sieve.unexpected-error" => EventType::Sieve(SieveEvent::UnexpectedError), b"sieve.not-supported" => EventType::Sieve(SieveEvent::NotSupported), b"sieve.quota-exceeded" => EventType::Sieve(SieveEvent::QuotaExceeded), b"smtp.connection-start" => EventType::Smtp(SmtpEvent::ConnectionStart), b"smtp.connection-end" => EventType::Smtp(SmtpEvent::ConnectionEnd), b"smtp.error" => EventType::Smtp(SmtpEvent::Error), b"smtp.id-not-found" => EventType::Smtp(SmtpEvent::IdNotFound), b"smtp.concurrency-limit-exceeded" => EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded), b"smtp.transfer-limit-exceeded" => EventType::Smtp(SmtpEvent::TransferLimitExceeded), b"smtp.rate-limit-exceeded" => EventType::Smtp(SmtpEvent::RateLimitExceeded), b"smtp.time-limit-exceeded" => EventType::Smtp(SmtpEvent::TimeLimitExceeded), b"smtp.missing-auth-directory" => EventType::Smtp(SmtpEvent::MissingAuthDirectory), b"smtp.message-parse-failed" => EventType::Smtp(SmtpEvent::MessageParseFailed), b"smtp.message-too-large" => EventType::Smtp(SmtpEvent::MessageTooLarge), b"smtp.loop-detected" => EventType::Smtp(SmtpEvent::LoopDetected), b"smtp.dkim-pass" => EventType::Smtp(SmtpEvent::DkimPass), b"smtp.dkim-fail" => EventType::Smtp(SmtpEvent::DkimFail), b"smtp.dkim2-pass" => EventType::Smtp(SmtpEvent::Dkim2Pass), b"smtp.dkim2-fail" => EventType::Smtp(SmtpEvent::Dkim2Fail), b"smtp.dkim2-dsn-discarded" => EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded), b"smtp.arc-pass" => EventType::Smtp(SmtpEvent::ArcPass), b"smtp.arc-fail" => EventType::Smtp(SmtpEvent::ArcFail), b"smtp.spf-ehlo-pass" => EventType::Smtp(SmtpEvent::SpfEhloPass), b"smtp.spf-ehlo-fail" => EventType::Smtp(SmtpEvent::SpfEhloFail), b"smtp.spf-from-pass" => EventType::Smtp(SmtpEvent::SpfFromPass), b"smtp.spf-from-fail" => EventType::Smtp(SmtpEvent::SpfFromFail), b"smtp.dmarc-pass" => EventType::Smtp(SmtpEvent::DmarcPass), b"smtp.dmarc-fail" => EventType::Smtp(SmtpEvent::DmarcFail), b"smtp.iprev-pass" => EventType::Smtp(SmtpEvent::IprevPass), b"smtp.iprev-fail" => EventType::Smtp(SmtpEvent::IprevFail), b"smtp.too-many-messages" => EventType::Smtp(SmtpEvent::TooManyMessages), b"smtp.ehlo" => EventType::Smtp(SmtpEvent::Ehlo), b"smtp.invalid-ehlo" => EventType::Smtp(SmtpEvent::InvalidEhlo), b"smtp.did-not-say-ehlo" => EventType::Smtp(SmtpEvent::DidNotSayEhlo), b"smtp.ehlo-expected" => EventType::Smtp(SmtpEvent::EhloExpected), b"smtp.lhlo-expected" => EventType::Smtp(SmtpEvent::LhloExpected), b"smtp.mail-from-unauthenticated" => EventType::Smtp(SmtpEvent::MailFromUnauthenticated), b"smtp.mail-from-unauthorized" => EventType::Smtp(SmtpEvent::MailFromUnauthorized), b"smtp.mail-from-not-allowed" => EventType::Smtp(SmtpEvent::MailFromNotAllowed), b"smtp.mail-from-rewritten" => EventType::Smtp(SmtpEvent::MailFromRewritten), b"smtp.mail-from-missing" => EventType::Smtp(SmtpEvent::MailFromMissing), b"smtp.mail-from" => EventType::Smtp(SmtpEvent::MailFrom), b"smtp.multiple-mail-from" => EventType::Smtp(SmtpEvent::MultipleMailFrom), b"smtp.mailbox-does-not-exist" => EventType::Smtp(SmtpEvent::MailboxDoesNotExist), b"smtp.relay-not-allowed" => EventType::Smtp(SmtpEvent::RelayNotAllowed), b"smtp.rcpt-to" => EventType::Smtp(SmtpEvent::RcptTo), b"smtp.rcpt-to-duplicate" => EventType::Smtp(SmtpEvent::RcptToDuplicate), b"smtp.rcpt-to-rewritten" => EventType::Smtp(SmtpEvent::RcptToRewritten), b"smtp.rcpt-to-missing" => EventType::Smtp(SmtpEvent::RcptToMissing), b"smtp.rcpt-to-greylisted" => EventType::Smtp(SmtpEvent::RcptToGreylisted), b"smtp.too-many-recipients" => EventType::Smtp(SmtpEvent::TooManyRecipients), b"smtp.too-many-invalid-rcpt" => EventType::Smtp(SmtpEvent::TooManyInvalidRcpt), b"smtp.raw-input" => EventType::Smtp(SmtpEvent::RawInput), b"smtp.raw-output" => EventType::Smtp(SmtpEvent::RawOutput), b"smtp.missing-local-hostname" => EventType::Smtp(SmtpEvent::MissingLocalHostname), b"smtp.vrfy" => EventType::Smtp(SmtpEvent::Vrfy), b"smtp.vrfy-not-found" => EventType::Smtp(SmtpEvent::VrfyNotFound), b"smtp.vrfy-disabled" => EventType::Smtp(SmtpEvent::VrfyDisabled), b"smtp.expn" => EventType::Smtp(SmtpEvent::Expn), b"smtp.expn-not-found" => EventType::Smtp(SmtpEvent::ExpnNotFound), b"smtp.expn-disabled" => EventType::Smtp(SmtpEvent::ExpnDisabled), b"smtp.require-tls-disabled" => EventType::Smtp(SmtpEvent::RequireTlsDisabled), b"smtp.deliver-by-disabled" => EventType::Smtp(SmtpEvent::DeliverByDisabled), b"smtp.deliver-by-invalid" => EventType::Smtp(SmtpEvent::DeliverByInvalid), b"smtp.future-release-disabled" => EventType::Smtp(SmtpEvent::FutureReleaseDisabled), b"smtp.future-release-invalid" => EventType::Smtp(SmtpEvent::FutureReleaseInvalid), b"smtp.mt-priority-disabled" => EventType::Smtp(SmtpEvent::MtPriorityDisabled), b"smtp.mt-priority-invalid" => EventType::Smtp(SmtpEvent::MtPriorityInvalid), b"smtp.dsn-disabled" => EventType::Smtp(SmtpEvent::DsnDisabled), b"smtp.auth-not-allowed" => EventType::Smtp(SmtpEvent::AuthNotAllowed), b"smtp.auth-mechanism-not-supported" => EventType::Smtp(SmtpEvent::AuthMechanismNotSupported), b"smtp.auth-exchange-too-long" => EventType::Smtp(SmtpEvent::AuthExchangeTooLong), b"smtp.already-authenticated" => EventType::Smtp(SmtpEvent::AlreadyAuthenticated), b"smtp.noop" => EventType::Smtp(SmtpEvent::Noop), b"smtp.start-tls" => EventType::Smtp(SmtpEvent::StartTls), b"smtp.start-tls-unavailable" => EventType::Smtp(SmtpEvent::StartTlsUnavailable), b"smtp.start-tls-already" => EventType::Smtp(SmtpEvent::StartTlsAlready), b"smtp.rset" => EventType::Smtp(SmtpEvent::Rset), b"smtp.quit" => EventType::Smtp(SmtpEvent::Quit), b"smtp.help" => EventType::Smtp(SmtpEvent::Help), b"smtp.command-not-implemented" => EventType::Smtp(SmtpEvent::CommandNotImplemented), b"smtp.invalid-command" => EventType::Smtp(SmtpEvent::InvalidCommand), b"smtp.invalid-sender-address" => EventType::Smtp(SmtpEvent::InvalidSenderAddress), b"smtp.invalid-recipient-address" => EventType::Smtp(SmtpEvent::InvalidRecipientAddress), b"smtp.invalid-parameter" => EventType::Smtp(SmtpEvent::InvalidParameter), b"smtp.unsupported-parameter" => EventType::Smtp(SmtpEvent::UnsupportedParameter), b"smtp.syntax-error" => EventType::Smtp(SmtpEvent::SyntaxError), b"smtp.request-too-large" => EventType::Smtp(SmtpEvent::RequestTooLarge), b"spam.pyzor" => EventType::Spam(SpamEvent::Pyzor), b"spam.pyzor-error" => EventType::Spam(SpamEvent::PyzorError), b"spam.dnsbl" => EventType::Spam(SpamEvent::Dnsbl), b"spam.dnsbl-error" => EventType::Spam(SpamEvent::DnsblError), b"spam.train-started" => EventType::Spam(SpamEvent::TrainStarted), b"spam.train-completed" => EventType::Spam(SpamEvent::TrainCompleted), b"spam.train-sample-added" => EventType::Spam(SpamEvent::TrainSampleAdded), b"spam.train-sample-not-found" => EventType::Spam(SpamEvent::TrainSampleNotFound), b"spam.classify" => EventType::Spam(SpamEvent::Classify), b"spam.model-loaded" => EventType::Spam(SpamEvent::ModelLoaded), b"spam.model-not-ready" => EventType::Spam(SpamEvent::ModelNotReady), b"spam.model-not-found" => EventType::Spam(SpamEvent::ModelNotFound), b"spam.rules-updated" => EventType::Spam(SpamEvent::RulesUpdated), b"spf.pass" => EventType::Spf(SpfEvent::Pass), b"spf.fail" => EventType::Spf(SpfEvent::Fail), b"spf.soft-fail" => EventType::Spf(SpfEvent::SoftFail), b"spf.neutral" => EventType::Spf(SpfEvent::Neutral), b"spf.temp-error" => EventType::Spf(SpfEvent::TempError), b"spf.perm-error" => EventType::Spf(SpfEvent::PermError), b"spf.none" => EventType::Spf(SpfEvent::None), b"store.assert-value-failed" => EventType::Store(StoreEvent::AssertValueFailed), b"store.foundationdb-error" => EventType::Store(StoreEvent::FoundationdbError), b"store.mysql-error" => EventType::Store(StoreEvent::MysqlError), b"store.postgresql-error" => EventType::Store(StoreEvent::PostgresqlError), b"store.rocksdb-error" => EventType::Store(StoreEvent::RocksdbError), b"store.sqlite-error" => EventType::Store(StoreEvent::SqliteError), b"store.ldap-error" => EventType::Store(StoreEvent::LdapError), b"store.elasticsearch-error" => EventType::Store(StoreEvent::ElasticsearchError), b"store.meilisearch-error" => EventType::Store(StoreEvent::MeilisearchError), b"store.redis-error" => EventType::Store(StoreEvent::RedisError), b"store.s3-error" => EventType::Store(StoreEvent::S3Error), b"store.azure-error" => EventType::Store(StoreEvent::AzureError), b"store.filesystem-error" => EventType::Store(StoreEvent::FilesystemError), b"store.pool-error" => EventType::Store(StoreEvent::PoolError), b"store.data-corruption" => EventType::Store(StoreEvent::DataCorruption), b"store.decompress-error" => EventType::Store(StoreEvent::DecompressError), b"store.deserialize-error" => EventType::Store(StoreEvent::DeserializeError), b"store.not-found" => EventType::Store(StoreEvent::NotFound), b"store.not-configured" => EventType::Store(StoreEvent::NotConfigured), b"store.not-supported" => EventType::Store(StoreEvent::NotSupported), b"store.unexpected-error" => EventType::Store(StoreEvent::UnexpectedError), b"store.crypto-error" => EventType::Store(StoreEvent::CryptoError), b"store.http-store-error" => EventType::Store(StoreEvent::HttpStoreError), b"store.cache-miss" => EventType::Store(StoreEvent::CacheMiss), b"store.cache-hit" => EventType::Store(StoreEvent::CacheHit), b"store.cache-stale" => EventType::Store(StoreEvent::CacheStale), b"store.cache-update" => EventType::Store(StoreEvent::CacheUpdate), b"store.cache-entry-too-large" => EventType::Store(StoreEvent::CacheEntryTooLarge), b"store.blob-missing-marker" => EventType::Store(StoreEvent::BlobMissingMarker), b"store.data-write" => EventType::Store(StoreEvent::DataWrite), b"store.data-iterate" => EventType::Store(StoreEvent::DataIterate), b"store.blob-read" => EventType::Store(StoreEvent::BlobRead), b"store.blob-write" => EventType::Store(StoreEvent::BlobWrite), b"store.blob-delete" => EventType::Store(StoreEvent::BlobDelete), b"store.sql-query" => EventType::Store(StoreEvent::SqlQuery), b"store.ldap-query" => EventType::Store(StoreEvent::LdapQuery), b"store.ldap-warning" => EventType::Store(StoreEvent::LdapWarning), b"store.http-store-fetch" => EventType::Store(StoreEvent::HttpStoreFetch), b"store.auto-expunge" => EventType::Store(StoreEvent::AutoExpunge), b"store.blob-store-purged" => EventType::Store(StoreEvent::BlobStorePurged), b"store.data-store-purged" => EventType::Store(StoreEvent::DataStorePurged), b"task-manager.task-acquired" => EventType::TaskManager(TaskManagerEvent::TaskAcquired), b"task-manager.task-queued" => EventType::TaskManager(TaskManagerEvent::TaskQueued), b"task-manager.task-scheduled" => EventType::TaskManager(TaskManagerEvent::TaskScheduled), b"task-manager.task-locked" => EventType::TaskManager(TaskManagerEvent::TaskLocked), b"task-manager.task-ignored" => EventType::TaskManager(TaskManagerEvent::TaskIgnored), b"task-manager.task-failed" => EventType::TaskManager(TaskManagerEvent::TaskFailed), b"task-manager.task-retry" => EventType::TaskManager(TaskManagerEvent::TaskRetry), b"task-manager.blob-not-found" => EventType::TaskManager(TaskManagerEvent::BlobNotFound), b"task-manager.metadata-not-found" => EventType::TaskManager(TaskManagerEvent::MetadataNotFound), b"task-manager.scheduler-started" => EventType::TaskManager(TaskManagerEvent::SchedulerStarted), b"task-manager.manager-started" => EventType::TaskManager(TaskManagerEvent::ManagerStarted), b"telemetry.alert-event" => EventType::Telemetry(TelemetryEvent::AlertEvent), b"telemetry.alert-message" => EventType::Telemetry(TelemetryEvent::AlertMessage), b"telemetry.log-error" => EventType::Telemetry(TelemetryEvent::LogError), b"telemetry.webhook-error" => EventType::Telemetry(TelemetryEvent::WebhookError), b"telemetry.otel-exporter-error" => EventType::Telemetry(TelemetryEvent::OtelExporterError), b"telemetry.otel-metrics-exporter-error" => EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError), b"telemetry.prometheus-exporter-error" => EventType::Telemetry(TelemetryEvent::PrometheusExporterError), b"telemetry.journal-error" => EventType::Telemetry(TelemetryEvent::JournalError), b"telemetry.metrics-collected" => EventType::Telemetry(TelemetryEvent::MetricsCollected), b"telemetry.metrics-stored" => EventType::Telemetry(TelemetryEvent::MetricsStored), b"telemetry.metrics-pushed" => EventType::Telemetry(TelemetryEvent::MetricsPushed), b"tls.handshake" => EventType::Tls(TlsEvent::Handshake), b"tls.handshake-error" => EventType::Tls(TlsEvent::HandshakeError), b"tls.not-configured" => EventType::Tls(TlsEvent::NotConfigured), b"tls.certificate-not-found" => EventType::Tls(TlsEvent::CertificateNotFound), b"tls.no-certificates-available" => EventType::Tls(TlsEvent::NoCertificatesAvailable), b"tls.multiple-certificates-available" => EventType::Tls(TlsEvent::MultipleCertificatesAvailable), b"tls.expired-certificate-removed" => EventType::Tls(TlsEvent::ExpiredCertificateRemoved), b"tls-rpt.record-fetch" => EventType::TlsRpt(TlsRptEvent::RecordFetch), b"tls-rpt.record-fetch-error" => EventType::TlsRpt(TlsRptEvent::RecordFetchError), b"tls-rpt.record-not-found" => EventType::TlsRpt(TlsRptEvent::RecordNotFound), b"web-dav.propfind" => EventType::WebDav(WebDavEvent::Propfind), b"web-dav.proppatch" => EventType::WebDav(WebDavEvent::Proppatch), b"web-dav.get" => EventType::WebDav(WebDavEvent::Get), b"web-dav.head" => EventType::WebDav(WebDavEvent::Head), b"web-dav.report" => EventType::WebDav(WebDavEvent::Report), b"web-dav.mkcol" => EventType::WebDav(WebDavEvent::Mkcol), b"web-dav.mkcalendar" => EventType::WebDav(WebDavEvent::Mkcalendar), b"web-dav.delete" => EventType::WebDav(WebDavEvent::Delete), b"web-dav.put" => EventType::WebDav(WebDavEvent::Put), b"web-dav.post" => EventType::WebDav(WebDavEvent::Post), b"web-dav.patch" => EventType::WebDav(WebDavEvent::Patch), b"web-dav.copy" => EventType::WebDav(WebDavEvent::Copy), b"web-dav.move" => EventType::WebDav(WebDavEvent::Move), b"web-dav.lock" => EventType::WebDav(WebDavEvent::Lock), b"web-dav.unlock" => EventType::WebDav(WebDavEvent::Unlock), b"web-dav.acl" => EventType::WebDav(WebDavEvent::Acl), b"web-dav.options" => EventType::WebDav(WebDavEvent::Options), b"web-dav.error" => EventType::WebDav(WebDavEvent::Error), } .copied() } pub fn as_str(&self) -> &'static str { match self { EventType::Acme(AcmeEvent::AuthStart) => "acme.auth-start", EventType::Acme(AcmeEvent::AuthPending) => "acme.auth-pending", EventType::Acme(AcmeEvent::AuthValid) => "acme.auth-valid", EventType::Acme(AcmeEvent::AuthCompleted) => "acme.auth-completed", EventType::Acme(AcmeEvent::AuthError) => "acme.auth-error", EventType::Acme(AcmeEvent::AuthTooManyAttempts) => "acme.auth-too-many-attempts", EventType::Acme(AcmeEvent::ProcessCert) => "acme.process-cert", EventType::Acme(AcmeEvent::OrderStart) => "acme.order-start", EventType::Acme(AcmeEvent::OrderProcessing) => "acme.order-processing", EventType::Acme(AcmeEvent::OrderCompleted) => "acme.order-completed", EventType::Acme(AcmeEvent::OrderReady) => "acme.order-ready", EventType::Acme(AcmeEvent::OrderValid) => "acme.order-valid", EventType::Acme(AcmeEvent::OrderInvalid) => "acme.order-invalid", EventType::Acme(AcmeEvent::RenewBackoff) => "acme.renew-backoff", EventType::Acme(AcmeEvent::ClientSuppliedSni) => "acme.client-supplied-sni", EventType::Acme(AcmeEvent::ClientMissingSni) => "acme.client-missing-sni", EventType::Acme(AcmeEvent::TlsAlpnReceived) => "acme.tls-alpn-received", EventType::Acme(AcmeEvent::TlsAlpnError) => "acme.tls-alpn-error", EventType::Acme(AcmeEvent::TokenNotFound) => "acme.token-not-found", EventType::Acme(AcmeEvent::Error) => "acme.error", EventType::Ai(AiEvent::LlmResponse) => "ai.llm-response", EventType::Ai(AiEvent::ApiError) => "ai.api-error", // inbuxa: SCIM-54 EventType::Scim(ScimEvent::ResourceCreated) => "scim.resource-created", EventType::Scim(ScimEvent::ResourceUpdated) => "scim.resource-updated", EventType::Scim(ScimEvent::ResourceSuspended) => "scim.resource-suspended", EventType::Scim(ScimEvent::ResourceReactivated) => "scim.resource-reactivated", EventType::Scim(ScimEvent::ResourceDeleted) => "scim.resource-deleted", EventType::Arc(ArcEvent::ChainTooLong) => "arc.chain-too-long", EventType::Arc(ArcEvent::InvalidInstance) => "arc.invalid-instance", EventType::Arc(ArcEvent::InvalidCv) => "arc.invalid-cv", EventType::Arc(ArcEvent::HasHeaderTag) => "arc.has-header-tag", EventType::Arc(ArcEvent::BrokenChain) => "arc.broken-chain", EventType::Arc(ArcEvent::SealerNotFound) => "arc.sealer-not-found", EventType::Auth(AuthEvent::Success) => "auth.success", EventType::Auth(AuthEvent::Failed) => "auth.failed", EventType::Auth(AuthEvent::TokenExpired) => "auth.token-expired", EventType::Auth(AuthEvent::MfaRequired) => "auth.mfa-required", EventType::Auth(AuthEvent::TooManyAttempts) => "auth.too-many-attempts", EventType::Auth(AuthEvent::ClientRegistration) => "auth.client-registration", EventType::Auth(AuthEvent::Error) => "auth.error", EventType::Auth(AuthEvent::Warning) => "auth.warning", EventType::Auth(AuthEvent::CredentialExpired) => "auth.credential-expired", EventType::Calendar(CalendarEvent::RuleExpansionError) => { "calendar.rule-expansion-error" } EventType::Calendar(CalendarEvent::AlarmSent) => "calendar.alarm-sent", EventType::Calendar(CalendarEvent::AlarmSkipped) => "calendar.alarm-skipped", EventType::Calendar(CalendarEvent::AlarmRecipientOverride) => { "calendar.alarm-recipient-override" } EventType::Calendar(CalendarEvent::AlarmFailed) => "calendar.alarm-failed", EventType::Calendar(CalendarEvent::ItipMessageSent) => "calendar.itip-message-sent", EventType::Calendar(CalendarEvent::ItipMessageReceived) => { "calendar.itip-message-received" } EventType::Calendar(CalendarEvent::ItipMessageError) => "calendar.itip-message-error", EventType::Cluster(ClusterEvent::Startup) => "cluster.startup", EventType::Cluster(ClusterEvent::SubscriberStart) => "cluster.subscriber-start", EventType::Cluster(ClusterEvent::SubscriberStop) => "cluster.subscriber-stop", EventType::Cluster(ClusterEvent::SubscriberError) => "cluster.subscriber-error", EventType::Cluster(ClusterEvent::SubscriberDisconnected) => { "cluster.subscriber-disconnected" } EventType::Cluster(ClusterEvent::PublisherStart) => "cluster.publisher-start", EventType::Cluster(ClusterEvent::PublisherStop) => "cluster.publisher-stop", EventType::Cluster(ClusterEvent::PublisherError) => "cluster.publisher-error", EventType::Cluster(ClusterEvent::MessageReceived) => "cluster.message-received", EventType::Cluster(ClusterEvent::MessageSkipped) => "cluster.message-skipped", EventType::Cluster(ClusterEvent::MessageInvalid) => "cluster.message-invalid", EventType::Cluster(ClusterEvent::NodeIdRenewed) => "cluster.node-id-renewed", EventType::Dane(DaneEvent::AuthenticationSuccess) => "dane.authentication-success", EventType::Dane(DaneEvent::AuthenticationFailure) => "dane.authentication-failure", EventType::Dane(DaneEvent::NoCertificatesFound) => "dane.no-certificates-found", EventType::Dane(DaneEvent::CertificateParseError) => "dane.certificate-parse-error", EventType::Dane(DaneEvent::TlsaRecordMatch) => "dane.tlsa-record-match", EventType::Dane(DaneEvent::TlsaRecordFetch) => "dane.tlsa-record-fetch", EventType::Dane(DaneEvent::TlsaRecordFetchError) => "dane.tlsa-record-fetch-error", EventType::Dane(DaneEvent::TlsaRecordNotFound) => "dane.tlsa-record-not-found", EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned) => { "dane.tlsa-record-not-dnssec-signed" } EventType::Dane(DaneEvent::TlsaRecordInvalid) => "dane.tlsa-record-invalid", EventType::Dane(DaneEvent::BogusDnssecRecord) => "dane.bogus-dnssec-record", EventType::Delivery(DeliveryEvent::AttemptStart) => "delivery.attempt-start", EventType::Delivery(DeliveryEvent::AttemptEnd) => "delivery.attempt-end", EventType::Delivery(DeliveryEvent::Completed) => "delivery.completed", EventType::Delivery(DeliveryEvent::Failed) => "delivery.failed", EventType::Delivery(DeliveryEvent::DomainDeliveryStart) => { "delivery.domain-delivery-start" } EventType::Delivery(DeliveryEvent::MxLookup) => "delivery.mx-lookup", EventType::Delivery(DeliveryEvent::MxLookupFailed) => "delivery.mx-lookup-failed", EventType::Delivery(DeliveryEvent::IpLookup) => "delivery.ip-lookup", EventType::Delivery(DeliveryEvent::IpLookupFailed) => "delivery.ip-lookup-failed", EventType::Delivery(DeliveryEvent::NullMx) => "delivery.null-mx", EventType::Delivery(DeliveryEvent::Connect) => "delivery.connect", EventType::Delivery(DeliveryEvent::ConnectError) => "delivery.connect-error", EventType::Delivery(DeliveryEvent::MissingOutboundHostname) => { "delivery.missing-outbound-hostname" } EventType::Delivery(DeliveryEvent::GreetingFailed) => "delivery.greeting-failed", EventType::Delivery(DeliveryEvent::Ehlo) => "delivery.ehlo", EventType::Delivery(DeliveryEvent::EhloRejected) => "delivery.ehlo-rejected", EventType::Delivery(DeliveryEvent::Auth) => "delivery.auth", EventType::Delivery(DeliveryEvent::AuthFailed) => "delivery.auth-failed", EventType::Delivery(DeliveryEvent::MailFrom) => "delivery.mail-from", EventType::Delivery(DeliveryEvent::MailFromRejected) => "delivery.mail-from-rejected", EventType::Delivery(DeliveryEvent::Delivered) => "delivery.delivered", EventType::Delivery(DeliveryEvent::RcptTo) => "delivery.rcpt-to", EventType::Delivery(DeliveryEvent::RcptToRejected) => "delivery.rcpt-to-rejected", EventType::Delivery(DeliveryEvent::RcptToFailed) => "delivery.rcpt-to-failed", EventType::Delivery(DeliveryEvent::MessageRejected) => "delivery.message-rejected", EventType::Delivery(DeliveryEvent::StartTls) => "delivery.start-tls", EventType::Delivery(DeliveryEvent::StartTlsUnavailable) => { "delivery.start-tls-unavailable" } EventType::Delivery(DeliveryEvent::StartTlsError) => "delivery.start-tls-error", EventType::Delivery(DeliveryEvent::StartTlsDisabled) => "delivery.start-tls-disabled", EventType::Delivery(DeliveryEvent::ImplicitTlsError) => "delivery.implicit-tls-error", EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded) => { "delivery.concurrency-limit-exceeded" } EventType::Delivery(DeliveryEvent::RateLimitExceeded) => "delivery.rate-limit-exceeded", EventType::Delivery(DeliveryEvent::DoubleBounce) => "delivery.double-bounce", EventType::Delivery(DeliveryEvent::DsnSuccess) => "delivery.dsn-success", EventType::Delivery(DeliveryEvent::DsnTempFail) => "delivery.dsn-temp-fail", EventType::Delivery(DeliveryEvent::DsnPermFail) => "delivery.dsn-perm-fail", EventType::Delivery(DeliveryEvent::RawInput) => "delivery.raw-input", EventType::Delivery(DeliveryEvent::RawOutput) => "delivery.raw-output", EventType::Dkim(DkimEvent::Pass) => "dkim.pass", EventType::Dkim(DkimEvent::Neutral) => "dkim.neutral", EventType::Dkim(DkimEvent::Fail) => "dkim.fail", EventType::Dkim(DkimEvent::PermError) => "dkim.perm-error", EventType::Dkim(DkimEvent::TempError) => "dkim.temp-error", EventType::Dkim(DkimEvent::None) => "dkim.none", EventType::Dkim(DkimEvent::UnsupportedVersion) => "dkim.unsupported-version", EventType::Dkim(DkimEvent::UnsupportedAlgorithm) => "dkim.unsupported-algorithm", EventType::Dkim(DkimEvent::UnsupportedCanonicalization) => { "dkim.unsupported-canonicalization" } EventType::Dkim(DkimEvent::UnsupportedKeyType) => "dkim.unsupported-key-type", EventType::Dkim(DkimEvent::FailedBodyHashMatch) => "dkim.failed-body-hash-match", EventType::Dkim(DkimEvent::FailedVerification) => "dkim.failed-verification", EventType::Dkim(DkimEvent::FailedAuidMatch) => "dkim.failed-auid-match", EventType::Dkim(DkimEvent::RevokedPublicKey) => "dkim.revoked-public-key", EventType::Dkim(DkimEvent::IncompatibleAlgorithms) => "dkim.incompatible-algorithms", EventType::Dkim(DkimEvent::SignatureExpired) => "dkim.signature-expired", EventType::Dkim(DkimEvent::SignatureLength) => "dkim.signature-length", EventType::Dkim(DkimEvent::SignerNotFound) => "dkim.signer-not-found", EventType::Dkim(DkimEvent::BuildError) => "dkim.build-error", EventType::Dkim(DkimEvent::SignatureCreated) => "dkim.signature-created", EventType::Dkim(DkimEvent::SignaturePublished) => "dkim.signature-published", EventType::Dkim(DkimEvent::SignatureRetiring) => "dkim.signature-retiring", EventType::Dkim(DkimEvent::SignatureRetired) => "dkim.signature-retired", EventType::Dkim(DkimEvent::SignatureDeleted) => "dkim.signature-deleted", EventType::Dkim(DkimEvent::InstanceMissing) => "dkim.instance-missing", EventType::Dkim(DkimEvent::InstanceSyntax) => "dkim.instance-syntax", EventType::Dkim(DkimEvent::InstanceTagMissing) => "dkim.instance-tag-missing", EventType::Dkim(DkimEvent::InstanceNotSigned) => "dkim.instance-not-signed", EventType::Dkim(DkimEvent::InstanceAboveSignature) => "dkim.instance-above-signature", EventType::Dkim(DkimEvent::SignatureMissing) => "dkim.signature-missing", EventType::Dkim(DkimEvent::SignatureSyntax) => "dkim.signature-syntax", EventType::Dkim(DkimEvent::SignatureTagMissing) => "dkim.signature-tag-missing", EventType::Dkim(DkimEvent::SignatureTagUnexpected) => "dkim.signature-tag-unexpected", EventType::Dkim(DkimEvent::SequenceGap) => "dkim.sequence-gap", EventType::Dkim(DkimEvent::SequenceOverflow) => "dkim.sequence-overflow", EventType::Dkim(DkimEvent::ChainTooLong) => "dkim.chain-too-long", EventType::Dkim(DkimEvent::MailFromMismatch) => "dkim.mail-from-mismatch", EventType::Dkim(DkimEvent::RcptToMismatch) => "dkim.rcpt-to-mismatch", EventType::Dkim(DkimEvent::MailFromDomainMismatch) => "dkim.mail-from-domain-mismatch", EventType::Dkim(DkimEvent::NextDomainMismatch) => "dkim.next-domain-mismatch", EventType::Dkim(DkimEvent::CustodyBreak) => "dkim.custody-break", EventType::Dkim(DkimEvent::PublicKeyFetch) => "dkim.public-key-fetch", EventType::Dkim(DkimEvent::PublicKeyMissing) => "dkim.public-key-missing", EventType::Dkim(DkimEvent::PublicKeyMultiple) => "dkim.public-key-multiple", EventType::Dkim(DkimEvent::PublicKeySyntax) => "dkim.public-key-syntax", EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch) => { "dkim.public-key-algorithm-mismatch" } EventType::Dkim(DkimEvent::NoValidAlgorithm) => "dkim.no-valid-algorithm", EventType::Dkim(DkimEvent::HeaderHashMismatch) => "dkim.header-hash-mismatch", EventType::Dkim(DkimEvent::Modified) => "dkim.modified", EventType::Dkim(DkimEvent::Exploded) => "dkim.exploded", EventType::Dmarc(DmarcEvent::Pass) => "dmarc.pass", EventType::Dmarc(DmarcEvent::Fail) => "dmarc.fail", EventType::Dmarc(DmarcEvent::PermError) => "dmarc.perm-error", EventType::Dmarc(DmarcEvent::TempError) => "dmarc.temp-error", EventType::Dmarc(DmarcEvent::None) => "dmarc.none", EventType::Dns(DnsEvent::RecordCreated) => "dns.record-created", EventType::Dns(DnsEvent::RecordCreationFailed) => "dns.record-creation-failed", EventType::Dns(DnsEvent::RecordDeletionFailed) => "dns.record-deletion-failed", EventType::Dns(DnsEvent::RecordNotPropagated) => "dns.record-not-propagated", EventType::Dns(DnsEvent::RecordLookupFailed) => "dns.record-lookup-failed", EventType::Dns(DnsEvent::RecordPropagated) => "dns.record-propagated", EventType::Dns(DnsEvent::RecordPropagationTimeout) => "dns.record-propagation-timeout", EventType::Dns(DnsEvent::BuildError) => "dns.build-error", EventType::Eval(EvalEvent::Result) => "eval.result", EventType::Eval(EvalEvent::Error) => "eval.error", EventType::Eval(EvalEvent::DirectoryNotFound) => "eval.directory-not-found", EventType::Eval(EvalEvent::StoreNotFound) => "eval.store-not-found", EventType::Http(HttpEvent::ConnectionStart) => "http.connection-start", EventType::Http(HttpEvent::ConnectionEnd) => "http.connection-end", EventType::Http(HttpEvent::Error) => "http.error", EventType::Http(HttpEvent::RequestUrl) => "http.request-url", EventType::Http(HttpEvent::RequestBody) => "http.request-body", EventType::Http(HttpEvent::ResponseBody) => "http.response-body", EventType::Http(HttpEvent::XForwardedMissing) => "http.x-forwarded-missing", EventType::Imap(ImapEvent::ConnectionStart) => "imap.connection-start", EventType::Imap(ImapEvent::ConnectionEnd) => "imap.connection-end", EventType::Imap(ImapEvent::GetAcl) => "imap.get-acl", EventType::Imap(ImapEvent::SetAcl) => "imap.set-acl", EventType::Imap(ImapEvent::MyRights) => "imap.my-rights", EventType::Imap(ImapEvent::ListRights) => "imap.list-rights", EventType::Imap(ImapEvent::Append) => "imap.append", EventType::Imap(ImapEvent::Capabilities) => "imap.capabilities", EventType::Imap(ImapEvent::Id) => "imap.id", EventType::Imap(ImapEvent::Close) => "imap.close", EventType::Imap(ImapEvent::Copy) => "imap.copy", EventType::Imap(ImapEvent::Move) => "imap.move", EventType::Imap(ImapEvent::CreateMailbox) => "imap.create-mailbox", EventType::Imap(ImapEvent::DeleteMailbox) => "imap.delete-mailbox", EventType::Imap(ImapEvent::RenameMailbox) => "imap.rename-mailbox", EventType::Imap(ImapEvent::Enable) => "imap.enable", EventType::Imap(ImapEvent::Expunge) => "imap.expunge", EventType::Imap(ImapEvent::Fetch) => "imap.fetch", EventType::Imap(ImapEvent::IdleStart) => "imap.idle-start", EventType::Imap(ImapEvent::IdleStop) => "imap.idle-stop", EventType::Imap(ImapEvent::List) => "imap.list", EventType::Imap(ImapEvent::Lsub) => "imap.lsub", EventType::Imap(ImapEvent::Logout) => "imap.logout", EventType::Imap(ImapEvent::Namespace) => "imap.namespace", EventType::Imap(ImapEvent::Noop) => "imap.noop", EventType::Imap(ImapEvent::Search) => "imap.search", EventType::Imap(ImapEvent::Sort) => "imap.sort", EventType::Imap(ImapEvent::Select) => "imap.select", EventType::Imap(ImapEvent::Status) => "imap.status", EventType::Imap(ImapEvent::Store) => "imap.store", EventType::Imap(ImapEvent::Subscribe) => "imap.subscribe", EventType::Imap(ImapEvent::Unsubscribe) => "imap.unsubscribe", EventType::Imap(ImapEvent::Thread) => "imap.thread", EventType::Imap(ImapEvent::UidBatches) => "imap.uid-batches", EventType::Imap(ImapEvent::GetQuota) => "imap.get-quota", EventType::Imap(ImapEvent::Error) => "imap.error", EventType::Imap(ImapEvent::RawInput) => "imap.raw-input", EventType::Imap(ImapEvent::RawOutput) => "imap.raw-output", EventType::IncomingReport(IncomingReportEvent::DmarcReport) => { "incoming-report.dmarc-report" } EventType::IncomingReport(IncomingReportEvent::DmarcReportWithWarnings) => { "incoming-report.dmarc-report-with-warnings" } EventType::IncomingReport(IncomingReportEvent::TlsReport) => { "incoming-report.tls-report" } EventType::IncomingReport(IncomingReportEvent::TlsReportWithWarnings) => { "incoming-report.tls-report-with-warnings" } EventType::IncomingReport(IncomingReportEvent::AbuseReport) => { "incoming-report.abuse-report" } EventType::IncomingReport(IncomingReportEvent::AuthFailureReport) => { "incoming-report.auth-failure-report" } EventType::IncomingReport(IncomingReportEvent::FraudReport) => { "incoming-report.fraud-report" } EventType::IncomingReport(IncomingReportEvent::NotSpamReport) => { "incoming-report.not-spam-report" } EventType::IncomingReport(IncomingReportEvent::VirusReport) => { "incoming-report.virus-report" } EventType::IncomingReport(IncomingReportEvent::OtherReport) => { "incoming-report.other-report" } EventType::IncomingReport(IncomingReportEvent::MessageParseFailed) => { "incoming-report.message-parse-failed" } EventType::IncomingReport(IncomingReportEvent::DmarcParseFailed) => { "incoming-report.dmarc-parse-failed" } EventType::IncomingReport(IncomingReportEvent::TlsRpcParseFailed) => { "incoming-report.tls-rpc-parse-failed" } EventType::IncomingReport(IncomingReportEvent::ArfParseFailed) => { "incoming-report.arf-parse-failed" } EventType::IncomingReport(IncomingReportEvent::DecompressError) => { "incoming-report.decompress-error" } EventType::Iprev(IprevEvent::Pass) => "iprev.pass", EventType::Iprev(IprevEvent::Fail) => "iprev.fail", EventType::Iprev(IprevEvent::PermError) => "iprev.perm-error", EventType::Iprev(IprevEvent::TempError) => "iprev.temp-error", EventType::Iprev(IprevEvent::None) => "iprev.none", EventType::Jmap(JmapEvent::MethodCall) => "jmap.method-call", EventType::Jmap(JmapEvent::InvalidArguments) => "jmap.invalid-arguments", EventType::Jmap(JmapEvent::RequestTooLarge) => "jmap.request-too-large", EventType::Jmap(JmapEvent::StateMismatch) => "jmap.state-mismatch", EventType::Jmap(JmapEvent::AnchorNotFound) => "jmap.anchor-not-found", EventType::Jmap(JmapEvent::UnsupportedFilter) => "jmap.unsupported-filter", EventType::Jmap(JmapEvent::UnsupportedSort) => "jmap.unsupported-sort", EventType::Jmap(JmapEvent::UnknownMethod) => "jmap.unknown-method", EventType::Jmap(JmapEvent::InvalidResultReference) => "jmap.invalid-result-reference", EventType::Jmap(JmapEvent::Forbidden) => "jmap.forbidden", EventType::Jmap(JmapEvent::AccountNotFound) => "jmap.account-not-found", EventType::Jmap(JmapEvent::AccountNotSupportedByMethod) => { "jmap.account-not-supported-by-method" } EventType::Jmap(JmapEvent::AccountReadOnly) => "jmap.account-read-only", EventType::Jmap(JmapEvent::NotFound) => "jmap.not-found", EventType::Jmap(JmapEvent::CannotCalculateChanges) => "jmap.cannot-calculate-changes", EventType::Jmap(JmapEvent::UnknownDataType) => "jmap.unknown-data-type", EventType::Jmap(JmapEvent::UnknownCapability) => "jmap.unknown-capability", EventType::Jmap(JmapEvent::NotJson) => "jmap.not-json", EventType::Jmap(JmapEvent::NotRequest) => "jmap.not-request", EventType::Jmap(JmapEvent::WebsocketStart) => "jmap.websocket-start", EventType::Jmap(JmapEvent::WebsocketStop) => "jmap.websocket-stop", EventType::Jmap(JmapEvent::WebsocketError) => "jmap.websocket-error", EventType::Limit(LimitEvent::SizeRequest) => "limit.size-request", EventType::Limit(LimitEvent::SizeUpload) => "limit.size-upload", EventType::Limit(LimitEvent::CallsIn) => "limit.calls-in", EventType::Limit(LimitEvent::ConcurrentRequest) => "limit.concurrent-request", EventType::Limit(LimitEvent::ConcurrentUpload) => "limit.concurrent-upload", EventType::Limit(LimitEvent::ConcurrentConnection) => "limit.concurrent-connection", EventType::Limit(LimitEvent::Quota) => "limit.quota", EventType::Limit(LimitEvent::BlobQuota) => "limit.blob-quota", EventType::Limit(LimitEvent::TenantQuota) => "limit.tenant-quota", EventType::Limit(LimitEvent::TooManyRequests) => "limit.too-many-requests", EventType::MailAuth(MailAuthEvent::ParseError) => "mail-auth.parse-error", EventType::MailAuth(MailAuthEvent::MissingParameters) => "mail-auth.missing-parameters", EventType::MailAuth(MailAuthEvent::NoHeadersFound) => "mail-auth.no-headers-found", EventType::MailAuth(MailAuthEvent::Crypto) => "mail-auth.crypto", EventType::MailAuth(MailAuthEvent::Io) => "mail-auth.io", EventType::MailAuth(MailAuthEvent::Base64) => "mail-auth.base64", EventType::MailAuth(MailAuthEvent::DnsError) => "mail-auth.dns-error", EventType::MailAuth(MailAuthEvent::DnsRecordNotFound) => { "mail-auth.dns-record-not-found" } EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType) => { "mail-auth.dns-invalid-record-type" } EventType::MailAuth(MailAuthEvent::PolicyNotAligned) => "mail-auth.policy-not-aligned", EventType::ManageSieve(ManageSieveEvent::ConnectionStart) => { "manage-sieve.connection-start" } EventType::ManageSieve(ManageSieveEvent::ConnectionEnd) => { "manage-sieve.connection-end" } EventType::ManageSieve(ManageSieveEvent::CreateScript) => "manage-sieve.create-script", EventType::ManageSieve(ManageSieveEvent::UpdateScript) => "manage-sieve.update-script", EventType::ManageSieve(ManageSieveEvent::GetScript) => "manage-sieve.get-script", EventType::ManageSieve(ManageSieveEvent::DeleteScript) => "manage-sieve.delete-script", EventType::ManageSieve(ManageSieveEvent::RenameScript) => "manage-sieve.rename-script", EventType::ManageSieve(ManageSieveEvent::CheckScript) => "manage-sieve.check-script", EventType::ManageSieve(ManageSieveEvent::HaveSpace) => "manage-sieve.have-space", EventType::ManageSieve(ManageSieveEvent::ListScripts) => "manage-sieve.list-scripts", EventType::ManageSieve(ManageSieveEvent::SetActive) => "manage-sieve.set-active", EventType::ManageSieve(ManageSieveEvent::Capabilities) => "manage-sieve.capabilities", EventType::ManageSieve(ManageSieveEvent::StartTls) => "manage-sieve.start-tls", EventType::ManageSieve(ManageSieveEvent::Unauthenticate) => { "manage-sieve.unauthenticate" } EventType::ManageSieve(ManageSieveEvent::Logout) => "manage-sieve.logout", EventType::ManageSieve(ManageSieveEvent::Noop) => "manage-sieve.noop", EventType::ManageSieve(ManageSieveEvent::Error) => "manage-sieve.error", EventType::ManageSieve(ManageSieveEvent::RawInput) => "manage-sieve.raw-input", EventType::ManageSieve(ManageSieveEvent::RawOutput) => "manage-sieve.raw-output", EventType::MessageIngest(MessageIngestEvent::Ham) => "message-ingest.ham", EventType::MessageIngest(MessageIngestEvent::Spam) => "message-ingest.spam", EventType::MessageIngest(MessageIngestEvent::ImapAppend) => { "message-ingest.imap-append" } EventType::MessageIngest(MessageIngestEvent::JmapAppend) => { "message-ingest.jmap-append" } EventType::MessageIngest(MessageIngestEvent::Duplicate) => "message-ingest.duplicate", EventType::MessageIngest(MessageIngestEvent::Error) => "message-ingest.error", EventType::MessageIngest(MessageIngestEvent::SearchIndex) => { "message-ingest.search-index" } EventType::Milter(MilterEvent::Read) => "milter.read", EventType::Milter(MilterEvent::Write) => "milter.write", EventType::Milter(MilterEvent::ActionAccept) => "milter.action-accept", EventType::Milter(MilterEvent::ActionDiscard) => "milter.action-discard", EventType::Milter(MilterEvent::ActionReject) => "milter.action-reject", EventType::Milter(MilterEvent::ActionTempFail) => "milter.action-temp-fail", EventType::Milter(MilterEvent::ActionReplyCode) => "milter.action-reply-code", EventType::Milter(MilterEvent::ActionConnectionFailure) => { "milter.action-connection-failure" } EventType::Milter(MilterEvent::ActionShutdown) => "milter.action-shutdown", EventType::Milter(MilterEvent::IoError) => "milter.io-error", EventType::Milter(MilterEvent::FrameTooLarge) => "milter.frame-too-large", EventType::Milter(MilterEvent::FrameInvalid) => "milter.frame-invalid", EventType::Milter(MilterEvent::UnexpectedResponse) => "milter.unexpected-response", EventType::Milter(MilterEvent::Timeout) => "milter.timeout", EventType::Milter(MilterEvent::TlsInvalidName) => "milter.tls-invalid-name", EventType::Milter(MilterEvent::Disconnected) => "milter.disconnected", EventType::Milter(MilterEvent::ParseError) => "milter.parse-error", EventType::MtaHook(MtaHookEvent::ActionAccept) => "mta-hook.action-accept", EventType::MtaHook(MtaHookEvent::ActionDiscard) => "mta-hook.action-discard", EventType::MtaHook(MtaHookEvent::ActionReject) => "mta-hook.action-reject", EventType::MtaHook(MtaHookEvent::ActionQuarantine) => "mta-hook.action-quarantine", EventType::MtaHook(MtaHookEvent::Error) => "mta-hook.error", EventType::MtaSts(MtaStsEvent::Authorized) => "mta-sts.authorized", EventType::MtaSts(MtaStsEvent::NotAuthorized) => "mta-sts.not-authorized", EventType::MtaSts(MtaStsEvent::PolicyFetch) => "mta-sts.policy-fetch", EventType::MtaSts(MtaStsEvent::PolicyNotFound) => "mta-sts.policy-not-found", EventType::MtaSts(MtaStsEvent::PolicyFetchError) => "mta-sts.policy-fetch-error", EventType::MtaSts(MtaStsEvent::InvalidPolicy) => "mta-sts.invalid-policy", EventType::Network(NetworkEvent::ListenStart) => "network.listen-start", EventType::Network(NetworkEvent::ListenStop) => "network.listen-stop", EventType::Network(NetworkEvent::ListenError) => "network.listen-error", EventType::Network(NetworkEvent::BindError) => "network.bind-error", EventType::Network(NetworkEvent::ReadError) => "network.read-error", EventType::Network(NetworkEvent::WriteError) => "network.write-error", EventType::Network(NetworkEvent::FlushError) => "network.flush-error", EventType::Network(NetworkEvent::AcceptError) => "network.accept-error", EventType::Network(NetworkEvent::SplitError) => "network.split-error", EventType::Network(NetworkEvent::Timeout) => "network.timeout", EventType::Network(NetworkEvent::Closed) => "network.closed", EventType::Network(NetworkEvent::ProxyError) => "network.proxy-error", EventType::Network(NetworkEvent::SetOptError) => "network.set-opt-error", EventType::OutgoingReport(OutgoingReportEvent::SpfReport) => { "outgoing-report.spf-report" } EventType::OutgoingReport(OutgoingReportEvent::SpfRateLimited) => { "outgoing-report.spf-rate-limited" } EventType::OutgoingReport(OutgoingReportEvent::DkimReport) => { "outgoing-report.dkim-report" } EventType::OutgoingReport(OutgoingReportEvent::DkimRateLimited) => { "outgoing-report.dkim-rate-limited" } EventType::OutgoingReport(OutgoingReportEvent::DmarcReport) => { "outgoing-report.dmarc-report" } EventType::OutgoingReport(OutgoingReportEvent::DmarcRateLimited) => { "outgoing-report.dmarc-rate-limited" } EventType::OutgoingReport(OutgoingReportEvent::DmarcAggregateReport) => { "outgoing-report.dmarc-aggregate-report" } EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate) => { "outgoing-report.tls-aggregate" } EventType::OutgoingReport(OutgoingReportEvent::HttpSubmission) => { "outgoing-report.http-submission" } EventType::OutgoingReport(OutgoingReportEvent::UnauthorizedReportingAddress) => { "outgoing-report.unauthorized-reporting-address" } EventType::OutgoingReport(OutgoingReportEvent::ReportingAddressValidationError) => { "outgoing-report.reporting-address-validation-error" } EventType::OutgoingReport(OutgoingReportEvent::NotFound) => "outgoing-report.not-found", EventType::OutgoingReport(OutgoingReportEvent::SubmissionError) => { "outgoing-report.submission-error" } EventType::OutgoingReport(OutgoingReportEvent::NoRecipientsFound) => { "outgoing-report.no-recipients-found" } EventType::OutgoingReport(OutgoingReportEvent::Locked) => "outgoing-report.locked", EventType::OutgoingReport(OutgoingReportEvent::MaxSizeExceeded) => { "outgoing-report.max-size-exceeded" } EventType::Pop3(Pop3Event::ConnectionStart) => "pop3.connection-start", EventType::Pop3(Pop3Event::ConnectionEnd) => "pop3.connection-end", EventType::Pop3(Pop3Event::Delete) => "pop3.delete", EventType::Pop3(Pop3Event::Reset) => "pop3.reset", EventType::Pop3(Pop3Event::Quit) => "pop3.quit", EventType::Pop3(Pop3Event::Fetch) => "pop3.fetch", EventType::Pop3(Pop3Event::List) => "pop3.list", EventType::Pop3(Pop3Event::ListMessage) => "pop3.list-message", EventType::Pop3(Pop3Event::Uidl) => "pop3.uidl", EventType::Pop3(Pop3Event::UidlMessage) => "pop3.uidl-message", EventType::Pop3(Pop3Event::Stat) => "pop3.stat", EventType::Pop3(Pop3Event::Noop) => "pop3.noop", EventType::Pop3(Pop3Event::Capabilities) => "pop3.capabilities", EventType::Pop3(Pop3Event::StartTls) => "pop3.start-tls", EventType::Pop3(Pop3Event::Utf8) => "pop3.utf8", EventType::Pop3(Pop3Event::Error) => "pop3.error", EventType::Pop3(Pop3Event::RawInput) => "pop3.raw-input", EventType::Pop3(Pop3Event::RawOutput) => "pop3.raw-output", EventType::PushSubscription(PushSubscriptionEvent::Success) => { "push-subscription.success" } EventType::PushSubscription(PushSubscriptionEvent::Error) => "push-subscription.error", EventType::PushSubscription(PushSubscriptionEvent::NotFound) => { "push-subscription.not-found" } EventType::Queue(QueueEvent::Started) => "queue.started", EventType::Queue(QueueEvent::MessageQueued) => "queue.message-queued", EventType::Queue(QueueEvent::AuthenticatedMessageQueued) => { "queue.authenticated-message-queued" } EventType::Queue(QueueEvent::ReportQueued) => "queue.report-queued", EventType::Queue(QueueEvent::DsnQueued) => "queue.dsn-queued", EventType::Queue(QueueEvent::AutogeneratedQueued) => "queue.autogenerated-queued", EventType::Queue(QueueEvent::Rescheduled) => "queue.rescheduled", EventType::Queue(QueueEvent::Locked) => "queue.locked", EventType::Queue(QueueEvent::BlobNotFound) => "queue.blob-not-found", EventType::Queue(QueueEvent::RateLimitExceeded) => "queue.rate-limit-exceeded", EventType::Queue(QueueEvent::ConcurrencyLimitExceeded) => { "queue.concurrency-limit-exceeded" } EventType::Queue(QueueEvent::QuotaExceeded) => "queue.quota-exceeded", EventType::Queue(QueueEvent::BackPressure) => "queue.back-pressure", EventType::Registry(RegistryEvent::LocalReadError) => "registry.local-read-error", EventType::Registry(RegistryEvent::LocalWriteError) => "registry.local-write-error", EventType::Registry(RegistryEvent::LocalParseError) => "registry.local-parse-error", EventType::Registry(RegistryEvent::ReadError) => "registry.read-error", EventType::Registry(RegistryEvent::WriteError) => "registry.write-error", EventType::Registry(RegistryEvent::DeserializationError) => { "registry.deserialization-error" } EventType::Registry(RegistryEvent::BuildError) => "registry.build-error", EventType::Registry(RegistryEvent::BuildWarning) => "registry.build-warning", EventType::Registry(RegistryEvent::NotSupported) => "registry.not-supported", EventType::Registry(RegistryEvent::ValidationError) => "registry.validation-error", EventType::Resource(ResourceEvent::NotFound) => "resource.not-found", EventType::Resource(ResourceEvent::BadParameters) => "resource.bad-parameters", EventType::Resource(ResourceEvent::Error) => "resource.error", EventType::Resource(ResourceEvent::DownloadExternal) => "resource.download-external", EventType::Resource(ResourceEvent::ApplicationUpdated) => { "resource.application-updated" } EventType::Resource(ResourceEvent::ApplicationUnpacked) => { "resource.application-unpacked" } EventType::Security(SecurityEvent::AuthenticationBan) => "security.authentication-ban", EventType::Security(SecurityEvent::AbuseBan) => "security.abuse-ban", EventType::Security(SecurityEvent::ScanBan) => "security.scan-ban", EventType::Security(SecurityEvent::LoiterBan) => "security.loiter-ban", EventType::Security(SecurityEvent::IpBlocked) => "security.ip-blocked", EventType::Security(SecurityEvent::IpBlockExpired) => "security.ip-block-expired", EventType::Security(SecurityEvent::IpAllowExpired) => "security.ip-allow-expired", EventType::Security(SecurityEvent::IpUnauthorized) => "security.ip-unauthorized", EventType::Security(SecurityEvent::Unauthorized) => "security.unauthorized", EventType::Server(ServerEvent::Startup) => "server.startup", EventType::Server(ServerEvent::Shutdown) => "server.shutdown", EventType::Server(ServerEvent::StartupError) => "server.startup-error", EventType::Server(ServerEvent::ThreadError) => "server.thread-error", EventType::Server(ServerEvent::Licensing) => "server.licensing", EventType::Server(ServerEvent::RecoveryMode) => "server.recovery-mode", EventType::Server(ServerEvent::BootstrapMode) => "server.bootstrap-mode", EventType::Sieve(SieveEvent::ActionAccept) => "sieve.action-accept", EventType::Sieve(SieveEvent::ActionAcceptReplace) => "sieve.action-accept-replace", EventType::Sieve(SieveEvent::ActionDiscard) => "sieve.action-discard", EventType::Sieve(SieveEvent::ActionReject) => "sieve.action-reject", EventType::Sieve(SieveEvent::SendMessage) => "sieve.send-message", EventType::Sieve(SieveEvent::MessageTooLarge) => "sieve.message-too-large", EventType::Sieve(SieveEvent::ScriptNotFound) => "sieve.script-not-found", EventType::Sieve(SieveEvent::ListNotFound) => "sieve.list-not-found", EventType::Sieve(SieveEvent::RuntimeError) => "sieve.runtime-error", EventType::Sieve(SieveEvent::UnexpectedError) => "sieve.unexpected-error", EventType::Sieve(SieveEvent::NotSupported) => "sieve.not-supported", EventType::Sieve(SieveEvent::QuotaExceeded) => "sieve.quota-exceeded", EventType::Smtp(SmtpEvent::ConnectionStart) => "smtp.connection-start", EventType::Smtp(SmtpEvent::ConnectionEnd) => "smtp.connection-end", EventType::Smtp(SmtpEvent::Error) => "smtp.error", EventType::Smtp(SmtpEvent::IdNotFound) => "smtp.id-not-found", EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded) => { "smtp.concurrency-limit-exceeded" } EventType::Smtp(SmtpEvent::TransferLimitExceeded) => "smtp.transfer-limit-exceeded", EventType::Smtp(SmtpEvent::RateLimitExceeded) => "smtp.rate-limit-exceeded", EventType::Smtp(SmtpEvent::TimeLimitExceeded) => "smtp.time-limit-exceeded", EventType::Smtp(SmtpEvent::MissingAuthDirectory) => "smtp.missing-auth-directory", EventType::Smtp(SmtpEvent::MessageParseFailed) => "smtp.message-parse-failed", EventType::Smtp(SmtpEvent::MessageTooLarge) => "smtp.message-too-large", EventType::Smtp(SmtpEvent::LoopDetected) => "smtp.loop-detected", EventType::Smtp(SmtpEvent::DkimPass) => "smtp.dkim-pass", EventType::Smtp(SmtpEvent::DkimFail) => "smtp.dkim-fail", EventType::Smtp(SmtpEvent::Dkim2Pass) => "smtp.dkim2-pass", EventType::Smtp(SmtpEvent::Dkim2Fail) => "smtp.dkim2-fail", EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded) => "smtp.dkim2-dsn-discarded", EventType::Smtp(SmtpEvent::ArcPass) => "smtp.arc-pass", EventType::Smtp(SmtpEvent::ArcFail) => "smtp.arc-fail", EventType::Smtp(SmtpEvent::SpfEhloPass) => "smtp.spf-ehlo-pass", EventType::Smtp(SmtpEvent::SpfEhloFail) => "smtp.spf-ehlo-fail", EventType::Smtp(SmtpEvent::SpfFromPass) => "smtp.spf-from-pass", EventType::Smtp(SmtpEvent::SpfFromFail) => "smtp.spf-from-fail", EventType::Smtp(SmtpEvent::DmarcPass) => "smtp.dmarc-pass", EventType::Smtp(SmtpEvent::DmarcFail) => "smtp.dmarc-fail", EventType::Smtp(SmtpEvent::IprevPass) => "smtp.iprev-pass", EventType::Smtp(SmtpEvent::IprevFail) => "smtp.iprev-fail", EventType::Smtp(SmtpEvent::TooManyMessages) => "smtp.too-many-messages", EventType::Smtp(SmtpEvent::Ehlo) => "smtp.ehlo", EventType::Smtp(SmtpEvent::InvalidEhlo) => "smtp.invalid-ehlo", EventType::Smtp(SmtpEvent::DidNotSayEhlo) => "smtp.did-not-say-ehlo", EventType::Smtp(SmtpEvent::EhloExpected) => "smtp.ehlo-expected", EventType::Smtp(SmtpEvent::LhloExpected) => "smtp.lhlo-expected", EventType::Smtp(SmtpEvent::MailFromUnauthenticated) => "smtp.mail-from-unauthenticated", EventType::Smtp(SmtpEvent::MailFromUnauthorized) => "smtp.mail-from-unauthorized", EventType::Smtp(SmtpEvent::MailFromNotAllowed) => "smtp.mail-from-not-allowed", EventType::Smtp(SmtpEvent::MailFromRewritten) => "smtp.mail-from-rewritten", EventType::Smtp(SmtpEvent::MailFromMissing) => "smtp.mail-from-missing", EventType::Smtp(SmtpEvent::MailFrom) => "smtp.mail-from", EventType::Smtp(SmtpEvent::MultipleMailFrom) => "smtp.multiple-mail-from", EventType::Smtp(SmtpEvent::MailboxDoesNotExist) => "smtp.mailbox-does-not-exist", EventType::Smtp(SmtpEvent::RelayNotAllowed) => "smtp.relay-not-allowed", EventType::Smtp(SmtpEvent::RcptTo) => "smtp.rcpt-to", EventType::Smtp(SmtpEvent::RcptToDuplicate) => "smtp.rcpt-to-duplicate", EventType::Smtp(SmtpEvent::RcptToRewritten) => "smtp.rcpt-to-rewritten", EventType::Smtp(SmtpEvent::RcptToMissing) => "smtp.rcpt-to-missing", EventType::Smtp(SmtpEvent::RcptToGreylisted) => "smtp.rcpt-to-greylisted", EventType::Smtp(SmtpEvent::TooManyRecipients) => "smtp.too-many-recipients", EventType::Smtp(SmtpEvent::TooManyInvalidRcpt) => "smtp.too-many-invalid-rcpt", EventType::Smtp(SmtpEvent::RawInput) => "smtp.raw-input", EventType::Smtp(SmtpEvent::RawOutput) => "smtp.raw-output", EventType::Smtp(SmtpEvent::MissingLocalHostname) => "smtp.missing-local-hostname", EventType::Smtp(SmtpEvent::Vrfy) => "smtp.vrfy", EventType::Smtp(SmtpEvent::VrfyNotFound) => "smtp.vrfy-not-found", EventType::Smtp(SmtpEvent::VrfyDisabled) => "smtp.vrfy-disabled", EventType::Smtp(SmtpEvent::Expn) => "smtp.expn", EventType::Smtp(SmtpEvent::ExpnNotFound) => "smtp.expn-not-found", EventType::Smtp(SmtpEvent::ExpnDisabled) => "smtp.expn-disabled", EventType::Smtp(SmtpEvent::RequireTlsDisabled) => "smtp.require-tls-disabled", EventType::Smtp(SmtpEvent::DeliverByDisabled) => "smtp.deliver-by-disabled", EventType::Smtp(SmtpEvent::DeliverByInvalid) => "smtp.deliver-by-invalid", EventType::Smtp(SmtpEvent::FutureReleaseDisabled) => "smtp.future-release-disabled", EventType::Smtp(SmtpEvent::FutureReleaseInvalid) => "smtp.future-release-invalid", EventType::Smtp(SmtpEvent::MtPriorityDisabled) => "smtp.mt-priority-disabled", EventType::Smtp(SmtpEvent::MtPriorityInvalid) => "smtp.mt-priority-invalid", EventType::Smtp(SmtpEvent::DsnDisabled) => "smtp.dsn-disabled", EventType::Smtp(SmtpEvent::AuthNotAllowed) => "smtp.auth-not-allowed", EventType::Smtp(SmtpEvent::AuthMechanismNotSupported) => { "smtp.auth-mechanism-not-supported" } EventType::Smtp(SmtpEvent::AuthExchangeTooLong) => "smtp.auth-exchange-too-long", EventType::Smtp(SmtpEvent::AlreadyAuthenticated) => "smtp.already-authenticated", EventType::Smtp(SmtpEvent::Noop) => "smtp.noop", EventType::Smtp(SmtpEvent::StartTls) => "smtp.start-tls", EventType::Smtp(SmtpEvent::StartTlsUnavailable) => "smtp.start-tls-unavailable", EventType::Smtp(SmtpEvent::StartTlsAlready) => "smtp.start-tls-already", EventType::Smtp(SmtpEvent::Rset) => "smtp.rset", EventType::Smtp(SmtpEvent::Quit) => "smtp.quit", EventType::Smtp(SmtpEvent::Help) => "smtp.help", EventType::Smtp(SmtpEvent::CommandNotImplemented) => "smtp.command-not-implemented", EventType::Smtp(SmtpEvent::InvalidCommand) => "smtp.invalid-command", EventType::Smtp(SmtpEvent::InvalidSenderAddress) => "smtp.invalid-sender-address", EventType::Smtp(SmtpEvent::InvalidRecipientAddress) => "smtp.invalid-recipient-address", EventType::Smtp(SmtpEvent::InvalidParameter) => "smtp.invalid-parameter", EventType::Smtp(SmtpEvent::UnsupportedParameter) => "smtp.unsupported-parameter", EventType::Smtp(SmtpEvent::SyntaxError) => "smtp.syntax-error", EventType::Smtp(SmtpEvent::RequestTooLarge) => "smtp.request-too-large", EventType::Spam(SpamEvent::Pyzor) => "spam.pyzor", EventType::Spam(SpamEvent::PyzorError) => "spam.pyzor-error", EventType::Spam(SpamEvent::Dnsbl) => "spam.dnsbl", EventType::Spam(SpamEvent::DnsblError) => "spam.dnsbl-error", EventType::Spam(SpamEvent::TrainStarted) => "spam.train-started", EventType::Spam(SpamEvent::TrainCompleted) => "spam.train-completed", EventType::Spam(SpamEvent::TrainSampleAdded) => "spam.train-sample-added", EventType::Spam(SpamEvent::TrainSampleNotFound) => "spam.train-sample-not-found", EventType::Spam(SpamEvent::Classify) => "spam.classify", EventType::Spam(SpamEvent::ModelLoaded) => "spam.model-loaded", EventType::Spam(SpamEvent::ModelNotReady) => "spam.model-not-ready", EventType::Spam(SpamEvent::ModelNotFound) => "spam.model-not-found", EventType::Spam(SpamEvent::RulesUpdated) => "spam.rules-updated", EventType::Spf(SpfEvent::Pass) => "spf.pass", EventType::Spf(SpfEvent::Fail) => "spf.fail", EventType::Spf(SpfEvent::SoftFail) => "spf.soft-fail", EventType::Spf(SpfEvent::Neutral) => "spf.neutral", EventType::Spf(SpfEvent::TempError) => "spf.temp-error", EventType::Spf(SpfEvent::PermError) => "spf.perm-error", EventType::Spf(SpfEvent::None) => "spf.none", EventType::Store(StoreEvent::AssertValueFailed) => "store.assert-value-failed", EventType::Store(StoreEvent::FoundationdbError) => "store.foundationdb-error", EventType::Store(StoreEvent::MysqlError) => "store.mysql-error", EventType::Store(StoreEvent::PostgresqlError) => "store.postgresql-error", EventType::Store(StoreEvent::RocksdbError) => "store.rocksdb-error", EventType::Store(StoreEvent::SqliteError) => "store.sqlite-error", EventType::Store(StoreEvent::LdapError) => "store.ldap-error", EventType::Store(StoreEvent::ElasticsearchError) => "store.elasticsearch-error", EventType::Store(StoreEvent::MeilisearchError) => "store.meilisearch-error", EventType::Store(StoreEvent::RedisError) => "store.redis-error", EventType::Store(StoreEvent::S3Error) => "store.s3-error", EventType::Store(StoreEvent::AzureError) => "store.azure-error", EventType::Store(StoreEvent::FilesystemError) => "store.filesystem-error", EventType::Store(StoreEvent::PoolError) => "store.pool-error", EventType::Store(StoreEvent::DataCorruption) => "store.data-corruption", EventType::Store(StoreEvent::DecompressError) => "store.decompress-error", EventType::Store(StoreEvent::DeserializeError) => "store.deserialize-error", EventType::Store(StoreEvent::NotFound) => "store.not-found", EventType::Store(StoreEvent::NotConfigured) => "store.not-configured", EventType::Store(StoreEvent::NotSupported) => "store.not-supported", EventType::Store(StoreEvent::UnexpectedError) => "store.unexpected-error", EventType::Store(StoreEvent::CryptoError) => "store.crypto-error", EventType::Store(StoreEvent::HttpStoreError) => "store.http-store-error", EventType::Store(StoreEvent::CacheMiss) => "store.cache-miss", EventType::Store(StoreEvent::CacheHit) => "store.cache-hit", EventType::Store(StoreEvent::CacheStale) => "store.cache-stale", EventType::Store(StoreEvent::CacheUpdate) => "store.cache-update", EventType::Store(StoreEvent::CacheEntryTooLarge) => "store.cache-entry-too-large", EventType::Store(StoreEvent::BlobMissingMarker) => "store.blob-missing-marker", EventType::Store(StoreEvent::DataWrite) => "store.data-write", EventType::Store(StoreEvent::DataIterate) => "store.data-iterate", EventType::Store(StoreEvent::BlobRead) => "store.blob-read", EventType::Store(StoreEvent::BlobWrite) => "store.blob-write", EventType::Store(StoreEvent::BlobDelete) => "store.blob-delete", EventType::Store(StoreEvent::SqlQuery) => "store.sql-query", EventType::Store(StoreEvent::LdapQuery) => "store.ldap-query", EventType::Store(StoreEvent::LdapWarning) => "store.ldap-warning", EventType::Store(StoreEvent::HttpStoreFetch) => "store.http-store-fetch", EventType::Store(StoreEvent::AutoExpunge) => "store.auto-expunge", EventType::Store(StoreEvent::BlobStorePurged) => "store.blob-store-purged", EventType::Store(StoreEvent::DataStorePurged) => "store.data-store-purged", EventType::TaskManager(TaskManagerEvent::TaskAcquired) => "task-manager.task-acquired", EventType::TaskManager(TaskManagerEvent::TaskQueued) => "task-manager.task-queued", EventType::TaskManager(TaskManagerEvent::TaskScheduled) => { "task-manager.task-scheduled" } EventType::TaskManager(TaskManagerEvent::TaskLocked) => "task-manager.task-locked", EventType::TaskManager(TaskManagerEvent::TaskIgnored) => "task-manager.task-ignored", EventType::TaskManager(TaskManagerEvent::TaskFailed) => "task-manager.task-failed", EventType::TaskManager(TaskManagerEvent::TaskRetry) => "task-manager.task-retry", EventType::TaskManager(TaskManagerEvent::BlobNotFound) => "task-manager.blob-not-found", EventType::TaskManager(TaskManagerEvent::MetadataNotFound) => { "task-manager.metadata-not-found" } EventType::TaskManager(TaskManagerEvent::SchedulerStarted) => { "task-manager.scheduler-started" } EventType::TaskManager(TaskManagerEvent::ManagerStarted) => { "task-manager.manager-started" } EventType::Telemetry(TelemetryEvent::AlertEvent) => "telemetry.alert-event", EventType::Telemetry(TelemetryEvent::AlertMessage) => "telemetry.alert-message", EventType::Telemetry(TelemetryEvent::LogError) => "telemetry.log-error", EventType::Telemetry(TelemetryEvent::WebhookError) => "telemetry.webhook-error", EventType::Telemetry(TelemetryEvent::OtelExporterError) => { "telemetry.otel-exporter-error" } EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError) => { "telemetry.otel-metrics-exporter-error" } EventType::Telemetry(TelemetryEvent::PrometheusExporterError) => { "telemetry.prometheus-exporter-error" } EventType::Telemetry(TelemetryEvent::JournalError) => "telemetry.journal-error", EventType::Telemetry(TelemetryEvent::MetricsCollected) => "telemetry.metrics-collected", EventType::Telemetry(TelemetryEvent::MetricsStored) => "telemetry.metrics-stored", EventType::Telemetry(TelemetryEvent::MetricsPushed) => "telemetry.metrics-pushed", EventType::Tls(TlsEvent::Handshake) => "tls.handshake", EventType::Tls(TlsEvent::HandshakeError) => "tls.handshake-error", EventType::Tls(TlsEvent::NotConfigured) => "tls.not-configured", EventType::Tls(TlsEvent::CertificateNotFound) => "tls.certificate-not-found", EventType::Tls(TlsEvent::NoCertificatesAvailable) => "tls.no-certificates-available", EventType::Tls(TlsEvent::MultipleCertificatesAvailable) => { "tls.multiple-certificates-available" } EventType::Tls(TlsEvent::ExpiredCertificateRemoved) => { "tls.expired-certificate-removed" } EventType::TlsRpt(TlsRptEvent::RecordFetch) => "tls-rpt.record-fetch", EventType::TlsRpt(TlsRptEvent::RecordFetchError) => "tls-rpt.record-fetch-error", EventType::TlsRpt(TlsRptEvent::RecordNotFound) => "tls-rpt.record-not-found", EventType::WebDav(WebDavEvent::Propfind) => "web-dav.propfind", EventType::WebDav(WebDavEvent::Proppatch) => "web-dav.proppatch", EventType::WebDav(WebDavEvent::Get) => "web-dav.get", EventType::WebDav(WebDavEvent::Head) => "web-dav.head", EventType::WebDav(WebDavEvent::Report) => "web-dav.report", EventType::WebDav(WebDavEvent::Mkcol) => "web-dav.mkcol", EventType::WebDav(WebDavEvent::Mkcalendar) => "web-dav.mkcalendar", EventType::WebDav(WebDavEvent::Delete) => "web-dav.delete", EventType::WebDav(WebDavEvent::Put) => "web-dav.put", EventType::WebDav(WebDavEvent::Post) => "web-dav.post", EventType::WebDav(WebDavEvent::Patch) => "web-dav.patch", EventType::WebDav(WebDavEvent::Copy) => "web-dav.copy", EventType::WebDav(WebDavEvent::Move) => "web-dav.move", EventType::WebDav(WebDavEvent::Lock) => "web-dav.lock", EventType::WebDav(WebDavEvent::Unlock) => "web-dav.unlock", EventType::WebDav(WebDavEvent::Acl) => "web-dav.acl", EventType::WebDav(WebDavEvent::Options) => "web-dav.options", EventType::WebDav(WebDavEvent::Error) => "web-dav.error", } } pub const fn to_id(&self) -> u16 { match self { EventType::Acme(AcmeEvent::AuthStart) => 3, EventType::Acme(AcmeEvent::AuthPending) => 2, EventType::Acme(AcmeEvent::AuthValid) => 5, EventType::Acme(AcmeEvent::AuthCompleted) => 0, EventType::Acme(AcmeEvent::AuthError) => 1, EventType::Acme(AcmeEvent::AuthTooManyAttempts) => 4, EventType::Acme(AcmeEvent::ProcessCert) => 22, EventType::Acme(AcmeEvent::OrderStart) => 20, EventType::Acme(AcmeEvent::OrderProcessing) => 18, EventType::Acme(AcmeEvent::OrderCompleted) => 16, EventType::Acme(AcmeEvent::OrderReady) => 19, EventType::Acme(AcmeEvent::OrderValid) => 21, EventType::Acme(AcmeEvent::OrderInvalid) => 17, EventType::Acme(AcmeEvent::RenewBackoff) => 23, EventType::Acme(AcmeEvent::ClientSuppliedSni) => 7, EventType::Acme(AcmeEvent::ClientMissingSni) => 6, EventType::Acme(AcmeEvent::TlsAlpnReceived) => 25, EventType::Acme(AcmeEvent::TlsAlpnError) => 24, EventType::Acme(AcmeEvent::TokenNotFound) => 26, EventType::Acme(AcmeEvent::Error) => 15, EventType::Ai(AiEvent::LlmResponse) => 556, EventType::Ai(AiEvent::ApiError) => 557, // inbuxa: SCIM-54 EventType::Scim(ScimEvent::ResourceCreated) => 637, EventType::Scim(ScimEvent::ResourceUpdated) => 638, EventType::Scim(ScimEvent::ResourceSuspended) => 639, EventType::Scim(ScimEvent::ResourceReactivated) => 640, EventType::Scim(ScimEvent::ResourceDeleted) => 641, EventType::Arc(ArcEvent::ChainTooLong) => 28, EventType::Arc(ArcEvent::InvalidInstance) => 31, EventType::Arc(ArcEvent::InvalidCv) => 30, EventType::Arc(ArcEvent::HasHeaderTag) => 29, EventType::Arc(ArcEvent::BrokenChain) => 27, EventType::Arc(ArcEvent::SealerNotFound) => 32, EventType::Auth(AuthEvent::Success) => 37, EventType::Auth(AuthEvent::Failed) => 35, EventType::Auth(AuthEvent::TokenExpired) => 554, EventType::Auth(AuthEvent::MfaRequired) => 36, EventType::Auth(AuthEvent::TooManyAttempts) => 38, EventType::Auth(AuthEvent::ClientRegistration) => 555, EventType::Auth(AuthEvent::Error) => 34, EventType::Auth(AuthEvent::Warning) => 595, EventType::Auth(AuthEvent::CredentialExpired) => 276, EventType::Calendar(CalendarEvent::RuleExpansionError) => 576, EventType::Calendar(CalendarEvent::AlarmSent) => 579, EventType::Calendar(CalendarEvent::AlarmSkipped) => 580, EventType::Calendar(CalendarEvent::AlarmRecipientOverride) => 581, EventType::Calendar(CalendarEvent::AlarmFailed) => 582, EventType::Calendar(CalendarEvent::ItipMessageSent) => 583, EventType::Calendar(CalendarEvent::ItipMessageReceived) => 584, EventType::Calendar(CalendarEvent::ItipMessageError) => 585, EventType::Cluster(ClusterEvent::Startup) => 278, EventType::Cluster(ClusterEvent::SubscriberStart) => 39, EventType::Cluster(ClusterEvent::SubscriberStop) => 40, EventType::Cluster(ClusterEvent::SubscriberError) => 41, EventType::Cluster(ClusterEvent::SubscriberDisconnected) => 42, EventType::Cluster(ClusterEvent::PublisherStart) => 43, EventType::Cluster(ClusterEvent::PublisherStop) => 44, EventType::Cluster(ClusterEvent::PublisherError) => 45, EventType::Cluster(ClusterEvent::MessageReceived) => 46, EventType::Cluster(ClusterEvent::MessageSkipped) => 47, EventType::Cluster(ClusterEvent::MessageInvalid) => 49, EventType::Cluster(ClusterEvent::NodeIdRenewed) => 275, EventType::Dane(DaneEvent::AuthenticationSuccess) => 67, EventType::Dane(DaneEvent::AuthenticationFailure) => 66, EventType::Dane(DaneEvent::NoCertificatesFound) => 69, EventType::Dane(DaneEvent::CertificateParseError) => 68, EventType::Dane(DaneEvent::TlsaRecordMatch) => 73, EventType::Dane(DaneEvent::TlsaRecordFetch) => 70, EventType::Dane(DaneEvent::TlsaRecordFetchError) => 71, EventType::Dane(DaneEvent::TlsaRecordNotFound) => 75, EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned) => 74, EventType::Dane(DaneEvent::TlsaRecordInvalid) => 72, EventType::Dane(DaneEvent::BogusDnssecRecord) => 605, EventType::Delivery(DeliveryEvent::AttemptStart) => 77, EventType::Delivery(DeliveryEvent::AttemptEnd) => 76, EventType::Delivery(DeliveryEvent::Completed) => 80, EventType::Delivery(DeliveryEvent::Failed) => 92, EventType::Delivery(DeliveryEvent::DomainDeliveryStart) => 85, EventType::Delivery(DeliveryEvent::MxLookup) => 101, EventType::Delivery(DeliveryEvent::MxLookupFailed) => 102, EventType::Delivery(DeliveryEvent::IpLookup) => 95, EventType::Delivery(DeliveryEvent::IpLookupFailed) => 96, EventType::Delivery(DeliveryEvent::NullMx) => 103, EventType::Delivery(DeliveryEvent::Connect) => 82, EventType::Delivery(DeliveryEvent::ConnectError) => 83, EventType::Delivery(DeliveryEvent::MissingOutboundHostname) => 100, EventType::Delivery(DeliveryEvent::GreetingFailed) => 93, EventType::Delivery(DeliveryEvent::Ehlo) => 90, EventType::Delivery(DeliveryEvent::EhloRejected) => 91, EventType::Delivery(DeliveryEvent::Auth) => 78, EventType::Delivery(DeliveryEvent::AuthFailed) => 79, EventType::Delivery(DeliveryEvent::MailFrom) => 97, EventType::Delivery(DeliveryEvent::MailFromRejected) => 98, EventType::Delivery(DeliveryEvent::Delivered) => 84, EventType::Delivery(DeliveryEvent::RcptTo) => 107, EventType::Delivery(DeliveryEvent::RcptToRejected) => 109, EventType::Delivery(DeliveryEvent::RcptToFailed) => 108, EventType::Delivery(DeliveryEvent::MessageRejected) => 99, EventType::Delivery(DeliveryEvent::StartTls) => 110, EventType::Delivery(DeliveryEvent::StartTlsUnavailable) => 113, EventType::Delivery(DeliveryEvent::StartTlsError) => 112, EventType::Delivery(DeliveryEvent::StartTlsDisabled) => 111, EventType::Delivery(DeliveryEvent::ImplicitTlsError) => 94, EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded) => 81, EventType::Delivery(DeliveryEvent::RateLimitExceeded) => 104, EventType::Delivery(DeliveryEvent::DoubleBounce) => 86, EventType::Delivery(DeliveryEvent::DsnSuccess) => 88, EventType::Delivery(DeliveryEvent::DsnTempFail) => 89, EventType::Delivery(DeliveryEvent::DsnPermFail) => 87, EventType::Delivery(DeliveryEvent::RawInput) => 105, EventType::Delivery(DeliveryEvent::RawOutput) => 106, EventType::Dkim(DkimEvent::Pass) => 121, EventType::Dkim(DkimEvent::Neutral) => 119, EventType::Dkim(DkimEvent::Fail) => 114, EventType::Dkim(DkimEvent::PermError) => 122, EventType::Dkim(DkimEvent::TempError) => 127, EventType::Dkim(DkimEvent::None) => 120, EventType::Dkim(DkimEvent::UnsupportedVersion) => 131, EventType::Dkim(DkimEvent::UnsupportedAlgorithm) => 128, EventType::Dkim(DkimEvent::UnsupportedCanonicalization) => 129, EventType::Dkim(DkimEvent::UnsupportedKeyType) => 130, EventType::Dkim(DkimEvent::FailedBodyHashMatch) => 116, EventType::Dkim(DkimEvent::FailedVerification) => 117, EventType::Dkim(DkimEvent::FailedAuidMatch) => 115, EventType::Dkim(DkimEvent::RevokedPublicKey) => 123, EventType::Dkim(DkimEvent::IncompatibleAlgorithms) => 118, EventType::Dkim(DkimEvent::SignatureExpired) => 124, EventType::Dkim(DkimEvent::SignatureLength) => 125, EventType::Dkim(DkimEvent::SignerNotFound) => 126, EventType::Dkim(DkimEvent::BuildError) => 592, EventType::Dkim(DkimEvent::SignatureCreated) => 596, EventType::Dkim(DkimEvent::SignaturePublished) => 597, EventType::Dkim(DkimEvent::SignatureRetiring) => 598, EventType::Dkim(DkimEvent::SignatureRetired) => 599, EventType::Dkim(DkimEvent::SignatureDeleted) => 600, EventType::Dkim(DkimEvent::InstanceMissing) => 606, EventType::Dkim(DkimEvent::InstanceSyntax) => 607, EventType::Dkim(DkimEvent::InstanceTagMissing) => 608, EventType::Dkim(DkimEvent::InstanceNotSigned) => 609, EventType::Dkim(DkimEvent::InstanceAboveSignature) => 610, EventType::Dkim(DkimEvent::SignatureMissing) => 611, EventType::Dkim(DkimEvent::SignatureSyntax) => 612, EventType::Dkim(DkimEvent::SignatureTagMissing) => 613, EventType::Dkim(DkimEvent::SignatureTagUnexpected) => 614, EventType::Dkim(DkimEvent::SequenceGap) => 615, EventType::Dkim(DkimEvent::SequenceOverflow) => 616, EventType::Dkim(DkimEvent::ChainTooLong) => 635, EventType::Dkim(DkimEvent::MailFromMismatch) => 617, EventType::Dkim(DkimEvent::RcptToMismatch) => 618, EventType::Dkim(DkimEvent::MailFromDomainMismatch) => 619, EventType::Dkim(DkimEvent::NextDomainMismatch) => 620, EventType::Dkim(DkimEvent::CustodyBreak) => 636, EventType::Dkim(DkimEvent::PublicKeyFetch) => 621, EventType::Dkim(DkimEvent::PublicKeyMissing) => 622, EventType::Dkim(DkimEvent::PublicKeyMultiple) => 623, EventType::Dkim(DkimEvent::PublicKeySyntax) => 624, EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch) => 625, EventType::Dkim(DkimEvent::NoValidAlgorithm) => 626, EventType::Dkim(DkimEvent::HeaderHashMismatch) => 627, EventType::Dkim(DkimEvent::Modified) => 628, EventType::Dkim(DkimEvent::Exploded) => 629, EventType::Dmarc(DmarcEvent::Pass) => 134, EventType::Dmarc(DmarcEvent::Fail) => 132, EventType::Dmarc(DmarcEvent::PermError) => 135, EventType::Dmarc(DmarcEvent::TempError) => 136, EventType::Dmarc(DmarcEvent::None) => 133, EventType::Dns(DnsEvent::RecordCreated) => 8, EventType::Dns(DnsEvent::RecordCreationFailed) => 9, EventType::Dns(DnsEvent::RecordDeletionFailed) => 10, EventType::Dns(DnsEvent::RecordNotPropagated) => 12, EventType::Dns(DnsEvent::RecordLookupFailed) => 11, EventType::Dns(DnsEvent::RecordPropagated) => 13, EventType::Dns(DnsEvent::RecordPropagationTimeout) => 14, EventType::Dns(DnsEvent::BuildError) => 591, EventType::Eval(EvalEvent::Result) => 139, EventType::Eval(EvalEvent::Error) => 138, EventType::Eval(EvalEvent::DirectoryNotFound) => 137, EventType::Eval(EvalEvent::StoreNotFound) => 140, EventType::Http(HttpEvent::ConnectionStart) => 153, EventType::Http(HttpEvent::ConnectionEnd) => 152, EventType::Http(HttpEvent::Error) => 154, EventType::Http(HttpEvent::RequestUrl) => 156, EventType::Http(HttpEvent::RequestBody) => 155, EventType::Http(HttpEvent::ResponseBody) => 157, EventType::Http(HttpEvent::XForwardedMissing) => 158, EventType::Imap(ImapEvent::ConnectionStart) => 163, EventType::Imap(ImapEvent::ConnectionEnd) => 162, EventType::Imap(ImapEvent::GetAcl) => 171, EventType::Imap(ImapEvent::SetAcl) => 188, EventType::Imap(ImapEvent::MyRights) => 180, EventType::Imap(ImapEvent::ListRights) => 176, EventType::Imap(ImapEvent::Append) => 159, EventType::Imap(ImapEvent::Capabilities) => 160, EventType::Imap(ImapEvent::Id) => 172, EventType::Imap(ImapEvent::Close) => 161, EventType::Imap(ImapEvent::Copy) => 164, EventType::Imap(ImapEvent::Move) => 179, EventType::Imap(ImapEvent::CreateMailbox) => 165, EventType::Imap(ImapEvent::DeleteMailbox) => 166, EventType::Imap(ImapEvent::RenameMailbox) => 185, EventType::Imap(ImapEvent::Enable) => 167, EventType::Imap(ImapEvent::Expunge) => 169, EventType::Imap(ImapEvent::Fetch) => 170, EventType::Imap(ImapEvent::IdleStart) => 173, EventType::Imap(ImapEvent::IdleStop) => 174, EventType::Imap(ImapEvent::List) => 175, EventType::Imap(ImapEvent::Lsub) => 178, EventType::Imap(ImapEvent::Logout) => 177, EventType::Imap(ImapEvent::Namespace) => 181, EventType::Imap(ImapEvent::Noop) => 182, EventType::Imap(ImapEvent::Search) => 186, EventType::Imap(ImapEvent::Sort) => 189, EventType::Imap(ImapEvent::Select) => 187, EventType::Imap(ImapEvent::Status) => 190, EventType::Imap(ImapEvent::Store) => 191, EventType::Imap(ImapEvent::Subscribe) => 192, EventType::Imap(ImapEvent::Unsubscribe) => 194, EventType::Imap(ImapEvent::Thread) => 193, EventType::Imap(ImapEvent::UidBatches) => 634, EventType::Imap(ImapEvent::GetQuota) => 57, EventType::Imap(ImapEvent::Error) => 168, EventType::Imap(ImapEvent::RawInput) => 183, EventType::Imap(ImapEvent::RawOutput) => 184, EventType::IncomingReport(IncomingReportEvent::DmarcReport) => 200, EventType::IncomingReport(IncomingReportEvent::DmarcReportWithWarnings) => 201, EventType::IncomingReport(IncomingReportEvent::TlsReport) => 206, EventType::IncomingReport(IncomingReportEvent::TlsReportWithWarnings) => 207, EventType::IncomingReport(IncomingReportEvent::AbuseReport) => 195, EventType::IncomingReport(IncomingReportEvent::AuthFailureReport) => 197, EventType::IncomingReport(IncomingReportEvent::FraudReport) => 202, EventType::IncomingReport(IncomingReportEvent::NotSpamReport) => 204, EventType::IncomingReport(IncomingReportEvent::VirusReport) => 209, EventType::IncomingReport(IncomingReportEvent::OtherReport) => 205, EventType::IncomingReport(IncomingReportEvent::MessageParseFailed) => 203, EventType::IncomingReport(IncomingReportEvent::DmarcParseFailed) => 199, EventType::IncomingReport(IncomingReportEvent::TlsRpcParseFailed) => 208, EventType::IncomingReport(IncomingReportEvent::ArfParseFailed) => 196, EventType::IncomingReport(IncomingReportEvent::DecompressError) => 198, EventType::Iprev(IprevEvent::Pass) => 212, EventType::Iprev(IprevEvent::Fail) => 210, EventType::Iprev(IprevEvent::PermError) => 213, EventType::Iprev(IprevEvent::TempError) => 214, EventType::Iprev(IprevEvent::None) => 211, EventType::Jmap(JmapEvent::MethodCall) => 223, EventType::Jmap(JmapEvent::InvalidArguments) => 221, EventType::Jmap(JmapEvent::RequestTooLarge) => 227, EventType::Jmap(JmapEvent::StateMismatch) => 228, EventType::Jmap(JmapEvent::AnchorNotFound) => 218, EventType::Jmap(JmapEvent::UnsupportedFilter) => 232, EventType::Jmap(JmapEvent::UnsupportedSort) => 233, EventType::Jmap(JmapEvent::UnknownMethod) => 231, EventType::Jmap(JmapEvent::InvalidResultReference) => 222, EventType::Jmap(JmapEvent::Forbidden) => 220, EventType::Jmap(JmapEvent::AccountNotFound) => 215, EventType::Jmap(JmapEvent::AccountNotSupportedByMethod) => 216, EventType::Jmap(JmapEvent::AccountReadOnly) => 217, EventType::Jmap(JmapEvent::NotFound) => 224, EventType::Jmap(JmapEvent::CannotCalculateChanges) => 219, EventType::Jmap(JmapEvent::UnknownDataType) => 230, EventType::Jmap(JmapEvent::UnknownCapability) => 229, EventType::Jmap(JmapEvent::NotJson) => 225, EventType::Jmap(JmapEvent::NotRequest) => 226, EventType::Jmap(JmapEvent::WebsocketStart) => 235, EventType::Jmap(JmapEvent::WebsocketStop) => 236, EventType::Jmap(JmapEvent::WebsocketError) => 234, EventType::Limit(LimitEvent::SizeRequest) => 243, EventType::Limit(LimitEvent::SizeUpload) => 244, EventType::Limit(LimitEvent::CallsIn) => 238, EventType::Limit(LimitEvent::ConcurrentRequest) => 240, EventType::Limit(LimitEvent::ConcurrentUpload) => 241, EventType::Limit(LimitEvent::ConcurrentConnection) => 239, EventType::Limit(LimitEvent::Quota) => 242, EventType::Limit(LimitEvent::BlobQuota) => 237, EventType::Limit(LimitEvent::TenantQuota) => 553, EventType::Limit(LimitEvent::TooManyRequests) => 245, EventType::MailAuth(MailAuthEvent::ParseError) => 254, EventType::MailAuth(MailAuthEvent::MissingParameters) => 252, EventType::MailAuth(MailAuthEvent::NoHeadersFound) => 253, EventType::MailAuth(MailAuthEvent::Crypto) => 247, EventType::MailAuth(MailAuthEvent::Io) => 251, EventType::MailAuth(MailAuthEvent::Base64) => 246, EventType::MailAuth(MailAuthEvent::DnsError) => 248, EventType::MailAuth(MailAuthEvent::DnsRecordNotFound) => 250, EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType) => 249, EventType::MailAuth(MailAuthEvent::PolicyNotAligned) => 255, EventType::ManageSieve(ManageSieveEvent::ConnectionStart) => 259, EventType::ManageSieve(ManageSieveEvent::ConnectionEnd) => 258, EventType::ManageSieve(ManageSieveEvent::CreateScript) => 260, EventType::ManageSieve(ManageSieveEvent::UpdateScript) => 274, EventType::ManageSieve(ManageSieveEvent::GetScript) => 263, EventType::ManageSieve(ManageSieveEvent::DeleteScript) => 261, EventType::ManageSieve(ManageSieveEvent::RenameScript) => 270, EventType::ManageSieve(ManageSieveEvent::CheckScript) => 257, EventType::ManageSieve(ManageSieveEvent::HaveSpace) => 264, EventType::ManageSieve(ManageSieveEvent::ListScripts) => 265, EventType::ManageSieve(ManageSieveEvent::SetActive) => 271, EventType::ManageSieve(ManageSieveEvent::Capabilities) => 256, EventType::ManageSieve(ManageSieveEvent::StartTls) => 272, EventType::ManageSieve(ManageSieveEvent::Unauthenticate) => 273, EventType::ManageSieve(ManageSieveEvent::Logout) => 266, EventType::ManageSieve(ManageSieveEvent::Noop) => 267, EventType::ManageSieve(ManageSieveEvent::Error) => 262, EventType::ManageSieve(ManageSieveEvent::RawInput) => 268, EventType::ManageSieve(ManageSieveEvent::RawOutput) => 269, EventType::MessageIngest(MessageIngestEvent::Ham) => 283, EventType::MessageIngest(MessageIngestEvent::Spam) => 286, EventType::MessageIngest(MessageIngestEvent::ImapAppend) => 284, EventType::MessageIngest(MessageIngestEvent::JmapAppend) => 285, EventType::MessageIngest(MessageIngestEvent::Duplicate) => 281, EventType::MessageIngest(MessageIngestEvent::Error) => 282, EventType::MessageIngest(MessageIngestEvent::SearchIndex) => 142, EventType::Milter(MilterEvent::Read) => 299, EventType::Milter(MilterEvent::Write) => 303, EventType::Milter(MilterEvent::ActionAccept) => 287, EventType::Milter(MilterEvent::ActionDiscard) => 289, EventType::Milter(MilterEvent::ActionReject) => 290, EventType::Milter(MilterEvent::ActionTempFail) => 293, EventType::Milter(MilterEvent::ActionReplyCode) => 291, EventType::Milter(MilterEvent::ActionConnectionFailure) => 288, EventType::Milter(MilterEvent::ActionShutdown) => 292, EventType::Milter(MilterEvent::IoError) => 297, EventType::Milter(MilterEvent::FrameTooLarge) => 296, EventType::Milter(MilterEvent::FrameInvalid) => 295, EventType::Milter(MilterEvent::UnexpectedResponse) => 302, EventType::Milter(MilterEvent::Timeout) => 300, EventType::Milter(MilterEvent::TlsInvalidName) => 301, EventType::Milter(MilterEvent::Disconnected) => 294, EventType::Milter(MilterEvent::ParseError) => 298, EventType::MtaHook(MtaHookEvent::ActionAccept) => 304, EventType::MtaHook(MtaHookEvent::ActionDiscard) => 305, EventType::MtaHook(MtaHookEvent::ActionReject) => 307, EventType::MtaHook(MtaHookEvent::ActionQuarantine) => 306, EventType::MtaHook(MtaHookEvent::Error) => 308, EventType::MtaSts(MtaStsEvent::Authorized) => 309, EventType::MtaSts(MtaStsEvent::NotAuthorized) => 311, EventType::MtaSts(MtaStsEvent::PolicyFetch) => 312, EventType::MtaSts(MtaStsEvent::PolicyNotFound) => 314, EventType::MtaSts(MtaStsEvent::PolicyFetchError) => 313, EventType::MtaSts(MtaStsEvent::InvalidPolicy) => 310, EventType::Network(NetworkEvent::ListenStart) => 321, EventType::Network(NetworkEvent::ListenStop) => 322, EventType::Network(NetworkEvent::ListenError) => 320, EventType::Network(NetworkEvent::BindError) => 316, EventType::Network(NetworkEvent::ReadError) => 324, EventType::Network(NetworkEvent::WriteError) => 328, EventType::Network(NetworkEvent::FlushError) => 319, EventType::Network(NetworkEvent::AcceptError) => 315, EventType::Network(NetworkEvent::SplitError) => 326, EventType::Network(NetworkEvent::Timeout) => 327, EventType::Network(NetworkEvent::Closed) => 317, EventType::Network(NetworkEvent::ProxyError) => 323, EventType::Network(NetworkEvent::SetOptError) => 325, EventType::OutgoingReport(OutgoingReportEvent::SpfReport) => 342, EventType::OutgoingReport(OutgoingReportEvent::SpfRateLimited) => 341, EventType::OutgoingReport(OutgoingReportEvent::DkimReport) => 330, EventType::OutgoingReport(OutgoingReportEvent::DkimRateLimited) => 329, EventType::OutgoingReport(OutgoingReportEvent::DmarcReport) => 333, EventType::OutgoingReport(OutgoingReportEvent::DmarcRateLimited) => 332, EventType::OutgoingReport(OutgoingReportEvent::DmarcAggregateReport) => 331, EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate) => 344, EventType::OutgoingReport(OutgoingReportEvent::HttpSubmission) => 334, EventType::OutgoingReport(OutgoingReportEvent::UnauthorizedReportingAddress) => 345, EventType::OutgoingReport(OutgoingReportEvent::ReportingAddressValidationError) => 340, EventType::OutgoingReport(OutgoingReportEvent::NotFound) => 339, EventType::OutgoingReport(OutgoingReportEvent::SubmissionError) => 343, EventType::OutgoingReport(OutgoingReportEvent::NoRecipientsFound) => 338, EventType::OutgoingReport(OutgoingReportEvent::Locked) => 337, EventType::OutgoingReport(OutgoingReportEvent::MaxSizeExceeded) => 59, EventType::Pop3(Pop3Event::ConnectionStart) => 348, EventType::Pop3(Pop3Event::ConnectionEnd) => 347, EventType::Pop3(Pop3Event::Delete) => 349, EventType::Pop3(Pop3Event::Reset) => 358, EventType::Pop3(Pop3Event::Quit) => 355, EventType::Pop3(Pop3Event::Fetch) => 351, EventType::Pop3(Pop3Event::List) => 352, EventType::Pop3(Pop3Event::ListMessage) => 353, EventType::Pop3(Pop3Event::Uidl) => 361, EventType::Pop3(Pop3Event::UidlMessage) => 362, EventType::Pop3(Pop3Event::Stat) => 360, EventType::Pop3(Pop3Event::Noop) => 354, EventType::Pop3(Pop3Event::Capabilities) => 346, EventType::Pop3(Pop3Event::StartTls) => 359, EventType::Pop3(Pop3Event::Utf8) => 363, EventType::Pop3(Pop3Event::Error) => 350, EventType::Pop3(Pop3Event::RawInput) => 356, EventType::Pop3(Pop3Event::RawOutput) => 357, EventType::PushSubscription(PushSubscriptionEvent::Success) => 373, EventType::PushSubscription(PushSubscriptionEvent::Error) => 371, EventType::PushSubscription(PushSubscriptionEvent::NotFound) => 372, EventType::Queue(QueueEvent::Started) => 390, EventType::Queue(QueueEvent::MessageQueued) => 380, EventType::Queue(QueueEvent::AuthenticatedMessageQueued) => 381, EventType::Queue(QueueEvent::ReportQueued) => 382, EventType::Queue(QueueEvent::DsnQueued) => 379, EventType::Queue(QueueEvent::AutogeneratedQueued) => 378, EventType::Queue(QueueEvent::Rescheduled) => 385, EventType::Queue(QueueEvent::Locked) => 377, EventType::Queue(QueueEvent::BlobNotFound) => 374, EventType::Queue(QueueEvent::RateLimitExceeded) => 384, EventType::Queue(QueueEvent::ConcurrencyLimitExceeded) => 375, EventType::Queue(QueueEvent::QuotaExceeded) => 383, EventType::Queue(QueueEvent::BackPressure) => 48, EventType::Registry(RegistryEvent::LocalReadError) => 62, EventType::Registry(RegistryEvent::LocalWriteError) => 54, EventType::Registry(RegistryEvent::LocalParseError) => 60, EventType::Registry(RegistryEvent::ReadError) => 65, EventType::Registry(RegistryEvent::WriteError) => 58, EventType::Registry(RegistryEvent::DeserializationError) => 56, EventType::Registry(RegistryEvent::BuildError) => 61, EventType::Registry(RegistryEvent::BuildWarning) => 55, EventType::Registry(RegistryEvent::NotSupported) => 64, EventType::Registry(RegistryEvent::ValidationError) => 63, EventType::Resource(ResourceEvent::NotFound) => 389, EventType::Resource(ResourceEvent::BadParameters) => 386, EventType::Resource(ResourceEvent::Error) => 388, EventType::Resource(ResourceEvent::DownloadExternal) => 387, EventType::Resource(ResourceEvent::ApplicationUpdated) => 601, EventType::Resource(ResourceEvent::ApplicationUnpacked) => 602, EventType::Security(SecurityEvent::AuthenticationBan) => 33, EventType::Security(SecurityEvent::AbuseBan) => 549, EventType::Security(SecurityEvent::ScanBan) => 558, EventType::Security(SecurityEvent::LoiterBan) => 550, EventType::Security(SecurityEvent::IpBlocked) => 318, EventType::Security(SecurityEvent::IpBlockExpired) => 593, EventType::Security(SecurityEvent::IpAllowExpired) => 594, EventType::Security(SecurityEvent::IpUnauthorized) => 279, EventType::Security(SecurityEvent::Unauthorized) => 552, EventType::Server(ServerEvent::Startup) => 393, EventType::Server(ServerEvent::Shutdown) => 392, EventType::Server(ServerEvent::StartupError) => 394, EventType::Server(ServerEvent::ThreadError) => 395, EventType::Server(ServerEvent::Licensing) => 391, EventType::Server(ServerEvent::RecoveryMode) => 603, EventType::Server(ServerEvent::BootstrapMode) => 604, EventType::Sieve(SieveEvent::ActionAccept) => 396, EventType::Sieve(SieveEvent::ActionAcceptReplace) => 397, EventType::Sieve(SieveEvent::ActionDiscard) => 398, EventType::Sieve(SieveEvent::ActionReject) => 399, EventType::Sieve(SieveEvent::SendMessage) => 406, EventType::Sieve(SieveEvent::MessageTooLarge) => 401, EventType::Sieve(SieveEvent::ScriptNotFound) => 405, EventType::Sieve(SieveEvent::ListNotFound) => 400, EventType::Sieve(SieveEvent::RuntimeError) => 404, EventType::Sieve(SieveEvent::UnexpectedError) => 407, EventType::Sieve(SieveEvent::NotSupported) => 402, EventType::Sieve(SieveEvent::QuotaExceeded) => 403, EventType::Smtp(SmtpEvent::ConnectionStart) => 417, EventType::Smtp(SmtpEvent::ConnectionEnd) => 416, EventType::Smtp(SmtpEvent::Error) => 428, EventType::Smtp(SmtpEvent::IdNotFound) => 469, EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded) => 415, EventType::Smtp(SmtpEvent::TransferLimitExceeded) => 485, EventType::Smtp(SmtpEvent::RateLimitExceeded) => 461, EventType::Smtp(SmtpEvent::TimeLimitExceeded) => 481, EventType::Smtp(SmtpEvent::MissingAuthDirectory) => 452, EventType::Smtp(SmtpEvent::MessageParseFailed) => 450, EventType::Smtp(SmtpEvent::MessageTooLarge) => 451, EventType::Smtp(SmtpEvent::LoopDetected) => 443, EventType::Smtp(SmtpEvent::DkimPass) => 422, EventType::Smtp(SmtpEvent::DkimFail) => 421, EventType::Smtp(SmtpEvent::Dkim2Pass) => 630, EventType::Smtp(SmtpEvent::Dkim2Fail) => 631, EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded) => 632, EventType::Smtp(SmtpEvent::ArcPass) => 410, EventType::Smtp(SmtpEvent::ArcFail) => 409, EventType::Smtp(SmtpEvent::SpfEhloPass) => 474, EventType::Smtp(SmtpEvent::SpfEhloFail) => 473, EventType::Smtp(SmtpEvent::SpfFromPass) => 476, EventType::Smtp(SmtpEvent::SpfFromFail) => 475, EventType::Smtp(SmtpEvent::DmarcPass) => 424, EventType::Smtp(SmtpEvent::DmarcFail) => 423, EventType::Smtp(SmtpEvent::IprevPass) => 441, EventType::Smtp(SmtpEvent::IprevFail) => 440, EventType::Smtp(SmtpEvent::TooManyMessages) => 483, EventType::Smtp(SmtpEvent::Ehlo) => 426, EventType::Smtp(SmtpEvent::InvalidEhlo) => 436, EventType::Smtp(SmtpEvent::DidNotSayEhlo) => 420, EventType::Smtp(SmtpEvent::EhloExpected) => 427, EventType::Smtp(SmtpEvent::LhloExpected) => 442, EventType::Smtp(SmtpEvent::MailFromUnauthenticated) => 447, EventType::Smtp(SmtpEvent::MailFromUnauthorized) => 448, EventType::Smtp(SmtpEvent::MailFromNotAllowed) => 551, EventType::Smtp(SmtpEvent::MailFromRewritten) => 446, EventType::Smtp(SmtpEvent::MailFromMissing) => 445, EventType::Smtp(SmtpEvent::MailFrom) => 444, EventType::Smtp(SmtpEvent::MultipleMailFrom) => 456, EventType::Smtp(SmtpEvent::MailboxDoesNotExist) => 449, EventType::Smtp(SmtpEvent::RelayNotAllowed) => 468, EventType::Smtp(SmtpEvent::RcptTo) => 464, EventType::Smtp(SmtpEvent::RcptToDuplicate) => 465, EventType::Smtp(SmtpEvent::RcptToRewritten) => 467, EventType::Smtp(SmtpEvent::RcptToMissing) => 466, EventType::Smtp(SmtpEvent::RcptToGreylisted) => 561, EventType::Smtp(SmtpEvent::TooManyRecipients) => 484, EventType::Smtp(SmtpEvent::TooManyInvalidRcpt) => 482, EventType::Smtp(SmtpEvent::RawInput) => 462, EventType::Smtp(SmtpEvent::RawOutput) => 463, EventType::Smtp(SmtpEvent::MissingLocalHostname) => 453, EventType::Smtp(SmtpEvent::Vrfy) => 487, EventType::Smtp(SmtpEvent::VrfyNotFound) => 489, EventType::Smtp(SmtpEvent::VrfyDisabled) => 488, EventType::Smtp(SmtpEvent::Expn) => 429, EventType::Smtp(SmtpEvent::ExpnNotFound) => 431, EventType::Smtp(SmtpEvent::ExpnDisabled) => 430, EventType::Smtp(SmtpEvent::RequireTlsDisabled) => 471, EventType::Smtp(SmtpEvent::DeliverByDisabled) => 418, EventType::Smtp(SmtpEvent::DeliverByInvalid) => 419, EventType::Smtp(SmtpEvent::FutureReleaseDisabled) => 432, EventType::Smtp(SmtpEvent::FutureReleaseInvalid) => 433, EventType::Smtp(SmtpEvent::MtPriorityDisabled) => 454, EventType::Smtp(SmtpEvent::MtPriorityInvalid) => 455, EventType::Smtp(SmtpEvent::DsnDisabled) => 425, EventType::Smtp(SmtpEvent::AuthNotAllowed) => 413, EventType::Smtp(SmtpEvent::AuthMechanismNotSupported) => 412, EventType::Smtp(SmtpEvent::AuthExchangeTooLong) => 411, EventType::Smtp(SmtpEvent::AlreadyAuthenticated) => 408, EventType::Smtp(SmtpEvent::Noop) => 457, EventType::Smtp(SmtpEvent::StartTls) => 477, EventType::Smtp(SmtpEvent::StartTlsUnavailable) => 479, EventType::Smtp(SmtpEvent::StartTlsAlready) => 478, EventType::Smtp(SmtpEvent::Rset) => 472, EventType::Smtp(SmtpEvent::Quit) => 460, EventType::Smtp(SmtpEvent::Help) => 434, EventType::Smtp(SmtpEvent::CommandNotImplemented) => 414, EventType::Smtp(SmtpEvent::InvalidCommand) => 435, EventType::Smtp(SmtpEvent::InvalidSenderAddress) => 439, EventType::Smtp(SmtpEvent::InvalidRecipientAddress) => 438, EventType::Smtp(SmtpEvent::InvalidParameter) => 437, EventType::Smtp(SmtpEvent::UnsupportedParameter) => 486, EventType::Smtp(SmtpEvent::SyntaxError) => 480, EventType::Smtp(SmtpEvent::RequestTooLarge) => 470, EventType::Spam(SpamEvent::Pyzor) => 564, EventType::Spam(SpamEvent::PyzorError) => 494, EventType::Spam(SpamEvent::Dnsbl) => 562, EventType::Spam(SpamEvent::DnsblError) => 563, EventType::Spam(SpamEvent::TrainStarted) => 588, EventType::Spam(SpamEvent::TrainCompleted) => 495, EventType::Spam(SpamEvent::TrainSampleAdded) => 143, EventType::Spam(SpamEvent::TrainSampleNotFound) => 491, EventType::Spam(SpamEvent::Classify) => 490, EventType::Spam(SpamEvent::ModelLoaded) => 589, EventType::Spam(SpamEvent::ModelNotReady) => 496, EventType::Spam(SpamEvent::ModelNotFound) => 497, EventType::Spam(SpamEvent::RulesUpdated) => 280, EventType::Spf(SpfEvent::Pass) => 501, EventType::Spf(SpfEvent::Fail) => 498, EventType::Spf(SpfEvent::SoftFail) => 503, EventType::Spf(SpfEvent::Neutral) => 499, EventType::Spf(SpfEvent::TempError) => 504, EventType::Spf(SpfEvent::PermError) => 502, EventType::Spf(SpfEvent::None) => 500, EventType::Store(StoreEvent::AssertValueFailed) => 505, EventType::Store(StoreEvent::FoundationdbError) => 518, EventType::Store(StoreEvent::MysqlError) => 522, EventType::Store(StoreEvent::PostgresqlError) => 527, EventType::Store(StoreEvent::RocksdbError) => 529, EventType::Store(StoreEvent::SqliteError) => 532, EventType::Store(StoreEvent::LdapError) => 520, EventType::Store(StoreEvent::ElasticsearchError) => 516, EventType::Store(StoreEvent::MeilisearchError) => 590, EventType::Store(StoreEvent::RedisError) => 528, EventType::Store(StoreEvent::S3Error) => 530, EventType::Store(StoreEvent::AzureError) => 559, EventType::Store(StoreEvent::FilesystemError) => 517, EventType::Store(StoreEvent::PoolError) => 526, EventType::Store(StoreEvent::DataCorruption) => 511, EventType::Store(StoreEvent::DecompressError) => 514, EventType::Store(StoreEvent::DeserializeError) => 515, EventType::Store(StoreEvent::NotFound) => 524, EventType::Store(StoreEvent::NotConfigured) => 523, EventType::Store(StoreEvent::NotSupported) => 525, EventType::Store(StoreEvent::UnexpectedError) => 533, EventType::Store(StoreEvent::CryptoError) => 510, EventType::Store(StoreEvent::HttpStoreError) => 493, EventType::Store(StoreEvent::CacheMiss) => 50, EventType::Store(StoreEvent::CacheHit) => 51, EventType::Store(StoreEvent::CacheStale) => 52, EventType::Store(StoreEvent::CacheUpdate) => 577, EventType::Store(StoreEvent::CacheEntryTooLarge) => 633, EventType::Store(StoreEvent::BlobMissingMarker) => 507, EventType::Store(StoreEvent::DataWrite) => 513, EventType::Store(StoreEvent::DataIterate) => 512, EventType::Store(StoreEvent::BlobRead) => 508, EventType::Store(StoreEvent::BlobWrite) => 509, EventType::Store(StoreEvent::BlobDelete) => 506, EventType::Store(StoreEvent::SqlQuery) => 531, EventType::Store(StoreEvent::LdapQuery) => 521, EventType::Store(StoreEvent::LdapWarning) => 519, EventType::Store(StoreEvent::HttpStoreFetch) => 492, EventType::Store(StoreEvent::AutoExpunge) => 364, EventType::Store(StoreEvent::BlobStorePurged) => 369, EventType::Store(StoreEvent::DataStorePurged) => 368, EventType::TaskManager(TaskManagerEvent::TaskAcquired) => 578, EventType::TaskManager(TaskManagerEvent::TaskQueued) => 149, EventType::TaskManager(TaskManagerEvent::TaskScheduled) => 370, EventType::TaskManager(TaskManagerEvent::TaskLocked) => 144, EventType::TaskManager(TaskManagerEvent::TaskIgnored) => 586, EventType::TaskManager(TaskManagerEvent::TaskFailed) => 587, EventType::TaskManager(TaskManagerEvent::TaskRetry) => 53, EventType::TaskManager(TaskManagerEvent::BlobNotFound) => 141, EventType::TaskManager(TaskManagerEvent::MetadataNotFound) => 145, EventType::TaskManager(TaskManagerEvent::SchedulerStarted) => 150, EventType::TaskManager(TaskManagerEvent::ManagerStarted) => 367, EventType::Telemetry(TelemetryEvent::AlertEvent) => 548, EventType::Telemetry(TelemetryEvent::AlertMessage) => 365, EventType::Telemetry(TelemetryEvent::LogError) => 535, EventType::Telemetry(TelemetryEvent::WebhookError) => 539, EventType::Telemetry(TelemetryEvent::OtelExporterError) => 536, EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError) => 537, EventType::Telemetry(TelemetryEvent::PrometheusExporterError) => 538, EventType::Telemetry(TelemetryEvent::JournalError) => 534, EventType::Telemetry(TelemetryEvent::MetricsCollected) => 151, EventType::Telemetry(TelemetryEvent::MetricsStored) => 366, EventType::Telemetry(TelemetryEvent::MetricsPushed) => 146, EventType::Tls(TlsEvent::Handshake) => 543, EventType::Tls(TlsEvent::HandshakeError) => 544, EventType::Tls(TlsEvent::NotConfigured) => 547, EventType::Tls(TlsEvent::CertificateNotFound) => 542, EventType::Tls(TlsEvent::NoCertificatesAvailable) => 546, EventType::Tls(TlsEvent::MultipleCertificatesAvailable) => 545, EventType::Tls(TlsEvent::ExpiredCertificateRemoved) => 277, EventType::TlsRpt(TlsRptEvent::RecordFetch) => 540, EventType::TlsRpt(TlsRptEvent::RecordFetchError) => 541, EventType::TlsRpt(TlsRptEvent::RecordNotFound) => 560, EventType::WebDav(WebDavEvent::Propfind) => 147, EventType::WebDav(WebDavEvent::Proppatch) => 148, EventType::WebDav(WebDavEvent::Get) => 335, EventType::WebDav(WebDavEvent::Head) => 574, EventType::WebDav(WebDavEvent::Report) => 336, EventType::WebDav(WebDavEvent::Mkcol) => 376, EventType::WebDav(WebDavEvent::Mkcalendar) => 575, EventType::WebDav(WebDavEvent::Delete) => 458, EventType::WebDav(WebDavEvent::Put) => 459, EventType::WebDav(WebDavEvent::Post) => 565, EventType::WebDav(WebDavEvent::Patch) => 566, EventType::WebDav(WebDavEvent::Copy) => 567, EventType::WebDav(WebDavEvent::Move) => 568, EventType::WebDav(WebDavEvent::Lock) => 569, EventType::WebDav(WebDavEvent::Unlock) => 570, EventType::WebDav(WebDavEvent::Acl) => 571, EventType::WebDav(WebDavEvent::Options) => 573, EventType::WebDav(WebDavEvent::Error) => 572, } } pub fn from_id(id: u16) -> Option { match id { 3 => Some(EventType::Acme(AcmeEvent::AuthStart)), 2 => Some(EventType::Acme(AcmeEvent::AuthPending)), 5 => Some(EventType::Acme(AcmeEvent::AuthValid)), 0 => Some(EventType::Acme(AcmeEvent::AuthCompleted)), 1 => Some(EventType::Acme(AcmeEvent::AuthError)), 4 => Some(EventType::Acme(AcmeEvent::AuthTooManyAttempts)), 22 => Some(EventType::Acme(AcmeEvent::ProcessCert)), 20 => Some(EventType::Acme(AcmeEvent::OrderStart)), 18 => Some(EventType::Acme(AcmeEvent::OrderProcessing)), 16 => Some(EventType::Acme(AcmeEvent::OrderCompleted)), 19 => Some(EventType::Acme(AcmeEvent::OrderReady)), 21 => Some(EventType::Acme(AcmeEvent::OrderValid)), 17 => Some(EventType::Acme(AcmeEvent::OrderInvalid)), 23 => Some(EventType::Acme(AcmeEvent::RenewBackoff)), 7 => Some(EventType::Acme(AcmeEvent::ClientSuppliedSni)), 6 => Some(EventType::Acme(AcmeEvent::ClientMissingSni)), 25 => Some(EventType::Acme(AcmeEvent::TlsAlpnReceived)), 24 => Some(EventType::Acme(AcmeEvent::TlsAlpnError)), 26 => Some(EventType::Acme(AcmeEvent::TokenNotFound)), 15 => Some(EventType::Acme(AcmeEvent::Error)), 556 => Some(EventType::Ai(AiEvent::LlmResponse)), 557 => Some(EventType::Ai(AiEvent::ApiError)), // inbuxa: SCIM-54 637 => Some(EventType::Scim(ScimEvent::ResourceCreated)), 638 => Some(EventType::Scim(ScimEvent::ResourceUpdated)), 639 => Some(EventType::Scim(ScimEvent::ResourceSuspended)), 640 => Some(EventType::Scim(ScimEvent::ResourceReactivated)), 641 => Some(EventType::Scim(ScimEvent::ResourceDeleted)), 28 => Some(EventType::Arc(ArcEvent::ChainTooLong)), 31 => Some(EventType::Arc(ArcEvent::InvalidInstance)), 30 => Some(EventType::Arc(ArcEvent::InvalidCv)), 29 => Some(EventType::Arc(ArcEvent::HasHeaderTag)), 27 => Some(EventType::Arc(ArcEvent::BrokenChain)), 32 => Some(EventType::Arc(ArcEvent::SealerNotFound)), 37 => Some(EventType::Auth(AuthEvent::Success)), 35 => Some(EventType::Auth(AuthEvent::Failed)), 554 => Some(EventType::Auth(AuthEvent::TokenExpired)), 36 => Some(EventType::Auth(AuthEvent::MfaRequired)), 38 => Some(EventType::Auth(AuthEvent::TooManyAttempts)), 555 => Some(EventType::Auth(AuthEvent::ClientRegistration)), 34 => Some(EventType::Auth(AuthEvent::Error)), 595 => Some(EventType::Auth(AuthEvent::Warning)), 276 => Some(EventType::Auth(AuthEvent::CredentialExpired)), 576 => Some(EventType::Calendar(CalendarEvent::RuleExpansionError)), 579 => Some(EventType::Calendar(CalendarEvent::AlarmSent)), 580 => Some(EventType::Calendar(CalendarEvent::AlarmSkipped)), 581 => Some(EventType::Calendar(CalendarEvent::AlarmRecipientOverride)), 582 => Some(EventType::Calendar(CalendarEvent::AlarmFailed)), 583 => Some(EventType::Calendar(CalendarEvent::ItipMessageSent)), 584 => Some(EventType::Calendar(CalendarEvent::ItipMessageReceived)), 585 => Some(EventType::Calendar(CalendarEvent::ItipMessageError)), 278 => Some(EventType::Cluster(ClusterEvent::Startup)), 39 => Some(EventType::Cluster(ClusterEvent::SubscriberStart)), 40 => Some(EventType::Cluster(ClusterEvent::SubscriberStop)), 41 => Some(EventType::Cluster(ClusterEvent::SubscriberError)), 42 => Some(EventType::Cluster(ClusterEvent::SubscriberDisconnected)), 43 => Some(EventType::Cluster(ClusterEvent::PublisherStart)), 44 => Some(EventType::Cluster(ClusterEvent::PublisherStop)), 45 => Some(EventType::Cluster(ClusterEvent::PublisherError)), 46 => Some(EventType::Cluster(ClusterEvent::MessageReceived)), 47 => Some(EventType::Cluster(ClusterEvent::MessageSkipped)), 49 => Some(EventType::Cluster(ClusterEvent::MessageInvalid)), 275 => Some(EventType::Cluster(ClusterEvent::NodeIdRenewed)), 67 => Some(EventType::Dane(DaneEvent::AuthenticationSuccess)), 66 => Some(EventType::Dane(DaneEvent::AuthenticationFailure)), 69 => Some(EventType::Dane(DaneEvent::NoCertificatesFound)), 68 => Some(EventType::Dane(DaneEvent::CertificateParseError)), 73 => Some(EventType::Dane(DaneEvent::TlsaRecordMatch)), 70 => Some(EventType::Dane(DaneEvent::TlsaRecordFetch)), 71 => Some(EventType::Dane(DaneEvent::TlsaRecordFetchError)), 75 => Some(EventType::Dane(DaneEvent::TlsaRecordNotFound)), 74 => Some(EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned)), 72 => Some(EventType::Dane(DaneEvent::TlsaRecordInvalid)), 605 => Some(EventType::Dane(DaneEvent::BogusDnssecRecord)), 77 => Some(EventType::Delivery(DeliveryEvent::AttemptStart)), 76 => Some(EventType::Delivery(DeliveryEvent::AttemptEnd)), 80 => Some(EventType::Delivery(DeliveryEvent::Completed)), 92 => Some(EventType::Delivery(DeliveryEvent::Failed)), 85 => Some(EventType::Delivery(DeliveryEvent::DomainDeliveryStart)), 101 => Some(EventType::Delivery(DeliveryEvent::MxLookup)), 102 => Some(EventType::Delivery(DeliveryEvent::MxLookupFailed)), 95 => Some(EventType::Delivery(DeliveryEvent::IpLookup)), 96 => Some(EventType::Delivery(DeliveryEvent::IpLookupFailed)), 103 => Some(EventType::Delivery(DeliveryEvent::NullMx)), 82 => Some(EventType::Delivery(DeliveryEvent::Connect)), 83 => Some(EventType::Delivery(DeliveryEvent::ConnectError)), 100 => Some(EventType::Delivery(DeliveryEvent::MissingOutboundHostname)), 93 => Some(EventType::Delivery(DeliveryEvent::GreetingFailed)), 90 => Some(EventType::Delivery(DeliveryEvent::Ehlo)), 91 => Some(EventType::Delivery(DeliveryEvent::EhloRejected)), 78 => Some(EventType::Delivery(DeliveryEvent::Auth)), 79 => Some(EventType::Delivery(DeliveryEvent::AuthFailed)), 97 => Some(EventType::Delivery(DeliveryEvent::MailFrom)), 98 => Some(EventType::Delivery(DeliveryEvent::MailFromRejected)), 84 => Some(EventType::Delivery(DeliveryEvent::Delivered)), 107 => Some(EventType::Delivery(DeliveryEvent::RcptTo)), 109 => Some(EventType::Delivery(DeliveryEvent::RcptToRejected)), 108 => Some(EventType::Delivery(DeliveryEvent::RcptToFailed)), 99 => Some(EventType::Delivery(DeliveryEvent::MessageRejected)), 110 => Some(EventType::Delivery(DeliveryEvent::StartTls)), 113 => Some(EventType::Delivery(DeliveryEvent::StartTlsUnavailable)), 112 => Some(EventType::Delivery(DeliveryEvent::StartTlsError)), 111 => Some(EventType::Delivery(DeliveryEvent::StartTlsDisabled)), 94 => Some(EventType::Delivery(DeliveryEvent::ImplicitTlsError)), 81 => Some(EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded)), 104 => Some(EventType::Delivery(DeliveryEvent::RateLimitExceeded)), 86 => Some(EventType::Delivery(DeliveryEvent::DoubleBounce)), 88 => Some(EventType::Delivery(DeliveryEvent::DsnSuccess)), 89 => Some(EventType::Delivery(DeliveryEvent::DsnTempFail)), 87 => Some(EventType::Delivery(DeliveryEvent::DsnPermFail)), 105 => Some(EventType::Delivery(DeliveryEvent::RawInput)), 106 => Some(EventType::Delivery(DeliveryEvent::RawOutput)), 121 => Some(EventType::Dkim(DkimEvent::Pass)), 119 => Some(EventType::Dkim(DkimEvent::Neutral)), 114 => Some(EventType::Dkim(DkimEvent::Fail)), 122 => Some(EventType::Dkim(DkimEvent::PermError)), 127 => Some(EventType::Dkim(DkimEvent::TempError)), 120 => Some(EventType::Dkim(DkimEvent::None)), 131 => Some(EventType::Dkim(DkimEvent::UnsupportedVersion)), 128 => Some(EventType::Dkim(DkimEvent::UnsupportedAlgorithm)), 129 => Some(EventType::Dkim(DkimEvent::UnsupportedCanonicalization)), 130 => Some(EventType::Dkim(DkimEvent::UnsupportedKeyType)), 116 => Some(EventType::Dkim(DkimEvent::FailedBodyHashMatch)), 117 => Some(EventType::Dkim(DkimEvent::FailedVerification)), 115 => Some(EventType::Dkim(DkimEvent::FailedAuidMatch)), 123 => Some(EventType::Dkim(DkimEvent::RevokedPublicKey)), 118 => Some(EventType::Dkim(DkimEvent::IncompatibleAlgorithms)), 124 => Some(EventType::Dkim(DkimEvent::SignatureExpired)), 125 => Some(EventType::Dkim(DkimEvent::SignatureLength)), 126 => Some(EventType::Dkim(DkimEvent::SignerNotFound)), 592 => Some(EventType::Dkim(DkimEvent::BuildError)), 596 => Some(EventType::Dkim(DkimEvent::SignatureCreated)), 597 => Some(EventType::Dkim(DkimEvent::SignaturePublished)), 598 => Some(EventType::Dkim(DkimEvent::SignatureRetiring)), 599 => Some(EventType::Dkim(DkimEvent::SignatureRetired)), 600 => Some(EventType::Dkim(DkimEvent::SignatureDeleted)), 606 => Some(EventType::Dkim(DkimEvent::InstanceMissing)), 607 => Some(EventType::Dkim(DkimEvent::InstanceSyntax)), 608 => Some(EventType::Dkim(DkimEvent::InstanceTagMissing)), 609 => Some(EventType::Dkim(DkimEvent::InstanceNotSigned)), 610 => Some(EventType::Dkim(DkimEvent::InstanceAboveSignature)), 611 => Some(EventType::Dkim(DkimEvent::SignatureMissing)), 612 => Some(EventType::Dkim(DkimEvent::SignatureSyntax)), 613 => Some(EventType::Dkim(DkimEvent::SignatureTagMissing)), 614 => Some(EventType::Dkim(DkimEvent::SignatureTagUnexpected)), 615 => Some(EventType::Dkim(DkimEvent::SequenceGap)), 616 => Some(EventType::Dkim(DkimEvent::SequenceOverflow)), 635 => Some(EventType::Dkim(DkimEvent::ChainTooLong)), 617 => Some(EventType::Dkim(DkimEvent::MailFromMismatch)), 618 => Some(EventType::Dkim(DkimEvent::RcptToMismatch)), 619 => Some(EventType::Dkim(DkimEvent::MailFromDomainMismatch)), 620 => Some(EventType::Dkim(DkimEvent::NextDomainMismatch)), 636 => Some(EventType::Dkim(DkimEvent::CustodyBreak)), 621 => Some(EventType::Dkim(DkimEvent::PublicKeyFetch)), 622 => Some(EventType::Dkim(DkimEvent::PublicKeyMissing)), 623 => Some(EventType::Dkim(DkimEvent::PublicKeyMultiple)), 624 => Some(EventType::Dkim(DkimEvent::PublicKeySyntax)), 625 => Some(EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch)), 626 => Some(EventType::Dkim(DkimEvent::NoValidAlgorithm)), 627 => Some(EventType::Dkim(DkimEvent::HeaderHashMismatch)), 628 => Some(EventType::Dkim(DkimEvent::Modified)), 629 => Some(EventType::Dkim(DkimEvent::Exploded)), 134 => Some(EventType::Dmarc(DmarcEvent::Pass)), 132 => Some(EventType::Dmarc(DmarcEvent::Fail)), 135 => Some(EventType::Dmarc(DmarcEvent::PermError)), 136 => Some(EventType::Dmarc(DmarcEvent::TempError)), 133 => Some(EventType::Dmarc(DmarcEvent::None)), 8 => Some(EventType::Dns(DnsEvent::RecordCreated)), 9 => Some(EventType::Dns(DnsEvent::RecordCreationFailed)), 10 => Some(EventType::Dns(DnsEvent::RecordDeletionFailed)), 12 => Some(EventType::Dns(DnsEvent::RecordNotPropagated)), 11 => Some(EventType::Dns(DnsEvent::RecordLookupFailed)), 13 => Some(EventType::Dns(DnsEvent::RecordPropagated)), 14 => Some(EventType::Dns(DnsEvent::RecordPropagationTimeout)), 591 => Some(EventType::Dns(DnsEvent::BuildError)), 139 => Some(EventType::Eval(EvalEvent::Result)), 138 => Some(EventType::Eval(EvalEvent::Error)), 137 => Some(EventType::Eval(EvalEvent::DirectoryNotFound)), 140 => Some(EventType::Eval(EvalEvent::StoreNotFound)), 153 => Some(EventType::Http(HttpEvent::ConnectionStart)), 152 => Some(EventType::Http(HttpEvent::ConnectionEnd)), 154 => Some(EventType::Http(HttpEvent::Error)), 156 => Some(EventType::Http(HttpEvent::RequestUrl)), 155 => Some(EventType::Http(HttpEvent::RequestBody)), 157 => Some(EventType::Http(HttpEvent::ResponseBody)), 158 => Some(EventType::Http(HttpEvent::XForwardedMissing)), 163 => Some(EventType::Imap(ImapEvent::ConnectionStart)), 162 => Some(EventType::Imap(ImapEvent::ConnectionEnd)), 171 => Some(EventType::Imap(ImapEvent::GetAcl)), 188 => Some(EventType::Imap(ImapEvent::SetAcl)), 180 => Some(EventType::Imap(ImapEvent::MyRights)), 176 => Some(EventType::Imap(ImapEvent::ListRights)), 159 => Some(EventType::Imap(ImapEvent::Append)), 160 => Some(EventType::Imap(ImapEvent::Capabilities)), 172 => Some(EventType::Imap(ImapEvent::Id)), 161 => Some(EventType::Imap(ImapEvent::Close)), 164 => Some(EventType::Imap(ImapEvent::Copy)), 179 => Some(EventType::Imap(ImapEvent::Move)), 165 => Some(EventType::Imap(ImapEvent::CreateMailbox)), 166 => Some(EventType::Imap(ImapEvent::DeleteMailbox)), 185 => Some(EventType::Imap(ImapEvent::RenameMailbox)), 167 => Some(EventType::Imap(ImapEvent::Enable)), 169 => Some(EventType::Imap(ImapEvent::Expunge)), 170 => Some(EventType::Imap(ImapEvent::Fetch)), 173 => Some(EventType::Imap(ImapEvent::IdleStart)), 174 => Some(EventType::Imap(ImapEvent::IdleStop)), 175 => Some(EventType::Imap(ImapEvent::List)), 178 => Some(EventType::Imap(ImapEvent::Lsub)), 177 => Some(EventType::Imap(ImapEvent::Logout)), 181 => Some(EventType::Imap(ImapEvent::Namespace)), 182 => Some(EventType::Imap(ImapEvent::Noop)), 186 => Some(EventType::Imap(ImapEvent::Search)), 189 => Some(EventType::Imap(ImapEvent::Sort)), 187 => Some(EventType::Imap(ImapEvent::Select)), 190 => Some(EventType::Imap(ImapEvent::Status)), 191 => Some(EventType::Imap(ImapEvent::Store)), 192 => Some(EventType::Imap(ImapEvent::Subscribe)), 194 => Some(EventType::Imap(ImapEvent::Unsubscribe)), 193 => Some(EventType::Imap(ImapEvent::Thread)), 634 => Some(EventType::Imap(ImapEvent::UidBatches)), 57 => Some(EventType::Imap(ImapEvent::GetQuota)), 168 => Some(EventType::Imap(ImapEvent::Error)), 183 => Some(EventType::Imap(ImapEvent::RawInput)), 184 => Some(EventType::Imap(ImapEvent::RawOutput)), 200 => Some(EventType::IncomingReport(IncomingReportEvent::DmarcReport)), 201 => Some(EventType::IncomingReport( IncomingReportEvent::DmarcReportWithWarnings, )), 206 => Some(EventType::IncomingReport(IncomingReportEvent::TlsReport)), 207 => Some(EventType::IncomingReport( IncomingReportEvent::TlsReportWithWarnings, )), 195 => Some(EventType::IncomingReport(IncomingReportEvent::AbuseReport)), 197 => Some(EventType::IncomingReport( IncomingReportEvent::AuthFailureReport, )), 202 => Some(EventType::IncomingReport(IncomingReportEvent::FraudReport)), 204 => Some(EventType::IncomingReport( IncomingReportEvent::NotSpamReport, )), 209 => Some(EventType::IncomingReport(IncomingReportEvent::VirusReport)), 205 => Some(EventType::IncomingReport(IncomingReportEvent::OtherReport)), 203 => Some(EventType::IncomingReport( IncomingReportEvent::MessageParseFailed, )), 199 => Some(EventType::IncomingReport( IncomingReportEvent::DmarcParseFailed, )), 208 => Some(EventType::IncomingReport( IncomingReportEvent::TlsRpcParseFailed, )), 196 => Some(EventType::IncomingReport( IncomingReportEvent::ArfParseFailed, )), 198 => Some(EventType::IncomingReport( IncomingReportEvent::DecompressError, )), 212 => Some(EventType::Iprev(IprevEvent::Pass)), 210 => Some(EventType::Iprev(IprevEvent::Fail)), 213 => Some(EventType::Iprev(IprevEvent::PermError)), 214 => Some(EventType::Iprev(IprevEvent::TempError)), 211 => Some(EventType::Iprev(IprevEvent::None)), 223 => Some(EventType::Jmap(JmapEvent::MethodCall)), 221 => Some(EventType::Jmap(JmapEvent::InvalidArguments)), 227 => Some(EventType::Jmap(JmapEvent::RequestTooLarge)), 228 => Some(EventType::Jmap(JmapEvent::StateMismatch)), 218 => Some(EventType::Jmap(JmapEvent::AnchorNotFound)), 232 => Some(EventType::Jmap(JmapEvent::UnsupportedFilter)), 233 => Some(EventType::Jmap(JmapEvent::UnsupportedSort)), 231 => Some(EventType::Jmap(JmapEvent::UnknownMethod)), 222 => Some(EventType::Jmap(JmapEvent::InvalidResultReference)), 220 => Some(EventType::Jmap(JmapEvent::Forbidden)), 215 => Some(EventType::Jmap(JmapEvent::AccountNotFound)), 216 => Some(EventType::Jmap(JmapEvent::AccountNotSupportedByMethod)), 217 => Some(EventType::Jmap(JmapEvent::AccountReadOnly)), 224 => Some(EventType::Jmap(JmapEvent::NotFound)), 219 => Some(EventType::Jmap(JmapEvent::CannotCalculateChanges)), 230 => Some(EventType::Jmap(JmapEvent::UnknownDataType)), 229 => Some(EventType::Jmap(JmapEvent::UnknownCapability)), 225 => Some(EventType::Jmap(JmapEvent::NotJson)), 226 => Some(EventType::Jmap(JmapEvent::NotRequest)), 235 => Some(EventType::Jmap(JmapEvent::WebsocketStart)), 236 => Some(EventType::Jmap(JmapEvent::WebsocketStop)), 234 => Some(EventType::Jmap(JmapEvent::WebsocketError)), 243 => Some(EventType::Limit(LimitEvent::SizeRequest)), 244 => Some(EventType::Limit(LimitEvent::SizeUpload)), 238 => Some(EventType::Limit(LimitEvent::CallsIn)), 240 => Some(EventType::Limit(LimitEvent::ConcurrentRequest)), 241 => Some(EventType::Limit(LimitEvent::ConcurrentUpload)), 239 => Some(EventType::Limit(LimitEvent::ConcurrentConnection)), 242 => Some(EventType::Limit(LimitEvent::Quota)), 237 => Some(EventType::Limit(LimitEvent::BlobQuota)), 553 => Some(EventType::Limit(LimitEvent::TenantQuota)), 245 => Some(EventType::Limit(LimitEvent::TooManyRequests)), 254 => Some(EventType::MailAuth(MailAuthEvent::ParseError)), 252 => Some(EventType::MailAuth(MailAuthEvent::MissingParameters)), 253 => Some(EventType::MailAuth(MailAuthEvent::NoHeadersFound)), 247 => Some(EventType::MailAuth(MailAuthEvent::Crypto)), 251 => Some(EventType::MailAuth(MailAuthEvent::Io)), 246 => Some(EventType::MailAuth(MailAuthEvent::Base64)), 248 => Some(EventType::MailAuth(MailAuthEvent::DnsError)), 250 => Some(EventType::MailAuth(MailAuthEvent::DnsRecordNotFound)), 249 => Some(EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType)), 255 => Some(EventType::MailAuth(MailAuthEvent::PolicyNotAligned)), 259 => Some(EventType::ManageSieve(ManageSieveEvent::ConnectionStart)), 258 => Some(EventType::ManageSieve(ManageSieveEvent::ConnectionEnd)), 260 => Some(EventType::ManageSieve(ManageSieveEvent::CreateScript)), 274 => Some(EventType::ManageSieve(ManageSieveEvent::UpdateScript)), 263 => Some(EventType::ManageSieve(ManageSieveEvent::GetScript)), 261 => Some(EventType::ManageSieve(ManageSieveEvent::DeleteScript)), 270 => Some(EventType::ManageSieve(ManageSieveEvent::RenameScript)), 257 => Some(EventType::ManageSieve(ManageSieveEvent::CheckScript)), 264 => Some(EventType::ManageSieve(ManageSieveEvent::HaveSpace)), 265 => Some(EventType::ManageSieve(ManageSieveEvent::ListScripts)), 271 => Some(EventType::ManageSieve(ManageSieveEvent::SetActive)), 256 => Some(EventType::ManageSieve(ManageSieveEvent::Capabilities)), 272 => Some(EventType::ManageSieve(ManageSieveEvent::StartTls)), 273 => Some(EventType::ManageSieve(ManageSieveEvent::Unauthenticate)), 266 => Some(EventType::ManageSieve(ManageSieveEvent::Logout)), 267 => Some(EventType::ManageSieve(ManageSieveEvent::Noop)), 262 => Some(EventType::ManageSieve(ManageSieveEvent::Error)), 268 => Some(EventType::ManageSieve(ManageSieveEvent::RawInput)), 269 => Some(EventType::ManageSieve(ManageSieveEvent::RawOutput)), 283 => Some(EventType::MessageIngest(MessageIngestEvent::Ham)), 286 => Some(EventType::MessageIngest(MessageIngestEvent::Spam)), 284 => Some(EventType::MessageIngest(MessageIngestEvent::ImapAppend)), 285 => Some(EventType::MessageIngest(MessageIngestEvent::JmapAppend)), 281 => Some(EventType::MessageIngest(MessageIngestEvent::Duplicate)), 282 => Some(EventType::MessageIngest(MessageIngestEvent::Error)), 142 => Some(EventType::MessageIngest(MessageIngestEvent::SearchIndex)), 299 => Some(EventType::Milter(MilterEvent::Read)), 303 => Some(EventType::Milter(MilterEvent::Write)), 287 => Some(EventType::Milter(MilterEvent::ActionAccept)), 289 => Some(EventType::Milter(MilterEvent::ActionDiscard)), 290 => Some(EventType::Milter(MilterEvent::ActionReject)), 293 => Some(EventType::Milter(MilterEvent::ActionTempFail)), 291 => Some(EventType::Milter(MilterEvent::ActionReplyCode)), 288 => Some(EventType::Milter(MilterEvent::ActionConnectionFailure)), 292 => Some(EventType::Milter(MilterEvent::ActionShutdown)), 297 => Some(EventType::Milter(MilterEvent::IoError)), 296 => Some(EventType::Milter(MilterEvent::FrameTooLarge)), 295 => Some(EventType::Milter(MilterEvent::FrameInvalid)), 302 => Some(EventType::Milter(MilterEvent::UnexpectedResponse)), 300 => Some(EventType::Milter(MilterEvent::Timeout)), 301 => Some(EventType::Milter(MilterEvent::TlsInvalidName)), 294 => Some(EventType::Milter(MilterEvent::Disconnected)), 298 => Some(EventType::Milter(MilterEvent::ParseError)), 304 => Some(EventType::MtaHook(MtaHookEvent::ActionAccept)), 305 => Some(EventType::MtaHook(MtaHookEvent::ActionDiscard)), 307 => Some(EventType::MtaHook(MtaHookEvent::ActionReject)), 306 => Some(EventType::MtaHook(MtaHookEvent::ActionQuarantine)), 308 => Some(EventType::MtaHook(MtaHookEvent::Error)), 309 => Some(EventType::MtaSts(MtaStsEvent::Authorized)), 311 => Some(EventType::MtaSts(MtaStsEvent::NotAuthorized)), 312 => Some(EventType::MtaSts(MtaStsEvent::PolicyFetch)), 314 => Some(EventType::MtaSts(MtaStsEvent::PolicyNotFound)), 313 => Some(EventType::MtaSts(MtaStsEvent::PolicyFetchError)), 310 => Some(EventType::MtaSts(MtaStsEvent::InvalidPolicy)), 321 => Some(EventType::Network(NetworkEvent::ListenStart)), 322 => Some(EventType::Network(NetworkEvent::ListenStop)), 320 => Some(EventType::Network(NetworkEvent::ListenError)), 316 => Some(EventType::Network(NetworkEvent::BindError)), 324 => Some(EventType::Network(NetworkEvent::ReadError)), 328 => Some(EventType::Network(NetworkEvent::WriteError)), 319 => Some(EventType::Network(NetworkEvent::FlushError)), 315 => Some(EventType::Network(NetworkEvent::AcceptError)), 326 => Some(EventType::Network(NetworkEvent::SplitError)), 327 => Some(EventType::Network(NetworkEvent::Timeout)), 317 => Some(EventType::Network(NetworkEvent::Closed)), 323 => Some(EventType::Network(NetworkEvent::ProxyError)), 325 => Some(EventType::Network(NetworkEvent::SetOptError)), 342 => Some(EventType::OutgoingReport(OutgoingReportEvent::SpfReport)), 341 => Some(EventType::OutgoingReport( OutgoingReportEvent::SpfRateLimited, )), 330 => Some(EventType::OutgoingReport(OutgoingReportEvent::DkimReport)), 329 => Some(EventType::OutgoingReport( OutgoingReportEvent::DkimRateLimited, )), 333 => Some(EventType::OutgoingReport(OutgoingReportEvent::DmarcReport)), 332 => Some(EventType::OutgoingReport( OutgoingReportEvent::DmarcRateLimited, )), 331 => Some(EventType::OutgoingReport( OutgoingReportEvent::DmarcAggregateReport, )), 344 => Some(EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate)), 334 => Some(EventType::OutgoingReport( OutgoingReportEvent::HttpSubmission, )), 345 => Some(EventType::OutgoingReport( OutgoingReportEvent::UnauthorizedReportingAddress, )), 340 => Some(EventType::OutgoingReport( OutgoingReportEvent::ReportingAddressValidationError, )), 339 => Some(EventType::OutgoingReport(OutgoingReportEvent::NotFound)), 343 => Some(EventType::OutgoingReport( OutgoingReportEvent::SubmissionError, )), 338 => Some(EventType::OutgoingReport( OutgoingReportEvent::NoRecipientsFound, )), 337 => Some(EventType::OutgoingReport(OutgoingReportEvent::Locked)), 59 => Some(EventType::OutgoingReport( OutgoingReportEvent::MaxSizeExceeded, )), 348 => Some(EventType::Pop3(Pop3Event::ConnectionStart)), 347 => Some(EventType::Pop3(Pop3Event::ConnectionEnd)), 349 => Some(EventType::Pop3(Pop3Event::Delete)), 358 => Some(EventType::Pop3(Pop3Event::Reset)), 355 => Some(EventType::Pop3(Pop3Event::Quit)), 351 => Some(EventType::Pop3(Pop3Event::Fetch)), 352 => Some(EventType::Pop3(Pop3Event::List)), 353 => Some(EventType::Pop3(Pop3Event::ListMessage)), 361 => Some(EventType::Pop3(Pop3Event::Uidl)), 362 => Some(EventType::Pop3(Pop3Event::UidlMessage)), 360 => Some(EventType::Pop3(Pop3Event::Stat)), 354 => Some(EventType::Pop3(Pop3Event::Noop)), 346 => Some(EventType::Pop3(Pop3Event::Capabilities)), 359 => Some(EventType::Pop3(Pop3Event::StartTls)), 363 => Some(EventType::Pop3(Pop3Event::Utf8)), 350 => Some(EventType::Pop3(Pop3Event::Error)), 356 => Some(EventType::Pop3(Pop3Event::RawInput)), 357 => Some(EventType::Pop3(Pop3Event::RawOutput)), 373 => Some(EventType::PushSubscription(PushSubscriptionEvent::Success)), 371 => Some(EventType::PushSubscription(PushSubscriptionEvent::Error)), 372 => Some(EventType::PushSubscription(PushSubscriptionEvent::NotFound)), 390 => Some(EventType::Queue(QueueEvent::Started)), 380 => Some(EventType::Queue(QueueEvent::MessageQueued)), 381 => Some(EventType::Queue(QueueEvent::AuthenticatedMessageQueued)), 382 => Some(EventType::Queue(QueueEvent::ReportQueued)), 379 => Some(EventType::Queue(QueueEvent::DsnQueued)), 378 => Some(EventType::Queue(QueueEvent::AutogeneratedQueued)), 385 => Some(EventType::Queue(QueueEvent::Rescheduled)), 377 => Some(EventType::Queue(QueueEvent::Locked)), 374 => Some(EventType::Queue(QueueEvent::BlobNotFound)), 384 => Some(EventType::Queue(QueueEvent::RateLimitExceeded)), 375 => Some(EventType::Queue(QueueEvent::ConcurrencyLimitExceeded)), 383 => Some(EventType::Queue(QueueEvent::QuotaExceeded)), 48 => Some(EventType::Queue(QueueEvent::BackPressure)), 62 => Some(EventType::Registry(RegistryEvent::LocalReadError)), 54 => Some(EventType::Registry(RegistryEvent::LocalWriteError)), 60 => Some(EventType::Registry(RegistryEvent::LocalParseError)), 65 => Some(EventType::Registry(RegistryEvent::ReadError)), 58 => Some(EventType::Registry(RegistryEvent::WriteError)), 56 => Some(EventType::Registry(RegistryEvent::DeserializationError)), 61 => Some(EventType::Registry(RegistryEvent::BuildError)), 55 => Some(EventType::Registry(RegistryEvent::BuildWarning)), 64 => Some(EventType::Registry(RegistryEvent::NotSupported)), 63 => Some(EventType::Registry(RegistryEvent::ValidationError)), 389 => Some(EventType::Resource(ResourceEvent::NotFound)), 386 => Some(EventType::Resource(ResourceEvent::BadParameters)), 388 => Some(EventType::Resource(ResourceEvent::Error)), 387 => Some(EventType::Resource(ResourceEvent::DownloadExternal)), 601 => Some(EventType::Resource(ResourceEvent::ApplicationUpdated)), 602 => Some(EventType::Resource(ResourceEvent::ApplicationUnpacked)), 33 => Some(EventType::Security(SecurityEvent::AuthenticationBan)), 549 => Some(EventType::Security(SecurityEvent::AbuseBan)), 558 => Some(EventType::Security(SecurityEvent::ScanBan)), 550 => Some(EventType::Security(SecurityEvent::LoiterBan)), 318 => Some(EventType::Security(SecurityEvent::IpBlocked)), 593 => Some(EventType::Security(SecurityEvent::IpBlockExpired)), 594 => Some(EventType::Security(SecurityEvent::IpAllowExpired)), 279 => Some(EventType::Security(SecurityEvent::IpUnauthorized)), 552 => Some(EventType::Security(SecurityEvent::Unauthorized)), 393 => Some(EventType::Server(ServerEvent::Startup)), 392 => Some(EventType::Server(ServerEvent::Shutdown)), 394 => Some(EventType::Server(ServerEvent::StartupError)), 395 => Some(EventType::Server(ServerEvent::ThreadError)), 391 => Some(EventType::Server(ServerEvent::Licensing)), 603 => Some(EventType::Server(ServerEvent::RecoveryMode)), 604 => Some(EventType::Server(ServerEvent::BootstrapMode)), 396 => Some(EventType::Sieve(SieveEvent::ActionAccept)), 397 => Some(EventType::Sieve(SieveEvent::ActionAcceptReplace)), 398 => Some(EventType::Sieve(SieveEvent::ActionDiscard)), 399 => Some(EventType::Sieve(SieveEvent::ActionReject)), 406 => Some(EventType::Sieve(SieveEvent::SendMessage)), 401 => Some(EventType::Sieve(SieveEvent::MessageTooLarge)), 405 => Some(EventType::Sieve(SieveEvent::ScriptNotFound)), 400 => Some(EventType::Sieve(SieveEvent::ListNotFound)), 404 => Some(EventType::Sieve(SieveEvent::RuntimeError)), 407 => Some(EventType::Sieve(SieveEvent::UnexpectedError)), 402 => Some(EventType::Sieve(SieveEvent::NotSupported)), 403 => Some(EventType::Sieve(SieveEvent::QuotaExceeded)), 417 => Some(EventType::Smtp(SmtpEvent::ConnectionStart)), 416 => Some(EventType::Smtp(SmtpEvent::ConnectionEnd)), 428 => Some(EventType::Smtp(SmtpEvent::Error)), 469 => Some(EventType::Smtp(SmtpEvent::IdNotFound)), 415 => Some(EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded)), 485 => Some(EventType::Smtp(SmtpEvent::TransferLimitExceeded)), 461 => Some(EventType::Smtp(SmtpEvent::RateLimitExceeded)), 481 => Some(EventType::Smtp(SmtpEvent::TimeLimitExceeded)), 452 => Some(EventType::Smtp(SmtpEvent::MissingAuthDirectory)), 450 => Some(EventType::Smtp(SmtpEvent::MessageParseFailed)), 451 => Some(EventType::Smtp(SmtpEvent::MessageTooLarge)), 443 => Some(EventType::Smtp(SmtpEvent::LoopDetected)), 422 => Some(EventType::Smtp(SmtpEvent::DkimPass)), 421 => Some(EventType::Smtp(SmtpEvent::DkimFail)), 630 => Some(EventType::Smtp(SmtpEvent::Dkim2Pass)), 631 => Some(EventType::Smtp(SmtpEvent::Dkim2Fail)), 632 => Some(EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded)), 410 => Some(EventType::Smtp(SmtpEvent::ArcPass)), 409 => Some(EventType::Smtp(SmtpEvent::ArcFail)), 474 => Some(EventType::Smtp(SmtpEvent::SpfEhloPass)), 473 => Some(EventType::Smtp(SmtpEvent::SpfEhloFail)), 476 => Some(EventType::Smtp(SmtpEvent::SpfFromPass)), 475 => Some(EventType::Smtp(SmtpEvent::SpfFromFail)), 424 => Some(EventType::Smtp(SmtpEvent::DmarcPass)), 423 => Some(EventType::Smtp(SmtpEvent::DmarcFail)), 441 => Some(EventType::Smtp(SmtpEvent::IprevPass)), 440 => Some(EventType::Smtp(SmtpEvent::IprevFail)), 483 => Some(EventType::Smtp(SmtpEvent::TooManyMessages)), 426 => Some(EventType::Smtp(SmtpEvent::Ehlo)), 436 => Some(EventType::Smtp(SmtpEvent::InvalidEhlo)), 420 => Some(EventType::Smtp(SmtpEvent::DidNotSayEhlo)), 427 => Some(EventType::Smtp(SmtpEvent::EhloExpected)), 442 => Some(EventType::Smtp(SmtpEvent::LhloExpected)), 447 => Some(EventType::Smtp(SmtpEvent::MailFromUnauthenticated)), 448 => Some(EventType::Smtp(SmtpEvent::MailFromUnauthorized)), 551 => Some(EventType::Smtp(SmtpEvent::MailFromNotAllowed)), 446 => Some(EventType::Smtp(SmtpEvent::MailFromRewritten)), 445 => Some(EventType::Smtp(SmtpEvent::MailFromMissing)), 444 => Some(EventType::Smtp(SmtpEvent::MailFrom)), 456 => Some(EventType::Smtp(SmtpEvent::MultipleMailFrom)), 449 => Some(EventType::Smtp(SmtpEvent::MailboxDoesNotExist)), 468 => Some(EventType::Smtp(SmtpEvent::RelayNotAllowed)), 464 => Some(EventType::Smtp(SmtpEvent::RcptTo)), 465 => Some(EventType::Smtp(SmtpEvent::RcptToDuplicate)), 467 => Some(EventType::Smtp(SmtpEvent::RcptToRewritten)), 466 => Some(EventType::Smtp(SmtpEvent::RcptToMissing)), 561 => Some(EventType::Smtp(SmtpEvent::RcptToGreylisted)), 484 => Some(EventType::Smtp(SmtpEvent::TooManyRecipients)), 482 => Some(EventType::Smtp(SmtpEvent::TooManyInvalidRcpt)), 462 => Some(EventType::Smtp(SmtpEvent::RawInput)), 463 => Some(EventType::Smtp(SmtpEvent::RawOutput)), 453 => Some(EventType::Smtp(SmtpEvent::MissingLocalHostname)), 487 => Some(EventType::Smtp(SmtpEvent::Vrfy)), 489 => Some(EventType::Smtp(SmtpEvent::VrfyNotFound)), 488 => Some(EventType::Smtp(SmtpEvent::VrfyDisabled)), 429 => Some(EventType::Smtp(SmtpEvent::Expn)), 431 => Some(EventType::Smtp(SmtpEvent::ExpnNotFound)), 430 => Some(EventType::Smtp(SmtpEvent::ExpnDisabled)), 471 => Some(EventType::Smtp(SmtpEvent::RequireTlsDisabled)), 418 => Some(EventType::Smtp(SmtpEvent::DeliverByDisabled)), 419 => Some(EventType::Smtp(SmtpEvent::DeliverByInvalid)), 432 => Some(EventType::Smtp(SmtpEvent::FutureReleaseDisabled)), 433 => Some(EventType::Smtp(SmtpEvent::FutureReleaseInvalid)), 454 => Some(EventType::Smtp(SmtpEvent::MtPriorityDisabled)), 455 => Some(EventType::Smtp(SmtpEvent::MtPriorityInvalid)), 425 => Some(EventType::Smtp(SmtpEvent::DsnDisabled)), 413 => Some(EventType::Smtp(SmtpEvent::AuthNotAllowed)), 412 => Some(EventType::Smtp(SmtpEvent::AuthMechanismNotSupported)), 411 => Some(EventType::Smtp(SmtpEvent::AuthExchangeTooLong)), 408 => Some(EventType::Smtp(SmtpEvent::AlreadyAuthenticated)), 457 => Some(EventType::Smtp(SmtpEvent::Noop)), 477 => Some(EventType::Smtp(SmtpEvent::StartTls)), 479 => Some(EventType::Smtp(SmtpEvent::StartTlsUnavailable)), 478 => Some(EventType::Smtp(SmtpEvent::StartTlsAlready)), 472 => Some(EventType::Smtp(SmtpEvent::Rset)), 460 => Some(EventType::Smtp(SmtpEvent::Quit)), 434 => Some(EventType::Smtp(SmtpEvent::Help)), 414 => Some(EventType::Smtp(SmtpEvent::CommandNotImplemented)), 435 => Some(EventType::Smtp(SmtpEvent::InvalidCommand)), 439 => Some(EventType::Smtp(SmtpEvent::InvalidSenderAddress)), 438 => Some(EventType::Smtp(SmtpEvent::InvalidRecipientAddress)), 437 => Some(EventType::Smtp(SmtpEvent::InvalidParameter)), 486 => Some(EventType::Smtp(SmtpEvent::UnsupportedParameter)), 480 => Some(EventType::Smtp(SmtpEvent::SyntaxError)), 470 => Some(EventType::Smtp(SmtpEvent::RequestTooLarge)), 564 => Some(EventType::Spam(SpamEvent::Pyzor)), 494 => Some(EventType::Spam(SpamEvent::PyzorError)), 562 => Some(EventType::Spam(SpamEvent::Dnsbl)), 563 => Some(EventType::Spam(SpamEvent::DnsblError)), 588 => Some(EventType::Spam(SpamEvent::TrainStarted)), 495 => Some(EventType::Spam(SpamEvent::TrainCompleted)), 143 => Some(EventType::Spam(SpamEvent::TrainSampleAdded)), 491 => Some(EventType::Spam(SpamEvent::TrainSampleNotFound)), 490 => Some(EventType::Spam(SpamEvent::Classify)), 589 => Some(EventType::Spam(SpamEvent::ModelLoaded)), 496 => Some(EventType::Spam(SpamEvent::ModelNotReady)), 497 => Some(EventType::Spam(SpamEvent::ModelNotFound)), 280 => Some(EventType::Spam(SpamEvent::RulesUpdated)), 501 => Some(EventType::Spf(SpfEvent::Pass)), 498 => Some(EventType::Spf(SpfEvent::Fail)), 503 => Some(EventType::Spf(SpfEvent::SoftFail)), 499 => Some(EventType::Spf(SpfEvent::Neutral)), 504 => Some(EventType::Spf(SpfEvent::TempError)), 502 => Some(EventType::Spf(SpfEvent::PermError)), 500 => Some(EventType::Spf(SpfEvent::None)), 505 => Some(EventType::Store(StoreEvent::AssertValueFailed)), 518 => Some(EventType::Store(StoreEvent::FoundationdbError)), 522 => Some(EventType::Store(StoreEvent::MysqlError)), 527 => Some(EventType::Store(StoreEvent::PostgresqlError)), 529 => Some(EventType::Store(StoreEvent::RocksdbError)), 532 => Some(EventType::Store(StoreEvent::SqliteError)), 520 => Some(EventType::Store(StoreEvent::LdapError)), 516 => Some(EventType::Store(StoreEvent::ElasticsearchError)), 590 => Some(EventType::Store(StoreEvent::MeilisearchError)), 528 => Some(EventType::Store(StoreEvent::RedisError)), 530 => Some(EventType::Store(StoreEvent::S3Error)), 559 => Some(EventType::Store(StoreEvent::AzureError)), 517 => Some(EventType::Store(StoreEvent::FilesystemError)), 526 => Some(EventType::Store(StoreEvent::PoolError)), 511 => Some(EventType::Store(StoreEvent::DataCorruption)), 514 => Some(EventType::Store(StoreEvent::DecompressError)), 515 => Some(EventType::Store(StoreEvent::DeserializeError)), 524 => Some(EventType::Store(StoreEvent::NotFound)), 523 => Some(EventType::Store(StoreEvent::NotConfigured)), 525 => Some(EventType::Store(StoreEvent::NotSupported)), 533 => Some(EventType::Store(StoreEvent::UnexpectedError)), 510 => Some(EventType::Store(StoreEvent::CryptoError)), 493 => Some(EventType::Store(StoreEvent::HttpStoreError)), 50 => Some(EventType::Store(StoreEvent::CacheMiss)), 51 => Some(EventType::Store(StoreEvent::CacheHit)), 52 => Some(EventType::Store(StoreEvent::CacheStale)), 577 => Some(EventType::Store(StoreEvent::CacheUpdate)), 633 => Some(EventType::Store(StoreEvent::CacheEntryTooLarge)), 507 => Some(EventType::Store(StoreEvent::BlobMissingMarker)), 513 => Some(EventType::Store(StoreEvent::DataWrite)), 512 => Some(EventType::Store(StoreEvent::DataIterate)), 508 => Some(EventType::Store(StoreEvent::BlobRead)), 509 => Some(EventType::Store(StoreEvent::BlobWrite)), 506 => Some(EventType::Store(StoreEvent::BlobDelete)), 531 => Some(EventType::Store(StoreEvent::SqlQuery)), 521 => Some(EventType::Store(StoreEvent::LdapQuery)), 519 => Some(EventType::Store(StoreEvent::LdapWarning)), 492 => Some(EventType::Store(StoreEvent::HttpStoreFetch)), 364 => Some(EventType::Store(StoreEvent::AutoExpunge)), 369 => Some(EventType::Store(StoreEvent::BlobStorePurged)), 368 => Some(EventType::Store(StoreEvent::DataStorePurged)), 578 => Some(EventType::TaskManager(TaskManagerEvent::TaskAcquired)), 149 => Some(EventType::TaskManager(TaskManagerEvent::TaskQueued)), 370 => Some(EventType::TaskManager(TaskManagerEvent::TaskScheduled)), 144 => Some(EventType::TaskManager(TaskManagerEvent::TaskLocked)), 586 => Some(EventType::TaskManager(TaskManagerEvent::TaskIgnored)), 587 => Some(EventType::TaskManager(TaskManagerEvent::TaskFailed)), 53 => Some(EventType::TaskManager(TaskManagerEvent::TaskRetry)), 141 => Some(EventType::TaskManager(TaskManagerEvent::BlobNotFound)), 145 => Some(EventType::TaskManager(TaskManagerEvent::MetadataNotFound)), 150 => Some(EventType::TaskManager(TaskManagerEvent::SchedulerStarted)), 367 => Some(EventType::TaskManager(TaskManagerEvent::ManagerStarted)), 548 => Some(EventType::Telemetry(TelemetryEvent::AlertEvent)), 365 => Some(EventType::Telemetry(TelemetryEvent::AlertMessage)), 535 => Some(EventType::Telemetry(TelemetryEvent::LogError)), 539 => Some(EventType::Telemetry(TelemetryEvent::WebhookError)), 536 => Some(EventType::Telemetry(TelemetryEvent::OtelExporterError)), 537 => Some(EventType::Telemetry( TelemetryEvent::OtelMetricsExporterError, )), 538 => Some(EventType::Telemetry( TelemetryEvent::PrometheusExporterError, )), 534 => Some(EventType::Telemetry(TelemetryEvent::JournalError)), 151 => Some(EventType::Telemetry(TelemetryEvent::MetricsCollected)), 366 => Some(EventType::Telemetry(TelemetryEvent::MetricsStored)), 146 => Some(EventType::Telemetry(TelemetryEvent::MetricsPushed)), 543 => Some(EventType::Tls(TlsEvent::Handshake)), 544 => Some(EventType::Tls(TlsEvent::HandshakeError)), 547 => Some(EventType::Tls(TlsEvent::NotConfigured)), 542 => Some(EventType::Tls(TlsEvent::CertificateNotFound)), 546 => Some(EventType::Tls(TlsEvent::NoCertificatesAvailable)), 545 => Some(EventType::Tls(TlsEvent::MultipleCertificatesAvailable)), 277 => Some(EventType::Tls(TlsEvent::ExpiredCertificateRemoved)), 540 => Some(EventType::TlsRpt(TlsRptEvent::RecordFetch)), 541 => Some(EventType::TlsRpt(TlsRptEvent::RecordFetchError)), 560 => Some(EventType::TlsRpt(TlsRptEvent::RecordNotFound)), 147 => Some(EventType::WebDav(WebDavEvent::Propfind)), 148 => Some(EventType::WebDav(WebDavEvent::Proppatch)), 335 => Some(EventType::WebDav(WebDavEvent::Get)), 574 => Some(EventType::WebDav(WebDavEvent::Head)), 336 => Some(EventType::WebDav(WebDavEvent::Report)), 376 => Some(EventType::WebDav(WebDavEvent::Mkcol)), 575 => Some(EventType::WebDav(WebDavEvent::Mkcalendar)), 458 => Some(EventType::WebDav(WebDavEvent::Delete)), 459 => Some(EventType::WebDav(WebDavEvent::Put)), 565 => Some(EventType::WebDav(WebDavEvent::Post)), 566 => Some(EventType::WebDav(WebDavEvent::Patch)), 567 => Some(EventType::WebDav(WebDavEvent::Copy)), 568 => Some(EventType::WebDav(WebDavEvent::Move)), 569 => Some(EventType::WebDav(WebDavEvent::Lock)), 570 => Some(EventType::WebDav(WebDavEvent::Unlock)), 571 => Some(EventType::WebDav(WebDavEvent::Acl)), 573 => Some(EventType::WebDav(WebDavEvent::Options)), 572 => Some(EventType::WebDav(WebDavEvent::Error)), _ => None, } } pub fn level(&self) -> Level { match self { EventType::Acme(AcmeEvent::Error) => Level::Error, EventType::Auth(AuthEvent::Error) => Level::Error, EventType::Cluster(ClusterEvent::SubscriberError) => Level::Error, EventType::Cluster(ClusterEvent::PublisherError) => Level::Error, EventType::Cluster(ClusterEvent::MessageInvalid) => Level::Error, EventType::Dkim(DkimEvent::BuildError) => Level::Error, EventType::Dns(DnsEvent::BuildError) => Level::Error, EventType::MessageIngest(MessageIngestEvent::Error) => Level::Error, EventType::Network(NetworkEvent::ListenError) => Level::Error, EventType::Network(NetworkEvent::BindError) => Level::Error, EventType::Network(NetworkEvent::SplitError) => Level::Error, EventType::Network(NetworkEvent::SetOptError) => Level::Error, EventType::Registry(RegistryEvent::LocalReadError) => Level::Error, EventType::Registry(RegistryEvent::LocalWriteError) => Level::Error, EventType::Registry(RegistryEvent::LocalParseError) => Level::Error, EventType::Registry(RegistryEvent::ReadError) => Level::Error, EventType::Registry(RegistryEvent::WriteError) => Level::Error, EventType::Registry(RegistryEvent::DeserializationError) => Level::Error, EventType::Registry(RegistryEvent::BuildError) => Level::Error, EventType::Registry(RegistryEvent::ValidationError) => Level::Error, EventType::Resource(ResourceEvent::BadParameters) => Level::Error, EventType::Resource(ResourceEvent::Error) => Level::Error, EventType::Server(ServerEvent::StartupError) => Level::Error, EventType::Server(ServerEvent::ThreadError) => Level::Error, EventType::Sieve(SieveEvent::UnexpectedError) => Level::Error, EventType::Store(StoreEvent::AssertValueFailed) => Level::Error, EventType::Store(StoreEvent::FoundationdbError) => Level::Error, EventType::Store(StoreEvent::MysqlError) => Level::Error, EventType::Store(StoreEvent::PostgresqlError) => Level::Error, EventType::Store(StoreEvent::RocksdbError) => Level::Error, EventType::Store(StoreEvent::SqliteError) => Level::Error, EventType::Store(StoreEvent::LdapError) => Level::Error, EventType::Store(StoreEvent::ElasticsearchError) => Level::Error, EventType::Store(StoreEvent::MeilisearchError) => Level::Error, EventType::Store(StoreEvent::RedisError) => Level::Error, EventType::Store(StoreEvent::S3Error) => Level::Error, EventType::Store(StoreEvent::AzureError) => Level::Error, EventType::Store(StoreEvent::FilesystemError) => Level::Error, EventType::Store(StoreEvent::PoolError) => Level::Error, EventType::Store(StoreEvent::DataCorruption) => Level::Error, EventType::Store(StoreEvent::DecompressError) => Level::Error, EventType::Store(StoreEvent::DeserializeError) => Level::Error, EventType::Store(StoreEvent::NotConfigured) => Level::Error, EventType::Store(StoreEvent::NotSupported) => Level::Error, EventType::Store(StoreEvent::UnexpectedError) => Level::Error, EventType::Store(StoreEvent::CryptoError) => Level::Error, EventType::Tls(TlsEvent::NotConfigured) => Level::Error, EventType::Acme(AcmeEvent::AuthStart) => Level::Info, EventType::Acme(AcmeEvent::AuthPending) => Level::Info, EventType::Acme(AcmeEvent::AuthValid) => Level::Info, EventType::Acme(AcmeEvent::AuthCompleted) => Level::Info, EventType::Acme(AcmeEvent::ProcessCert) => Level::Info, EventType::Acme(AcmeEvent::OrderStart) => Level::Info, EventType::Acme(AcmeEvent::OrderProcessing) => Level::Info, EventType::Acme(AcmeEvent::OrderCompleted) => Level::Info, EventType::Acme(AcmeEvent::OrderReady) => Level::Info, EventType::Acme(AcmeEvent::OrderValid) => Level::Info, EventType::Acme(AcmeEvent::TlsAlpnReceived) => Level::Info, EventType::Auth(AuthEvent::Success) => Level::Info, EventType::Auth(AuthEvent::ClientRegistration) => Level::Info, EventType::Calendar(CalendarEvent::AlarmSent) => Level::Info, EventType::Calendar(CalendarEvent::ItipMessageSent) => Level::Info, EventType::Calendar(CalendarEvent::ItipMessageReceived) => Level::Info, EventType::Cluster(ClusterEvent::Startup) => Level::Info, EventType::Cluster(ClusterEvent::SubscriberStart) => Level::Info, EventType::Cluster(ClusterEvent::SubscriberStop) => Level::Info, EventType::Cluster(ClusterEvent::PublisherStart) => Level::Info, EventType::Cluster(ClusterEvent::PublisherStop) => Level::Info, EventType::Dane(DaneEvent::AuthenticationSuccess) => Level::Info, EventType::Dane(DaneEvent::AuthenticationFailure) => Level::Info, EventType::Dane(DaneEvent::NoCertificatesFound) => Level::Info, EventType::Dane(DaneEvent::CertificateParseError) => Level::Info, EventType::Dane(DaneEvent::TlsaRecordMatch) => Level::Info, EventType::Dane(DaneEvent::TlsaRecordFetch) => Level::Info, EventType::Dane(DaneEvent::TlsaRecordFetchError) => Level::Info, EventType::Dane(DaneEvent::TlsaRecordNotFound) => Level::Info, EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned) => Level::Info, EventType::Dane(DaneEvent::TlsaRecordInvalid) => Level::Info, EventType::Dane(DaneEvent::BogusDnssecRecord) => Level::Info, EventType::Delivery(DeliveryEvent::AttemptStart) => Level::Info, EventType::Delivery(DeliveryEvent::AttemptEnd) => Level::Info, EventType::Delivery(DeliveryEvent::Completed) => Level::Info, EventType::Delivery(DeliveryEvent::Failed) => Level::Info, EventType::Delivery(DeliveryEvent::DomainDeliveryStart) => Level::Info, EventType::Delivery(DeliveryEvent::MxLookupFailed) => Level::Info, EventType::Delivery(DeliveryEvent::IpLookupFailed) => Level::Info, EventType::Delivery(DeliveryEvent::NullMx) => Level::Info, EventType::Delivery(DeliveryEvent::Connect) => Level::Info, EventType::Delivery(DeliveryEvent::ConnectError) => Level::Info, EventType::Delivery(DeliveryEvent::GreetingFailed) => Level::Info, EventType::Delivery(DeliveryEvent::EhloRejected) => Level::Info, EventType::Delivery(DeliveryEvent::AuthFailed) => Level::Info, EventType::Delivery(DeliveryEvent::MailFromRejected) => Level::Info, EventType::Delivery(DeliveryEvent::Delivered) => Level::Info, EventType::Delivery(DeliveryEvent::RcptToRejected) => Level::Info, EventType::Delivery(DeliveryEvent::RcptToFailed) => Level::Info, EventType::Delivery(DeliveryEvent::MessageRejected) => Level::Info, EventType::Delivery(DeliveryEvent::StartTls) => Level::Info, EventType::Delivery(DeliveryEvent::StartTlsUnavailable) => Level::Info, EventType::Delivery(DeliveryEvent::StartTlsError) => Level::Info, EventType::Delivery(DeliveryEvent::StartTlsDisabled) => Level::Info, EventType::Delivery(DeliveryEvent::ImplicitTlsError) => Level::Info, EventType::Delivery(DeliveryEvent::DoubleBounce) => Level::Info, EventType::Delivery(DeliveryEvent::DsnSuccess) => Level::Info, EventType::Delivery(DeliveryEvent::DsnTempFail) => Level::Info, EventType::Delivery(DeliveryEvent::DsnPermFail) => Level::Info, EventType::Dkim(DkimEvent::SignatureCreated) => Level::Info, EventType::Dkim(DkimEvent::SignaturePublished) => Level::Info, EventType::Dkim(DkimEvent::SignatureRetiring) => Level::Info, EventType::Dkim(DkimEvent::SignatureRetired) => Level::Info, EventType::Dkim(DkimEvent::SignatureDeleted) => Level::Info, EventType::Dns(DnsEvent::RecordCreated) => Level::Info, EventType::Dns(DnsEvent::RecordPropagated) => Level::Info, EventType::IncomingReport(IncomingReportEvent::DmarcReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::TlsReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::AbuseReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::AuthFailureReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::FraudReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::NotSpamReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::VirusReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::OtherReport) => Level::Info, EventType::IncomingReport(IncomingReportEvent::MessageParseFailed) => Level::Info, EventType::IncomingReport(IncomingReportEvent::DmarcParseFailed) => Level::Info, EventType::IncomingReport(IncomingReportEvent::TlsRpcParseFailed) => Level::Info, EventType::IncomingReport(IncomingReportEvent::ArfParseFailed) => Level::Info, EventType::IncomingReport(IncomingReportEvent::DecompressError) => Level::Info, EventType::Limit(LimitEvent::TenantQuota) => Level::Info, EventType::MessageIngest(MessageIngestEvent::Ham) => Level::Info, EventType::MessageIngest(MessageIngestEvent::Spam) => Level::Info, EventType::MessageIngest(MessageIngestEvent::ImapAppend) => Level::Info, EventType::MessageIngest(MessageIngestEvent::JmapAppend) => Level::Info, EventType::MessageIngest(MessageIngestEvent::Duplicate) => Level::Info, EventType::MessageIngest(MessageIngestEvent::SearchIndex) => Level::Info, EventType::Milter(MilterEvent::ActionAccept) => Level::Info, EventType::Milter(MilterEvent::ActionDiscard) => Level::Info, EventType::Milter(MilterEvent::ActionReject) => Level::Info, EventType::Milter(MilterEvent::ActionTempFail) => Level::Info, EventType::Milter(MilterEvent::ActionReplyCode) => Level::Info, EventType::Milter(MilterEvent::ActionConnectionFailure) => Level::Info, EventType::Milter(MilterEvent::ActionShutdown) => Level::Info, EventType::MtaHook(MtaHookEvent::ActionAccept) => Level::Info, EventType::MtaHook(MtaHookEvent::ActionDiscard) => Level::Info, EventType::MtaHook(MtaHookEvent::ActionReject) => Level::Info, EventType::MtaHook(MtaHookEvent::ActionQuarantine) => Level::Info, EventType::MtaSts(MtaStsEvent::Authorized) => Level::Info, EventType::MtaSts(MtaStsEvent::NotAuthorized) => Level::Info, EventType::MtaSts(MtaStsEvent::PolicyFetch) => Level::Info, EventType::MtaSts(MtaStsEvent::PolicyNotFound) => Level::Info, EventType::MtaSts(MtaStsEvent::PolicyFetchError) => Level::Info, EventType::MtaSts(MtaStsEvent::InvalidPolicy) => Level::Info, EventType::Network(NetworkEvent::ListenStart) => Level::Info, EventType::Network(NetworkEvent::ListenStop) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::SpfReport) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::SpfRateLimited) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::DkimReport) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::DkimRateLimited) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::DmarcReport) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::DmarcRateLimited) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::DmarcAggregateReport) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::HttpSubmission) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::UnauthorizedReportingAddress) => { Level::Info } EventType::OutgoingReport(OutgoingReportEvent::ReportingAddressValidationError) => { Level::Info } EventType::OutgoingReport(OutgoingReportEvent::NotFound) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::SubmissionError) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::NoRecipientsFound) => Level::Info, EventType::OutgoingReport(OutgoingReportEvent::Locked) => Level::Info, EventType::Queue(QueueEvent::Started) => Level::Info, EventType::Queue(QueueEvent::MessageQueued) => Level::Info, EventType::Queue(QueueEvent::AuthenticatedMessageQueued) => Level::Info, EventType::Queue(QueueEvent::ReportQueued) => Level::Info, EventType::Queue(QueueEvent::DsnQueued) => Level::Info, EventType::Queue(QueueEvent::AutogeneratedQueued) => Level::Info, EventType::Queue(QueueEvent::Rescheduled) => Level::Info, EventType::Queue(QueueEvent::RateLimitExceeded) => Level::Info, EventType::Queue(QueueEvent::ConcurrencyLimitExceeded) => Level::Info, EventType::Queue(QueueEvent::QuotaExceeded) => Level::Info, EventType::Resource(ResourceEvent::DownloadExternal) => Level::Info, EventType::Resource(ResourceEvent::ApplicationUpdated) => Level::Info, EventType::Security(SecurityEvent::AuthenticationBan) => Level::Info, EventType::Security(SecurityEvent::AbuseBan) => Level::Info, EventType::Security(SecurityEvent::ScanBan) => Level::Info, EventType::Security(SecurityEvent::LoiterBan) => Level::Info, EventType::Security(SecurityEvent::IpBlocked) => Level::Info, EventType::Security(SecurityEvent::IpBlockExpired) => Level::Info, EventType::Security(SecurityEvent::IpAllowExpired) => Level::Info, EventType::Security(SecurityEvent::IpUnauthorized) => Level::Info, EventType::Security(SecurityEvent::Unauthorized) => Level::Info, EventType::Server(ServerEvent::Startup) => Level::Info, EventType::Server(ServerEvent::Shutdown) => Level::Info, EventType::Server(ServerEvent::Licensing) => Level::Info, EventType::Sieve(SieveEvent::SendMessage) => Level::Info, EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded) => Level::Info, EventType::Smtp(SmtpEvent::TransferLimitExceeded) => Level::Info, EventType::Smtp(SmtpEvent::RateLimitExceeded) => Level::Info, EventType::Smtp(SmtpEvent::TimeLimitExceeded) => Level::Info, EventType::Smtp(SmtpEvent::MissingAuthDirectory) => Level::Info, EventType::Smtp(SmtpEvent::MessageParseFailed) => Level::Info, EventType::Smtp(SmtpEvent::MessageTooLarge) => Level::Info, EventType::Smtp(SmtpEvent::LoopDetected) => Level::Info, EventType::Smtp(SmtpEvent::DkimPass) => Level::Info, EventType::Smtp(SmtpEvent::DkimFail) => Level::Info, EventType::Smtp(SmtpEvent::Dkim2Pass) => Level::Info, EventType::Smtp(SmtpEvent::Dkim2Fail) => Level::Info, EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded) => Level::Info, EventType::Smtp(SmtpEvent::ArcPass) => Level::Info, EventType::Smtp(SmtpEvent::ArcFail) => Level::Info, EventType::Smtp(SmtpEvent::SpfEhloPass) => Level::Info, EventType::Smtp(SmtpEvent::SpfEhloFail) => Level::Info, EventType::Smtp(SmtpEvent::SpfFromPass) => Level::Info, EventType::Smtp(SmtpEvent::SpfFromFail) => Level::Info, EventType::Smtp(SmtpEvent::DmarcPass) => Level::Info, EventType::Smtp(SmtpEvent::DmarcFail) => Level::Info, EventType::Smtp(SmtpEvent::IprevPass) => Level::Info, EventType::Smtp(SmtpEvent::IprevFail) => Level::Info, EventType::Smtp(SmtpEvent::TooManyMessages) => Level::Info, EventType::Smtp(SmtpEvent::Ehlo) => Level::Info, EventType::Smtp(SmtpEvent::InvalidEhlo) => Level::Info, EventType::Smtp(SmtpEvent::MailFrom) => Level::Info, EventType::Smtp(SmtpEvent::MailboxDoesNotExist) => Level::Info, EventType::Smtp(SmtpEvent::RelayNotAllowed) => Level::Info, EventType::Smtp(SmtpEvent::RcptTo) => Level::Info, EventType::Smtp(SmtpEvent::RcptToGreylisted) => Level::Info, EventType::Smtp(SmtpEvent::TooManyRecipients) => Level::Info, EventType::Smtp(SmtpEvent::TooManyInvalidRcpt) => Level::Info, EventType::Smtp(SmtpEvent::Vrfy) => Level::Info, EventType::Smtp(SmtpEvent::VrfyNotFound) => Level::Info, EventType::Smtp(SmtpEvent::VrfyDisabled) => Level::Info, EventType::Smtp(SmtpEvent::Expn) => Level::Info, EventType::Smtp(SmtpEvent::ExpnNotFound) => Level::Info, EventType::Smtp(SmtpEvent::ExpnDisabled) => Level::Info, EventType::Smtp(SmtpEvent::AuthNotAllowed) => Level::Info, EventType::Smtp(SmtpEvent::AuthMechanismNotSupported) => Level::Info, EventType::Smtp(SmtpEvent::RequestTooLarge) => Level::Info, EventType::Spam(SpamEvent::TrainStarted) => Level::Info, EventType::Spam(SpamEvent::TrainCompleted) => Level::Info, EventType::Spam(SpamEvent::ModelLoaded) => Level::Info, EventType::Spam(SpamEvent::ModelNotReady) => Level::Info, EventType::Spam(SpamEvent::ModelNotFound) => Level::Info, EventType::Spam(SpamEvent::RulesUpdated) => Level::Info, EventType::Store(StoreEvent::BlobStorePurged) => Level::Info, EventType::Store(StoreEvent::DataStorePurged) => Level::Info, EventType::TaskManager(TaskManagerEvent::TaskQueued) => Level::Info, EventType::TaskManager(TaskManagerEvent::TaskScheduled) => Level::Info, EventType::TaskManager(TaskManagerEvent::SchedulerStarted) => Level::Info, EventType::TaskManager(TaskManagerEvent::ManagerStarted) => Level::Info, EventType::Telemetry(TelemetryEvent::AlertMessage) => Level::Info, EventType::Telemetry(TelemetryEvent::MetricsCollected) => Level::Info, EventType::Tls(TlsEvent::Handshake) => Level::Info, EventType::Tls(TlsEvent::ExpiredCertificateRemoved) => Level::Info, EventType::TlsRpt(TlsRptEvent::RecordFetch) => Level::Info, EventType::TlsRpt(TlsRptEvent::RecordFetchError) => Level::Info, EventType::TlsRpt(TlsRptEvent::RecordNotFound) => Level::Info, EventType::Ai(AiEvent::LlmResponse) => Level::Trace, EventType::Auth(AuthEvent::MfaRequired) => Level::Trace, EventType::Cluster(ClusterEvent::MessageReceived) => Level::Trace, EventType::Cluster(ClusterEvent::MessageSkipped) => Level::Trace, EventType::Delivery(DeliveryEvent::RawInput) => Level::Trace, EventType::Delivery(DeliveryEvent::RawOutput) => Level::Trace, EventType::Eval(EvalEvent::Result) => Level::Trace, EventType::Http(HttpEvent::RequestBody) => Level::Trace, EventType::Http(HttpEvent::ResponseBody) => Level::Trace, EventType::Imap(ImapEvent::RawInput) => Level::Trace, EventType::Imap(ImapEvent::RawOutput) => Level::Trace, EventType::ManageSieve(ManageSieveEvent::RawInput) => Level::Trace, EventType::ManageSieve(ManageSieveEvent::RawOutput) => Level::Trace, EventType::Milter(MilterEvent::Read) => Level::Trace, EventType::Milter(MilterEvent::Write) => Level::Trace, EventType::Network(NetworkEvent::ReadError) => Level::Trace, EventType::Network(NetworkEvent::WriteError) => Level::Trace, EventType::Network(NetworkEvent::FlushError) => Level::Trace, EventType::Network(NetworkEvent::Closed) => Level::Trace, EventType::Pop3(Pop3Event::RawInput) => Level::Trace, EventType::Pop3(Pop3Event::RawOutput) => Level::Trace, EventType::PushSubscription(PushSubscriptionEvent::Success) => Level::Trace, EventType::Smtp(SmtpEvent::RawInput) => Level::Trace, EventType::Smtp(SmtpEvent::RawOutput) => Level::Trace, EventType::Store(StoreEvent::DataWrite) => Level::Trace, EventType::Store(StoreEvent::DataIterate) => Level::Trace, EventType::Store(StoreEvent::BlobRead) => Level::Trace, EventType::Store(StoreEvent::BlobWrite) => Level::Trace, EventType::Store(StoreEvent::BlobDelete) => Level::Trace, EventType::Store(StoreEvent::SqlQuery) => Level::Trace, EventType::Store(StoreEvent::LdapQuery) => Level::Trace, EventType::Acme(AcmeEvent::AuthError) => Level::Warn, EventType::Acme(AcmeEvent::AuthTooManyAttempts) => Level::Warn, EventType::Acme(AcmeEvent::OrderInvalid) => Level::Warn, EventType::Acme(AcmeEvent::TlsAlpnError) => Level::Warn, EventType::Acme(AcmeEvent::TokenNotFound) => Level::Warn, EventType::Ai(AiEvent::ApiError) => Level::Warn, // inbuxa: SCIM-54 EventType::Scim(ScimEvent::ResourceCreated) => Level::Info, EventType::Scim(ScimEvent::ResourceUpdated) => Level::Info, EventType::Scim(ScimEvent::ResourceSuspended) => Level::Info, EventType::Scim(ScimEvent::ResourceReactivated) => Level::Info, EventType::Scim(ScimEvent::ResourceDeleted) => Level::Info, EventType::Arc(ArcEvent::SealerNotFound) => Level::Warn, EventType::Auth(AuthEvent::TooManyAttempts) => Level::Warn, EventType::Calendar(CalendarEvent::AlarmFailed) => Level::Warn, EventType::Cluster(ClusterEvent::SubscriberDisconnected) => Level::Warn, EventType::Delivery(DeliveryEvent::MissingOutboundHostname) => Level::Warn, EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded) => Level::Warn, EventType::Delivery(DeliveryEvent::RateLimitExceeded) => Level::Warn, EventType::Dkim(DkimEvent::SignerNotFound) => Level::Warn, EventType::Dns(DnsEvent::RecordCreationFailed) => Level::Warn, EventType::Dns(DnsEvent::RecordPropagationTimeout) => Level::Warn, EventType::Eval(EvalEvent::DirectoryNotFound) => Level::Warn, EventType::Http(HttpEvent::XForwardedMissing) => Level::Warn, EventType::IncomingReport(IncomingReportEvent::DmarcReportWithWarnings) => Level::Warn, EventType::IncomingReport(IncomingReportEvent::TlsReportWithWarnings) => Level::Warn, EventType::Limit(LimitEvent::ConcurrentConnection) => Level::Warn, EventType::Limit(LimitEvent::TooManyRequests) => Level::Warn, EventType::Milter(MilterEvent::IoError) => Level::Warn, EventType::Milter(MilterEvent::FrameTooLarge) => Level::Warn, EventType::Milter(MilterEvent::FrameInvalid) => Level::Warn, EventType::Milter(MilterEvent::UnexpectedResponse) => Level::Warn, EventType::Milter(MilterEvent::Timeout) => Level::Warn, EventType::Milter(MilterEvent::TlsInvalidName) => Level::Warn, EventType::Milter(MilterEvent::Disconnected) => Level::Warn, EventType::Milter(MilterEvent::ParseError) => Level::Warn, EventType::MtaHook(MtaHookEvent::Error) => Level::Warn, EventType::Network(NetworkEvent::ProxyError) => Level::Warn, EventType::Queue(QueueEvent::BackPressure) => Level::Warn, EventType::Registry(RegistryEvent::BuildWarning) => Level::Warn, EventType::Server(ServerEvent::RecoveryMode) => Level::Warn, EventType::Server(ServerEvent::BootstrapMode) => Level::Warn, EventType::Sieve(SieveEvent::MessageTooLarge) => Level::Warn, EventType::Sieve(SieveEvent::ScriptNotFound) => Level::Warn, EventType::Sieve(SieveEvent::ListNotFound) => Level::Warn, EventType::Sieve(SieveEvent::NotSupported) => Level::Warn, EventType::Sieve(SieveEvent::QuotaExceeded) => Level::Warn, EventType::Smtp(SmtpEvent::IdNotFound) => Level::Warn, EventType::Smtp(SmtpEvent::MissingLocalHostname) => Level::Warn, EventType::Spam(SpamEvent::TrainSampleNotFound) => Level::Warn, EventType::Store(StoreEvent::HttpStoreError) => Level::Warn, EventType::Store(StoreEvent::CacheEntryTooLarge) => Level::Warn, EventType::Store(StoreEvent::BlobMissingMarker) => Level::Warn, EventType::TaskManager(TaskManagerEvent::TaskFailed) => Level::Warn, EventType::Telemetry(TelemetryEvent::AlertEvent) => Level::Warn, EventType::Telemetry(TelemetryEvent::LogError) => Level::Warn, EventType::Telemetry(TelemetryEvent::WebhookError) => Level::Warn, EventType::Telemetry(TelemetryEvent::OtelExporterError) => Level::Warn, EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError) => Level::Warn, EventType::Telemetry(TelemetryEvent::PrometheusExporterError) => Level::Warn, EventType::Telemetry(TelemetryEvent::JournalError) => Level::Warn, EventType::Tls(TlsEvent::NoCertificatesAvailable) => Level::Warn, EventType::Tls(TlsEvent::MultipleCertificatesAvailable) => Level::Warn, _ => Level::Debug, } } pub fn description(&self) -> &'static str { match self { EventType::Acme(AcmeEvent::AuthStart) => "ACME authentication started", EventType::Acme(AcmeEvent::AuthPending) => "ACME authentication pending", EventType::Acme(AcmeEvent::AuthValid) => "ACME authentication valid", EventType::Acme(AcmeEvent::AuthCompleted) => "ACME authentication completed", EventType::Acme(AcmeEvent::AuthError) => "ACME authentication error", EventType::Acme(AcmeEvent::AuthTooManyAttempts) => { "Too many ACME authentication attempts" } EventType::Acme(AcmeEvent::ProcessCert) => "Processing ACME certificate", EventType::Acme(AcmeEvent::OrderStart) => "ACME order started", EventType::Acme(AcmeEvent::OrderProcessing) => "ACME order processing", EventType::Acme(AcmeEvent::OrderCompleted) => "ACME order completed", EventType::Acme(AcmeEvent::OrderReady) => "ACME order ready", EventType::Acme(AcmeEvent::OrderValid) => "ACME order valid", EventType::Acme(AcmeEvent::OrderInvalid) => "ACME order invalid", EventType::Acme(AcmeEvent::RenewBackoff) => "ACME renew backoff", EventType::Acme(AcmeEvent::ClientSuppliedSni) => "ACME client supplied SNI", EventType::Acme(AcmeEvent::ClientMissingSni) => "ACME client missing SNI", EventType::Acme(AcmeEvent::TlsAlpnReceived) => "ACME TLS ALPN received", EventType::Acme(AcmeEvent::TlsAlpnError) => "ACME TLS ALPN error", EventType::Acme(AcmeEvent::TokenNotFound) => "ACME token not found", EventType::Acme(AcmeEvent::Error) => "ACME error", EventType::Ai(AiEvent::LlmResponse) => "LLM response", EventType::Ai(AiEvent::ApiError) => "AI API error", // inbuxa: SCIM-54 EventType::Scim(ScimEvent::ResourceCreated) => "SCIM resource created", EventType::Scim(ScimEvent::ResourceUpdated) => "SCIM resource updated", EventType::Scim(ScimEvent::ResourceSuspended) => "SCIM user suspended", EventType::Scim(ScimEvent::ResourceReactivated) => "SCIM user reactivated", EventType::Scim(ScimEvent::ResourceDeleted) => "SCIM resource deleted", EventType::Arc(ArcEvent::ChainTooLong) => "ARC chain too long", EventType::Arc(ArcEvent::InvalidInstance) => "Invalid ARC instance", EventType::Arc(ArcEvent::InvalidCv) => "Invalid ARC CV", EventType::Arc(ArcEvent::HasHeaderTag) => "ARC has header tag", EventType::Arc(ArcEvent::BrokenChain) => "Broken ARC chain", EventType::Arc(ArcEvent::SealerNotFound) => "ARC sealer not found", EventType::Auth(AuthEvent::Success) => "Authentication successful", EventType::Auth(AuthEvent::Failed) => "Authentication failed", EventType::Auth(AuthEvent::TokenExpired) => "OAuth token expired", EventType::Auth(AuthEvent::MfaRequired) => "Missing MFA token for authentication", EventType::Auth(AuthEvent::TooManyAttempts) => "Too many authentication attempts", EventType::Auth(AuthEvent::ClientRegistration) => "OAuth Client registration", EventType::Auth(AuthEvent::Error) => "Authentication error", EventType::Auth(AuthEvent::Warning) => "Authentication warning", EventType::Auth(AuthEvent::CredentialExpired) => "Credential expired", EventType::Calendar(CalendarEvent::RuleExpansionError) => { "Calendar rule expansion error" } EventType::Calendar(CalendarEvent::AlarmSent) => "Calendar alarm sent", EventType::Calendar(CalendarEvent::AlarmSkipped) => "Calendar alarm skipped", EventType::Calendar(CalendarEvent::AlarmRecipientOverride) => { "Calendar alarm recipient overriden" } EventType::Calendar(CalendarEvent::AlarmFailed) => "Calendar alarm could not be sent", EventType::Calendar(CalendarEvent::ItipMessageSent) => "Calendar iTIP message sent", EventType::Calendar(CalendarEvent::ItipMessageReceived) => { "Calendar iTIP message received" } EventType::Calendar(CalendarEvent::ItipMessageError) => "iTIP message error", EventType::Cluster(ClusterEvent::Startup) => "Clustering enabled", EventType::Cluster(ClusterEvent::SubscriberStart) => "PubSub subscriber started", EventType::Cluster(ClusterEvent::SubscriberStop) => "PubSub subscriber stopped", EventType::Cluster(ClusterEvent::SubscriberError) => "PubSub subscriber error", EventType::Cluster(ClusterEvent::SubscriberDisconnected) => { "PubSub subscriber disconnected" } EventType::Cluster(ClusterEvent::PublisherStart) => "PubSub publisher started", EventType::Cluster(ClusterEvent::PublisherStop) => "PubSub publisher stopped", EventType::Cluster(ClusterEvent::PublisherError) => "PubSub publisher error", EventType::Cluster(ClusterEvent::MessageReceived) => "PubSub message received", EventType::Cluster(ClusterEvent::MessageSkipped) => "PubSub message skipped", EventType::Cluster(ClusterEvent::MessageInvalid) => "Invalid PubSub message", EventType::Cluster(ClusterEvent::NodeIdRenewed) => "Node ID renewed", EventType::Dane(DaneEvent::AuthenticationSuccess) => "DANE authentication successful", EventType::Dane(DaneEvent::AuthenticationFailure) => "DANE authentication failed", EventType::Dane(DaneEvent::NoCertificatesFound) => "No certificates found for DANE", EventType::Dane(DaneEvent::CertificateParseError) => { "Error parsing certificate for DANE" } EventType::Dane(DaneEvent::TlsaRecordMatch) => "TLSA record match found", EventType::Dane(DaneEvent::TlsaRecordFetch) => "Fetching TLSA record", EventType::Dane(DaneEvent::TlsaRecordFetchError) => "Error fetching TLSA record", EventType::Dane(DaneEvent::TlsaRecordNotFound) => "TLSA record not found", EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned) => { "TLSA record not DNSSEC signed" } EventType::Dane(DaneEvent::TlsaRecordInvalid) => "Invalid TLSA record", EventType::Dane(DaneEvent::BogusDnssecRecord) => "Bogus DNSSEC record", EventType::Delivery(DeliveryEvent::AttemptStart) => "Delivery attempt started", EventType::Delivery(DeliveryEvent::AttemptEnd) => "Delivery attempt ended", EventType::Delivery(DeliveryEvent::Completed) => "Delivery completed", EventType::Delivery(DeliveryEvent::Failed) => "Delivery failed", EventType::Delivery(DeliveryEvent::DomainDeliveryStart) => { "New delivery attempt for domain" } EventType::Delivery(DeliveryEvent::MxLookup) => "MX record lookup", EventType::Delivery(DeliveryEvent::MxLookupFailed) => "MX record lookup failed", EventType::Delivery(DeliveryEvent::IpLookup) => "IP address lookup", EventType::Delivery(DeliveryEvent::IpLookupFailed) => "IP address lookup failed", EventType::Delivery(DeliveryEvent::NullMx) => "Null MX record found", EventType::Delivery(DeliveryEvent::Connect) => "Connecting to remote server", EventType::Delivery(DeliveryEvent::ConnectError) => "Connection error", EventType::Delivery(DeliveryEvent::MissingOutboundHostname) => { "Missing outbound hostname in configuration" } EventType::Delivery(DeliveryEvent::GreetingFailed) => "SMTP greeting failed", EventType::Delivery(DeliveryEvent::Ehlo) => "SMTP EHLO command", EventType::Delivery(DeliveryEvent::EhloRejected) => "SMTP EHLO rejected", EventType::Delivery(DeliveryEvent::Auth) => "SMTP authentication", EventType::Delivery(DeliveryEvent::AuthFailed) => "SMTP authentication failed", EventType::Delivery(DeliveryEvent::MailFrom) => "SMTP MAIL FROM command", EventType::Delivery(DeliveryEvent::MailFromRejected) => "SMTP MAIL FROM rejected", EventType::Delivery(DeliveryEvent::Delivered) => "Message delivered", EventType::Delivery(DeliveryEvent::RcptTo) => "SMTP RCPT TO command", EventType::Delivery(DeliveryEvent::RcptToRejected) => "SMTP RCPT TO rejected", EventType::Delivery(DeliveryEvent::RcptToFailed) => "SMTP RCPT TO failed", EventType::Delivery(DeliveryEvent::MessageRejected) => { "Message rejected by remote server" } EventType::Delivery(DeliveryEvent::StartTls) => "SMTP STARTTLS command", EventType::Delivery(DeliveryEvent::StartTlsUnavailable) => "STARTTLS unavailable", EventType::Delivery(DeliveryEvent::StartTlsError) => "STARTTLS error", EventType::Delivery(DeliveryEvent::StartTlsDisabled) => "STARTTLS disabled", EventType::Delivery(DeliveryEvent::ImplicitTlsError) => "Implicit TLS error", EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded) => { "Concurrency limit exceeded" } EventType::Delivery(DeliveryEvent::RateLimitExceeded) => "Rate limit exceeded", EventType::Delivery(DeliveryEvent::DoubleBounce) => { "Discarding message after double bounce" } EventType::Delivery(DeliveryEvent::DsnSuccess) => "DSN success notification", EventType::Delivery(DeliveryEvent::DsnTempFail) => "DSN temporary failure notification", EventType::Delivery(DeliveryEvent::DsnPermFail) => "DSN permanent failure notification", EventType::Delivery(DeliveryEvent::RawInput) => "Raw SMTP input received", EventType::Delivery(DeliveryEvent::RawOutput) => "Raw SMTP output sent", EventType::Dkim(DkimEvent::Pass) => "DKIM verification passed", EventType::Dkim(DkimEvent::Neutral) => "DKIM verification neutral", EventType::Dkim(DkimEvent::Fail) => "DKIM verification failed", EventType::Dkim(DkimEvent::PermError) => "DKIM permanent error", EventType::Dkim(DkimEvent::TempError) => "DKIM temporary error", EventType::Dkim(DkimEvent::None) => "No DKIM signature", EventType::Dkim(DkimEvent::UnsupportedVersion) => "Unsupported DKIM version", EventType::Dkim(DkimEvent::UnsupportedAlgorithm) => "Unsupported DKIM algorithm", EventType::Dkim(DkimEvent::UnsupportedCanonicalization) => { "Unsupported DKIM canonicalization" } EventType::Dkim(DkimEvent::UnsupportedKeyType) => "Unsupported DKIM key type", EventType::Dkim(DkimEvent::FailedBodyHashMatch) => "DKIM body hash mismatch", EventType::Dkim(DkimEvent::FailedVerification) => "DKIM verification failed", EventType::Dkim(DkimEvent::FailedAuidMatch) => "DKIM AUID mismatch", EventType::Dkim(DkimEvent::RevokedPublicKey) => "DKIM public key revoked", EventType::Dkim(DkimEvent::IncompatibleAlgorithms) => "Incompatible DKIM algorithms", EventType::Dkim(DkimEvent::SignatureExpired) => "DKIM signature expired", EventType::Dkim(DkimEvent::SignatureLength) => "DKIM signature length issue", EventType::Dkim(DkimEvent::SignerNotFound) => "DKIM signer not found", EventType::Dkim(DkimEvent::BuildError) => "DKIM build error", EventType::Dkim(DkimEvent::SignatureCreated) => "DKIM signature created", EventType::Dkim(DkimEvent::SignaturePublished) => "DKIM signature published", EventType::Dkim(DkimEvent::SignatureRetiring) => "DKIM signature retiring", EventType::Dkim(DkimEvent::SignatureRetired) => "DKIM signature retired", EventType::Dkim(DkimEvent::SignatureDeleted) => "DKIM signature deleted", EventType::Dkim(DkimEvent::InstanceMissing) => "DKIM2 message-instance missing", EventType::Dkim(DkimEvent::InstanceSyntax) => "DKIM2 message-instance syntax error", EventType::Dkim(DkimEvent::InstanceTagMissing) => "DKIM2 message-instance tag missing", EventType::Dkim(DkimEvent::InstanceNotSigned) => "DKIM2 message-instance not signed", EventType::Dkim(DkimEvent::InstanceAboveSignature) => { "DKIM2 message-instance above signature" } EventType::Dkim(DkimEvent::SignatureMissing) => "DKIM2 signature missing", EventType::Dkim(DkimEvent::SignatureSyntax) => "DKIM2 signature syntax error", EventType::Dkim(DkimEvent::SignatureTagMissing) => "DKIM2 signature tag missing", EventType::Dkim(DkimEvent::SignatureTagUnexpected) => "DKIM2 signature unexpected tag", EventType::Dkim(DkimEvent::SequenceGap) => "DKIM2 sequence gap", EventType::Dkim(DkimEvent::SequenceOverflow) => "DKIM2 sequence overflow", EventType::Dkim(DkimEvent::ChainTooLong) => "DKIM2 chain too long", EventType::Dkim(DkimEvent::MailFromMismatch) => "DKIM2 MAIL FROM mismatch", EventType::Dkim(DkimEvent::RcptToMismatch) => "DKIM2 RCPT TO mismatch", EventType::Dkim(DkimEvent::MailFromDomainMismatch) => "DKIM2 MAIL FROM domain mismatch", EventType::Dkim(DkimEvent::NextDomainMismatch) => "DKIM2 next domain mismatch", EventType::Dkim(DkimEvent::CustodyBreak) => "DKIM2 custody break", EventType::Dkim(DkimEvent::PublicKeyFetch) => "DKIM2 public key fetch error", EventType::Dkim(DkimEvent::PublicKeyMissing) => "DKIM2 public key missing", EventType::Dkim(DkimEvent::PublicKeyMultiple) => "DKIM2 multiple public keys", EventType::Dkim(DkimEvent::PublicKeySyntax) => "DKIM2 public key syntax error", EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch) => { "DKIM2 public key algorithm mismatch" } EventType::Dkim(DkimEvent::NoValidAlgorithm) => "DKIM2 no valid algorithm", EventType::Dkim(DkimEvent::HeaderHashMismatch) => "DKIM2 header hash mismatch", EventType::Dkim(DkimEvent::Modified) => "DKIM2 message modified", EventType::Dkim(DkimEvent::Exploded) => "DKIM2 message exploded", EventType::Dmarc(DmarcEvent::Pass) => "DMARC check passed", EventType::Dmarc(DmarcEvent::Fail) => "DMARC check failed", EventType::Dmarc(DmarcEvent::PermError) => "DMARC permanent error", EventType::Dmarc(DmarcEvent::TempError) => "DMARC temporary error", EventType::Dmarc(DmarcEvent::None) => "No DMARC record", EventType::Dns(DnsEvent::RecordCreated) => "DNS record created", EventType::Dns(DnsEvent::RecordCreationFailed) => "DNS record creation failed", EventType::Dns(DnsEvent::RecordDeletionFailed) => "DNS record deletion failed", EventType::Dns(DnsEvent::RecordNotPropagated) => "DNS record not propagated", EventType::Dns(DnsEvent::RecordLookupFailed) => "DNS record lookup failed", EventType::Dns(DnsEvent::RecordPropagated) => "DNS record propagated", EventType::Dns(DnsEvent::RecordPropagationTimeout) => "DNS record propagation timeout", EventType::Dns(DnsEvent::BuildError) => "DNS updater build error", EventType::Eval(EvalEvent::Result) => "Expression evaluation result", EventType::Eval(EvalEvent::Error) => "Expression evaluation error", EventType::Eval(EvalEvent::DirectoryNotFound) => { "Directory not found while evaluating expression" } EventType::Eval(EvalEvent::StoreNotFound) => { "Store not found while evaluating expression" } EventType::Http(HttpEvent::ConnectionStart) => "HTTP connection started", EventType::Http(HttpEvent::ConnectionEnd) => "HTTP connection ended", EventType::Http(HttpEvent::Error) => "HTTP error occurred", EventType::Http(HttpEvent::RequestUrl) => "HTTP request URL", EventType::Http(HttpEvent::RequestBody) => "HTTP request body", EventType::Http(HttpEvent::ResponseBody) => "HTTP response body", EventType::Http(HttpEvent::XForwardedMissing) => "X-Forwarded-For header is missing", EventType::Imap(ImapEvent::ConnectionStart) => "IMAP connection started", EventType::Imap(ImapEvent::ConnectionEnd) => "IMAP connection ended", EventType::Imap(ImapEvent::GetAcl) => "IMAP GET ACL command", EventType::Imap(ImapEvent::SetAcl) => "IMAP SET ACL command", EventType::Imap(ImapEvent::MyRights) => "IMAP MYRIGHTS command", EventType::Imap(ImapEvent::ListRights) => "IMAP LISTRIGHTS command", EventType::Imap(ImapEvent::Append) => "IMAP APPEND command", EventType::Imap(ImapEvent::Capabilities) => "IMAP CAPABILITIES command", EventType::Imap(ImapEvent::Id) => "IMAP ID command", EventType::Imap(ImapEvent::Close) => "IMAP CLOSE command", EventType::Imap(ImapEvent::Copy) => "IMAP COPY command", EventType::Imap(ImapEvent::Move) => "IMAP MOVE command", EventType::Imap(ImapEvent::CreateMailbox) => "IMAP CREATE mailbox command", EventType::Imap(ImapEvent::DeleteMailbox) => "IMAP DELETE mailbox command", EventType::Imap(ImapEvent::RenameMailbox) => "IMAP RENAME mailbox command", EventType::Imap(ImapEvent::Enable) => "IMAP ENABLE command", EventType::Imap(ImapEvent::Expunge) => "IMAP EXPUNGE command", EventType::Imap(ImapEvent::Fetch) => "IMAP FETCH command", EventType::Imap(ImapEvent::IdleStart) => "IMAP IDLE start", EventType::Imap(ImapEvent::IdleStop) => "IMAP IDLE stop", EventType::Imap(ImapEvent::List) => "IMAP LIST command", EventType::Imap(ImapEvent::Lsub) => "IMAP LSUB command", EventType::Imap(ImapEvent::Logout) => "IMAP LOGOUT command", EventType::Imap(ImapEvent::Namespace) => "IMAP NAMESPACE command", EventType::Imap(ImapEvent::Noop) => "IMAP NOOP command", EventType::Imap(ImapEvent::Search) => "IMAP SEARCH command", EventType::Imap(ImapEvent::Sort) => "IMAP SORT command", EventType::Imap(ImapEvent::Select) => "IMAP SELECT command", EventType::Imap(ImapEvent::Status) => "IMAP STATUS command", EventType::Imap(ImapEvent::Store) => "IMAP STORE command", EventType::Imap(ImapEvent::Subscribe) => "IMAP SUBSCRIBE command", EventType::Imap(ImapEvent::Unsubscribe) => "IMAP UNSUBSCRIBE command", EventType::Imap(ImapEvent::Thread) => "IMAP THREAD command", EventType::Imap(ImapEvent::UidBatches) => "IMAP UIDBATCHES command", EventType::Imap(ImapEvent::GetQuota) => "IMAP GETQUOTA command", EventType::Imap(ImapEvent::Error) => "IMAP error occurred", EventType::Imap(ImapEvent::RawInput) => "Raw IMAP input received", EventType::Imap(ImapEvent::RawOutput) => "Raw IMAP output sent", EventType::IncomingReport(IncomingReportEvent::DmarcReport) => "DMARC report received", EventType::IncomingReport(IncomingReportEvent::DmarcReportWithWarnings) => { "DMARC report received with warnings" } EventType::IncomingReport(IncomingReportEvent::TlsReport) => "TLS report received", EventType::IncomingReport(IncomingReportEvent::TlsReportWithWarnings) => { "TLS report received with warnings" } EventType::IncomingReport(IncomingReportEvent::AbuseReport) => "Abuse report received", EventType::IncomingReport(IncomingReportEvent::AuthFailureReport) => { "Authentication failure report received" } EventType::IncomingReport(IncomingReportEvent::FraudReport) => "Fraud report received", EventType::IncomingReport(IncomingReportEvent::NotSpamReport) => { "Not spam report received" } EventType::IncomingReport(IncomingReportEvent::VirusReport) => "Virus report received", EventType::IncomingReport(IncomingReportEvent::OtherReport) => { "Other type of report received" } EventType::IncomingReport(IncomingReportEvent::MessageParseFailed) => { "Failed to parse incoming report message" } EventType::IncomingReport(IncomingReportEvent::DmarcParseFailed) => { "Failed to parse DMARC report" } EventType::IncomingReport(IncomingReportEvent::TlsRpcParseFailed) => { "Failed to parse TLS RPC report" } EventType::IncomingReport(IncomingReportEvent::ArfParseFailed) => { "Failed to parse ARF report" } EventType::IncomingReport(IncomingReportEvent::DecompressError) => { "Error decompressing report" } EventType::Iprev(IprevEvent::Pass) => "IPREV check passed", EventType::Iprev(IprevEvent::Fail) => "IPREV check failed", EventType::Iprev(IprevEvent::PermError) => "IPREV permanent error", EventType::Iprev(IprevEvent::TempError) => "IPREV temporary error", EventType::Iprev(IprevEvent::None) => "No IPREV record", EventType::Jmap(JmapEvent::MethodCall) => "JMAP method call", EventType::Jmap(JmapEvent::InvalidArguments) => "Invalid JMAP arguments", EventType::Jmap(JmapEvent::RequestTooLarge) => "JMAP request too large", EventType::Jmap(JmapEvent::StateMismatch) => "JMAP state mismatch", EventType::Jmap(JmapEvent::AnchorNotFound) => "JMAP anchor not found", EventType::Jmap(JmapEvent::UnsupportedFilter) => "Unsupported JMAP filter", EventType::Jmap(JmapEvent::UnsupportedSort) => "Unsupported JMAP sort", EventType::Jmap(JmapEvent::UnknownMethod) => "Unknown JMAP method", EventType::Jmap(JmapEvent::InvalidResultReference) => "Invalid JMAP result reference", EventType::Jmap(JmapEvent::Forbidden) => "JMAP operation forbidden", EventType::Jmap(JmapEvent::AccountNotFound) => "JMAP account not found", EventType::Jmap(JmapEvent::AccountNotSupportedByMethod) => { "JMAP account not supported by method" } EventType::Jmap(JmapEvent::AccountReadOnly) => "JMAP account is read-only", EventType::Jmap(JmapEvent::NotFound) => "JMAP resource not found", EventType::Jmap(JmapEvent::CannotCalculateChanges) => "Cannot calculate JMAP changes", EventType::Jmap(JmapEvent::UnknownDataType) => "Unknown JMAP data type", EventType::Jmap(JmapEvent::UnknownCapability) => "Unknown JMAP capability", EventType::Jmap(JmapEvent::NotJson) => "JMAP request is not JSON", EventType::Jmap(JmapEvent::NotRequest) => "JMAP input is not a request", EventType::Jmap(JmapEvent::WebsocketStart) => "JMAP WebSocket connection started", EventType::Jmap(JmapEvent::WebsocketStop) => "JMAP WebSocket connection stopped", EventType::Jmap(JmapEvent::WebsocketError) => "JMAP WebSocket error", EventType::Limit(LimitEvent::SizeRequest) => "Request size limit reached", EventType::Limit(LimitEvent::SizeUpload) => "Upload size limit reached", EventType::Limit(LimitEvent::CallsIn) => "Incoming calls limit reached", EventType::Limit(LimitEvent::ConcurrentRequest) => "Concurrent request limit reached", EventType::Limit(LimitEvent::ConcurrentUpload) => "Concurrent upload limit reached", EventType::Limit(LimitEvent::ConcurrentConnection) => { "Concurrent connection limit reached" } EventType::Limit(LimitEvent::Quota) => "Quota limit reached", EventType::Limit(LimitEvent::BlobQuota) => "Blob quota limit reached", EventType::Limit(LimitEvent::TenantQuota) => "Tenant quota limit reached", EventType::Limit(LimitEvent::TooManyRequests) => "Too many requests", EventType::MailAuth(MailAuthEvent::ParseError) => "Mail authentication parse error", EventType::MailAuth(MailAuthEvent::MissingParameters) => { "Missing mail authentication parameters" } EventType::MailAuth(MailAuthEvent::NoHeadersFound) => "No headers found in message", EventType::MailAuth(MailAuthEvent::Crypto) => "Crypto error during mail authentication", EventType::MailAuth(MailAuthEvent::Io) => "I/O error during mail authentication", EventType::MailAuth(MailAuthEvent::Base64) => "Base64 error during mail authentication", EventType::MailAuth(MailAuthEvent::DnsError) => "DNS error", EventType::MailAuth(MailAuthEvent::DnsRecordNotFound) => "DNS record not found", EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType) => "Invalid DNS record type", EventType::MailAuth(MailAuthEvent::PolicyNotAligned) => "Policy not aligned", EventType::ManageSieve(ManageSieveEvent::ConnectionStart) => { "ManageSieve connection started" } EventType::ManageSieve(ManageSieveEvent::ConnectionEnd) => { "ManageSieve connection ended" } EventType::ManageSieve(ManageSieveEvent::CreateScript) => { "ManageSieve CREATE script command" } EventType::ManageSieve(ManageSieveEvent::UpdateScript) => { "ManageSieve UPDATE script command" } EventType::ManageSieve(ManageSieveEvent::GetScript) => "ManageSieve GET script command", EventType::ManageSieve(ManageSieveEvent::DeleteScript) => { "ManageSieve DELETE script command" } EventType::ManageSieve(ManageSieveEvent::RenameScript) => { "ManageSieve RENAME script command" } EventType::ManageSieve(ManageSieveEvent::CheckScript) => { "ManageSieve CHECK script command" } EventType::ManageSieve(ManageSieveEvent::HaveSpace) => "ManageSieve HAVESPACE command", EventType::ManageSieve(ManageSieveEvent::ListScripts) => { "ManageSieve LIST scripts command" } EventType::ManageSieve(ManageSieveEvent::SetActive) => "ManageSieve SET ACTIVE command", EventType::ManageSieve(ManageSieveEvent::Capabilities) => { "ManageSieve CAPABILITIES command" } EventType::ManageSieve(ManageSieveEvent::StartTls) => "ManageSieve STARTTLS command", EventType::ManageSieve(ManageSieveEvent::Unauthenticate) => { "ManageSieve UNAUTHENTICATE command" } EventType::ManageSieve(ManageSieveEvent::Logout) => "ManageSieve LOGOUT command", EventType::ManageSieve(ManageSieveEvent::Noop) => "ManageSieve NOOP command", EventType::ManageSieve(ManageSieveEvent::Error) => "ManageSieve error occurred", EventType::ManageSieve(ManageSieveEvent::RawInput) => "Raw ManageSieve input received", EventType::ManageSieve(ManageSieveEvent::RawOutput) => "Raw ManageSieve output sent", EventType::MessageIngest(MessageIngestEvent::Ham) => "Message ingested", EventType::MessageIngest(MessageIngestEvent::Spam) => "Possible spam message ingested", EventType::MessageIngest(MessageIngestEvent::ImapAppend) => "Message appended via IMAP", EventType::MessageIngest(MessageIngestEvent::JmapAppend) => "Message appended via JMAP", EventType::MessageIngest(MessageIngestEvent::Duplicate) => "Skipping duplicate message", EventType::MessageIngest(MessageIngestEvent::Error) => "Message ingestion error", EventType::MessageIngest(MessageIngestEvent::SearchIndex) => "Search index updated", EventType::Milter(MilterEvent::Read) => "Reading from Milter", EventType::Milter(MilterEvent::Write) => "Writing to Milter", EventType::Milter(MilterEvent::ActionAccept) => "Milter action: Accept", EventType::Milter(MilterEvent::ActionDiscard) => "Milter action: Discard", EventType::Milter(MilterEvent::ActionReject) => "Milter action: Reject", EventType::Milter(MilterEvent::ActionTempFail) => "Milter action: Temporary failure", EventType::Milter(MilterEvent::ActionReplyCode) => "Milter action: Reply code", EventType::Milter(MilterEvent::ActionConnectionFailure) => { "Milter action: Connection failure" } EventType::Milter(MilterEvent::ActionShutdown) => "Milter action: Shutdown", EventType::Milter(MilterEvent::IoError) => "Milter I/O error", EventType::Milter(MilterEvent::FrameTooLarge) => "Milter frame too large", EventType::Milter(MilterEvent::FrameInvalid) => "Invalid Milter frame", EventType::Milter(MilterEvent::UnexpectedResponse) => "Unexpected Milter response", EventType::Milter(MilterEvent::Timeout) => "Milter timeout", EventType::Milter(MilterEvent::TlsInvalidName) => "Invalid TLS name for Milter", EventType::Milter(MilterEvent::Disconnected) => "Milter disconnected", EventType::Milter(MilterEvent::ParseError) => "Milter parse error", EventType::MtaHook(MtaHookEvent::ActionAccept) => "MTA hook action: Accept", EventType::MtaHook(MtaHookEvent::ActionDiscard) => "MTA hook action: Discard", EventType::MtaHook(MtaHookEvent::ActionReject) => "MTA hook action: Reject", EventType::MtaHook(MtaHookEvent::ActionQuarantine) => "MTA hook action: Quarantine", EventType::MtaHook(MtaHookEvent::Error) => "MTA hook error", EventType::MtaSts(MtaStsEvent::Authorized) => "Host authorized by MTA-STS policy", EventType::MtaSts(MtaStsEvent::NotAuthorized) => { "Host not authorized by MTA-STS policy" } EventType::MtaSts(MtaStsEvent::PolicyFetch) => "Fetched MTA-STS policy", EventType::MtaSts(MtaStsEvent::PolicyNotFound) => "MTA-STS policy not found", EventType::MtaSts(MtaStsEvent::PolicyFetchError) => "Error fetching MTA-STS policy", EventType::MtaSts(MtaStsEvent::InvalidPolicy) => "Invalid MTA-STS policy", EventType::Network(NetworkEvent::ListenStart) => "Network listener started", EventType::Network(NetworkEvent::ListenStop) => "Network listener stopped", EventType::Network(NetworkEvent::ListenError) => "Network listener error", EventType::Network(NetworkEvent::BindError) => "Network bind error", EventType::Network(NetworkEvent::ReadError) => "Network read error", EventType::Network(NetworkEvent::WriteError) => "Network write error", EventType::Network(NetworkEvent::FlushError) => "Network flush error", EventType::Network(NetworkEvent::AcceptError) => "Network accept error", EventType::Network(NetworkEvent::SplitError) => "Network split error", EventType::Network(NetworkEvent::Timeout) => "Network timeout", EventType::Network(NetworkEvent::Closed) => "Network connection closed", EventType::Network(NetworkEvent::ProxyError) => "Proxy protocol error", EventType::Network(NetworkEvent::SetOptError) => "Network set option error", EventType::OutgoingReport(OutgoingReportEvent::SpfReport) => "SPF report sent", EventType::OutgoingReport(OutgoingReportEvent::SpfRateLimited) => { "SPF report rate limited" } EventType::OutgoingReport(OutgoingReportEvent::DkimReport) => "DKIM report sent", EventType::OutgoingReport(OutgoingReportEvent::DkimRateLimited) => { "DKIM report rate limited" } EventType::OutgoingReport(OutgoingReportEvent::DmarcReport) => "DMARC report sent", EventType::OutgoingReport(OutgoingReportEvent::DmarcRateLimited) => { "DMARC report rate limited" } EventType::OutgoingReport(OutgoingReportEvent::DmarcAggregateReport) => { "DMARC aggregate is being prepared" } EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate) => { "TLS aggregate report is being prepared" } EventType::OutgoingReport(OutgoingReportEvent::HttpSubmission) => { "Report submitted via HTTP" } EventType::OutgoingReport(OutgoingReportEvent::UnauthorizedReportingAddress) => { "Unauthorized reporting address" } EventType::OutgoingReport(OutgoingReportEvent::ReportingAddressValidationError) => { "Error validating reporting address" } EventType::OutgoingReport(OutgoingReportEvent::NotFound) => "Report not found", EventType::OutgoingReport(OutgoingReportEvent::SubmissionError) => { "Error submitting report" } EventType::OutgoingReport(OutgoingReportEvent::NoRecipientsFound) => { "No recipients found for report" } EventType::OutgoingReport(OutgoingReportEvent::Locked) => { "Report is locked by another process" } EventType::OutgoingReport(OutgoingReportEvent::MaxSizeExceeded) => { "Report size exceeds maximum" } EventType::Pop3(Pop3Event::ConnectionStart) => "POP3 connection started", EventType::Pop3(Pop3Event::ConnectionEnd) => "POP3 connection ended", EventType::Pop3(Pop3Event::Delete) => "POP3 DELETE command", EventType::Pop3(Pop3Event::Reset) => "POP3 RESET command", EventType::Pop3(Pop3Event::Quit) => "POP3 QUIT command", EventType::Pop3(Pop3Event::Fetch) => "POP3 FETCH command", EventType::Pop3(Pop3Event::List) => "POP3 LIST command", EventType::Pop3(Pop3Event::ListMessage) => "POP3 LIST specific message command", EventType::Pop3(Pop3Event::Uidl) => "POP3 UIDL command", EventType::Pop3(Pop3Event::UidlMessage) => "POP3 UIDL specific message command", EventType::Pop3(Pop3Event::Stat) => "POP3 STAT command", EventType::Pop3(Pop3Event::Noop) => "POP3 NOOP command", EventType::Pop3(Pop3Event::Capabilities) => "POP3 CAPABILITIES command", EventType::Pop3(Pop3Event::StartTls) => "POP3 STARTTLS command", EventType::Pop3(Pop3Event::Utf8) => "POP3 UTF8 command", EventType::Pop3(Pop3Event::Error) => "POP3 error occurred", EventType::Pop3(Pop3Event::RawInput) => "Raw POP3 input received", EventType::Pop3(Pop3Event::RawOutput) => "Raw POP3 output sent", EventType::PushSubscription(PushSubscriptionEvent::Success) => { "Push subscription successful" } EventType::PushSubscription(PushSubscriptionEvent::Error) => "Push subscription error", EventType::PushSubscription(PushSubscriptionEvent::NotFound) => { "Push subscription not found" } EventType::Queue(QueueEvent::Started) => "MTA queue started", EventType::Queue(QueueEvent::MessageQueued) => "Queued message for delivery", EventType::Queue(QueueEvent::AuthenticatedMessageQueued) => { "Queued message submission for delivery" } EventType::Queue(QueueEvent::ReportQueued) => "Queued report for delivery", EventType::Queue(QueueEvent::DsnQueued) => "Queued DSN for delivery", EventType::Queue(QueueEvent::AutogeneratedQueued) => { "Queued autogenerated message for delivery" } EventType::Queue(QueueEvent::Rescheduled) => "Message rescheduled for delivery", EventType::Queue(QueueEvent::Locked) => "Queue event is locked by another process", EventType::Queue(QueueEvent::BlobNotFound) => "Message blob not found", EventType::Queue(QueueEvent::RateLimitExceeded) => "Rate limit exceeded", EventType::Queue(QueueEvent::ConcurrencyLimitExceeded) => "Concurrency limit exceeded", EventType::Queue(QueueEvent::QuotaExceeded) => "Quota exceeded", EventType::Queue(QueueEvent::BackPressure) => "Queue backpressure detected", EventType::Registry(RegistryEvent::LocalReadError) => "Local registry read error", EventType::Registry(RegistryEvent::LocalWriteError) => "Local registry write error", EventType::Registry(RegistryEvent::LocalParseError) => "Local registry parse error", EventType::Registry(RegistryEvent::ReadError) => "Registry read error", EventType::Registry(RegistryEvent::WriteError) => "Registry write error", EventType::Registry(RegistryEvent::DeserializationError) => { "Registry deserialization error" } EventType::Registry(RegistryEvent::BuildError) => "Configuration build error", EventType::Registry(RegistryEvent::BuildWarning) => "Configuration build warning", EventType::Registry(RegistryEvent::NotSupported) => { "Operation not supported by local registry" } EventType::Registry(RegistryEvent::ValidationError) => "Object validation error", EventType::Resource(ResourceEvent::NotFound) => "Resource not found", EventType::Resource(ResourceEvent::BadParameters) => "Bad resource parameters", EventType::Resource(ResourceEvent::Error) => "Resource error", EventType::Resource(ResourceEvent::DownloadExternal) => "Downloading external resource", EventType::Resource(ResourceEvent::ApplicationUpdated) => { "Application resource updated" } EventType::Resource(ResourceEvent::ApplicationUnpacked) => { "Application resource unpacked" } EventType::Security(SecurityEvent::AuthenticationBan) => { "Banned due to authentication errors" } EventType::Security(SecurityEvent::AbuseBan) => "Banned due to abuse", EventType::Security(SecurityEvent::ScanBan) => "Banned due to scan", EventType::Security(SecurityEvent::LoiterBan) => "Banned due to loitering", EventType::Security(SecurityEvent::IpBlocked) => "Blocked IP address", EventType::Security(SecurityEvent::IpBlockExpired) => "IP block expired", EventType::Security(SecurityEvent::IpAllowExpired) => "IP allow expired", EventType::Security(SecurityEvent::IpUnauthorized) => "Unauthorized IP address", EventType::Security(SecurityEvent::Unauthorized) => "Unauthorized access", EventType::Server(ServerEvent::Startup) => "Starting INBUXA Server", EventType::Server(ServerEvent::Shutdown) => "Shutting down INBUXA Server", EventType::Server(ServerEvent::StartupError) => "Server startup error", EventType::Server(ServerEvent::ThreadError) => "Server thread error", EventType::Server(ServerEvent::Licensing) => "Server licensing event", EventType::Server(ServerEvent::RecoveryMode) => "Server started in recovery mode", EventType::Server(ServerEvent::BootstrapMode) => "Server started in bootstrap mode", EventType::Sieve(SieveEvent::ActionAccept) => "Sieve action: Accept", EventType::Sieve(SieveEvent::ActionAcceptReplace) => "Sieve action: Accept and replace", EventType::Sieve(SieveEvent::ActionDiscard) => "Sieve action: Discard", EventType::Sieve(SieveEvent::ActionReject) => "Sieve action: Reject", EventType::Sieve(SieveEvent::SendMessage) => "Sieve sending message", EventType::Sieve(SieveEvent::MessageTooLarge) => "Sieve message too large", EventType::Sieve(SieveEvent::ScriptNotFound) => "Sieve script not found", EventType::Sieve(SieveEvent::ListNotFound) => "Sieve list not found", EventType::Sieve(SieveEvent::RuntimeError) => "Sieve runtime error", EventType::Sieve(SieveEvent::UnexpectedError) => "Unexpected Sieve error", EventType::Sieve(SieveEvent::NotSupported) => "Sieve action not supported", EventType::Sieve(SieveEvent::QuotaExceeded) => "Sieve quota exceeded", EventType::Smtp(SmtpEvent::ConnectionStart) => "SMTP connection started", EventType::Smtp(SmtpEvent::ConnectionEnd) => "SMTP connection ended", EventType::Smtp(SmtpEvent::Error) => "SMTP error occurred", EventType::Smtp(SmtpEvent::IdNotFound) => "Strategy not found", EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded) => "Concurrency limit exceeded", EventType::Smtp(SmtpEvent::TransferLimitExceeded) => "Transfer limit exceeded", EventType::Smtp(SmtpEvent::RateLimitExceeded) => "Rate limit exceeded", EventType::Smtp(SmtpEvent::TimeLimitExceeded) => "Time limit exceeded", EventType::Smtp(SmtpEvent::MissingAuthDirectory) => "Missing auth directory", EventType::Smtp(SmtpEvent::MessageParseFailed) => "Message parsing failed", EventType::Smtp(SmtpEvent::MessageTooLarge) => "Message too large", EventType::Smtp(SmtpEvent::LoopDetected) => "Mail loop detected", EventType::Smtp(SmtpEvent::DkimPass) => "DKIM verification passed", EventType::Smtp(SmtpEvent::DkimFail) => "DKIM verification failed", EventType::Smtp(SmtpEvent::Dkim2Pass) => "DKIM2 verification passed", EventType::Smtp(SmtpEvent::Dkim2Fail) => "DKIM2 verification failed", EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded) => "DKIM2 DSN discarded", EventType::Smtp(SmtpEvent::ArcPass) => "ARC verification passed", EventType::Smtp(SmtpEvent::ArcFail) => "ARC verification failed", EventType::Smtp(SmtpEvent::SpfEhloPass) => "SPF EHLO check passed", EventType::Smtp(SmtpEvent::SpfEhloFail) => "SPF EHLO check failed", EventType::Smtp(SmtpEvent::SpfFromPass) => "SPF From check passed", EventType::Smtp(SmtpEvent::SpfFromFail) => "SPF From check failed", EventType::Smtp(SmtpEvent::DmarcPass) => "DMARC check passed", EventType::Smtp(SmtpEvent::DmarcFail) => "DMARC check failed", EventType::Smtp(SmtpEvent::IprevPass) => "IPREV check passed", EventType::Smtp(SmtpEvent::IprevFail) => "IPREV check failed", EventType::Smtp(SmtpEvent::TooManyMessages) => "Too many messages", EventType::Smtp(SmtpEvent::Ehlo) => "SMTP EHLO command", EventType::Smtp(SmtpEvent::InvalidEhlo) => "Invalid EHLO command", EventType::Smtp(SmtpEvent::DidNotSayEhlo) => "Client did not say EHLO", EventType::Smtp(SmtpEvent::EhloExpected) => "EHLO command expected", EventType::Smtp(SmtpEvent::LhloExpected) => "LHLO command expected", EventType::Smtp(SmtpEvent::MailFromUnauthenticated) => { "MAIL FROM without authentication" } EventType::Smtp(SmtpEvent::MailFromUnauthorized) => "MAIL FROM unauthorized", EventType::Smtp(SmtpEvent::MailFromNotAllowed) => "MAIL FROM not allowed", EventType::Smtp(SmtpEvent::MailFromRewritten) => "MAIL FROM address rewritten", EventType::Smtp(SmtpEvent::MailFromMissing) => "MAIL FROM address missing", EventType::Smtp(SmtpEvent::MailFrom) => "SMTP MAIL FROM command", EventType::Smtp(SmtpEvent::MultipleMailFrom) => "Multiple MAIL FROM commands", EventType::Smtp(SmtpEvent::MailboxDoesNotExist) => "Mailbox does not exist", EventType::Smtp(SmtpEvent::RelayNotAllowed) => "Relay not allowed", EventType::Smtp(SmtpEvent::RcptTo) => "SMTP RCPT TO command", EventType::Smtp(SmtpEvent::RcptToDuplicate) => "Duplicate RCPT TO", EventType::Smtp(SmtpEvent::RcptToRewritten) => "RCPT TO address rewritten", EventType::Smtp(SmtpEvent::RcptToMissing) => "RCPT TO address missing", EventType::Smtp(SmtpEvent::RcptToGreylisted) => "RCPT TO greylisted", EventType::Smtp(SmtpEvent::TooManyRecipients) => "Too many recipients", EventType::Smtp(SmtpEvent::TooManyInvalidRcpt) => "Too many invalid recipients", EventType::Smtp(SmtpEvent::RawInput) => "Raw SMTP input received", EventType::Smtp(SmtpEvent::RawOutput) => "Raw SMTP output sent", EventType::Smtp(SmtpEvent::MissingLocalHostname) => "Missing local hostname", EventType::Smtp(SmtpEvent::Vrfy) => "SMTP VRFY command", EventType::Smtp(SmtpEvent::VrfyNotFound) => "VRFY address not found", EventType::Smtp(SmtpEvent::VrfyDisabled) => "VRFY command disabled", EventType::Smtp(SmtpEvent::Expn) => "SMTP EXPN command", EventType::Smtp(SmtpEvent::ExpnNotFound) => "EXPN address not found", EventType::Smtp(SmtpEvent::ExpnDisabled) => "EXPN command disabled", EventType::Smtp(SmtpEvent::RequireTlsDisabled) => "REQUIRETLS extension disabled", EventType::Smtp(SmtpEvent::DeliverByDisabled) => "DELIVERBY extension disabled", EventType::Smtp(SmtpEvent::DeliverByInvalid) => "Invalid DELIVERBY parameter", EventType::Smtp(SmtpEvent::FutureReleaseDisabled) => { "FUTURE RELEASE extension disabled" } EventType::Smtp(SmtpEvent::FutureReleaseInvalid) => "Invalid FUTURE RELEASE parameter", EventType::Smtp(SmtpEvent::MtPriorityDisabled) => "MT-PRIORITY extension disabled", EventType::Smtp(SmtpEvent::MtPriorityInvalid) => "Invalid MT-PRIORITY parameter", EventType::Smtp(SmtpEvent::DsnDisabled) => "DSN extension disabled", EventType::Smtp(SmtpEvent::AuthNotAllowed) => "Authentication not allowed", EventType::Smtp(SmtpEvent::AuthMechanismNotSupported) => "Auth mechanism not supported", EventType::Smtp(SmtpEvent::AuthExchangeTooLong) => "Auth exchange too long", EventType::Smtp(SmtpEvent::AlreadyAuthenticated) => "Already authenticated", EventType::Smtp(SmtpEvent::Noop) => "SMTP NOOP command", EventType::Smtp(SmtpEvent::StartTls) => "SMTP STARTTLS command", EventType::Smtp(SmtpEvent::StartTlsUnavailable) => "STARTTLS unavailable", EventType::Smtp(SmtpEvent::StartTlsAlready) => "TLS already active", EventType::Smtp(SmtpEvent::Rset) => "SMTP RSET command", EventType::Smtp(SmtpEvent::Quit) => "SMTP QUIT command", EventType::Smtp(SmtpEvent::Help) => "SMTP HELP command", EventType::Smtp(SmtpEvent::CommandNotImplemented) => "Command not implemented", EventType::Smtp(SmtpEvent::InvalidCommand) => "Invalid command", EventType::Smtp(SmtpEvent::InvalidSenderAddress) => "Invalid sender address", EventType::Smtp(SmtpEvent::InvalidRecipientAddress) => "Invalid recipient address", EventType::Smtp(SmtpEvent::InvalidParameter) => "Invalid parameter", EventType::Smtp(SmtpEvent::UnsupportedParameter) => "Unsupported parameter", EventType::Smtp(SmtpEvent::SyntaxError) => "Syntax error", EventType::Smtp(SmtpEvent::RequestTooLarge) => "Request too large", EventType::Spam(SpamEvent::Pyzor) => "Pyzor success", EventType::Spam(SpamEvent::PyzorError) => "Pyzor error", EventType::Spam(SpamEvent::Dnsbl) => "DNSBL query", EventType::Spam(SpamEvent::DnsblError) => "Error querying DNSBL", EventType::Spam(SpamEvent::TrainStarted) => "Spam classifier training started", EventType::Spam(SpamEvent::TrainCompleted) => "Spam classifier training completed", EventType::Spam(SpamEvent::TrainSampleAdded) => "New training sample added", EventType::Spam(SpamEvent::TrainSampleNotFound) => "Training sample not found", EventType::Spam(SpamEvent::Classify) => "Classifying message for spam", EventType::Spam(SpamEvent::ModelLoaded) => "Spam classifier model loaded", EventType::Spam(SpamEvent::ModelNotReady) => "Spam classifier model not ready", EventType::Spam(SpamEvent::ModelNotFound) => "Spam classifier model not found", EventType::Spam(SpamEvent::RulesUpdated) => "Spam filter rules updated", EventType::Spf(SpfEvent::Pass) => "SPF check passed", EventType::Spf(SpfEvent::Fail) => "SPF check failed", EventType::Spf(SpfEvent::SoftFail) => "SPF soft fail", EventType::Spf(SpfEvent::Neutral) => "SPF neutral result", EventType::Spf(SpfEvent::TempError) => "SPF temporary error", EventType::Spf(SpfEvent::PermError) => "SPF permanent error", EventType::Spf(SpfEvent::None) => "No SPF record", EventType::Store(StoreEvent::AssertValueFailed) => { "Another process modified the record" } EventType::Store(StoreEvent::FoundationdbError) => "FoundationDB error", EventType::Store(StoreEvent::MysqlError) => "MySQL error", EventType::Store(StoreEvent::PostgresqlError) => "PostgreSQL error", EventType::Store(StoreEvent::RocksdbError) => "RocksDB error", EventType::Store(StoreEvent::SqliteError) => "SQLite error", EventType::Store(StoreEvent::LdapError) => "LDAP error", EventType::Store(StoreEvent::ElasticsearchError) => "ElasticSearch error", EventType::Store(StoreEvent::MeilisearchError) => "Meilisearch error", EventType::Store(StoreEvent::RedisError) => "Redis error", EventType::Store(StoreEvent::S3Error) => "S3 error", EventType::Store(StoreEvent::AzureError) => "Azure error", EventType::Store(StoreEvent::FilesystemError) => "Filesystem error", EventType::Store(StoreEvent::PoolError) => "Connection pool error", EventType::Store(StoreEvent::DataCorruption) => "Data corruption detected", EventType::Store(StoreEvent::DecompressError) => "Decompression error", EventType::Store(StoreEvent::DeserializeError) => "Deserialization error", EventType::Store(StoreEvent::NotFound) => "Record not found in database", EventType::Store(StoreEvent::NotConfigured) => "Store not configured", EventType::Store(StoreEvent::NotSupported) => "Operation not supported by store", EventType::Store(StoreEvent::UnexpectedError) => "Unexpected store error", EventType::Store(StoreEvent::CryptoError) => "Store crypto error", EventType::Store(StoreEvent::HttpStoreError) => "Error updating HTTP store", EventType::Store(StoreEvent::CacheMiss) => "Cache miss", EventType::Store(StoreEvent::CacheHit) => "Cache hit", EventType::Store(StoreEvent::CacheStale) => "Cache is stale", EventType::Store(StoreEvent::CacheUpdate) => "Cache update", EventType::Store(StoreEvent::CacheEntryTooLarge) => "Cache entry too large", EventType::Store(StoreEvent::BlobMissingMarker) => "Blob missing marker", EventType::Store(StoreEvent::DataWrite) => "Write batch operation", EventType::Store(StoreEvent::DataIterate) => "Data store iteration operation", EventType::Store(StoreEvent::BlobRead) => "Blob read operation", EventType::Store(StoreEvent::BlobWrite) => "Blob write operation", EventType::Store(StoreEvent::BlobDelete) => "Blob delete operation", EventType::Store(StoreEvent::SqlQuery) => "SQL query executed", EventType::Store(StoreEvent::LdapQuery) => "LDAP query executed", EventType::Store(StoreEvent::LdapWarning) => "LDAP authentication warning", EventType::Store(StoreEvent::HttpStoreFetch) => "HTTP store updated", EventType::Store(StoreEvent::AutoExpunge) => "Auto-expunge executed", EventType::Store(StoreEvent::BlobStorePurged) => "Blob store purge completed", EventType::Store(StoreEvent::DataStorePurged) => "Data store purge completed", EventType::TaskManager(TaskManagerEvent::TaskAcquired) => "Task acquired from queue", EventType::TaskManager(TaskManagerEvent::TaskQueued) => "Task queued for processing", EventType::TaskManager(TaskManagerEvent::TaskScheduled) => { "Task scheduled for future execution" } EventType::TaskManager(TaskManagerEvent::TaskLocked) => { "Task is locked by another process" } EventType::TaskManager(TaskManagerEvent::TaskIgnored) => { "Task ignored based on current server roles" } EventType::TaskManager(TaskManagerEvent::TaskFailed) => "Task failed during processing", EventType::TaskManager(TaskManagerEvent::TaskRetry) => "Task will be retried", EventType::TaskManager(TaskManagerEvent::BlobNotFound) => "Blob not found for task", EventType::TaskManager(TaskManagerEvent::MetadataNotFound) => { "Metadata not found for task" } EventType::TaskManager(TaskManagerEvent::SchedulerStarted) => "Task scheduler started", EventType::TaskManager(TaskManagerEvent::ManagerStarted) => "Task manager started", EventType::Telemetry(TelemetryEvent::AlertEvent) => "Alert event triggered", EventType::Telemetry(TelemetryEvent::AlertMessage) => "Alert message sent", EventType::Telemetry(TelemetryEvent::LogError) => "Log collector error", EventType::Telemetry(TelemetryEvent::WebhookError) => "Webhook collector error", EventType::Telemetry(TelemetryEvent::OtelExporterError) => { "OpenTelemetry exporter error" } EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError) => { "OpenTelemetry metrics exporter error" } EventType::Telemetry(TelemetryEvent::PrometheusExporterError) => { "Prometheus exporter error" } EventType::Telemetry(TelemetryEvent::JournalError) => "Journal collector error", EventType::Telemetry(TelemetryEvent::MetricsCollected) => "Metrics collected", EventType::Telemetry(TelemetryEvent::MetricsStored) => "Metric store", EventType::Telemetry(TelemetryEvent::MetricsPushed) => "Metrics pushed", EventType::Tls(TlsEvent::Handshake) => "TLS handshake", EventType::Tls(TlsEvent::HandshakeError) => "TLS handshake error", EventType::Tls(TlsEvent::NotConfigured) => "TLS not configured", EventType::Tls(TlsEvent::CertificateNotFound) => "TLS certificate not found", EventType::Tls(TlsEvent::NoCertificatesAvailable) => "No TLS certificates available", EventType::Tls(TlsEvent::MultipleCertificatesAvailable) => { "Multiple TLS certificates available" } EventType::Tls(TlsEvent::ExpiredCertificateRemoved) => { "Certificate expired and removed" } EventType::TlsRpt(TlsRptEvent::RecordFetch) => "Fetched TLS-RPT record", EventType::TlsRpt(TlsRptEvent::RecordFetchError) => "Error fetching TLS-RPT record", EventType::TlsRpt(TlsRptEvent::RecordNotFound) => "TLS-RPT record not found", EventType::WebDav(WebDavEvent::Propfind) => "WebDAV PROPFIND request", EventType::WebDav(WebDavEvent::Proppatch) => "WebDAV PROPPATCH request", EventType::WebDav(WebDavEvent::Get) => "WebDAV GET request", EventType::WebDav(WebDavEvent::Head) => "WebDAV HEAD request", EventType::WebDav(WebDavEvent::Report) => "WebDAV REPORT request", EventType::WebDav(WebDavEvent::Mkcol) => "WebDAV MKCOL request", EventType::WebDav(WebDavEvent::Mkcalendar) => "WebDAV MKCALENDAR request", EventType::WebDav(WebDavEvent::Delete) => "WebDAV DELETE request", EventType::WebDav(WebDavEvent::Put) => "WebDAV PUT request", EventType::WebDav(WebDavEvent::Post) => "WebDAV POST request", EventType::WebDav(WebDavEvent::Patch) => "WebDAV PATCH request", EventType::WebDav(WebDavEvent::Copy) => "WebDAV COPY request", EventType::WebDav(WebDavEvent::Move) => "WebDAV MOVE request", EventType::WebDav(WebDavEvent::Lock) => "WebDAV LOCK request", EventType::WebDav(WebDavEvent::Unlock) => "WebDAV UNLOCK request", EventType::WebDav(WebDavEvent::Acl) => "WebDAV ACL request", EventType::WebDav(WebDavEvent::Options) => "WebDAV OPTIONS request", EventType::WebDav(WebDavEvent::Error) => "WebDAV error", } } pub fn message(&self) -> &'static str { match self { EventType::Auth(AuthEvent::Success) => "Authentication error", EventType::Auth(AuthEvent::Failed) => "Authentication failed", EventType::Auth(AuthEvent::TokenExpired) => "Authentication error", EventType::Auth(AuthEvent::MfaRequired) => { "This account requires multi-factor authentication. Alternatively, you can use an app password if your account has one." } EventType::Auth(AuthEvent::TooManyAttempts) => "Too many authentication attempts", EventType::Auth(AuthEvent::ClientRegistration) => "Authentication error", EventType::Auth(AuthEvent::Error) => "Authentication error", EventType::Auth(AuthEvent::CredentialExpired) => "Credential expired", EventType::Imap(ImapEvent::ConnectionStart) => "IMAP error", EventType::Imap(ImapEvent::ConnectionEnd) => "IMAP error", EventType::Imap(ImapEvent::GetAcl) => "IMAP error", EventType::Imap(ImapEvent::SetAcl) => "IMAP error", EventType::Imap(ImapEvent::MyRights) => "IMAP error", EventType::Imap(ImapEvent::ListRights) => "IMAP error", EventType::Imap(ImapEvent::Append) => "IMAP error", EventType::Imap(ImapEvent::Capabilities) => "IMAP error", EventType::Imap(ImapEvent::Id) => "IMAP error", EventType::Imap(ImapEvent::Close) => "IMAP error", EventType::Imap(ImapEvent::Copy) => "IMAP error", EventType::Imap(ImapEvent::Move) => "IMAP error", EventType::Imap(ImapEvent::CreateMailbox) => "IMAP error", EventType::Imap(ImapEvent::DeleteMailbox) => "IMAP error", EventType::Imap(ImapEvent::RenameMailbox) => "IMAP error", EventType::Imap(ImapEvent::Enable) => "IMAP error", EventType::Imap(ImapEvent::Expunge) => "IMAP error", EventType::Imap(ImapEvent::Fetch) => "IMAP error", EventType::Imap(ImapEvent::IdleStart) => "IMAP error", EventType::Imap(ImapEvent::IdleStop) => "IMAP error", EventType::Imap(ImapEvent::List) => "IMAP error", EventType::Imap(ImapEvent::Lsub) => "IMAP error", EventType::Imap(ImapEvent::Logout) => "IMAP error", EventType::Imap(ImapEvent::Namespace) => "IMAP error", EventType::Imap(ImapEvent::Noop) => "IMAP error", EventType::Imap(ImapEvent::Search) => "IMAP error", EventType::Imap(ImapEvent::Sort) => "IMAP error", EventType::Imap(ImapEvent::Select) => "IMAP error", EventType::Imap(ImapEvent::Status) => "IMAP error", EventType::Imap(ImapEvent::Store) => "IMAP error", EventType::Imap(ImapEvent::Subscribe) => "IMAP error", EventType::Imap(ImapEvent::Unsubscribe) => "IMAP error", EventType::Imap(ImapEvent::Thread) => "IMAP error", EventType::Imap(ImapEvent::UidBatches) => "IMAP error", EventType::Imap(ImapEvent::GetQuota) => "IMAP error", EventType::Imap(ImapEvent::Error) => "IMAP error", EventType::Imap(ImapEvent::RawInput) => "IMAP error", EventType::Imap(ImapEvent::RawOutput) => "IMAP error", EventType::Jmap(JmapEvent::MethodCall) => "Other message", EventType::Jmap(JmapEvent::InvalidArguments) => "Invalid arguments", EventType::Jmap(JmapEvent::RequestTooLarge) => "Request too large", EventType::Jmap(JmapEvent::StateMismatch) => "State mismatch", EventType::Jmap(JmapEvent::AnchorNotFound) => "Anchor not found", EventType::Jmap(JmapEvent::UnsupportedFilter) => "Unsupported filter", EventType::Jmap(JmapEvent::UnsupportedSort) => "Unsupported sort", EventType::Jmap(JmapEvent::UnknownMethod) => "Unknown method", EventType::Jmap(JmapEvent::InvalidResultReference) => "Invalid result reference", EventType::Jmap(JmapEvent::Forbidden) => "Forbidden", EventType::Jmap(JmapEvent::AccountNotFound) => "Account not found", EventType::Jmap(JmapEvent::AccountNotSupportedByMethod) => { "Account not supported by method" } EventType::Jmap(JmapEvent::AccountReadOnly) => "Account read-only", EventType::Jmap(JmapEvent::NotFound) => "Not found", EventType::Jmap(JmapEvent::CannotCalculateChanges) => "Cannot calculate changes", EventType::Jmap(JmapEvent::UnknownDataType) => "Unknown data type", EventType::Jmap(JmapEvent::UnknownCapability) => "Unknown capability", EventType::Jmap(JmapEvent::NotJson) => "Not JSON", EventType::Jmap(JmapEvent::NotRequest) => "Not a request", EventType::Jmap(JmapEvent::WebsocketStart) => "Other message", EventType::Jmap(JmapEvent::WebsocketStop) => "Other message", EventType::Jmap(JmapEvent::WebsocketError) => "Other message", EventType::Limit(LimitEvent::SizeRequest) => "Request too large", EventType::Limit(LimitEvent::SizeUpload) => "Upload too large", EventType::Limit(LimitEvent::CallsIn) => "Too many calls in", EventType::Limit(LimitEvent::ConcurrentRequest) => "Too many concurrent requests", EventType::Limit(LimitEvent::ConcurrentUpload) => "Too many concurrent uploads", EventType::Limit(LimitEvent::ConcurrentConnection) => "Too many concurrent connections", EventType::Limit(LimitEvent::Quota) => "Quota exceeded", EventType::Limit(LimitEvent::BlobQuota) => "Blob quota exceeded", EventType::Limit(LimitEvent::TenantQuota) => "Tenant quota exceeded", EventType::Limit(LimitEvent::TooManyRequests) => "Too many requests", EventType::ManageSieve(ManageSieveEvent::ConnectionStart) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::ConnectionEnd) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::CreateScript) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::UpdateScript) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::GetScript) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::DeleteScript) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::RenameScript) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::CheckScript) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::HaveSpace) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::ListScripts) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::SetActive) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::Capabilities) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::StartTls) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::Unauthenticate) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::Logout) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::Noop) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::Error) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::RawInput) => "ManageSieve error", EventType::ManageSieve(ManageSieveEvent::RawOutput) => "ManageSieve error", EventType::Network(NetworkEvent::ListenStart) => "Network error", EventType::Network(NetworkEvent::ListenStop) => "Network error", EventType::Network(NetworkEvent::ListenError) => "Network error", EventType::Network(NetworkEvent::BindError) => "Network error", EventType::Network(NetworkEvent::ReadError) => "Network error", EventType::Network(NetworkEvent::WriteError) => "Network error", EventType::Network(NetworkEvent::FlushError) => "Network error", EventType::Network(NetworkEvent::AcceptError) => "Network error", EventType::Network(NetworkEvent::SplitError) => "Network error", EventType::Network(NetworkEvent::Timeout) => "Network error", EventType::Network(NetworkEvent::Closed) => "Network error", EventType::Network(NetworkEvent::ProxyError) => "Network error", EventType::Network(NetworkEvent::SetOptError) => "Network error", EventType::Pop3(Pop3Event::ConnectionStart) => "POP3 error", EventType::Pop3(Pop3Event::ConnectionEnd) => "POP3 error", EventType::Pop3(Pop3Event::Delete) => "POP3 error", EventType::Pop3(Pop3Event::Reset) => "POP3 error", EventType::Pop3(Pop3Event::Quit) => "POP3 error", EventType::Pop3(Pop3Event::Fetch) => "POP3 error", EventType::Pop3(Pop3Event::List) => "POP3 error", EventType::Pop3(Pop3Event::ListMessage) => "POP3 error", EventType::Pop3(Pop3Event::Uidl) => "POP3 error", EventType::Pop3(Pop3Event::UidlMessage) => "POP3 error", EventType::Pop3(Pop3Event::Stat) => "POP3 error", EventType::Pop3(Pop3Event::Noop) => "POP3 error", EventType::Pop3(Pop3Event::Capabilities) => "POP3 error", EventType::Pop3(Pop3Event::StartTls) => "POP3 error", EventType::Pop3(Pop3Event::Utf8) => "POP3 error", EventType::Pop3(Pop3Event::Error) => "POP3 error", EventType::Pop3(Pop3Event::RawInput) => "POP3 error", EventType::Pop3(Pop3Event::RawOutput) => "POP3 error", EventType::Resource(ResourceEvent::NotFound) => "Not found", EventType::Resource(ResourceEvent::BadParameters) => "Bad parameters", EventType::Resource(ResourceEvent::Error) => "Resource error", EventType::Resource(ResourceEvent::DownloadExternal) => "Other status", EventType::Security(SecurityEvent::AuthenticationBan) => "Insufficient permissions", EventType::Security(SecurityEvent::AbuseBan) => "Insufficient permissions", EventType::Security(SecurityEvent::ScanBan) => "Insufficient permissions", EventType::Security(SecurityEvent::LoiterBan) => "Insufficient permissions", EventType::Security(SecurityEvent::IpBlocked) => "Insufficient permissions", EventType::Security(SecurityEvent::IpBlockExpired) => "Insufficient permissions", EventType::Security(SecurityEvent::IpAllowExpired) => "Insufficient permissions", EventType::Security(SecurityEvent::IpUnauthorized) => "Unauthorized IP address", EventType::Security(SecurityEvent::Unauthorized) => "Insufficient permissions", EventType::Smtp(SmtpEvent::ConnectionStart) => "SMTP error", EventType::Smtp(SmtpEvent::ConnectionEnd) => "SMTP error", EventType::Smtp(SmtpEvent::Error) => "SMTP error", EventType::Smtp(SmtpEvent::IdNotFound) => "SMTP error", EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded) => "SMTP error", EventType::Smtp(SmtpEvent::TransferLimitExceeded) => "SMTP error", EventType::Smtp(SmtpEvent::RateLimitExceeded) => "SMTP error", EventType::Smtp(SmtpEvent::TimeLimitExceeded) => "SMTP error", EventType::Smtp(SmtpEvent::MissingAuthDirectory) => "SMTP error", EventType::Smtp(SmtpEvent::MessageParseFailed) => "SMTP error", EventType::Smtp(SmtpEvent::MessageTooLarge) => "SMTP error", EventType::Smtp(SmtpEvent::LoopDetected) => "SMTP error", EventType::Smtp(SmtpEvent::DkimPass) => "SMTP error", EventType::Smtp(SmtpEvent::DkimFail) => "SMTP error", EventType::Smtp(SmtpEvent::Dkim2Pass) => "SMTP error", EventType::Smtp(SmtpEvent::Dkim2Fail) => "SMTP error", EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded) => "SMTP error", EventType::Smtp(SmtpEvent::ArcPass) => "SMTP error", EventType::Smtp(SmtpEvent::ArcFail) => "SMTP error", EventType::Smtp(SmtpEvent::SpfEhloPass) => "SMTP error", EventType::Smtp(SmtpEvent::SpfEhloFail) => "SMTP error", EventType::Smtp(SmtpEvent::SpfFromPass) => "SMTP error", EventType::Smtp(SmtpEvent::SpfFromFail) => "SMTP error", EventType::Smtp(SmtpEvent::DmarcPass) => "SMTP error", EventType::Smtp(SmtpEvent::DmarcFail) => "SMTP error", EventType::Smtp(SmtpEvent::IprevPass) => "SMTP error", EventType::Smtp(SmtpEvent::IprevFail) => "SMTP error", EventType::Smtp(SmtpEvent::TooManyMessages) => "SMTP error", EventType::Smtp(SmtpEvent::Ehlo) => "SMTP error", EventType::Smtp(SmtpEvent::InvalidEhlo) => "SMTP error", EventType::Smtp(SmtpEvent::DidNotSayEhlo) => "SMTP error", EventType::Smtp(SmtpEvent::EhloExpected) => "SMTP error", EventType::Smtp(SmtpEvent::LhloExpected) => "SMTP error", EventType::Smtp(SmtpEvent::MailFromUnauthenticated) => "SMTP error", EventType::Smtp(SmtpEvent::MailFromUnauthorized) => "SMTP error", EventType::Smtp(SmtpEvent::MailFromNotAllowed) => "SMTP error", EventType::Smtp(SmtpEvent::MailFromRewritten) => "SMTP error", EventType::Smtp(SmtpEvent::MailFromMissing) => "SMTP error", EventType::Smtp(SmtpEvent::MailFrom) => "SMTP error", EventType::Smtp(SmtpEvent::MultipleMailFrom) => "SMTP error", EventType::Smtp(SmtpEvent::MailboxDoesNotExist) => "SMTP error", EventType::Smtp(SmtpEvent::RelayNotAllowed) => "SMTP error", EventType::Smtp(SmtpEvent::RcptTo) => "SMTP error", EventType::Smtp(SmtpEvent::RcptToDuplicate) => "SMTP error", EventType::Smtp(SmtpEvent::RcptToRewritten) => "SMTP error", EventType::Smtp(SmtpEvent::RcptToMissing) => "SMTP error", EventType::Smtp(SmtpEvent::RcptToGreylisted) => "SMTP error", EventType::Smtp(SmtpEvent::TooManyRecipients) => "SMTP error", EventType::Smtp(SmtpEvent::TooManyInvalidRcpt) => "SMTP error", EventType::Smtp(SmtpEvent::RawInput) => "SMTP error", EventType::Smtp(SmtpEvent::RawOutput) => "SMTP error", EventType::Smtp(SmtpEvent::MissingLocalHostname) => "SMTP error", EventType::Smtp(SmtpEvent::Vrfy) => "SMTP error", EventType::Smtp(SmtpEvent::VrfyNotFound) => "SMTP error", EventType::Smtp(SmtpEvent::VrfyDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::Expn) => "SMTP error", EventType::Smtp(SmtpEvent::ExpnNotFound) => "SMTP error", EventType::Smtp(SmtpEvent::ExpnDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::RequireTlsDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::DeliverByDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::DeliverByInvalid) => "SMTP error", EventType::Smtp(SmtpEvent::FutureReleaseDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::FutureReleaseInvalid) => "SMTP error", EventType::Smtp(SmtpEvent::MtPriorityDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::MtPriorityInvalid) => "SMTP error", EventType::Smtp(SmtpEvent::DsnDisabled) => "SMTP error", EventType::Smtp(SmtpEvent::AuthNotAllowed) => "SMTP error", EventType::Smtp(SmtpEvent::AuthMechanismNotSupported) => "SMTP error", EventType::Smtp(SmtpEvent::AuthExchangeTooLong) => "SMTP error", EventType::Smtp(SmtpEvent::AlreadyAuthenticated) => "SMTP error", EventType::Smtp(SmtpEvent::Noop) => "SMTP error", EventType::Smtp(SmtpEvent::StartTls) => "SMTP error", EventType::Smtp(SmtpEvent::StartTlsUnavailable) => "SMTP error", EventType::Smtp(SmtpEvent::StartTlsAlready) => "SMTP error", EventType::Smtp(SmtpEvent::Rset) => "SMTP error", EventType::Smtp(SmtpEvent::Quit) => "SMTP error", EventType::Smtp(SmtpEvent::Help) => "SMTP error", EventType::Smtp(SmtpEvent::CommandNotImplemented) => "SMTP error", EventType::Smtp(SmtpEvent::InvalidCommand) => "SMTP error", EventType::Smtp(SmtpEvent::InvalidSenderAddress) => "SMTP error", EventType::Smtp(SmtpEvent::InvalidRecipientAddress) => "SMTP error", EventType::Smtp(SmtpEvent::InvalidParameter) => "SMTP error", EventType::Smtp(SmtpEvent::UnsupportedParameter) => "SMTP error", EventType::Smtp(SmtpEvent::SyntaxError) => "SMTP error", EventType::Smtp(SmtpEvent::RequestTooLarge) => "SMTP error", EventType::Store(StoreEvent::AssertValueFailed) => { "Another process has modified the value" } EventType::Store(StoreEvent::FoundationdbError) => "FoundationDB error", EventType::Store(StoreEvent::MysqlError) => "MySQL error", EventType::Store(StoreEvent::PostgresqlError) => "PostgreSQL error", EventType::Store(StoreEvent::RocksdbError) => "RocksDB error", EventType::Store(StoreEvent::SqliteError) => "SQLite error", EventType::Store(StoreEvent::LdapError) => "LDAP error", EventType::Store(StoreEvent::ElasticsearchError) => "ElasticSearch error", EventType::Store(StoreEvent::MeilisearchError) => "Store error", EventType::Store(StoreEvent::RedisError) => "Redis error", EventType::Store(StoreEvent::S3Error) => "S3 error", EventType::Store(StoreEvent::AzureError) => "Azure error", EventType::Store(StoreEvent::FilesystemError) => "Filesystem error", EventType::Store(StoreEvent::PoolError) => "Connection pool error", EventType::Store(StoreEvent::DataCorruption) => "Data corruption", EventType::Store(StoreEvent::DecompressError) => "Decompression error", EventType::Store(StoreEvent::DeserializeError) => "Deserialization error", EventType::Store(StoreEvent::NotFound) => "Not found", EventType::Store(StoreEvent::NotConfigured) => "Not configured", EventType::Store(StoreEvent::NotSupported) => "Operation not supported", EventType::Store(StoreEvent::UnexpectedError) => "Unexpected error", EventType::Store(StoreEvent::CryptoError) => "Crypto error", EventType::Store(StoreEvent::HttpStoreError) => "Store error", EventType::Store(StoreEvent::CacheMiss) => "Store error", EventType::Store(StoreEvent::CacheHit) => "Store error", EventType::Store(StoreEvent::CacheStale) => "Store error", EventType::Store(StoreEvent::CacheUpdate) => "Store error", EventType::Store(StoreEvent::CacheEntryTooLarge) => "Cache entry too large to store", EventType::Store(StoreEvent::BlobMissingMarker) => "Blob is missing marker", EventType::Store(StoreEvent::DataWrite) => "Store error", EventType::Store(StoreEvent::DataIterate) => "Store error", EventType::Store(StoreEvent::BlobRead) => "Store error", EventType::Store(StoreEvent::BlobWrite) => "Store error", EventType::Store(StoreEvent::BlobDelete) => "Store error", EventType::Store(StoreEvent::SqlQuery) => "Store error", EventType::Store(StoreEvent::LdapQuery) => "Store error", EventType::Store(StoreEvent::LdapWarning) => "Store error", EventType::Store(StoreEvent::HttpStoreFetch) => "Store error", _ => "Internal Server Error", } } pub const fn variants() -> &'static [Self] { &[ EventType::Acme(AcmeEvent::AuthStart), EventType::Acme(AcmeEvent::AuthPending), EventType::Acme(AcmeEvent::AuthValid), EventType::Acme(AcmeEvent::AuthCompleted), EventType::Acme(AcmeEvent::AuthError), EventType::Acme(AcmeEvent::AuthTooManyAttempts), EventType::Acme(AcmeEvent::ProcessCert), EventType::Acme(AcmeEvent::OrderStart), EventType::Acme(AcmeEvent::OrderProcessing), EventType::Acme(AcmeEvent::OrderCompleted), EventType::Acme(AcmeEvent::OrderReady), EventType::Acme(AcmeEvent::OrderValid), EventType::Acme(AcmeEvent::OrderInvalid), EventType::Acme(AcmeEvent::RenewBackoff), EventType::Acme(AcmeEvent::ClientSuppliedSni), EventType::Acme(AcmeEvent::ClientMissingSni), EventType::Acme(AcmeEvent::TlsAlpnReceived), EventType::Acme(AcmeEvent::TlsAlpnError), EventType::Acme(AcmeEvent::TokenNotFound), EventType::Acme(AcmeEvent::Error), EventType::Ai(AiEvent::LlmResponse), EventType::Ai(AiEvent::ApiError), // inbuxa: SCIM-54 EventType::Scim(ScimEvent::ResourceCreated), EventType::Scim(ScimEvent::ResourceUpdated), EventType::Scim(ScimEvent::ResourceSuspended), EventType::Scim(ScimEvent::ResourceReactivated), EventType::Scim(ScimEvent::ResourceDeleted), EventType::Arc(ArcEvent::ChainTooLong), EventType::Arc(ArcEvent::InvalidInstance), EventType::Arc(ArcEvent::InvalidCv), EventType::Arc(ArcEvent::HasHeaderTag), EventType::Arc(ArcEvent::BrokenChain), EventType::Arc(ArcEvent::SealerNotFound), EventType::Auth(AuthEvent::Success), EventType::Auth(AuthEvent::Failed), EventType::Auth(AuthEvent::TokenExpired), EventType::Auth(AuthEvent::MfaRequired), EventType::Auth(AuthEvent::TooManyAttempts), EventType::Auth(AuthEvent::ClientRegistration), EventType::Auth(AuthEvent::Error), EventType::Auth(AuthEvent::Warning), EventType::Auth(AuthEvent::CredentialExpired), EventType::Calendar(CalendarEvent::RuleExpansionError), EventType::Calendar(CalendarEvent::AlarmSent), EventType::Calendar(CalendarEvent::AlarmSkipped), EventType::Calendar(CalendarEvent::AlarmRecipientOverride), EventType::Calendar(CalendarEvent::AlarmFailed), EventType::Calendar(CalendarEvent::ItipMessageSent), EventType::Calendar(CalendarEvent::ItipMessageReceived), EventType::Calendar(CalendarEvent::ItipMessageError), EventType::Cluster(ClusterEvent::Startup), EventType::Cluster(ClusterEvent::SubscriberStart), EventType::Cluster(ClusterEvent::SubscriberStop), EventType::Cluster(ClusterEvent::SubscriberError), EventType::Cluster(ClusterEvent::SubscriberDisconnected), EventType::Cluster(ClusterEvent::PublisherStart), EventType::Cluster(ClusterEvent::PublisherStop), EventType::Cluster(ClusterEvent::PublisherError), EventType::Cluster(ClusterEvent::MessageReceived), EventType::Cluster(ClusterEvent::MessageSkipped), EventType::Cluster(ClusterEvent::MessageInvalid), EventType::Cluster(ClusterEvent::NodeIdRenewed), EventType::Dane(DaneEvent::AuthenticationSuccess), EventType::Dane(DaneEvent::AuthenticationFailure), EventType::Dane(DaneEvent::NoCertificatesFound), EventType::Dane(DaneEvent::CertificateParseError), EventType::Dane(DaneEvent::TlsaRecordMatch), EventType::Dane(DaneEvent::TlsaRecordFetch), EventType::Dane(DaneEvent::TlsaRecordFetchError), EventType::Dane(DaneEvent::TlsaRecordNotFound), EventType::Dane(DaneEvent::TlsaRecordNotDnssecSigned), EventType::Dane(DaneEvent::TlsaRecordInvalid), EventType::Dane(DaneEvent::BogusDnssecRecord), EventType::Delivery(DeliveryEvent::AttemptStart), EventType::Delivery(DeliveryEvent::AttemptEnd), EventType::Delivery(DeliveryEvent::Completed), EventType::Delivery(DeliveryEvent::Failed), EventType::Delivery(DeliveryEvent::DomainDeliveryStart), EventType::Delivery(DeliveryEvent::MxLookup), EventType::Delivery(DeliveryEvent::MxLookupFailed), EventType::Delivery(DeliveryEvent::IpLookup), EventType::Delivery(DeliveryEvent::IpLookupFailed), EventType::Delivery(DeliveryEvent::NullMx), EventType::Delivery(DeliveryEvent::Connect), EventType::Delivery(DeliveryEvent::ConnectError), EventType::Delivery(DeliveryEvent::MissingOutboundHostname), EventType::Delivery(DeliveryEvent::GreetingFailed), EventType::Delivery(DeliveryEvent::Ehlo), EventType::Delivery(DeliveryEvent::EhloRejected), EventType::Delivery(DeliveryEvent::Auth), EventType::Delivery(DeliveryEvent::AuthFailed), EventType::Delivery(DeliveryEvent::MailFrom), EventType::Delivery(DeliveryEvent::MailFromRejected), EventType::Delivery(DeliveryEvent::Delivered), EventType::Delivery(DeliveryEvent::RcptTo), EventType::Delivery(DeliveryEvent::RcptToRejected), EventType::Delivery(DeliveryEvent::RcptToFailed), EventType::Delivery(DeliveryEvent::MessageRejected), EventType::Delivery(DeliveryEvent::StartTls), EventType::Delivery(DeliveryEvent::StartTlsUnavailable), EventType::Delivery(DeliveryEvent::StartTlsError), EventType::Delivery(DeliveryEvent::StartTlsDisabled), EventType::Delivery(DeliveryEvent::ImplicitTlsError), EventType::Delivery(DeliveryEvent::ConcurrencyLimitExceeded), EventType::Delivery(DeliveryEvent::RateLimitExceeded), EventType::Delivery(DeliveryEvent::DoubleBounce), EventType::Delivery(DeliveryEvent::DsnSuccess), EventType::Delivery(DeliveryEvent::DsnTempFail), EventType::Delivery(DeliveryEvent::DsnPermFail), EventType::Delivery(DeliveryEvent::RawInput), EventType::Delivery(DeliveryEvent::RawOutput), EventType::Dkim(DkimEvent::Pass), EventType::Dkim(DkimEvent::Neutral), EventType::Dkim(DkimEvent::Fail), EventType::Dkim(DkimEvent::PermError), EventType::Dkim(DkimEvent::TempError), EventType::Dkim(DkimEvent::None), EventType::Dkim(DkimEvent::UnsupportedVersion), EventType::Dkim(DkimEvent::UnsupportedAlgorithm), EventType::Dkim(DkimEvent::UnsupportedCanonicalization), EventType::Dkim(DkimEvent::UnsupportedKeyType), EventType::Dkim(DkimEvent::FailedBodyHashMatch), EventType::Dkim(DkimEvent::FailedVerification), EventType::Dkim(DkimEvent::FailedAuidMatch), EventType::Dkim(DkimEvent::RevokedPublicKey), EventType::Dkim(DkimEvent::IncompatibleAlgorithms), EventType::Dkim(DkimEvent::SignatureExpired), EventType::Dkim(DkimEvent::SignatureLength), EventType::Dkim(DkimEvent::SignerNotFound), EventType::Dkim(DkimEvent::BuildError), EventType::Dkim(DkimEvent::SignatureCreated), EventType::Dkim(DkimEvent::SignaturePublished), EventType::Dkim(DkimEvent::SignatureRetiring), EventType::Dkim(DkimEvent::SignatureRetired), EventType::Dkim(DkimEvent::SignatureDeleted), EventType::Dkim(DkimEvent::InstanceMissing), EventType::Dkim(DkimEvent::InstanceSyntax), EventType::Dkim(DkimEvent::InstanceTagMissing), EventType::Dkim(DkimEvent::InstanceNotSigned), EventType::Dkim(DkimEvent::InstanceAboveSignature), EventType::Dkim(DkimEvent::SignatureMissing), EventType::Dkim(DkimEvent::SignatureSyntax), EventType::Dkim(DkimEvent::SignatureTagMissing), EventType::Dkim(DkimEvent::SignatureTagUnexpected), EventType::Dkim(DkimEvent::SequenceGap), EventType::Dkim(DkimEvent::SequenceOverflow), EventType::Dkim(DkimEvent::ChainTooLong), EventType::Dkim(DkimEvent::MailFromMismatch), EventType::Dkim(DkimEvent::RcptToMismatch), EventType::Dkim(DkimEvent::MailFromDomainMismatch), EventType::Dkim(DkimEvent::NextDomainMismatch), EventType::Dkim(DkimEvent::CustodyBreak), EventType::Dkim(DkimEvent::PublicKeyFetch), EventType::Dkim(DkimEvent::PublicKeyMissing), EventType::Dkim(DkimEvent::PublicKeyMultiple), EventType::Dkim(DkimEvent::PublicKeySyntax), EventType::Dkim(DkimEvent::PublicKeyAlgorithmMismatch), EventType::Dkim(DkimEvent::NoValidAlgorithm), EventType::Dkim(DkimEvent::HeaderHashMismatch), EventType::Dkim(DkimEvent::Modified), EventType::Dkim(DkimEvent::Exploded), EventType::Dmarc(DmarcEvent::Pass), EventType::Dmarc(DmarcEvent::Fail), EventType::Dmarc(DmarcEvent::PermError), EventType::Dmarc(DmarcEvent::TempError), EventType::Dmarc(DmarcEvent::None), EventType::Dns(DnsEvent::RecordCreated), EventType::Dns(DnsEvent::RecordCreationFailed), EventType::Dns(DnsEvent::RecordDeletionFailed), EventType::Dns(DnsEvent::RecordNotPropagated), EventType::Dns(DnsEvent::RecordLookupFailed), EventType::Dns(DnsEvent::RecordPropagated), EventType::Dns(DnsEvent::RecordPropagationTimeout), EventType::Dns(DnsEvent::BuildError), EventType::Eval(EvalEvent::Result), EventType::Eval(EvalEvent::Error), EventType::Eval(EvalEvent::DirectoryNotFound), EventType::Eval(EvalEvent::StoreNotFound), EventType::Http(HttpEvent::ConnectionStart), EventType::Http(HttpEvent::ConnectionEnd), EventType::Http(HttpEvent::Error), EventType::Http(HttpEvent::RequestUrl), EventType::Http(HttpEvent::RequestBody), EventType::Http(HttpEvent::ResponseBody), EventType::Http(HttpEvent::XForwardedMissing), EventType::Imap(ImapEvent::ConnectionStart), EventType::Imap(ImapEvent::ConnectionEnd), EventType::Imap(ImapEvent::GetAcl), EventType::Imap(ImapEvent::SetAcl), EventType::Imap(ImapEvent::MyRights), EventType::Imap(ImapEvent::ListRights), EventType::Imap(ImapEvent::Append), EventType::Imap(ImapEvent::Capabilities), EventType::Imap(ImapEvent::Id), EventType::Imap(ImapEvent::Close), EventType::Imap(ImapEvent::Copy), EventType::Imap(ImapEvent::Move), EventType::Imap(ImapEvent::CreateMailbox), EventType::Imap(ImapEvent::DeleteMailbox), EventType::Imap(ImapEvent::RenameMailbox), EventType::Imap(ImapEvent::Enable), EventType::Imap(ImapEvent::Expunge), EventType::Imap(ImapEvent::Fetch), EventType::Imap(ImapEvent::IdleStart), EventType::Imap(ImapEvent::IdleStop), EventType::Imap(ImapEvent::List), EventType::Imap(ImapEvent::Lsub), EventType::Imap(ImapEvent::Logout), EventType::Imap(ImapEvent::Namespace), EventType::Imap(ImapEvent::Noop), EventType::Imap(ImapEvent::Search), EventType::Imap(ImapEvent::Sort), EventType::Imap(ImapEvent::Select), EventType::Imap(ImapEvent::Status), EventType::Imap(ImapEvent::Store), EventType::Imap(ImapEvent::Subscribe), EventType::Imap(ImapEvent::Unsubscribe), EventType::Imap(ImapEvent::Thread), EventType::Imap(ImapEvent::UidBatches), EventType::Imap(ImapEvent::GetQuota), EventType::Imap(ImapEvent::Error), EventType::Imap(ImapEvent::RawInput), EventType::Imap(ImapEvent::RawOutput), EventType::IncomingReport(IncomingReportEvent::DmarcReport), EventType::IncomingReport(IncomingReportEvent::DmarcReportWithWarnings), EventType::IncomingReport(IncomingReportEvent::TlsReport), EventType::IncomingReport(IncomingReportEvent::TlsReportWithWarnings), EventType::IncomingReport(IncomingReportEvent::AbuseReport), EventType::IncomingReport(IncomingReportEvent::AuthFailureReport), EventType::IncomingReport(IncomingReportEvent::FraudReport), EventType::IncomingReport(IncomingReportEvent::NotSpamReport), EventType::IncomingReport(IncomingReportEvent::VirusReport), EventType::IncomingReport(IncomingReportEvent::OtherReport), EventType::IncomingReport(IncomingReportEvent::MessageParseFailed), EventType::IncomingReport(IncomingReportEvent::DmarcParseFailed), EventType::IncomingReport(IncomingReportEvent::TlsRpcParseFailed), EventType::IncomingReport(IncomingReportEvent::ArfParseFailed), EventType::IncomingReport(IncomingReportEvent::DecompressError), EventType::Iprev(IprevEvent::Pass), EventType::Iprev(IprevEvent::Fail), EventType::Iprev(IprevEvent::PermError), EventType::Iprev(IprevEvent::TempError), EventType::Iprev(IprevEvent::None), EventType::Jmap(JmapEvent::MethodCall), EventType::Jmap(JmapEvent::InvalidArguments), EventType::Jmap(JmapEvent::RequestTooLarge), EventType::Jmap(JmapEvent::StateMismatch), EventType::Jmap(JmapEvent::AnchorNotFound), EventType::Jmap(JmapEvent::UnsupportedFilter), EventType::Jmap(JmapEvent::UnsupportedSort), EventType::Jmap(JmapEvent::UnknownMethod), EventType::Jmap(JmapEvent::InvalidResultReference), EventType::Jmap(JmapEvent::Forbidden), EventType::Jmap(JmapEvent::AccountNotFound), EventType::Jmap(JmapEvent::AccountNotSupportedByMethod), EventType::Jmap(JmapEvent::AccountReadOnly), EventType::Jmap(JmapEvent::NotFound), EventType::Jmap(JmapEvent::CannotCalculateChanges), EventType::Jmap(JmapEvent::UnknownDataType), EventType::Jmap(JmapEvent::UnknownCapability), EventType::Jmap(JmapEvent::NotJson), EventType::Jmap(JmapEvent::NotRequest), EventType::Jmap(JmapEvent::WebsocketStart), EventType::Jmap(JmapEvent::WebsocketStop), EventType::Jmap(JmapEvent::WebsocketError), EventType::Limit(LimitEvent::SizeRequest), EventType::Limit(LimitEvent::SizeUpload), EventType::Limit(LimitEvent::CallsIn), EventType::Limit(LimitEvent::ConcurrentRequest), EventType::Limit(LimitEvent::ConcurrentUpload), EventType::Limit(LimitEvent::ConcurrentConnection), EventType::Limit(LimitEvent::Quota), EventType::Limit(LimitEvent::BlobQuota), EventType::Limit(LimitEvent::TenantQuota), EventType::Limit(LimitEvent::TooManyRequests), EventType::MailAuth(MailAuthEvent::ParseError), EventType::MailAuth(MailAuthEvent::MissingParameters), EventType::MailAuth(MailAuthEvent::NoHeadersFound), EventType::MailAuth(MailAuthEvent::Crypto), EventType::MailAuth(MailAuthEvent::Io), EventType::MailAuth(MailAuthEvent::Base64), EventType::MailAuth(MailAuthEvent::DnsError), EventType::MailAuth(MailAuthEvent::DnsRecordNotFound), EventType::MailAuth(MailAuthEvent::DnsInvalidRecordType), EventType::MailAuth(MailAuthEvent::PolicyNotAligned), EventType::ManageSieve(ManageSieveEvent::ConnectionStart), EventType::ManageSieve(ManageSieveEvent::ConnectionEnd), EventType::ManageSieve(ManageSieveEvent::CreateScript), EventType::ManageSieve(ManageSieveEvent::UpdateScript), EventType::ManageSieve(ManageSieveEvent::GetScript), EventType::ManageSieve(ManageSieveEvent::DeleteScript), EventType::ManageSieve(ManageSieveEvent::RenameScript), EventType::ManageSieve(ManageSieveEvent::CheckScript), EventType::ManageSieve(ManageSieveEvent::HaveSpace), EventType::ManageSieve(ManageSieveEvent::ListScripts), EventType::ManageSieve(ManageSieveEvent::SetActive), EventType::ManageSieve(ManageSieveEvent::Capabilities), EventType::ManageSieve(ManageSieveEvent::StartTls), EventType::ManageSieve(ManageSieveEvent::Unauthenticate), EventType::ManageSieve(ManageSieveEvent::Logout), EventType::ManageSieve(ManageSieveEvent::Noop), EventType::ManageSieve(ManageSieveEvent::Error), EventType::ManageSieve(ManageSieveEvent::RawInput), EventType::ManageSieve(ManageSieveEvent::RawOutput), EventType::MessageIngest(MessageIngestEvent::Ham), EventType::MessageIngest(MessageIngestEvent::Spam), EventType::MessageIngest(MessageIngestEvent::ImapAppend), EventType::MessageIngest(MessageIngestEvent::JmapAppend), EventType::MessageIngest(MessageIngestEvent::Duplicate), EventType::MessageIngest(MessageIngestEvent::Error), EventType::MessageIngest(MessageIngestEvent::SearchIndex), EventType::Milter(MilterEvent::Read), EventType::Milter(MilterEvent::Write), EventType::Milter(MilterEvent::ActionAccept), EventType::Milter(MilterEvent::ActionDiscard), EventType::Milter(MilterEvent::ActionReject), EventType::Milter(MilterEvent::ActionTempFail), EventType::Milter(MilterEvent::ActionReplyCode), EventType::Milter(MilterEvent::ActionConnectionFailure), EventType::Milter(MilterEvent::ActionShutdown), EventType::Milter(MilterEvent::IoError), EventType::Milter(MilterEvent::FrameTooLarge), EventType::Milter(MilterEvent::FrameInvalid), EventType::Milter(MilterEvent::UnexpectedResponse), EventType::Milter(MilterEvent::Timeout), EventType::Milter(MilterEvent::TlsInvalidName), EventType::Milter(MilterEvent::Disconnected), EventType::Milter(MilterEvent::ParseError), EventType::MtaHook(MtaHookEvent::ActionAccept), EventType::MtaHook(MtaHookEvent::ActionDiscard), EventType::MtaHook(MtaHookEvent::ActionReject), EventType::MtaHook(MtaHookEvent::ActionQuarantine), EventType::MtaHook(MtaHookEvent::Error), EventType::MtaSts(MtaStsEvent::Authorized), EventType::MtaSts(MtaStsEvent::NotAuthorized), EventType::MtaSts(MtaStsEvent::PolicyFetch), EventType::MtaSts(MtaStsEvent::PolicyNotFound), EventType::MtaSts(MtaStsEvent::PolicyFetchError), EventType::MtaSts(MtaStsEvent::InvalidPolicy), EventType::Network(NetworkEvent::ListenStart), EventType::Network(NetworkEvent::ListenStop), EventType::Network(NetworkEvent::ListenError), EventType::Network(NetworkEvent::BindError), EventType::Network(NetworkEvent::ReadError), EventType::Network(NetworkEvent::WriteError), EventType::Network(NetworkEvent::FlushError), EventType::Network(NetworkEvent::AcceptError), EventType::Network(NetworkEvent::SplitError), EventType::Network(NetworkEvent::Timeout), EventType::Network(NetworkEvent::Closed), EventType::Network(NetworkEvent::ProxyError), EventType::Network(NetworkEvent::SetOptError), EventType::OutgoingReport(OutgoingReportEvent::SpfReport), EventType::OutgoingReport(OutgoingReportEvent::SpfRateLimited), EventType::OutgoingReport(OutgoingReportEvent::DkimReport), EventType::OutgoingReport(OutgoingReportEvent::DkimRateLimited), EventType::OutgoingReport(OutgoingReportEvent::DmarcReport), EventType::OutgoingReport(OutgoingReportEvent::DmarcRateLimited), EventType::OutgoingReport(OutgoingReportEvent::DmarcAggregateReport), EventType::OutgoingReport(OutgoingReportEvent::TlsAggregate), EventType::OutgoingReport(OutgoingReportEvent::HttpSubmission), EventType::OutgoingReport(OutgoingReportEvent::UnauthorizedReportingAddress), EventType::OutgoingReport(OutgoingReportEvent::ReportingAddressValidationError), EventType::OutgoingReport(OutgoingReportEvent::NotFound), EventType::OutgoingReport(OutgoingReportEvent::SubmissionError), EventType::OutgoingReport(OutgoingReportEvent::NoRecipientsFound), EventType::OutgoingReport(OutgoingReportEvent::Locked), EventType::OutgoingReport(OutgoingReportEvent::MaxSizeExceeded), EventType::Pop3(Pop3Event::ConnectionStart), EventType::Pop3(Pop3Event::ConnectionEnd), EventType::Pop3(Pop3Event::Delete), EventType::Pop3(Pop3Event::Reset), EventType::Pop3(Pop3Event::Quit), EventType::Pop3(Pop3Event::Fetch), EventType::Pop3(Pop3Event::List), EventType::Pop3(Pop3Event::ListMessage), EventType::Pop3(Pop3Event::Uidl), EventType::Pop3(Pop3Event::UidlMessage), EventType::Pop3(Pop3Event::Stat), EventType::Pop3(Pop3Event::Noop), EventType::Pop3(Pop3Event::Capabilities), EventType::Pop3(Pop3Event::StartTls), EventType::Pop3(Pop3Event::Utf8), EventType::Pop3(Pop3Event::Error), EventType::Pop3(Pop3Event::RawInput), EventType::Pop3(Pop3Event::RawOutput), EventType::PushSubscription(PushSubscriptionEvent::Success), EventType::PushSubscription(PushSubscriptionEvent::Error), EventType::PushSubscription(PushSubscriptionEvent::NotFound), EventType::Queue(QueueEvent::Started), EventType::Queue(QueueEvent::MessageQueued), EventType::Queue(QueueEvent::AuthenticatedMessageQueued), EventType::Queue(QueueEvent::ReportQueued), EventType::Queue(QueueEvent::DsnQueued), EventType::Queue(QueueEvent::AutogeneratedQueued), EventType::Queue(QueueEvent::Rescheduled), EventType::Queue(QueueEvent::Locked), EventType::Queue(QueueEvent::BlobNotFound), EventType::Queue(QueueEvent::RateLimitExceeded), EventType::Queue(QueueEvent::ConcurrencyLimitExceeded), EventType::Queue(QueueEvent::QuotaExceeded), EventType::Queue(QueueEvent::BackPressure), EventType::Registry(RegistryEvent::LocalReadError), EventType::Registry(RegistryEvent::LocalWriteError), EventType::Registry(RegistryEvent::LocalParseError), EventType::Registry(RegistryEvent::ReadError), EventType::Registry(RegistryEvent::WriteError), EventType::Registry(RegistryEvent::DeserializationError), EventType::Registry(RegistryEvent::BuildError), EventType::Registry(RegistryEvent::BuildWarning), EventType::Registry(RegistryEvent::NotSupported), EventType::Registry(RegistryEvent::ValidationError), EventType::Resource(ResourceEvent::NotFound), EventType::Resource(ResourceEvent::BadParameters), EventType::Resource(ResourceEvent::Error), EventType::Resource(ResourceEvent::DownloadExternal), EventType::Resource(ResourceEvent::ApplicationUpdated), EventType::Resource(ResourceEvent::ApplicationUnpacked), EventType::Security(SecurityEvent::AuthenticationBan), EventType::Security(SecurityEvent::AbuseBan), EventType::Security(SecurityEvent::ScanBan), EventType::Security(SecurityEvent::LoiterBan), EventType::Security(SecurityEvent::IpBlocked), EventType::Security(SecurityEvent::IpBlockExpired), EventType::Security(SecurityEvent::IpAllowExpired), EventType::Security(SecurityEvent::IpUnauthorized), EventType::Security(SecurityEvent::Unauthorized), EventType::Server(ServerEvent::Startup), EventType::Server(ServerEvent::Shutdown), EventType::Server(ServerEvent::StartupError), EventType::Server(ServerEvent::ThreadError), EventType::Server(ServerEvent::Licensing), EventType::Server(ServerEvent::RecoveryMode), EventType::Server(ServerEvent::BootstrapMode), EventType::Sieve(SieveEvent::ActionAccept), EventType::Sieve(SieveEvent::ActionAcceptReplace), EventType::Sieve(SieveEvent::ActionDiscard), EventType::Sieve(SieveEvent::ActionReject), EventType::Sieve(SieveEvent::SendMessage), EventType::Sieve(SieveEvent::MessageTooLarge), EventType::Sieve(SieveEvent::ScriptNotFound), EventType::Sieve(SieveEvent::ListNotFound), EventType::Sieve(SieveEvent::RuntimeError), EventType::Sieve(SieveEvent::UnexpectedError), EventType::Sieve(SieveEvent::NotSupported), EventType::Sieve(SieveEvent::QuotaExceeded), EventType::Smtp(SmtpEvent::ConnectionStart), EventType::Smtp(SmtpEvent::ConnectionEnd), EventType::Smtp(SmtpEvent::Error), EventType::Smtp(SmtpEvent::IdNotFound), EventType::Smtp(SmtpEvent::ConcurrencyLimitExceeded), EventType::Smtp(SmtpEvent::TransferLimitExceeded), EventType::Smtp(SmtpEvent::RateLimitExceeded), EventType::Smtp(SmtpEvent::TimeLimitExceeded), EventType::Smtp(SmtpEvent::MissingAuthDirectory), EventType::Smtp(SmtpEvent::MessageParseFailed), EventType::Smtp(SmtpEvent::MessageTooLarge), EventType::Smtp(SmtpEvent::LoopDetected), EventType::Smtp(SmtpEvent::DkimPass), EventType::Smtp(SmtpEvent::DkimFail), EventType::Smtp(SmtpEvent::Dkim2Pass), EventType::Smtp(SmtpEvent::Dkim2Fail), EventType::Smtp(SmtpEvent::Dkim2DsnDiscarded), EventType::Smtp(SmtpEvent::ArcPass), EventType::Smtp(SmtpEvent::ArcFail), EventType::Smtp(SmtpEvent::SpfEhloPass), EventType::Smtp(SmtpEvent::SpfEhloFail), EventType::Smtp(SmtpEvent::SpfFromPass), EventType::Smtp(SmtpEvent::SpfFromFail), EventType::Smtp(SmtpEvent::DmarcPass), EventType::Smtp(SmtpEvent::DmarcFail), EventType::Smtp(SmtpEvent::IprevPass), EventType::Smtp(SmtpEvent::IprevFail), EventType::Smtp(SmtpEvent::TooManyMessages), EventType::Smtp(SmtpEvent::Ehlo), EventType::Smtp(SmtpEvent::InvalidEhlo), EventType::Smtp(SmtpEvent::DidNotSayEhlo), EventType::Smtp(SmtpEvent::EhloExpected), EventType::Smtp(SmtpEvent::LhloExpected), EventType::Smtp(SmtpEvent::MailFromUnauthenticated), EventType::Smtp(SmtpEvent::MailFromUnauthorized), EventType::Smtp(SmtpEvent::MailFromNotAllowed), EventType::Smtp(SmtpEvent::MailFromRewritten), EventType::Smtp(SmtpEvent::MailFromMissing), EventType::Smtp(SmtpEvent::MailFrom), EventType::Smtp(SmtpEvent::MultipleMailFrom), EventType::Smtp(SmtpEvent::MailboxDoesNotExist), EventType::Smtp(SmtpEvent::RelayNotAllowed), EventType::Smtp(SmtpEvent::RcptTo), EventType::Smtp(SmtpEvent::RcptToDuplicate), EventType::Smtp(SmtpEvent::RcptToRewritten), EventType::Smtp(SmtpEvent::RcptToMissing), EventType::Smtp(SmtpEvent::RcptToGreylisted), EventType::Smtp(SmtpEvent::TooManyRecipients), EventType::Smtp(SmtpEvent::TooManyInvalidRcpt), EventType::Smtp(SmtpEvent::RawInput), EventType::Smtp(SmtpEvent::RawOutput), EventType::Smtp(SmtpEvent::MissingLocalHostname), EventType::Smtp(SmtpEvent::Vrfy), EventType::Smtp(SmtpEvent::VrfyNotFound), EventType::Smtp(SmtpEvent::VrfyDisabled), EventType::Smtp(SmtpEvent::Expn), EventType::Smtp(SmtpEvent::ExpnNotFound), EventType::Smtp(SmtpEvent::ExpnDisabled), EventType::Smtp(SmtpEvent::RequireTlsDisabled), EventType::Smtp(SmtpEvent::DeliverByDisabled), EventType::Smtp(SmtpEvent::DeliverByInvalid), EventType::Smtp(SmtpEvent::FutureReleaseDisabled), EventType::Smtp(SmtpEvent::FutureReleaseInvalid), EventType::Smtp(SmtpEvent::MtPriorityDisabled), EventType::Smtp(SmtpEvent::MtPriorityInvalid), EventType::Smtp(SmtpEvent::DsnDisabled), EventType::Smtp(SmtpEvent::AuthNotAllowed), EventType::Smtp(SmtpEvent::AuthMechanismNotSupported), EventType::Smtp(SmtpEvent::AuthExchangeTooLong), EventType::Smtp(SmtpEvent::AlreadyAuthenticated), EventType::Smtp(SmtpEvent::Noop), EventType::Smtp(SmtpEvent::StartTls), EventType::Smtp(SmtpEvent::StartTlsUnavailable), EventType::Smtp(SmtpEvent::StartTlsAlready), EventType::Smtp(SmtpEvent::Rset), EventType::Smtp(SmtpEvent::Quit), EventType::Smtp(SmtpEvent::Help), EventType::Smtp(SmtpEvent::CommandNotImplemented), EventType::Smtp(SmtpEvent::InvalidCommand), EventType::Smtp(SmtpEvent::InvalidSenderAddress), EventType::Smtp(SmtpEvent::InvalidRecipientAddress), EventType::Smtp(SmtpEvent::InvalidParameter), EventType::Smtp(SmtpEvent::UnsupportedParameter), EventType::Smtp(SmtpEvent::SyntaxError), EventType::Smtp(SmtpEvent::RequestTooLarge), EventType::Spam(SpamEvent::Pyzor), EventType::Spam(SpamEvent::PyzorError), EventType::Spam(SpamEvent::Dnsbl), EventType::Spam(SpamEvent::DnsblError), EventType::Spam(SpamEvent::TrainStarted), EventType::Spam(SpamEvent::TrainCompleted), EventType::Spam(SpamEvent::TrainSampleAdded), EventType::Spam(SpamEvent::TrainSampleNotFound), EventType::Spam(SpamEvent::Classify), EventType::Spam(SpamEvent::ModelLoaded), EventType::Spam(SpamEvent::ModelNotReady), EventType::Spam(SpamEvent::ModelNotFound), EventType::Spam(SpamEvent::RulesUpdated), EventType::Spf(SpfEvent::Pass), EventType::Spf(SpfEvent::Fail), EventType::Spf(SpfEvent::SoftFail), EventType::Spf(SpfEvent::Neutral), EventType::Spf(SpfEvent::TempError), EventType::Spf(SpfEvent::PermError), EventType::Spf(SpfEvent::None), EventType::Store(StoreEvent::AssertValueFailed), EventType::Store(StoreEvent::FoundationdbError), EventType::Store(StoreEvent::MysqlError), EventType::Store(StoreEvent::PostgresqlError), EventType::Store(StoreEvent::RocksdbError), EventType::Store(StoreEvent::SqliteError), EventType::Store(StoreEvent::LdapError), EventType::Store(StoreEvent::ElasticsearchError), EventType::Store(StoreEvent::MeilisearchError), EventType::Store(StoreEvent::RedisError), EventType::Store(StoreEvent::S3Error), EventType::Store(StoreEvent::AzureError), EventType::Store(StoreEvent::FilesystemError), EventType::Store(StoreEvent::PoolError), EventType::Store(StoreEvent::DataCorruption), EventType::Store(StoreEvent::DecompressError), EventType::Store(StoreEvent::DeserializeError), EventType::Store(StoreEvent::NotFound), EventType::Store(StoreEvent::NotConfigured), EventType::Store(StoreEvent::NotSupported), EventType::Store(StoreEvent::UnexpectedError), EventType::Store(StoreEvent::CryptoError), EventType::Store(StoreEvent::HttpStoreError), EventType::Store(StoreEvent::CacheMiss), EventType::Store(StoreEvent::CacheHit), EventType::Store(StoreEvent::CacheStale), EventType::Store(StoreEvent::CacheUpdate), EventType::Store(StoreEvent::CacheEntryTooLarge), EventType::Store(StoreEvent::BlobMissingMarker), EventType::Store(StoreEvent::DataWrite), EventType::Store(StoreEvent::DataIterate), EventType::Store(StoreEvent::BlobRead), EventType::Store(StoreEvent::BlobWrite), EventType::Store(StoreEvent::BlobDelete), EventType::Store(StoreEvent::SqlQuery), EventType::Store(StoreEvent::LdapQuery), EventType::Store(StoreEvent::LdapWarning), EventType::Store(StoreEvent::HttpStoreFetch), EventType::Store(StoreEvent::AutoExpunge), EventType::Store(StoreEvent::BlobStorePurged), EventType::Store(StoreEvent::DataStorePurged), EventType::TaskManager(TaskManagerEvent::TaskAcquired), EventType::TaskManager(TaskManagerEvent::TaskQueued), EventType::TaskManager(TaskManagerEvent::TaskScheduled), EventType::TaskManager(TaskManagerEvent::TaskLocked), EventType::TaskManager(TaskManagerEvent::TaskIgnored), EventType::TaskManager(TaskManagerEvent::TaskFailed), EventType::TaskManager(TaskManagerEvent::TaskRetry), EventType::TaskManager(TaskManagerEvent::BlobNotFound), EventType::TaskManager(TaskManagerEvent::MetadataNotFound), EventType::TaskManager(TaskManagerEvent::SchedulerStarted), EventType::TaskManager(TaskManagerEvent::ManagerStarted), EventType::Telemetry(TelemetryEvent::AlertEvent), EventType::Telemetry(TelemetryEvent::AlertMessage), EventType::Telemetry(TelemetryEvent::LogError), EventType::Telemetry(TelemetryEvent::WebhookError), EventType::Telemetry(TelemetryEvent::OtelExporterError), EventType::Telemetry(TelemetryEvent::OtelMetricsExporterError), EventType::Telemetry(TelemetryEvent::PrometheusExporterError), EventType::Telemetry(TelemetryEvent::JournalError), EventType::Telemetry(TelemetryEvent::MetricsCollected), EventType::Telemetry(TelemetryEvent::MetricsStored), EventType::Telemetry(TelemetryEvent::MetricsPushed), EventType::Tls(TlsEvent::Handshake), EventType::Tls(TlsEvent::HandshakeError), EventType::Tls(TlsEvent::NotConfigured), EventType::Tls(TlsEvent::CertificateNotFound), EventType::Tls(TlsEvent::NoCertificatesAvailable), EventType::Tls(TlsEvent::MultipleCertificatesAvailable), EventType::Tls(TlsEvent::ExpiredCertificateRemoved), EventType::TlsRpt(TlsRptEvent::RecordFetch), EventType::TlsRpt(TlsRptEvent::RecordFetchError), EventType::TlsRpt(TlsRptEvent::RecordNotFound), EventType::WebDav(WebDavEvent::Propfind), EventType::WebDav(WebDavEvent::Proppatch), EventType::WebDav(WebDavEvent::Get), EventType::WebDav(WebDavEvent::Head), EventType::WebDav(WebDavEvent::Report), EventType::WebDav(WebDavEvent::Mkcol), EventType::WebDav(WebDavEvent::Mkcalendar), EventType::WebDav(WebDavEvent::Delete), EventType::WebDav(WebDavEvent::Put), EventType::WebDav(WebDavEvent::Post), EventType::WebDav(WebDavEvent::Patch), EventType::WebDav(WebDavEvent::Copy), EventType::WebDav(WebDavEvent::Move), EventType::WebDav(WebDavEvent::Lock), EventType::WebDav(WebDavEvent::Unlock), EventType::WebDav(WebDavEvent::Acl), EventType::WebDav(WebDavEvent::Options), EventType::WebDav(WebDavEvent::Error), ] } } impl MetricType { pub fn parse(value: &str) -> Option { hashify::map! { value.as_bytes(), MetricType, b"acme.auth-error" => MetricType::AcmeAuthError, b"acme.auth-too-many-attempts" => MetricType::AcmeAuthTooManyAttempts, b"acme.order-completed" => MetricType::AcmeOrderCompleted, b"acme.order-invalid" => MetricType::AcmeOrderInvalid, b"acme.client-missing-sni" => MetricType::AcmeClientMissingSni, b"acme.tls-alpn-error" => MetricType::AcmeTlsAlpnError, b"acme.token-not-found" => MetricType::AcmeTokenNotFound, b"acme.error" => MetricType::AcmeError, b"arc.chain-too-long" => MetricType::ArcChainTooLong, b"arc.invalid-instance" => MetricType::ArcInvalidInstance, b"arc.invalid-cv" => MetricType::ArcInvalidCv, b"arc.has-header-tag" => MetricType::ArcHasHeaderTag, b"arc.broken-chain" => MetricType::ArcBrokenChain, b"auth.success" => MetricType::AuthSuccess, b"auth.failed" => MetricType::AuthFailed, b"auth.too-many-attempts" => MetricType::AuthTooManyAttempts, b"auth.error" => MetricType::AuthError, b"calendar.alarm-sent" => MetricType::CalendarAlarmSent, b"calendar.alarm-failed" => MetricType::CalendarAlarmFailed, b"calendar.itip-message-sent" => MetricType::CalendarItipMessageSent, b"calendar.itip-message-received" => MetricType::CalendarItipMessageReceived, b"calendar.itip-message-error" => MetricType::CalendarItipMessageError, b"cluster.subscriber-error" => MetricType::ClusterSubscriberError, b"cluster.subscriber-disconnected" => MetricType::ClusterSubscriberDisconnected, b"cluster.publisher-error" => MetricType::ClusterPublisherError, b"dane.authentication-success" => MetricType::DaneAuthenticationSuccess, b"dane.authentication-failure" => MetricType::DaneAuthenticationFailure, b"dane.no-certificates-found" => MetricType::DaneNoCertificatesFound, b"dane.certificate-parse-error" => MetricType::DaneCertificateParseError, b"dane.tlsa-record-fetch-error" => MetricType::DaneTlsaRecordFetchError, b"dane.tlsa-record-not-found" => MetricType::DaneTlsaRecordNotFound, b"dane.tlsa-record-not-dnssec-signed" => MetricType::DaneTlsaRecordNotDnssecSigned, b"dane.tlsa-record-invalid" => MetricType::DaneTlsaRecordInvalid, b"dane.bogus-dnssec-record" => MetricType::DaneBogusDnssecRecord, b"delivery.total-time" => MetricType::DeliveryTotalTime, b"delivery.attempt-time" => MetricType::DeliveryAttemptTime, b"delivery.active-connections" => MetricType::DeliveryActiveConnections, b"delivery.attempt-start" => MetricType::DeliveryAttemptStart, b"delivery.attempt-end" => MetricType::DeliveryAttemptEnd, b"delivery.completed" => MetricType::DeliveryCompleted, b"delivery.mx-lookup-failed" => MetricType::DeliveryMxLookupFailed, b"delivery.ip-lookup-failed" => MetricType::DeliveryIpLookupFailed, b"delivery.null-mx" => MetricType::DeliveryNullMx, b"delivery.greeting-failed" => MetricType::DeliveryGreetingFailed, b"delivery.ehlo-rejected" => MetricType::DeliveryEhloRejected, b"delivery.auth-failed" => MetricType::DeliveryAuthFailed, b"delivery.mail-from-rejected" => MetricType::DeliveryMailFromRejected, b"delivery.delivered" => MetricType::DeliveryDelivered, b"delivery.rcpt-to-rejected" => MetricType::DeliveryRcptToRejected, b"delivery.rcpt-to-failed" => MetricType::DeliveryRcptToFailed, b"delivery.message-rejected" => MetricType::DeliveryMessageRejected, b"delivery.start-tls-unavailable" => MetricType::DeliveryStartTlsUnavailable, b"delivery.start-tls-error" => MetricType::DeliveryStartTlsError, b"delivery.start-tls-disabled" => MetricType::DeliveryStartTlsDisabled, b"delivery.implicit-tls-error" => MetricType::DeliveryImplicitTlsError, b"delivery.concurrency-limit-exceeded" => MetricType::DeliveryConcurrencyLimitExceeded, b"delivery.rate-limit-exceeded" => MetricType::DeliveryRateLimitExceeded, b"delivery.double-bounce" => MetricType::DeliveryDoubleBounce, b"delivery.dsn-success" => MetricType::DeliveryDsnSuccess, b"delivery.dsn-temp-fail" => MetricType::DeliveryDsnTempFail, b"delivery.dsn-perm-fail" => MetricType::DeliveryDsnPermFail, b"dkim.pass" => MetricType::DkimPass, b"dkim.neutral" => MetricType::DkimNeutral, b"dkim.fail" => MetricType::DkimFail, b"dkim.perm-error" => MetricType::DkimPermError, b"dkim.temp-error" => MetricType::DkimTempError, b"dkim.none" => MetricType::DkimNone, b"dkim.unsupported-version" => MetricType::DkimUnsupportedVersion, b"dkim.unsupported-algorithm" => MetricType::DkimUnsupportedAlgorithm, b"dkim.unsupported-canonicalization" => MetricType::DkimUnsupportedCanonicalization, b"dkim.unsupported-key-type" => MetricType::DkimUnsupportedKeyType, b"dkim.failed-body-hash-match" => MetricType::DkimFailedBodyHashMatch, b"dkim.failed-verification" => MetricType::DkimFailedVerification, b"dkim.failed-auid-match" => MetricType::DkimFailedAuidMatch, b"dkim.revoked-public-key" => MetricType::DkimRevokedPublicKey, b"dkim.incompatible-algorithms" => MetricType::DkimIncompatibleAlgorithms, b"dkim.signature-expired" => MetricType::DkimSignatureExpired, b"dkim.signature-length" => MetricType::DkimSignatureLength, b"dkim.signer-not-found" => MetricType::DkimSignerNotFound, b"dkim.instance-missing" => MetricType::DkimInstanceMissing, b"dkim.instance-syntax" => MetricType::DkimInstanceSyntax, b"dkim.instance-tag-missing" => MetricType::DkimInstanceTagMissing, b"dkim.instance-not-signed" => MetricType::DkimInstanceNotSigned, b"dkim.instance-above-signature" => MetricType::DkimInstanceAboveSignature, b"dkim.signature-missing" => MetricType::DkimSignatureMissing, b"dkim.signature-syntax" => MetricType::DkimSignatureSyntax, b"dkim.signature-tag-missing" => MetricType::DkimSignatureTagMissing, b"dkim.signature-tag-unexpected" => MetricType::DkimSignatureTagUnexpected, b"dkim.sequence-gap" => MetricType::DkimSequenceGap, b"dkim.sequence-overflow" => MetricType::DkimSequenceOverflow, b"dkim.chain-too-long" => MetricType::DkimChainTooLong, b"dkim.mail-from-mismatch" => MetricType::DkimMailFromMismatch, b"dkim.rcpt-to-mismatch" => MetricType::DkimRcptToMismatch, b"dkim.mail-from-domain-mismatch" => MetricType::DkimMailFromDomainMismatch, b"dkim.next-domain-mismatch" => MetricType::DkimNextDomainMismatch, b"dkim.custody-break" => MetricType::DkimCustodyBreak, b"dkim.public-key-fetch" => MetricType::DkimPublicKeyFetch, b"dkim.public-key-missing" => MetricType::DkimPublicKeyMissing, b"dkim.public-key-multiple" => MetricType::DkimPublicKeyMultiple, b"dkim.public-key-syntax" => MetricType::DkimPublicKeySyntax, b"dkim.public-key-algorithm-mismatch" => MetricType::DkimPublicKeyAlgorithmMismatch, b"dkim.no-valid-algorithm" => MetricType::DkimNoValidAlgorithm, b"dkim.header-hash-mismatch" => MetricType::DkimHeaderHashMismatch, b"dkim.modified" => MetricType::DkimModified, b"dkim.exploded" => MetricType::DkimExploded, b"dmarc.pass" => MetricType::DmarcPass, b"dmarc.fail" => MetricType::DmarcFail, b"dmarc.perm-error" => MetricType::DmarcPermError, b"dmarc.temp-error" => MetricType::DmarcTempError, b"dmarc.none" => MetricType::DmarcNone, b"dns.lookup-time" => MetricType::DnsLookupTime, b"dns.record-creation-failed" => MetricType::DnsRecordCreationFailed, b"dns.record-deletion-failed" => MetricType::DnsRecordDeletionFailed, b"dns.record-lookup-failed" => MetricType::DnsRecordLookupFailed, b"dns.record-propagation-timeout" => MetricType::DnsRecordPropagationTimeout, b"domain.count" => MetricType::DomainCount, b"eval.error" => MetricType::EvalError, b"eval.directory-not-found" => MetricType::EvalDirectoryNotFound, b"eval.store-not-found" => MetricType::EvalStoreNotFound, b"http.request-time" => MetricType::HttpRequestTime, b"http.active-connections" => MetricType::HttpActiveConnections, b"http.connection-start" => MetricType::HttpConnectionStart, b"http.error" => MetricType::HttpError, b"http.request-body" => MetricType::HttpRequestBody, b"http.response-body" => MetricType::HttpResponseBody, b"http.x-forwarded-missing" => MetricType::HttpXForwardedMissing, b"imap.request-time" => MetricType::ImapRequestTime, b"imap.active-connections" => MetricType::ImapActiveConnections, b"imap.connection-start" => MetricType::ImapConnectionStart, b"imap.connection-end" => MetricType::ImapConnectionEnd, b"incoming-report.dmarc-report" => MetricType::IncomingReportDmarcReport, b"incoming-report.dmarc-report-with-warnings" => MetricType::IncomingReportDmarcReportWithWarnings, b"incoming-report.tls-report" => MetricType::IncomingReportTlsReport, b"incoming-report.tls-report-with-warnings" => MetricType::IncomingReportTlsReportWithWarnings, b"incoming-report.abuse-report" => MetricType::IncomingReportAbuseReport, b"incoming-report.auth-failure-report" => MetricType::IncomingReportAuthFailureReport, b"incoming-report.fraud-report" => MetricType::IncomingReportFraudReport, b"incoming-report.not-spam-report" => MetricType::IncomingReportNotSpamReport, b"incoming-report.virus-report" => MetricType::IncomingReportVirusReport, b"incoming-report.other-report" => MetricType::IncomingReportOtherReport, b"incoming-report.message-parse-failed" => MetricType::IncomingReportMessageParseFailed, b"incoming-report.dmarc-parse-failed" => MetricType::IncomingReportDmarcParseFailed, b"incoming-report.tls-rpc-parse-failed" => MetricType::IncomingReportTlsRpcParseFailed, b"incoming-report.arf-parse-failed" => MetricType::IncomingReportArfParseFailed, b"incoming-report.decompress-error" => MetricType::IncomingReportDecompressError, b"iprev.pass" => MetricType::IprevPass, b"iprev.fail" => MetricType::IprevFail, b"iprev.perm-error" => MetricType::IprevPermError, b"iprev.temp-error" => MetricType::IprevTempError, b"iprev.none" => MetricType::IprevNone, b"jmap.method-call" => MetricType::JmapMethodCall, b"jmap.invalid-arguments" => MetricType::JmapInvalidArguments, b"jmap.request-too-large" => MetricType::JmapRequestTooLarge, b"jmap.unsupported-filter" => MetricType::JmapUnsupportedFilter, b"jmap.unsupported-sort" => MetricType::JmapUnsupportedSort, b"jmap.unknown-method" => MetricType::JmapUnknownMethod, b"jmap.forbidden" => MetricType::JmapForbidden, b"jmap.not-json" => MetricType::JmapNotJson, b"jmap.not-request" => MetricType::JmapNotRequest, b"jmap.websocket-start" => MetricType::JmapWebsocketStart, b"jmap.websocket-error" => MetricType::JmapWebsocketError, b"limit.size-request" => MetricType::LimitSizeRequest, b"limit.size-upload" => MetricType::LimitSizeUpload, b"limit.calls-in" => MetricType::LimitCallsIn, b"limit.concurrent-request" => MetricType::LimitConcurrentRequest, b"limit.concurrent-upload" => MetricType::LimitConcurrentUpload, b"limit.concurrent-connection" => MetricType::LimitConcurrentConnection, b"limit.quota" => MetricType::LimitQuota, b"limit.blob-quota" => MetricType::LimitBlobQuota, b"limit.tenant-quota" => MetricType::LimitTenantQuota, b"limit.too-many-requests" => MetricType::LimitTooManyRequests, b"mail-auth.parse-error" => MetricType::MailAuthParseError, b"mail-auth.missing-parameters" => MetricType::MailAuthMissingParameters, b"mail-auth.no-headers-found" => MetricType::MailAuthNoHeadersFound, b"mail-auth.crypto" => MetricType::MailAuthCrypto, b"mail-auth.io" => MetricType::MailAuthIo, b"mail-auth.base64" => MetricType::MailAuthBase64, b"mail-auth.dns-error" => MetricType::MailAuthDnsError, b"mail-auth.dns-record-not-found" => MetricType::MailAuthDnsRecordNotFound, b"mail-auth.dns-invalid-record-type" => MetricType::MailAuthDnsInvalidRecordType, b"mail-auth.policy-not-aligned" => MetricType::MailAuthPolicyNotAligned, b"manage-sieve.connection-start" => MetricType::ManageSieveConnectionStart, b"manage-sieve.connection-end" => MetricType::ManageSieveConnectionEnd, b"message.size" => MetricType::MessageSize, b"message.authenticated-size" => MetricType::MessageAuthenticatedSize, b"message-ingest.time" => MetricType::MessageIngestTime, b"message-ingest.index-time" => MetricType::MessageIngestIndexTime, b"message-ingest.ham" => MetricType::MessageIngestHam, b"message-ingest.spam" => MetricType::MessageIngestSpam, b"message-ingest.imap-append" => MetricType::MessageIngestImapAppend, b"message-ingest.jmap-append" => MetricType::MessageIngestJmapAppend, b"message-ingest.duplicate" => MetricType::MessageIngestDuplicate, b"message-ingest.error" => MetricType::MessageIngestError, b"message-ingest.search-index" => MetricType::MessageIngestSearchIndex, b"milter.action-accept" => MetricType::MilterActionAccept, b"milter.action-discard" => MetricType::MilterActionDiscard, b"milter.action-reject" => MetricType::MilterActionReject, b"milter.action-temp-fail" => MetricType::MilterActionTempFail, b"milter.action-reply-code" => MetricType::MilterActionReplyCode, b"milter.action-connection-failure" => MetricType::MilterActionConnectionFailure, b"milter.action-shutdown" => MetricType::MilterActionShutdown, b"mta-hook.action-accept" => MetricType::MtaHookActionAccept, b"mta-hook.action-discard" => MetricType::MtaHookActionDiscard, b"mta-hook.action-reject" => MetricType::MtaHookActionReject, b"mta-hook.action-quarantine" => MetricType::MtaHookActionQuarantine, b"mta-hook.error" => MetricType::MtaHookError, b"mta-sts.authorized" => MetricType::MtaStsAuthorized, b"mta-sts.not-authorized" => MetricType::MtaStsNotAuthorized, b"mta-sts.invalid-policy" => MetricType::MtaStsInvalidPolicy, b"network.timeout" => MetricType::NetworkTimeout, b"outgoing-report.size" => MetricType::OutgoingReportSize, b"outgoing-report.spf-report" => MetricType::OutgoingReportSpfReport, b"outgoing-report.spf-rate-limited" => MetricType::OutgoingReportSpfRateLimited, b"outgoing-report.dkim-report" => MetricType::OutgoingReportDkimReport, b"outgoing-report.dkim-rate-limited" => MetricType::OutgoingReportDkimRateLimited, b"outgoing-report.dmarc-report" => MetricType::OutgoingReportDmarcReport, b"outgoing-report.dmarc-rate-limited" => MetricType::OutgoingReportDmarcRateLimited, b"outgoing-report.dmarc-aggregate-report" => MetricType::OutgoingReportDmarcAggregateReport, b"outgoing-report.tls-aggregate" => MetricType::OutgoingReportTlsAggregate, b"outgoing-report.http-submission" => MetricType::OutgoingReportHttpSubmission, b"outgoing-report.unauthorized-reporting-address" => MetricType::OutgoingReportUnauthorizedReportingAddress, b"outgoing-report.reporting-address-validation-error" => MetricType::OutgoingReportReportingAddressValidationError, b"outgoing-report.not-found" => MetricType::OutgoingReportNotFound, b"outgoing-report.submission-error" => MetricType::OutgoingReportSubmissionError, b"outgoing-report.no-recipients-found" => MetricType::OutgoingReportNoRecipientsFound, b"pop3.request-time" => MetricType::Pop3RequestTime, b"pop3.active-connections" => MetricType::Pop3ActiveConnections, b"pop3.connection-start" => MetricType::Pop3ConnectionStart, b"pop3.connection-end" => MetricType::Pop3ConnectionEnd, b"push-subscription.success" => MetricType::PushSubscriptionSuccess, b"push-subscription.error" => MetricType::PushSubscriptionError, b"push-subscription.not-found" => MetricType::PushSubscriptionNotFound, b"queue.count" => MetricType::QueueCount, b"queue.message-queued" => MetricType::QueueMessageQueued, b"queue.authenticated-message-queued" => MetricType::QueueAuthenticatedMessageQueued, b"queue.report-queued" => MetricType::QueueReportQueued, b"queue.dsn-queued" => MetricType::QueueDsnQueued, b"queue.autogenerated-queued" => MetricType::QueueAutogeneratedQueued, b"queue.rescheduled" => MetricType::QueueRescheduled, b"queue.blob-not-found" => MetricType::QueueBlobNotFound, b"queue.rate-limit-exceeded" => MetricType::QueueRateLimitExceeded, b"queue.concurrency-limit-exceeded" => MetricType::QueueConcurrencyLimitExceeded, b"queue.quota-exceeded" => MetricType::QueueQuotaExceeded, b"resource.not-found" => MetricType::ResourceNotFound, b"resource.bad-parameters" => MetricType::ResourceBadParameters, b"resource.error" => MetricType::ResourceError, b"security.authentication-ban" => MetricType::SecurityAuthenticationBan, b"security.abuse-ban" => MetricType::SecurityAbuseBan, b"security.scan-ban" => MetricType::SecurityScanBan, b"security.loiter-ban" => MetricType::SecurityLoiterBan, b"security.ip-blocked" => MetricType::SecurityIpBlocked, b"security.unauthorized" => MetricType::SecurityUnauthorized, b"server.memory" => MetricType::ServerMemory, b"server.thread-error" => MetricType::ServerThreadError, b"sieve.request-time" => MetricType::SieveRequestTime, b"sieve.active-connections" => MetricType::SieveActiveConnections, b"sieve.action-accept" => MetricType::SieveActionAccept, b"sieve.action-accept-replace" => MetricType::SieveActionAcceptReplace, b"sieve.action-discard" => MetricType::SieveActionDiscard, b"sieve.action-reject" => MetricType::SieveActionReject, b"sieve.send-message" => MetricType::SieveSendMessage, b"sieve.message-too-large" => MetricType::SieveMessageTooLarge, b"sieve.runtime-error" => MetricType::SieveRuntimeError, b"sieve.unexpected-error" => MetricType::SieveUnexpectedError, b"sieve.not-supported" => MetricType::SieveNotSupported, b"sieve.quota-exceeded" => MetricType::SieveQuotaExceeded, b"smtp.request-time" => MetricType::SmtpRequestTime, b"smtp.active-connections" => MetricType::SmtpActiveConnections, b"smtp.connection-start" => MetricType::SmtpConnectionStart, b"smtp.connection-end" => MetricType::SmtpConnectionEnd, b"smtp.error" => MetricType::SmtpError, b"smtp.concurrency-limit-exceeded" => MetricType::SmtpConcurrencyLimitExceeded, b"smtp.transfer-limit-exceeded" => MetricType::SmtpTransferLimitExceeded, b"smtp.rate-limit-exceeded" => MetricType::SmtpRateLimitExceeded, b"smtp.time-limit-exceeded" => MetricType::SmtpTimeLimitExceeded, b"smtp.message-parse-failed" => MetricType::SmtpMessageParseFailed, b"smtp.message-too-large" => MetricType::SmtpMessageTooLarge, b"smtp.loop-detected" => MetricType::SmtpLoopDetected, b"smtp.dkim-pass" => MetricType::SmtpDkimPass, b"smtp.dkim-fail" => MetricType::SmtpDkimFail, b"smtp.dkim2-pass" => MetricType::SmtpDkim2Pass, b"smtp.dkim2-fail" => MetricType::SmtpDkim2Fail, b"smtp.dkim2-dsn-discarded" => MetricType::SmtpDkim2DsnDiscarded, b"smtp.arc-pass" => MetricType::SmtpArcPass, b"smtp.arc-fail" => MetricType::SmtpArcFail, b"smtp.spf-ehlo-pass" => MetricType::SmtpSpfEhloPass, b"smtp.spf-ehlo-fail" => MetricType::SmtpSpfEhloFail, b"smtp.spf-from-pass" => MetricType::SmtpSpfFromPass, b"smtp.spf-from-fail" => MetricType::SmtpSpfFromFail, b"smtp.dmarc-pass" => MetricType::SmtpDmarcPass, b"smtp.dmarc-fail" => MetricType::SmtpDmarcFail, b"smtp.iprev-pass" => MetricType::SmtpIprevPass, b"smtp.iprev-fail" => MetricType::SmtpIprevFail, b"smtp.too-many-messages" => MetricType::SmtpTooManyMessages, b"smtp.invalid-ehlo" => MetricType::SmtpInvalidEhlo, b"smtp.did-not-say-ehlo" => MetricType::SmtpDidNotSayEhlo, b"smtp.mail-from-unauthenticated" => MetricType::SmtpMailFromUnauthenticated, b"smtp.mail-from-unauthorized" => MetricType::SmtpMailFromUnauthorized, b"smtp.mail-from-missing" => MetricType::SmtpMailFromMissing, b"smtp.multiple-mail-from" => MetricType::SmtpMultipleMailFrom, b"smtp.mailbox-does-not-exist" => MetricType::SmtpMailboxDoesNotExist, b"smtp.relay-not-allowed" => MetricType::SmtpRelayNotAllowed, b"smtp.rcpt-to-duplicate" => MetricType::SmtpRcptToDuplicate, b"smtp.rcpt-to-missing" => MetricType::SmtpRcptToMissing, b"smtp.too-many-recipients" => MetricType::SmtpTooManyRecipients, b"smtp.too-many-invalid-rcpt" => MetricType::SmtpTooManyInvalidRcpt, b"smtp.auth-mechanism-not-supported" => MetricType::SmtpAuthMechanismNotSupported, b"smtp.auth-exchange-too-long" => MetricType::SmtpAuthExchangeTooLong, b"smtp.command-not-implemented" => MetricType::SmtpCommandNotImplemented, b"smtp.invalid-command" => MetricType::SmtpInvalidCommand, b"smtp.syntax-error" => MetricType::SmtpSyntaxError, b"smtp.request-too-large" => MetricType::SmtpRequestTooLarge, b"spam.pyzor-error" => MetricType::SpamPyzorError, b"spam.dnsbl-error" => MetricType::SpamDnsblError, b"spam.train-completed" => MetricType::SpamTrainCompleted, b"spam.train-sample-added" => MetricType::SpamTrainSampleAdded, b"spam.classify" => MetricType::SpamClassify, b"spam.model-not-ready" => MetricType::SpamModelNotReady, b"spf.pass" => MetricType::SpfPass, b"spf.fail" => MetricType::SpfFail, b"spf.soft-fail" => MetricType::SpfSoftFail, b"spf.neutral" => MetricType::SpfNeutral, b"spf.temp-error" => MetricType::SpfTempError, b"spf.perm-error" => MetricType::SpfPermError, b"spf.none" => MetricType::SpfNone, b"store.data-read-time" => MetricType::StoreDataReadTime, b"store.data-write-time" => MetricType::StoreDataWriteTime, b"store.blob-read-time" => MetricType::StoreBlobReadTime, b"store.blob-write-time" => MetricType::StoreBlobWriteTime, b"store.assert-value-failed" => MetricType::StoreAssertValueFailed, b"store.foundationdb-error" => MetricType::StoreFoundationdbError, b"store.mysql-error" => MetricType::StoreMysqlError, b"store.postgresql-error" => MetricType::StorePostgresqlError, b"store.rocksdb-error" => MetricType::StoreRocksdbError, b"store.sqlite-error" => MetricType::StoreSqliteError, b"store.ldap-error" => MetricType::StoreLdapError, b"store.elasticsearch-error" => MetricType::StoreElasticsearchError, b"store.redis-error" => MetricType::StoreRedisError, b"store.s3-error" => MetricType::StoreS3Error, b"store.azure-error" => MetricType::StoreAzureError, b"store.filesystem-error" => MetricType::StoreFilesystemError, b"store.pool-error" => MetricType::StorePoolError, b"store.data-corruption" => MetricType::StoreDataCorruption, b"store.decompress-error" => MetricType::StoreDecompressError, b"store.deserialize-error" => MetricType::StoreDeserializeError, b"store.not-found" => MetricType::StoreNotFound, b"store.not-configured" => MetricType::StoreNotConfigured, b"store.not-supported" => MetricType::StoreNotSupported, b"store.unexpected-error" => MetricType::StoreUnexpectedError, b"store.crypto-error" => MetricType::StoreCryptoError, b"store.http-store-error" => MetricType::StoreHttpStoreError, b"store.blob-missing-marker" => MetricType::StoreBlobMissingMarker, b"store.data-write" => MetricType::StoreDataWrite, b"store.data-iterate" => MetricType::StoreDataIterate, b"store.blob-read" => MetricType::StoreBlobRead, b"store.blob-write" => MetricType::StoreBlobWrite, b"store.blob-delete" => MetricType::StoreBlobDelete, b"task-manager.blob-not-found" => MetricType::TaskManagerBlobNotFound, b"task-manager.metadata-not-found" => MetricType::TaskManagerMetadataNotFound, b"telemetry.alert-event" => MetricType::TelemetryAlertEvent, b"telemetry.alert-message" => MetricType::TelemetryAlertMessage, b"telemetry.log-error" => MetricType::TelemetryLogError, b"telemetry.webhook-error" => MetricType::TelemetryWebhookError, b"telemetry.otel-exporter-error" => MetricType::TelemetryOtelExporterError, b"telemetry.otel-metrics-exporter-error" => MetricType::TelemetryOtelMetricsExporterError, b"telemetry.prometheus-exporter-error" => MetricType::TelemetryPrometheusExporterError, b"telemetry.journal-error" => MetricType::TelemetryJournalError, b"tls.handshake-error" => MetricType::TlsHandshakeError, b"user.count" => MetricType::UserCount, } .copied() } pub fn as_str(&self) -> &'static str { match self { MetricType::AcmeAuthError => "acme.auth-error", MetricType::AcmeAuthTooManyAttempts => "acme.auth-too-many-attempts", MetricType::AcmeOrderCompleted => "acme.order-completed", MetricType::AcmeOrderInvalid => "acme.order-invalid", MetricType::AcmeClientMissingSni => "acme.client-missing-sni", MetricType::AcmeTlsAlpnError => "acme.tls-alpn-error", MetricType::AcmeTokenNotFound => "acme.token-not-found", MetricType::AcmeError => "acme.error", MetricType::ArcChainTooLong => "arc.chain-too-long", MetricType::ArcInvalidInstance => "arc.invalid-instance", MetricType::ArcInvalidCv => "arc.invalid-cv", MetricType::ArcHasHeaderTag => "arc.has-header-tag", MetricType::ArcBrokenChain => "arc.broken-chain", MetricType::AuthSuccess => "auth.success", MetricType::AuthFailed => "auth.failed", MetricType::AuthTooManyAttempts => "auth.too-many-attempts", MetricType::AuthError => "auth.error", MetricType::CalendarAlarmSent => "calendar.alarm-sent", MetricType::CalendarAlarmFailed => "calendar.alarm-failed", MetricType::CalendarItipMessageSent => "calendar.itip-message-sent", MetricType::CalendarItipMessageReceived => "calendar.itip-message-received", MetricType::CalendarItipMessageError => "calendar.itip-message-error", MetricType::ClusterSubscriberError => "cluster.subscriber-error", MetricType::ClusterSubscriberDisconnected => "cluster.subscriber-disconnected", MetricType::ClusterPublisherError => "cluster.publisher-error", MetricType::DaneAuthenticationSuccess => "dane.authentication-success", MetricType::DaneAuthenticationFailure => "dane.authentication-failure", MetricType::DaneNoCertificatesFound => "dane.no-certificates-found", MetricType::DaneCertificateParseError => "dane.certificate-parse-error", MetricType::DaneTlsaRecordFetchError => "dane.tlsa-record-fetch-error", MetricType::DaneTlsaRecordNotFound => "dane.tlsa-record-not-found", MetricType::DaneTlsaRecordNotDnssecSigned => "dane.tlsa-record-not-dnssec-signed", MetricType::DaneTlsaRecordInvalid => "dane.tlsa-record-invalid", MetricType::DaneBogusDnssecRecord => "dane.bogus-dnssec-record", MetricType::DeliveryTotalTime => "delivery.total-time", MetricType::DeliveryAttemptTime => "delivery.attempt-time", MetricType::DeliveryActiveConnections => "delivery.active-connections", MetricType::DeliveryAttemptStart => "delivery.attempt-start", MetricType::DeliveryAttemptEnd => "delivery.attempt-end", MetricType::DeliveryCompleted => "delivery.completed", MetricType::DeliveryMxLookupFailed => "delivery.mx-lookup-failed", MetricType::DeliveryIpLookupFailed => "delivery.ip-lookup-failed", MetricType::DeliveryNullMx => "delivery.null-mx", MetricType::DeliveryGreetingFailed => "delivery.greeting-failed", MetricType::DeliveryEhloRejected => "delivery.ehlo-rejected", MetricType::DeliveryAuthFailed => "delivery.auth-failed", MetricType::DeliveryMailFromRejected => "delivery.mail-from-rejected", MetricType::DeliveryDelivered => "delivery.delivered", MetricType::DeliveryRcptToRejected => "delivery.rcpt-to-rejected", MetricType::DeliveryRcptToFailed => "delivery.rcpt-to-failed", MetricType::DeliveryMessageRejected => "delivery.message-rejected", MetricType::DeliveryStartTlsUnavailable => "delivery.start-tls-unavailable", MetricType::DeliveryStartTlsError => "delivery.start-tls-error", MetricType::DeliveryStartTlsDisabled => "delivery.start-tls-disabled", MetricType::DeliveryImplicitTlsError => "delivery.implicit-tls-error", MetricType::DeliveryConcurrencyLimitExceeded => "delivery.concurrency-limit-exceeded", MetricType::DeliveryRateLimitExceeded => "delivery.rate-limit-exceeded", MetricType::DeliveryDoubleBounce => "delivery.double-bounce", MetricType::DeliveryDsnSuccess => "delivery.dsn-success", MetricType::DeliveryDsnTempFail => "delivery.dsn-temp-fail", MetricType::DeliveryDsnPermFail => "delivery.dsn-perm-fail", MetricType::DkimPass => "dkim.pass", MetricType::DkimNeutral => "dkim.neutral", MetricType::DkimFail => "dkim.fail", MetricType::DkimPermError => "dkim.perm-error", MetricType::DkimTempError => "dkim.temp-error", MetricType::DkimNone => "dkim.none", MetricType::DkimUnsupportedVersion => "dkim.unsupported-version", MetricType::DkimUnsupportedAlgorithm => "dkim.unsupported-algorithm", MetricType::DkimUnsupportedCanonicalization => "dkim.unsupported-canonicalization", MetricType::DkimUnsupportedKeyType => "dkim.unsupported-key-type", MetricType::DkimFailedBodyHashMatch => "dkim.failed-body-hash-match", MetricType::DkimFailedVerification => "dkim.failed-verification", MetricType::DkimFailedAuidMatch => "dkim.failed-auid-match", MetricType::DkimRevokedPublicKey => "dkim.revoked-public-key", MetricType::DkimIncompatibleAlgorithms => "dkim.incompatible-algorithms", MetricType::DkimSignatureExpired => "dkim.signature-expired", MetricType::DkimSignatureLength => "dkim.signature-length", MetricType::DkimSignerNotFound => "dkim.signer-not-found", MetricType::DkimInstanceMissing => "dkim.instance-missing", MetricType::DkimInstanceSyntax => "dkim.instance-syntax", MetricType::DkimInstanceTagMissing => "dkim.instance-tag-missing", MetricType::DkimInstanceNotSigned => "dkim.instance-not-signed", MetricType::DkimInstanceAboveSignature => "dkim.instance-above-signature", MetricType::DkimSignatureMissing => "dkim.signature-missing", MetricType::DkimSignatureSyntax => "dkim.signature-syntax", MetricType::DkimSignatureTagMissing => "dkim.signature-tag-missing", MetricType::DkimSignatureTagUnexpected => "dkim.signature-tag-unexpected", MetricType::DkimSequenceGap => "dkim.sequence-gap", MetricType::DkimSequenceOverflow => "dkim.sequence-overflow", MetricType::DkimChainTooLong => "dkim.chain-too-long", MetricType::DkimMailFromMismatch => "dkim.mail-from-mismatch", MetricType::DkimRcptToMismatch => "dkim.rcpt-to-mismatch", MetricType::DkimMailFromDomainMismatch => "dkim.mail-from-domain-mismatch", MetricType::DkimNextDomainMismatch => "dkim.next-domain-mismatch", MetricType::DkimCustodyBreak => "dkim.custody-break", MetricType::DkimPublicKeyFetch => "dkim.public-key-fetch", MetricType::DkimPublicKeyMissing => "dkim.public-key-missing", MetricType::DkimPublicKeyMultiple => "dkim.public-key-multiple", MetricType::DkimPublicKeySyntax => "dkim.public-key-syntax", MetricType::DkimPublicKeyAlgorithmMismatch => "dkim.public-key-algorithm-mismatch", MetricType::DkimNoValidAlgorithm => "dkim.no-valid-algorithm", MetricType::DkimHeaderHashMismatch => "dkim.header-hash-mismatch", MetricType::DkimModified => "dkim.modified", MetricType::DkimExploded => "dkim.exploded", MetricType::DmarcPass => "dmarc.pass", MetricType::DmarcFail => "dmarc.fail", MetricType::DmarcPermError => "dmarc.perm-error", MetricType::DmarcTempError => "dmarc.temp-error", MetricType::DmarcNone => "dmarc.none", MetricType::DnsLookupTime => "dns.lookup-time", MetricType::DnsRecordCreationFailed => "dns.record-creation-failed", MetricType::DnsRecordDeletionFailed => "dns.record-deletion-failed", MetricType::DnsRecordLookupFailed => "dns.record-lookup-failed", MetricType::DnsRecordPropagationTimeout => "dns.record-propagation-timeout", MetricType::DomainCount => "domain.count", MetricType::EvalError => "eval.error", MetricType::EvalDirectoryNotFound => "eval.directory-not-found", MetricType::EvalStoreNotFound => "eval.store-not-found", MetricType::HttpRequestTime => "http.request-time", MetricType::HttpActiveConnections => "http.active-connections", MetricType::HttpConnectionStart => "http.connection-start", MetricType::HttpError => "http.error", MetricType::HttpRequestBody => "http.request-body", MetricType::HttpResponseBody => "http.response-body", MetricType::HttpXForwardedMissing => "http.x-forwarded-missing", MetricType::ImapRequestTime => "imap.request-time", MetricType::ImapActiveConnections => "imap.active-connections", MetricType::ImapConnectionStart => "imap.connection-start", MetricType::ImapConnectionEnd => "imap.connection-end", MetricType::IncomingReportDmarcReport => "incoming-report.dmarc-report", MetricType::IncomingReportDmarcReportWithWarnings => { "incoming-report.dmarc-report-with-warnings" } MetricType::IncomingReportTlsReport => "incoming-report.tls-report", MetricType::IncomingReportTlsReportWithWarnings => { "incoming-report.tls-report-with-warnings" } MetricType::IncomingReportAbuseReport => "incoming-report.abuse-report", MetricType::IncomingReportAuthFailureReport => "incoming-report.auth-failure-report", MetricType::IncomingReportFraudReport => "incoming-report.fraud-report", MetricType::IncomingReportNotSpamReport => "incoming-report.not-spam-report", MetricType::IncomingReportVirusReport => "incoming-report.virus-report", MetricType::IncomingReportOtherReport => "incoming-report.other-report", MetricType::IncomingReportMessageParseFailed => "incoming-report.message-parse-failed", MetricType::IncomingReportDmarcParseFailed => "incoming-report.dmarc-parse-failed", MetricType::IncomingReportTlsRpcParseFailed => "incoming-report.tls-rpc-parse-failed", MetricType::IncomingReportArfParseFailed => "incoming-report.arf-parse-failed", MetricType::IncomingReportDecompressError => "incoming-report.decompress-error", MetricType::IprevPass => "iprev.pass", MetricType::IprevFail => "iprev.fail", MetricType::IprevPermError => "iprev.perm-error", MetricType::IprevTempError => "iprev.temp-error", MetricType::IprevNone => "iprev.none", MetricType::JmapMethodCall => "jmap.method-call", MetricType::JmapInvalidArguments => "jmap.invalid-arguments", MetricType::JmapRequestTooLarge => "jmap.request-too-large", MetricType::JmapUnsupportedFilter => "jmap.unsupported-filter", MetricType::JmapUnsupportedSort => "jmap.unsupported-sort", MetricType::JmapUnknownMethod => "jmap.unknown-method", MetricType::JmapForbidden => "jmap.forbidden", MetricType::JmapNotJson => "jmap.not-json", MetricType::JmapNotRequest => "jmap.not-request", MetricType::JmapWebsocketStart => "jmap.websocket-start", MetricType::JmapWebsocketError => "jmap.websocket-error", MetricType::LimitSizeRequest => "limit.size-request", MetricType::LimitSizeUpload => "limit.size-upload", MetricType::LimitCallsIn => "limit.calls-in", MetricType::LimitConcurrentRequest => "limit.concurrent-request", MetricType::LimitConcurrentUpload => "limit.concurrent-upload", MetricType::LimitConcurrentConnection => "limit.concurrent-connection", MetricType::LimitQuota => "limit.quota", MetricType::LimitBlobQuota => "limit.blob-quota", MetricType::LimitTenantQuota => "limit.tenant-quota", MetricType::LimitTooManyRequests => "limit.too-many-requests", MetricType::MailAuthParseError => "mail-auth.parse-error", MetricType::MailAuthMissingParameters => "mail-auth.missing-parameters", MetricType::MailAuthNoHeadersFound => "mail-auth.no-headers-found", MetricType::MailAuthCrypto => "mail-auth.crypto", MetricType::MailAuthIo => "mail-auth.io", MetricType::MailAuthBase64 => "mail-auth.base64", MetricType::MailAuthDnsError => "mail-auth.dns-error", MetricType::MailAuthDnsRecordNotFound => "mail-auth.dns-record-not-found", MetricType::MailAuthDnsInvalidRecordType => "mail-auth.dns-invalid-record-type", MetricType::MailAuthPolicyNotAligned => "mail-auth.policy-not-aligned", MetricType::ManageSieveConnectionStart => "manage-sieve.connection-start", MetricType::ManageSieveConnectionEnd => "manage-sieve.connection-end", MetricType::MessageSize => "message.size", MetricType::MessageAuthenticatedSize => "message.authenticated-size", MetricType::MessageIngestTime => "message-ingest.time", MetricType::MessageIngestIndexTime => "message-ingest.index-time", MetricType::MessageIngestHam => "message-ingest.ham", MetricType::MessageIngestSpam => "message-ingest.spam", MetricType::MessageIngestImapAppend => "message-ingest.imap-append", MetricType::MessageIngestJmapAppend => "message-ingest.jmap-append", MetricType::MessageIngestDuplicate => "message-ingest.duplicate", MetricType::MessageIngestError => "message-ingest.error", MetricType::MessageIngestSearchIndex => "message-ingest.search-index", MetricType::MilterActionAccept => "milter.action-accept", MetricType::MilterActionDiscard => "milter.action-discard", MetricType::MilterActionReject => "milter.action-reject", MetricType::MilterActionTempFail => "milter.action-temp-fail", MetricType::MilterActionReplyCode => "milter.action-reply-code", MetricType::MilterActionConnectionFailure => "milter.action-connection-failure", MetricType::MilterActionShutdown => "milter.action-shutdown", MetricType::MtaHookActionAccept => "mta-hook.action-accept", MetricType::MtaHookActionDiscard => "mta-hook.action-discard", MetricType::MtaHookActionReject => "mta-hook.action-reject", MetricType::MtaHookActionQuarantine => "mta-hook.action-quarantine", MetricType::MtaHookError => "mta-hook.error", MetricType::MtaStsAuthorized => "mta-sts.authorized", MetricType::MtaStsNotAuthorized => "mta-sts.not-authorized", MetricType::MtaStsInvalidPolicy => "mta-sts.invalid-policy", MetricType::NetworkTimeout => "network.timeout", MetricType::OutgoingReportSize => "outgoing-report.size", MetricType::OutgoingReportSpfReport => "outgoing-report.spf-report", MetricType::OutgoingReportSpfRateLimited => "outgoing-report.spf-rate-limited", MetricType::OutgoingReportDkimReport => "outgoing-report.dkim-report", MetricType::OutgoingReportDkimRateLimited => "outgoing-report.dkim-rate-limited", MetricType::OutgoingReportDmarcReport => "outgoing-report.dmarc-report", MetricType::OutgoingReportDmarcRateLimited => "outgoing-report.dmarc-rate-limited", MetricType::OutgoingReportDmarcAggregateReport => { "outgoing-report.dmarc-aggregate-report" } MetricType::OutgoingReportTlsAggregate => "outgoing-report.tls-aggregate", MetricType::OutgoingReportHttpSubmission => "outgoing-report.http-submission", MetricType::OutgoingReportUnauthorizedReportingAddress => { "outgoing-report.unauthorized-reporting-address" } MetricType::OutgoingReportReportingAddressValidationError => { "outgoing-report.reporting-address-validation-error" } MetricType::OutgoingReportNotFound => "outgoing-report.not-found", MetricType::OutgoingReportSubmissionError => "outgoing-report.submission-error", MetricType::OutgoingReportNoRecipientsFound => "outgoing-report.no-recipients-found", MetricType::Pop3RequestTime => "pop3.request-time", MetricType::Pop3ActiveConnections => "pop3.active-connections", MetricType::Pop3ConnectionStart => "pop3.connection-start", MetricType::Pop3ConnectionEnd => "pop3.connection-end", MetricType::PushSubscriptionSuccess => "push-subscription.success", MetricType::PushSubscriptionError => "push-subscription.error", MetricType::PushSubscriptionNotFound => "push-subscription.not-found", MetricType::QueueCount => "queue.count", MetricType::QueueMessageQueued => "queue.message-queued", MetricType::QueueAuthenticatedMessageQueued => "queue.authenticated-message-queued", MetricType::QueueReportQueued => "queue.report-queued", MetricType::QueueDsnQueued => "queue.dsn-queued", MetricType::QueueAutogeneratedQueued => "queue.autogenerated-queued", MetricType::QueueRescheduled => "queue.rescheduled", MetricType::QueueBlobNotFound => "queue.blob-not-found", MetricType::QueueRateLimitExceeded => "queue.rate-limit-exceeded", MetricType::QueueConcurrencyLimitExceeded => "queue.concurrency-limit-exceeded", MetricType::QueueQuotaExceeded => "queue.quota-exceeded", MetricType::ResourceNotFound => "resource.not-found", MetricType::ResourceBadParameters => "resource.bad-parameters", MetricType::ResourceError => "resource.error", MetricType::SecurityAuthenticationBan => "security.authentication-ban", MetricType::SecurityAbuseBan => "security.abuse-ban", MetricType::SecurityScanBan => "security.scan-ban", MetricType::SecurityLoiterBan => "security.loiter-ban", MetricType::SecurityIpBlocked => "security.ip-blocked", MetricType::SecurityUnauthorized => "security.unauthorized", MetricType::ServerMemory => "server.memory", MetricType::ServerThreadError => "server.thread-error", MetricType::SieveRequestTime => "sieve.request-time", MetricType::SieveActiveConnections => "sieve.active-connections", MetricType::SieveActionAccept => "sieve.action-accept", MetricType::SieveActionAcceptReplace => "sieve.action-accept-replace", MetricType::SieveActionDiscard => "sieve.action-discard", MetricType::SieveActionReject => "sieve.action-reject", MetricType::SieveSendMessage => "sieve.send-message", MetricType::SieveMessageTooLarge => "sieve.message-too-large", MetricType::SieveRuntimeError => "sieve.runtime-error", MetricType::SieveUnexpectedError => "sieve.unexpected-error", MetricType::SieveNotSupported => "sieve.not-supported", MetricType::SieveQuotaExceeded => "sieve.quota-exceeded", MetricType::SmtpRequestTime => "smtp.request-time", MetricType::SmtpActiveConnections => "smtp.active-connections", MetricType::SmtpConnectionStart => "smtp.connection-start", MetricType::SmtpConnectionEnd => "smtp.connection-end", MetricType::SmtpError => "smtp.error", MetricType::SmtpConcurrencyLimitExceeded => "smtp.concurrency-limit-exceeded", MetricType::SmtpTransferLimitExceeded => "smtp.transfer-limit-exceeded", MetricType::SmtpRateLimitExceeded => "smtp.rate-limit-exceeded", MetricType::SmtpTimeLimitExceeded => "smtp.time-limit-exceeded", MetricType::SmtpMessageParseFailed => "smtp.message-parse-failed", MetricType::SmtpMessageTooLarge => "smtp.message-too-large", MetricType::SmtpLoopDetected => "smtp.loop-detected", MetricType::SmtpDkimPass => "smtp.dkim-pass", MetricType::SmtpDkimFail => "smtp.dkim-fail", MetricType::SmtpDkim2Pass => "smtp.dkim2-pass", MetricType::SmtpDkim2Fail => "smtp.dkim2-fail", MetricType::SmtpDkim2DsnDiscarded => "smtp.dkim2-dsn-discarded", MetricType::SmtpArcPass => "smtp.arc-pass", MetricType::SmtpArcFail => "smtp.arc-fail", MetricType::SmtpSpfEhloPass => "smtp.spf-ehlo-pass", MetricType::SmtpSpfEhloFail => "smtp.spf-ehlo-fail", MetricType::SmtpSpfFromPass => "smtp.spf-from-pass", MetricType::SmtpSpfFromFail => "smtp.spf-from-fail", MetricType::SmtpDmarcPass => "smtp.dmarc-pass", MetricType::SmtpDmarcFail => "smtp.dmarc-fail", MetricType::SmtpIprevPass => "smtp.iprev-pass", MetricType::SmtpIprevFail => "smtp.iprev-fail", MetricType::SmtpTooManyMessages => "smtp.too-many-messages", MetricType::SmtpInvalidEhlo => "smtp.invalid-ehlo", MetricType::SmtpDidNotSayEhlo => "smtp.did-not-say-ehlo", MetricType::SmtpMailFromUnauthenticated => "smtp.mail-from-unauthenticated", MetricType::SmtpMailFromUnauthorized => "smtp.mail-from-unauthorized", MetricType::SmtpMailFromMissing => "smtp.mail-from-missing", MetricType::SmtpMultipleMailFrom => "smtp.multiple-mail-from", MetricType::SmtpMailboxDoesNotExist => "smtp.mailbox-does-not-exist", MetricType::SmtpRelayNotAllowed => "smtp.relay-not-allowed", MetricType::SmtpRcptToDuplicate => "smtp.rcpt-to-duplicate", MetricType::SmtpRcptToMissing => "smtp.rcpt-to-missing", MetricType::SmtpTooManyRecipients => "smtp.too-many-recipients", MetricType::SmtpTooManyInvalidRcpt => "smtp.too-many-invalid-rcpt", MetricType::SmtpAuthMechanismNotSupported => "smtp.auth-mechanism-not-supported", MetricType::SmtpAuthExchangeTooLong => "smtp.auth-exchange-too-long", MetricType::SmtpCommandNotImplemented => "smtp.command-not-implemented", MetricType::SmtpInvalidCommand => "smtp.invalid-command", MetricType::SmtpSyntaxError => "smtp.syntax-error", MetricType::SmtpRequestTooLarge => "smtp.request-too-large", MetricType::SpamPyzorError => "spam.pyzor-error", MetricType::SpamDnsblError => "spam.dnsbl-error", MetricType::SpamTrainCompleted => "spam.train-completed", MetricType::SpamTrainSampleAdded => "spam.train-sample-added", MetricType::SpamClassify => "spam.classify", MetricType::SpamModelNotReady => "spam.model-not-ready", MetricType::SpfPass => "spf.pass", MetricType::SpfFail => "spf.fail", MetricType::SpfSoftFail => "spf.soft-fail", MetricType::SpfNeutral => "spf.neutral", MetricType::SpfTempError => "spf.temp-error", MetricType::SpfPermError => "spf.perm-error", MetricType::SpfNone => "spf.none", MetricType::StoreDataReadTime => "store.data-read-time", MetricType::StoreDataWriteTime => "store.data-write-time", MetricType::StoreBlobReadTime => "store.blob-read-time", MetricType::StoreBlobWriteTime => "store.blob-write-time", MetricType::StoreAssertValueFailed => "store.assert-value-failed", MetricType::StoreFoundationdbError => "store.foundationdb-error", MetricType::StoreMysqlError => "store.mysql-error", MetricType::StorePostgresqlError => "store.postgresql-error", MetricType::StoreRocksdbError => "store.rocksdb-error", MetricType::StoreSqliteError => "store.sqlite-error", MetricType::StoreLdapError => "store.ldap-error", MetricType::StoreElasticsearchError => "store.elasticsearch-error", MetricType::StoreRedisError => "store.redis-error", MetricType::StoreS3Error => "store.s3-error", MetricType::StoreAzureError => "store.azure-error", MetricType::StoreFilesystemError => "store.filesystem-error", MetricType::StorePoolError => "store.pool-error", MetricType::StoreDataCorruption => "store.data-corruption", MetricType::StoreDecompressError => "store.decompress-error", MetricType::StoreDeserializeError => "store.deserialize-error", MetricType::StoreNotFound => "store.not-found", MetricType::StoreNotConfigured => "store.not-configured", MetricType::StoreNotSupported => "store.not-supported", MetricType::StoreUnexpectedError => "store.unexpected-error", MetricType::StoreCryptoError => "store.crypto-error", MetricType::StoreHttpStoreError => "store.http-store-error", MetricType::StoreBlobMissingMarker => "store.blob-missing-marker", MetricType::StoreDataWrite => "store.data-write", MetricType::StoreDataIterate => "store.data-iterate", MetricType::StoreBlobRead => "store.blob-read", MetricType::StoreBlobWrite => "store.blob-write", MetricType::StoreBlobDelete => "store.blob-delete", MetricType::TaskManagerBlobNotFound => "task-manager.blob-not-found", MetricType::TaskManagerMetadataNotFound => "task-manager.metadata-not-found", MetricType::TelemetryAlertEvent => "telemetry.alert-event", MetricType::TelemetryAlertMessage => "telemetry.alert-message", MetricType::TelemetryLogError => "telemetry.log-error", MetricType::TelemetryWebhookError => "telemetry.webhook-error", MetricType::TelemetryOtelExporterError => "telemetry.otel-exporter-error", MetricType::TelemetryOtelMetricsExporterError => { "telemetry.otel-metrics-exporter-error" } MetricType::TelemetryPrometheusExporterError => "telemetry.prometheus-exporter-error", MetricType::TelemetryJournalError => "telemetry.journal-error", MetricType::TlsHandshakeError => "tls.handshake-error", MetricType::UserCount => "user.count", } } pub fn to_id(&self) -> u16 { match self { MetricType::AcmeAuthError => 27, MetricType::AcmeAuthTooManyAttempts => 28, MetricType::AcmeOrderCompleted => 29, MetricType::AcmeOrderInvalid => 30, MetricType::AcmeClientMissingSni => 31, MetricType::AcmeTlsAlpnError => 32, MetricType::AcmeTokenNotFound => 33, MetricType::AcmeError => 34, MetricType::ArcChainTooLong => 39, MetricType::ArcInvalidInstance => 40, MetricType::ArcInvalidCv => 41, MetricType::ArcHasHeaderTag => 42, MetricType::ArcBrokenChain => 43, MetricType::AuthSuccess => 44, MetricType::AuthFailed => 45, MetricType::AuthTooManyAttempts => 46, MetricType::AuthError => 47, MetricType::CalendarAlarmSent => 48, MetricType::CalendarAlarmFailed => 49, MetricType::CalendarItipMessageSent => 50, MetricType::CalendarItipMessageReceived => 51, MetricType::CalendarItipMessageError => 52, MetricType::ClusterSubscriberError => 53, MetricType::ClusterSubscriberDisconnected => 54, MetricType::ClusterPublisherError => 55, MetricType::DaneAuthenticationSuccess => 56, MetricType::DaneAuthenticationFailure => 57, MetricType::DaneNoCertificatesFound => 58, MetricType::DaneCertificateParseError => 59, MetricType::DaneTlsaRecordFetchError => 60, MetricType::DaneTlsaRecordNotFound => 61, MetricType::DaneTlsaRecordNotDnssecSigned => 62, MetricType::DaneTlsaRecordInvalid => 63, MetricType::DaneBogusDnssecRecord => 339, MetricType::DeliveryTotalTime => 2, MetricType::DeliveryAttemptTime => 3, MetricType::DeliveryActiveConnections => 22, MetricType::DeliveryAttemptStart => 64, MetricType::DeliveryAttemptEnd => 65, MetricType::DeliveryCompleted => 66, MetricType::DeliveryMxLookupFailed => 67, MetricType::DeliveryIpLookupFailed => 68, MetricType::DeliveryNullMx => 69, MetricType::DeliveryGreetingFailed => 70, MetricType::DeliveryEhloRejected => 71, MetricType::DeliveryAuthFailed => 72, MetricType::DeliveryMailFromRejected => 73, MetricType::DeliveryDelivered => 74, MetricType::DeliveryRcptToRejected => 75, MetricType::DeliveryRcptToFailed => 76, MetricType::DeliveryMessageRejected => 77, MetricType::DeliveryStartTlsUnavailable => 78, MetricType::DeliveryStartTlsError => 79, MetricType::DeliveryStartTlsDisabled => 80, MetricType::DeliveryImplicitTlsError => 81, MetricType::DeliveryConcurrencyLimitExceeded => 82, MetricType::DeliveryRateLimitExceeded => 83, MetricType::DeliveryDoubleBounce => 84, MetricType::DeliveryDsnSuccess => 85, MetricType::DeliveryDsnTempFail => 86, MetricType::DeliveryDsnPermFail => 87, MetricType::DkimPass => 88, MetricType::DkimNeutral => 89, MetricType::DkimFail => 90, MetricType::DkimPermError => 91, MetricType::DkimTempError => 92, MetricType::DkimNone => 93, MetricType::DkimUnsupportedVersion => 94, MetricType::DkimUnsupportedAlgorithm => 95, MetricType::DkimUnsupportedCanonicalization => 96, MetricType::DkimUnsupportedKeyType => 97, MetricType::DkimFailedBodyHashMatch => 98, MetricType::DkimFailedVerification => 99, MetricType::DkimFailedAuidMatch => 100, MetricType::DkimRevokedPublicKey => 101, MetricType::DkimIncompatibleAlgorithms => 102, MetricType::DkimSignatureExpired => 103, MetricType::DkimSignatureLength => 104, MetricType::DkimSignerNotFound => 105, MetricType::DkimInstanceMissing => 340, MetricType::DkimInstanceSyntax => 341, MetricType::DkimInstanceTagMissing => 342, MetricType::DkimInstanceNotSigned => 343, MetricType::DkimInstanceAboveSignature => 344, MetricType::DkimSignatureMissing => 345, MetricType::DkimSignatureSyntax => 346, MetricType::DkimSignatureTagMissing => 347, MetricType::DkimSignatureTagUnexpected => 348, MetricType::DkimSequenceGap => 349, MetricType::DkimSequenceOverflow => 350, MetricType::DkimChainTooLong => 367, MetricType::DkimMailFromMismatch => 351, MetricType::DkimRcptToMismatch => 352, MetricType::DkimMailFromDomainMismatch => 353, MetricType::DkimNextDomainMismatch => 354, MetricType::DkimCustodyBreak => 368, MetricType::DkimPublicKeyFetch => 355, MetricType::DkimPublicKeyMissing => 356, MetricType::DkimPublicKeyMultiple => 357, MetricType::DkimPublicKeySyntax => 358, MetricType::DkimPublicKeyAlgorithmMismatch => 359, MetricType::DkimNoValidAlgorithm => 360, MetricType::DkimHeaderHashMismatch => 361, MetricType::DkimModified => 362, MetricType::DkimExploded => 363, MetricType::DmarcPass => 106, MetricType::DmarcFail => 107, MetricType::DmarcPermError => 108, MetricType::DmarcTempError => 109, MetricType::DmarcNone => 110, MetricType::DnsLookupTime => 11, MetricType::DnsRecordCreationFailed => 35, MetricType::DnsRecordDeletionFailed => 36, MetricType::DnsRecordLookupFailed => 37, MetricType::DnsRecordPropagationTimeout => 38, MetricType::DomainCount => 26, MetricType::EvalError => 111, MetricType::EvalDirectoryNotFound => 112, MetricType::EvalStoreNotFound => 113, MetricType::HttpRequestTime => 12, MetricType::HttpActiveConnections => 17, MetricType::HttpConnectionStart => 337, MetricType::HttpError => 114, MetricType::HttpRequestBody => 115, MetricType::HttpResponseBody => 116, MetricType::HttpXForwardedMissing => 117, MetricType::ImapRequestTime => 13, MetricType::ImapActiveConnections => 18, MetricType::ImapConnectionStart => 118, MetricType::ImapConnectionEnd => 119, MetricType::IncomingReportDmarcReport => 120, MetricType::IncomingReportDmarcReportWithWarnings => 121, MetricType::IncomingReportTlsReport => 122, MetricType::IncomingReportTlsReportWithWarnings => 123, MetricType::IncomingReportAbuseReport => 124, MetricType::IncomingReportAuthFailureReport => 125, MetricType::IncomingReportFraudReport => 126, MetricType::IncomingReportNotSpamReport => 127, MetricType::IncomingReportVirusReport => 128, MetricType::IncomingReportOtherReport => 129, MetricType::IncomingReportMessageParseFailed => 130, MetricType::IncomingReportDmarcParseFailed => 131, MetricType::IncomingReportTlsRpcParseFailed => 132, MetricType::IncomingReportArfParseFailed => 133, MetricType::IncomingReportDecompressError => 134, MetricType::IprevPass => 135, MetricType::IprevFail => 136, MetricType::IprevPermError => 137, MetricType::IprevTempError => 138, MetricType::IprevNone => 139, MetricType::JmapMethodCall => 140, MetricType::JmapInvalidArguments => 141, MetricType::JmapRequestTooLarge => 142, MetricType::JmapUnsupportedFilter => 143, MetricType::JmapUnsupportedSort => 144, MetricType::JmapUnknownMethod => 145, MetricType::JmapForbidden => 146, MetricType::JmapNotJson => 147, MetricType::JmapNotRequest => 148, MetricType::JmapWebsocketStart => 149, MetricType::JmapWebsocketError => 150, MetricType::LimitSizeRequest => 151, MetricType::LimitSizeUpload => 152, MetricType::LimitCallsIn => 153, MetricType::LimitConcurrentRequest => 154, MetricType::LimitConcurrentUpload => 155, MetricType::LimitConcurrentConnection => 156, MetricType::LimitQuota => 157, MetricType::LimitBlobQuota => 158, MetricType::LimitTenantQuota => 159, MetricType::LimitTooManyRequests => 160, MetricType::MailAuthParseError => 161, MetricType::MailAuthMissingParameters => 162, MetricType::MailAuthNoHeadersFound => 163, MetricType::MailAuthCrypto => 164, MetricType::MailAuthIo => 165, MetricType::MailAuthBase64 => 166, MetricType::MailAuthDnsError => 167, MetricType::MailAuthDnsRecordNotFound => 168, MetricType::MailAuthDnsInvalidRecordType => 169, MetricType::MailAuthPolicyNotAligned => 170, MetricType::ManageSieveConnectionStart => 171, MetricType::ManageSieveConnectionEnd => 172, MetricType::MessageSize => 4, MetricType::MessageAuthenticatedSize => 5, MetricType::MessageIngestTime => 0, MetricType::MessageIngestIndexTime => 1, MetricType::MessageIngestHam => 173, MetricType::MessageIngestSpam => 174, MetricType::MessageIngestImapAppend => 175, MetricType::MessageIngestJmapAppend => 176, MetricType::MessageIngestDuplicate => 177, MetricType::MessageIngestError => 178, MetricType::MessageIngestSearchIndex => 179, MetricType::MilterActionAccept => 180, MetricType::MilterActionDiscard => 181, MetricType::MilterActionReject => 182, MetricType::MilterActionTempFail => 183, MetricType::MilterActionReplyCode => 184, MetricType::MilterActionConnectionFailure => 185, MetricType::MilterActionShutdown => 186, MetricType::MtaHookActionAccept => 187, MetricType::MtaHookActionDiscard => 188, MetricType::MtaHookActionReject => 189, MetricType::MtaHookActionQuarantine => 190, MetricType::MtaHookError => 191, MetricType::MtaStsAuthorized => 192, MetricType::MtaStsNotAuthorized => 193, MetricType::MtaStsInvalidPolicy => 194, MetricType::NetworkTimeout => 195, MetricType::OutgoingReportSize => 6, MetricType::OutgoingReportSpfReport => 196, MetricType::OutgoingReportSpfRateLimited => 197, MetricType::OutgoingReportDkimReport => 198, MetricType::OutgoingReportDkimRateLimited => 199, MetricType::OutgoingReportDmarcReport => 200, MetricType::OutgoingReportDmarcRateLimited => 201, MetricType::OutgoingReportDmarcAggregateReport => 202, MetricType::OutgoingReportTlsAggregate => 203, MetricType::OutgoingReportHttpSubmission => 204, MetricType::OutgoingReportUnauthorizedReportingAddress => 205, MetricType::OutgoingReportReportingAddressValidationError => 206, MetricType::OutgoingReportNotFound => 207, MetricType::OutgoingReportSubmissionError => 208, MetricType::OutgoingReportNoRecipientsFound => 209, MetricType::Pop3RequestTime => 14, MetricType::Pop3ActiveConnections => 19, MetricType::Pop3ConnectionStart => 210, MetricType::Pop3ConnectionEnd => 211, MetricType::PushSubscriptionSuccess => 213, MetricType::PushSubscriptionError => 214, MetricType::PushSubscriptionNotFound => 215, MetricType::QueueCount => 24, MetricType::QueueMessageQueued => 216, MetricType::QueueAuthenticatedMessageQueued => 217, MetricType::QueueReportQueued => 218, MetricType::QueueDsnQueued => 219, MetricType::QueueAutogeneratedQueued => 220, MetricType::QueueRescheduled => 221, MetricType::QueueBlobNotFound => 222, MetricType::QueueRateLimitExceeded => 223, MetricType::QueueConcurrencyLimitExceeded => 224, MetricType::QueueQuotaExceeded => 225, MetricType::ResourceNotFound => 226, MetricType::ResourceBadParameters => 227, MetricType::ResourceError => 228, MetricType::SecurityAuthenticationBan => 229, MetricType::SecurityAbuseBan => 230, MetricType::SecurityScanBan => 231, MetricType::SecurityLoiterBan => 232, MetricType::SecurityIpBlocked => 233, MetricType::SecurityUnauthorized => 234, MetricType::ServerMemory => 23, MetricType::ServerThreadError => 235, MetricType::SieveRequestTime => 16, MetricType::SieveActiveConnections => 21, MetricType::SieveActionAccept => 236, MetricType::SieveActionAcceptReplace => 237, MetricType::SieveActionDiscard => 238, MetricType::SieveActionReject => 239, MetricType::SieveSendMessage => 240, MetricType::SieveMessageTooLarge => 241, MetricType::SieveRuntimeError => 242, MetricType::SieveUnexpectedError => 243, MetricType::SieveNotSupported => 244, MetricType::SieveQuotaExceeded => 245, MetricType::SmtpRequestTime => 15, MetricType::SmtpActiveConnections => 20, MetricType::SmtpConnectionStart => 246, MetricType::SmtpConnectionEnd => 247, MetricType::SmtpError => 248, MetricType::SmtpConcurrencyLimitExceeded => 249, MetricType::SmtpTransferLimitExceeded => 250, MetricType::SmtpRateLimitExceeded => 251, MetricType::SmtpTimeLimitExceeded => 252, MetricType::SmtpMessageParseFailed => 253, MetricType::SmtpMessageTooLarge => 254, MetricType::SmtpLoopDetected => 255, MetricType::SmtpDkimPass => 256, MetricType::SmtpDkimFail => 257, MetricType::SmtpDkim2Pass => 364, MetricType::SmtpDkim2Fail => 365, MetricType::SmtpDkim2DsnDiscarded => 366, MetricType::SmtpArcPass => 258, MetricType::SmtpArcFail => 259, MetricType::SmtpSpfEhloPass => 260, MetricType::SmtpSpfEhloFail => 261, MetricType::SmtpSpfFromPass => 262, MetricType::SmtpSpfFromFail => 263, MetricType::SmtpDmarcPass => 264, MetricType::SmtpDmarcFail => 265, MetricType::SmtpIprevPass => 266, MetricType::SmtpIprevFail => 267, MetricType::SmtpTooManyMessages => 268, MetricType::SmtpInvalidEhlo => 269, MetricType::SmtpDidNotSayEhlo => 270, MetricType::SmtpMailFromUnauthenticated => 271, MetricType::SmtpMailFromUnauthorized => 272, MetricType::SmtpMailFromMissing => 273, MetricType::SmtpMultipleMailFrom => 274, MetricType::SmtpMailboxDoesNotExist => 275, MetricType::SmtpRelayNotAllowed => 276, MetricType::SmtpRcptToDuplicate => 277, MetricType::SmtpRcptToMissing => 278, MetricType::SmtpTooManyRecipients => 279, MetricType::SmtpTooManyInvalidRcpt => 280, MetricType::SmtpAuthMechanismNotSupported => 281, MetricType::SmtpAuthExchangeTooLong => 282, MetricType::SmtpCommandNotImplemented => 283, MetricType::SmtpInvalidCommand => 284, MetricType::SmtpSyntaxError => 285, MetricType::SmtpRequestTooLarge => 286, MetricType::SpamPyzorError => 287, MetricType::SpamDnsblError => 288, MetricType::SpamTrainCompleted => 289, MetricType::SpamTrainSampleAdded => 290, MetricType::SpamClassify => 291, MetricType::SpamModelNotReady => 292, MetricType::SpfPass => 293, MetricType::SpfFail => 294, MetricType::SpfSoftFail => 295, MetricType::SpfNeutral => 296, MetricType::SpfTempError => 297, MetricType::SpfPermError => 298, MetricType::SpfNone => 299, MetricType::StoreDataReadTime => 7, MetricType::StoreDataWriteTime => 8, MetricType::StoreBlobReadTime => 9, MetricType::StoreBlobWriteTime => 10, MetricType::StoreAssertValueFailed => 300, MetricType::StoreFoundationdbError => 301, MetricType::StoreMysqlError => 302, MetricType::StorePostgresqlError => 303, MetricType::StoreRocksdbError => 304, MetricType::StoreSqliteError => 305, MetricType::StoreLdapError => 306, MetricType::StoreElasticsearchError => 307, MetricType::StoreRedisError => 308, MetricType::StoreS3Error => 309, MetricType::StoreAzureError => 310, MetricType::StoreFilesystemError => 311, MetricType::StorePoolError => 312, MetricType::StoreDataCorruption => 313, MetricType::StoreDecompressError => 314, MetricType::StoreDeserializeError => 315, MetricType::StoreNotFound => 316, MetricType::StoreNotConfigured => 317, MetricType::StoreNotSupported => 318, MetricType::StoreUnexpectedError => 319, MetricType::StoreCryptoError => 320, MetricType::StoreHttpStoreError => 321, MetricType::StoreBlobMissingMarker => 322, MetricType::StoreDataWrite => 323, MetricType::StoreDataIterate => 324, MetricType::StoreBlobRead => 325, MetricType::StoreBlobWrite => 326, MetricType::StoreBlobDelete => 327, MetricType::TaskManagerBlobNotFound => 328, MetricType::TaskManagerMetadataNotFound => 329, MetricType::TelemetryAlertEvent => 338, MetricType::TelemetryAlertMessage => 212, MetricType::TelemetryLogError => 330, MetricType::TelemetryWebhookError => 331, MetricType::TelemetryOtelExporterError => 332, MetricType::TelemetryOtelMetricsExporterError => 333, MetricType::TelemetryPrometheusExporterError => 334, MetricType::TelemetryJournalError => 335, MetricType::TlsHandshakeError => 336, MetricType::UserCount => 25, } } pub fn from_id(id: u16) -> Option { match id { 27 => Some(MetricType::AcmeAuthError), 28 => Some(MetricType::AcmeAuthTooManyAttempts), 29 => Some(MetricType::AcmeOrderCompleted), 30 => Some(MetricType::AcmeOrderInvalid), 31 => Some(MetricType::AcmeClientMissingSni), 32 => Some(MetricType::AcmeTlsAlpnError), 33 => Some(MetricType::AcmeTokenNotFound), 34 => Some(MetricType::AcmeError), 39 => Some(MetricType::ArcChainTooLong), 40 => Some(MetricType::ArcInvalidInstance), 41 => Some(MetricType::ArcInvalidCv), 42 => Some(MetricType::ArcHasHeaderTag), 43 => Some(MetricType::ArcBrokenChain), 44 => Some(MetricType::AuthSuccess), 45 => Some(MetricType::AuthFailed), 46 => Some(MetricType::AuthTooManyAttempts), 47 => Some(MetricType::AuthError), 48 => Some(MetricType::CalendarAlarmSent), 49 => Some(MetricType::CalendarAlarmFailed), 50 => Some(MetricType::CalendarItipMessageSent), 51 => Some(MetricType::CalendarItipMessageReceived), 52 => Some(MetricType::CalendarItipMessageError), 53 => Some(MetricType::ClusterSubscriberError), 54 => Some(MetricType::ClusterSubscriberDisconnected), 55 => Some(MetricType::ClusterPublisherError), 56 => Some(MetricType::DaneAuthenticationSuccess), 57 => Some(MetricType::DaneAuthenticationFailure), 58 => Some(MetricType::DaneNoCertificatesFound), 59 => Some(MetricType::DaneCertificateParseError), 60 => Some(MetricType::DaneTlsaRecordFetchError), 61 => Some(MetricType::DaneTlsaRecordNotFound), 62 => Some(MetricType::DaneTlsaRecordNotDnssecSigned), 63 => Some(MetricType::DaneTlsaRecordInvalid), 339 => Some(MetricType::DaneBogusDnssecRecord), 2 => Some(MetricType::DeliveryTotalTime), 3 => Some(MetricType::DeliveryAttemptTime), 22 => Some(MetricType::DeliveryActiveConnections), 64 => Some(MetricType::DeliveryAttemptStart), 65 => Some(MetricType::DeliveryAttemptEnd), 66 => Some(MetricType::DeliveryCompleted), 67 => Some(MetricType::DeliveryMxLookupFailed), 68 => Some(MetricType::DeliveryIpLookupFailed), 69 => Some(MetricType::DeliveryNullMx), 70 => Some(MetricType::DeliveryGreetingFailed), 71 => Some(MetricType::DeliveryEhloRejected), 72 => Some(MetricType::DeliveryAuthFailed), 73 => Some(MetricType::DeliveryMailFromRejected), 74 => Some(MetricType::DeliveryDelivered), 75 => Some(MetricType::DeliveryRcptToRejected), 76 => Some(MetricType::DeliveryRcptToFailed), 77 => Some(MetricType::DeliveryMessageRejected), 78 => Some(MetricType::DeliveryStartTlsUnavailable), 79 => Some(MetricType::DeliveryStartTlsError), 80 => Some(MetricType::DeliveryStartTlsDisabled), 81 => Some(MetricType::DeliveryImplicitTlsError), 82 => Some(MetricType::DeliveryConcurrencyLimitExceeded), 83 => Some(MetricType::DeliveryRateLimitExceeded), 84 => Some(MetricType::DeliveryDoubleBounce), 85 => Some(MetricType::DeliveryDsnSuccess), 86 => Some(MetricType::DeliveryDsnTempFail), 87 => Some(MetricType::DeliveryDsnPermFail), 88 => Some(MetricType::DkimPass), 89 => Some(MetricType::DkimNeutral), 90 => Some(MetricType::DkimFail), 91 => Some(MetricType::DkimPermError), 92 => Some(MetricType::DkimTempError), 93 => Some(MetricType::DkimNone), 94 => Some(MetricType::DkimUnsupportedVersion), 95 => Some(MetricType::DkimUnsupportedAlgorithm), 96 => Some(MetricType::DkimUnsupportedCanonicalization), 97 => Some(MetricType::DkimUnsupportedKeyType), 98 => Some(MetricType::DkimFailedBodyHashMatch), 99 => Some(MetricType::DkimFailedVerification), 100 => Some(MetricType::DkimFailedAuidMatch), 101 => Some(MetricType::DkimRevokedPublicKey), 102 => Some(MetricType::DkimIncompatibleAlgorithms), 103 => Some(MetricType::DkimSignatureExpired), 104 => Some(MetricType::DkimSignatureLength), 105 => Some(MetricType::DkimSignerNotFound), 340 => Some(MetricType::DkimInstanceMissing), 341 => Some(MetricType::DkimInstanceSyntax), 342 => Some(MetricType::DkimInstanceTagMissing), 343 => Some(MetricType::DkimInstanceNotSigned), 344 => Some(MetricType::DkimInstanceAboveSignature), 345 => Some(MetricType::DkimSignatureMissing), 346 => Some(MetricType::DkimSignatureSyntax), 347 => Some(MetricType::DkimSignatureTagMissing), 348 => Some(MetricType::DkimSignatureTagUnexpected), 349 => Some(MetricType::DkimSequenceGap), 350 => Some(MetricType::DkimSequenceOverflow), 367 => Some(MetricType::DkimChainTooLong), 351 => Some(MetricType::DkimMailFromMismatch), 352 => Some(MetricType::DkimRcptToMismatch), 353 => Some(MetricType::DkimMailFromDomainMismatch), 354 => Some(MetricType::DkimNextDomainMismatch), 368 => Some(MetricType::DkimCustodyBreak), 355 => Some(MetricType::DkimPublicKeyFetch), 356 => Some(MetricType::DkimPublicKeyMissing), 357 => Some(MetricType::DkimPublicKeyMultiple), 358 => Some(MetricType::DkimPublicKeySyntax), 359 => Some(MetricType::DkimPublicKeyAlgorithmMismatch), 360 => Some(MetricType::DkimNoValidAlgorithm), 361 => Some(MetricType::DkimHeaderHashMismatch), 362 => Some(MetricType::DkimModified), 363 => Some(MetricType::DkimExploded), 106 => Some(MetricType::DmarcPass), 107 => Some(MetricType::DmarcFail), 108 => Some(MetricType::DmarcPermError), 109 => Some(MetricType::DmarcTempError), 110 => Some(MetricType::DmarcNone), 11 => Some(MetricType::DnsLookupTime), 35 => Some(MetricType::DnsRecordCreationFailed), 36 => Some(MetricType::DnsRecordDeletionFailed), 37 => Some(MetricType::DnsRecordLookupFailed), 38 => Some(MetricType::DnsRecordPropagationTimeout), 26 => Some(MetricType::DomainCount), 111 => Some(MetricType::EvalError), 112 => Some(MetricType::EvalDirectoryNotFound), 113 => Some(MetricType::EvalStoreNotFound), 12 => Some(MetricType::HttpRequestTime), 17 => Some(MetricType::HttpActiveConnections), 337 => Some(MetricType::HttpConnectionStart), 114 => Some(MetricType::HttpError), 115 => Some(MetricType::HttpRequestBody), 116 => Some(MetricType::HttpResponseBody), 117 => Some(MetricType::HttpXForwardedMissing), 13 => Some(MetricType::ImapRequestTime), 18 => Some(MetricType::ImapActiveConnections), 118 => Some(MetricType::ImapConnectionStart), 119 => Some(MetricType::ImapConnectionEnd), 120 => Some(MetricType::IncomingReportDmarcReport), 121 => Some(MetricType::IncomingReportDmarcReportWithWarnings), 122 => Some(MetricType::IncomingReportTlsReport), 123 => Some(MetricType::IncomingReportTlsReportWithWarnings), 124 => Some(MetricType::IncomingReportAbuseReport), 125 => Some(MetricType::IncomingReportAuthFailureReport), 126 => Some(MetricType::IncomingReportFraudReport), 127 => Some(MetricType::IncomingReportNotSpamReport), 128 => Some(MetricType::IncomingReportVirusReport), 129 => Some(MetricType::IncomingReportOtherReport), 130 => Some(MetricType::IncomingReportMessageParseFailed), 131 => Some(MetricType::IncomingReportDmarcParseFailed), 132 => Some(MetricType::IncomingReportTlsRpcParseFailed), 133 => Some(MetricType::IncomingReportArfParseFailed), 134 => Some(MetricType::IncomingReportDecompressError), 135 => Some(MetricType::IprevPass), 136 => Some(MetricType::IprevFail), 137 => Some(MetricType::IprevPermError), 138 => Some(MetricType::IprevTempError), 139 => Some(MetricType::IprevNone), 140 => Some(MetricType::JmapMethodCall), 141 => Some(MetricType::JmapInvalidArguments), 142 => Some(MetricType::JmapRequestTooLarge), 143 => Some(MetricType::JmapUnsupportedFilter), 144 => Some(MetricType::JmapUnsupportedSort), 145 => Some(MetricType::JmapUnknownMethod), 146 => Some(MetricType::JmapForbidden), 147 => Some(MetricType::JmapNotJson), 148 => Some(MetricType::JmapNotRequest), 149 => Some(MetricType::JmapWebsocketStart), 150 => Some(MetricType::JmapWebsocketError), 151 => Some(MetricType::LimitSizeRequest), 152 => Some(MetricType::LimitSizeUpload), 153 => Some(MetricType::LimitCallsIn), 154 => Some(MetricType::LimitConcurrentRequest), 155 => Some(MetricType::LimitConcurrentUpload), 156 => Some(MetricType::LimitConcurrentConnection), 157 => Some(MetricType::LimitQuota), 158 => Some(MetricType::LimitBlobQuota), 159 => Some(MetricType::LimitTenantQuota), 160 => Some(MetricType::LimitTooManyRequests), 161 => Some(MetricType::MailAuthParseError), 162 => Some(MetricType::MailAuthMissingParameters), 163 => Some(MetricType::MailAuthNoHeadersFound), 164 => Some(MetricType::MailAuthCrypto), 165 => Some(MetricType::MailAuthIo), 166 => Some(MetricType::MailAuthBase64), 167 => Some(MetricType::MailAuthDnsError), 168 => Some(MetricType::MailAuthDnsRecordNotFound), 169 => Some(MetricType::MailAuthDnsInvalidRecordType), 170 => Some(MetricType::MailAuthPolicyNotAligned), 171 => Some(MetricType::ManageSieveConnectionStart), 172 => Some(MetricType::ManageSieveConnectionEnd), 4 => Some(MetricType::MessageSize), 5 => Some(MetricType::MessageAuthenticatedSize), 0 => Some(MetricType::MessageIngestTime), 1 => Some(MetricType::MessageIngestIndexTime), 173 => Some(MetricType::MessageIngestHam), 174 => Some(MetricType::MessageIngestSpam), 175 => Some(MetricType::MessageIngestImapAppend), 176 => Some(MetricType::MessageIngestJmapAppend), 177 => Some(MetricType::MessageIngestDuplicate), 178 => Some(MetricType::MessageIngestError), 179 => Some(MetricType::MessageIngestSearchIndex), 180 => Some(MetricType::MilterActionAccept), 181 => Some(MetricType::MilterActionDiscard), 182 => Some(MetricType::MilterActionReject), 183 => Some(MetricType::MilterActionTempFail), 184 => Some(MetricType::MilterActionReplyCode), 185 => Some(MetricType::MilterActionConnectionFailure), 186 => Some(MetricType::MilterActionShutdown), 187 => Some(MetricType::MtaHookActionAccept), 188 => Some(MetricType::MtaHookActionDiscard), 189 => Some(MetricType::MtaHookActionReject), 190 => Some(MetricType::MtaHookActionQuarantine), 191 => Some(MetricType::MtaHookError), 192 => Some(MetricType::MtaStsAuthorized), 193 => Some(MetricType::MtaStsNotAuthorized), 194 => Some(MetricType::MtaStsInvalidPolicy), 195 => Some(MetricType::NetworkTimeout), 6 => Some(MetricType::OutgoingReportSize), 196 => Some(MetricType::OutgoingReportSpfReport), 197 => Some(MetricType::OutgoingReportSpfRateLimited), 198 => Some(MetricType::OutgoingReportDkimReport), 199 => Some(MetricType::OutgoingReportDkimRateLimited), 200 => Some(MetricType::OutgoingReportDmarcReport), 201 => Some(MetricType::OutgoingReportDmarcRateLimited), 202 => Some(MetricType::OutgoingReportDmarcAggregateReport), 203 => Some(MetricType::OutgoingReportTlsAggregate), 204 => Some(MetricType::OutgoingReportHttpSubmission), 205 => Some(MetricType::OutgoingReportUnauthorizedReportingAddress), 206 => Some(MetricType::OutgoingReportReportingAddressValidationError), 207 => Some(MetricType::OutgoingReportNotFound), 208 => Some(MetricType::OutgoingReportSubmissionError), 209 => Some(MetricType::OutgoingReportNoRecipientsFound), 14 => Some(MetricType::Pop3RequestTime), 19 => Some(MetricType::Pop3ActiveConnections), 210 => Some(MetricType::Pop3ConnectionStart), 211 => Some(MetricType::Pop3ConnectionEnd), 213 => Some(MetricType::PushSubscriptionSuccess), 214 => Some(MetricType::PushSubscriptionError), 215 => Some(MetricType::PushSubscriptionNotFound), 24 => Some(MetricType::QueueCount), 216 => Some(MetricType::QueueMessageQueued), 217 => Some(MetricType::QueueAuthenticatedMessageQueued), 218 => Some(MetricType::QueueReportQueued), 219 => Some(MetricType::QueueDsnQueued), 220 => Some(MetricType::QueueAutogeneratedQueued), 221 => Some(MetricType::QueueRescheduled), 222 => Some(MetricType::QueueBlobNotFound), 223 => Some(MetricType::QueueRateLimitExceeded), 224 => Some(MetricType::QueueConcurrencyLimitExceeded), 225 => Some(MetricType::QueueQuotaExceeded), 226 => Some(MetricType::ResourceNotFound), 227 => Some(MetricType::ResourceBadParameters), 228 => Some(MetricType::ResourceError), 229 => Some(MetricType::SecurityAuthenticationBan), 230 => Some(MetricType::SecurityAbuseBan), 231 => Some(MetricType::SecurityScanBan), 232 => Some(MetricType::SecurityLoiterBan), 233 => Some(MetricType::SecurityIpBlocked), 234 => Some(MetricType::SecurityUnauthorized), 23 => Some(MetricType::ServerMemory), 235 => Some(MetricType::ServerThreadError), 16 => Some(MetricType::SieveRequestTime), 21 => Some(MetricType::SieveActiveConnections), 236 => Some(MetricType::SieveActionAccept), 237 => Some(MetricType::SieveActionAcceptReplace), 238 => Some(MetricType::SieveActionDiscard), 239 => Some(MetricType::SieveActionReject), 240 => Some(MetricType::SieveSendMessage), 241 => Some(MetricType::SieveMessageTooLarge), 242 => Some(MetricType::SieveRuntimeError), 243 => Some(MetricType::SieveUnexpectedError), 244 => Some(MetricType::SieveNotSupported), 245 => Some(MetricType::SieveQuotaExceeded), 15 => Some(MetricType::SmtpRequestTime), 20 => Some(MetricType::SmtpActiveConnections), 246 => Some(MetricType::SmtpConnectionStart), 247 => Some(MetricType::SmtpConnectionEnd), 248 => Some(MetricType::SmtpError), 249 => Some(MetricType::SmtpConcurrencyLimitExceeded), 250 => Some(MetricType::SmtpTransferLimitExceeded), 251 => Some(MetricType::SmtpRateLimitExceeded), 252 => Some(MetricType::SmtpTimeLimitExceeded), 253 => Some(MetricType::SmtpMessageParseFailed), 254 => Some(MetricType::SmtpMessageTooLarge), 255 => Some(MetricType::SmtpLoopDetected), 256 => Some(MetricType::SmtpDkimPass), 257 => Some(MetricType::SmtpDkimFail), 364 => Some(MetricType::SmtpDkim2Pass), 365 => Some(MetricType::SmtpDkim2Fail), 366 => Some(MetricType::SmtpDkim2DsnDiscarded), 258 => Some(MetricType::SmtpArcPass), 259 => Some(MetricType::SmtpArcFail), 260 => Some(MetricType::SmtpSpfEhloPass), 261 => Some(MetricType::SmtpSpfEhloFail), 262 => Some(MetricType::SmtpSpfFromPass), 263 => Some(MetricType::SmtpSpfFromFail), 264 => Some(MetricType::SmtpDmarcPass), 265 => Some(MetricType::SmtpDmarcFail), 266 => Some(MetricType::SmtpIprevPass), 267 => Some(MetricType::SmtpIprevFail), 268 => Some(MetricType::SmtpTooManyMessages), 269 => Some(MetricType::SmtpInvalidEhlo), 270 => Some(MetricType::SmtpDidNotSayEhlo), 271 => Some(MetricType::SmtpMailFromUnauthenticated), 272 => Some(MetricType::SmtpMailFromUnauthorized), 273 => Some(MetricType::SmtpMailFromMissing), 274 => Some(MetricType::SmtpMultipleMailFrom), 275 => Some(MetricType::SmtpMailboxDoesNotExist), 276 => Some(MetricType::SmtpRelayNotAllowed), 277 => Some(MetricType::SmtpRcptToDuplicate), 278 => Some(MetricType::SmtpRcptToMissing), 279 => Some(MetricType::SmtpTooManyRecipients), 280 => Some(MetricType::SmtpTooManyInvalidRcpt), 281 => Some(MetricType::SmtpAuthMechanismNotSupported), 282 => Some(MetricType::SmtpAuthExchangeTooLong), 283 => Some(MetricType::SmtpCommandNotImplemented), 284 => Some(MetricType::SmtpInvalidCommand), 285 => Some(MetricType::SmtpSyntaxError), 286 => Some(MetricType::SmtpRequestTooLarge), 287 => Some(MetricType::SpamPyzorError), 288 => Some(MetricType::SpamDnsblError), 289 => Some(MetricType::SpamTrainCompleted), 290 => Some(MetricType::SpamTrainSampleAdded), 291 => Some(MetricType::SpamClassify), 292 => Some(MetricType::SpamModelNotReady), 293 => Some(MetricType::SpfPass), 294 => Some(MetricType::SpfFail), 295 => Some(MetricType::SpfSoftFail), 296 => Some(MetricType::SpfNeutral), 297 => Some(MetricType::SpfTempError), 298 => Some(MetricType::SpfPermError), 299 => Some(MetricType::SpfNone), 7 => Some(MetricType::StoreDataReadTime), 8 => Some(MetricType::StoreDataWriteTime), 9 => Some(MetricType::StoreBlobReadTime), 10 => Some(MetricType::StoreBlobWriteTime), 300 => Some(MetricType::StoreAssertValueFailed), 301 => Some(MetricType::StoreFoundationdbError), 302 => Some(MetricType::StoreMysqlError), 303 => Some(MetricType::StorePostgresqlError), 304 => Some(MetricType::StoreRocksdbError), 305 => Some(MetricType::StoreSqliteError), 306 => Some(MetricType::StoreLdapError), 307 => Some(MetricType::StoreElasticsearchError), 308 => Some(MetricType::StoreRedisError), 309 => Some(MetricType::StoreS3Error), 310 => Some(MetricType::StoreAzureError), 311 => Some(MetricType::StoreFilesystemError), 312 => Some(MetricType::StorePoolError), 313 => Some(MetricType::StoreDataCorruption), 314 => Some(MetricType::StoreDecompressError), 315 => Some(MetricType::StoreDeserializeError), 316 => Some(MetricType::StoreNotFound), 317 => Some(MetricType::StoreNotConfigured), 318 => Some(MetricType::StoreNotSupported), 319 => Some(MetricType::StoreUnexpectedError), 320 => Some(MetricType::StoreCryptoError), 321 => Some(MetricType::StoreHttpStoreError), 322 => Some(MetricType::StoreBlobMissingMarker), 323 => Some(MetricType::StoreDataWrite), 324 => Some(MetricType::StoreDataIterate), 325 => Some(MetricType::StoreBlobRead), 326 => Some(MetricType::StoreBlobWrite), 327 => Some(MetricType::StoreBlobDelete), 328 => Some(MetricType::TaskManagerBlobNotFound), 329 => Some(MetricType::TaskManagerMetadataNotFound), 338 => Some(MetricType::TelemetryAlertEvent), 212 => Some(MetricType::TelemetryAlertMessage), 330 => Some(MetricType::TelemetryLogError), 331 => Some(MetricType::TelemetryWebhookError), 332 => Some(MetricType::TelemetryOtelExporterError), 333 => Some(MetricType::TelemetryOtelMetricsExporterError), 334 => Some(MetricType::TelemetryPrometheusExporterError), 335 => Some(MetricType::TelemetryJournalError), 336 => Some(MetricType::TlsHandshakeError), 25 => Some(MetricType::UserCount), _ => None, } } pub fn event_id(&self) -> usize { match self { MetricType::AcmeAuthError => 1, MetricType::AcmeAuthTooManyAttempts => 4, MetricType::AcmeOrderCompleted => 16, MetricType::AcmeOrderInvalid => 17, MetricType::AcmeClientMissingSni => 6, MetricType::AcmeTlsAlpnError => 24, MetricType::AcmeTokenNotFound => 26, MetricType::AcmeError => 15, MetricType::ArcChainTooLong => 28, MetricType::ArcInvalidInstance => 31, MetricType::ArcInvalidCv => 30, MetricType::ArcHasHeaderTag => 29, MetricType::ArcBrokenChain => 27, MetricType::AuthSuccess => 37, MetricType::AuthFailed => 35, MetricType::AuthTooManyAttempts => 38, MetricType::AuthError => 34, MetricType::CalendarAlarmSent => 579, MetricType::CalendarAlarmFailed => 582, MetricType::CalendarItipMessageSent => 583, MetricType::CalendarItipMessageReceived => 584, MetricType::CalendarItipMessageError => 585, MetricType::ClusterSubscriberError => 41, MetricType::ClusterSubscriberDisconnected => 42, MetricType::ClusterPublisherError => 45, MetricType::DaneAuthenticationSuccess => 67, MetricType::DaneAuthenticationFailure => 66, MetricType::DaneNoCertificatesFound => 69, MetricType::DaneCertificateParseError => 68, MetricType::DaneTlsaRecordFetchError => 71, MetricType::DaneTlsaRecordNotFound => 75, MetricType::DaneTlsaRecordNotDnssecSigned => 74, MetricType::DaneTlsaRecordInvalid => 72, MetricType::DaneBogusDnssecRecord => 605, MetricType::DeliveryAttemptStart => 77, MetricType::DeliveryAttemptEnd => 76, MetricType::DeliveryCompleted => 80, MetricType::DeliveryMxLookupFailed => 102, MetricType::DeliveryIpLookupFailed => 96, MetricType::DeliveryNullMx => 103, MetricType::DeliveryGreetingFailed => 93, MetricType::DeliveryEhloRejected => 91, MetricType::DeliveryAuthFailed => 79, MetricType::DeliveryMailFromRejected => 98, MetricType::DeliveryDelivered => 84, MetricType::DeliveryRcptToRejected => 109, MetricType::DeliveryRcptToFailed => 108, MetricType::DeliveryMessageRejected => 99, MetricType::DeliveryStartTlsUnavailable => 113, MetricType::DeliveryStartTlsError => 112, MetricType::DeliveryStartTlsDisabled => 111, MetricType::DeliveryImplicitTlsError => 94, MetricType::DeliveryConcurrencyLimitExceeded => 81, MetricType::DeliveryRateLimitExceeded => 104, MetricType::DeliveryDoubleBounce => 86, MetricType::DeliveryDsnSuccess => 88, MetricType::DeliveryDsnTempFail => 89, MetricType::DeliveryDsnPermFail => 87, MetricType::DkimPass => 121, MetricType::DkimNeutral => 119, MetricType::DkimFail => 114, MetricType::DkimPermError => 122, MetricType::DkimTempError => 127, MetricType::DkimNone => 120, MetricType::DkimUnsupportedVersion => 131, MetricType::DkimUnsupportedAlgorithm => 128, MetricType::DkimUnsupportedCanonicalization => 129, MetricType::DkimUnsupportedKeyType => 130, MetricType::DkimFailedBodyHashMatch => 116, MetricType::DkimFailedVerification => 117, MetricType::DkimFailedAuidMatch => 115, MetricType::DkimRevokedPublicKey => 123, MetricType::DkimIncompatibleAlgorithms => 118, MetricType::DkimSignatureExpired => 124, MetricType::DkimSignatureLength => 125, MetricType::DkimSignerNotFound => 126, MetricType::DkimInstanceMissing => 606, MetricType::DkimInstanceSyntax => 607, MetricType::DkimInstanceTagMissing => 608, MetricType::DkimInstanceNotSigned => 609, MetricType::DkimInstanceAboveSignature => 610, MetricType::DkimSignatureMissing => 611, MetricType::DkimSignatureSyntax => 612, MetricType::DkimSignatureTagMissing => 613, MetricType::DkimSignatureTagUnexpected => 614, MetricType::DkimSequenceGap => 615, MetricType::DkimSequenceOverflow => 616, MetricType::DkimChainTooLong => 635, MetricType::DkimMailFromMismatch => 617, MetricType::DkimRcptToMismatch => 618, MetricType::DkimMailFromDomainMismatch => 619, MetricType::DkimNextDomainMismatch => 620, MetricType::DkimCustodyBreak => 636, MetricType::DkimPublicKeyFetch => 621, MetricType::DkimPublicKeyMissing => 622, MetricType::DkimPublicKeyMultiple => 623, MetricType::DkimPublicKeySyntax => 624, MetricType::DkimPublicKeyAlgorithmMismatch => 625, MetricType::DkimNoValidAlgorithm => 626, MetricType::DkimHeaderHashMismatch => 627, MetricType::DkimModified => 628, MetricType::DkimExploded => 629, MetricType::DmarcPass => 134, MetricType::DmarcFail => 132, MetricType::DmarcPermError => 135, MetricType::DmarcTempError => 136, MetricType::DmarcNone => 133, MetricType::DnsRecordCreationFailed => 9, MetricType::DnsRecordDeletionFailed => 10, MetricType::DnsRecordLookupFailed => 11, MetricType::DnsRecordPropagationTimeout => 14, MetricType::EvalError => 138, MetricType::EvalDirectoryNotFound => 137, MetricType::EvalStoreNotFound => 140, MetricType::HttpConnectionStart => 153, MetricType::HttpError => 154, MetricType::HttpRequestBody => 155, MetricType::HttpResponseBody => 157, MetricType::HttpXForwardedMissing => 158, MetricType::ImapConnectionStart => 163, MetricType::ImapConnectionEnd => 162, MetricType::IncomingReportDmarcReport => 200, MetricType::IncomingReportDmarcReportWithWarnings => 201, MetricType::IncomingReportTlsReport => 206, MetricType::IncomingReportTlsReportWithWarnings => 207, MetricType::IncomingReportAbuseReport => 195, MetricType::IncomingReportAuthFailureReport => 197, MetricType::IncomingReportFraudReport => 202, MetricType::IncomingReportNotSpamReport => 204, MetricType::IncomingReportVirusReport => 209, MetricType::IncomingReportOtherReport => 205, MetricType::IncomingReportMessageParseFailed => 203, MetricType::IncomingReportDmarcParseFailed => 199, MetricType::IncomingReportTlsRpcParseFailed => 208, MetricType::IncomingReportArfParseFailed => 196, MetricType::IncomingReportDecompressError => 198, MetricType::IprevPass => 212, MetricType::IprevFail => 210, MetricType::IprevPermError => 213, MetricType::IprevTempError => 214, MetricType::IprevNone => 211, MetricType::JmapMethodCall => 223, MetricType::JmapInvalidArguments => 221, MetricType::JmapRequestTooLarge => 227, MetricType::JmapUnsupportedFilter => 232, MetricType::JmapUnsupportedSort => 233, MetricType::JmapUnknownMethod => 231, MetricType::JmapForbidden => 220, MetricType::JmapNotJson => 225, MetricType::JmapNotRequest => 226, MetricType::JmapWebsocketStart => 235, MetricType::JmapWebsocketError => 234, MetricType::LimitSizeRequest => 243, MetricType::LimitSizeUpload => 244, MetricType::LimitCallsIn => 238, MetricType::LimitConcurrentRequest => 240, MetricType::LimitConcurrentUpload => 241, MetricType::LimitConcurrentConnection => 239, MetricType::LimitQuota => 242, MetricType::LimitBlobQuota => 237, MetricType::LimitTenantQuota => 553, MetricType::LimitTooManyRequests => 245, MetricType::MailAuthParseError => 254, MetricType::MailAuthMissingParameters => 252, MetricType::MailAuthNoHeadersFound => 253, MetricType::MailAuthCrypto => 247, MetricType::MailAuthIo => 251, MetricType::MailAuthBase64 => 246, MetricType::MailAuthDnsError => 248, MetricType::MailAuthDnsRecordNotFound => 250, MetricType::MailAuthDnsInvalidRecordType => 249, MetricType::MailAuthPolicyNotAligned => 255, MetricType::ManageSieveConnectionStart => 259, MetricType::ManageSieveConnectionEnd => 258, MetricType::MessageIngestHam => 283, MetricType::MessageIngestSpam => 286, MetricType::MessageIngestImapAppend => 284, MetricType::MessageIngestJmapAppend => 285, MetricType::MessageIngestDuplicate => 281, MetricType::MessageIngestError => 282, MetricType::MessageIngestSearchIndex => 142, MetricType::MilterActionAccept => 287, MetricType::MilterActionDiscard => 289, MetricType::MilterActionReject => 290, MetricType::MilterActionTempFail => 293, MetricType::MilterActionReplyCode => 291, MetricType::MilterActionConnectionFailure => 288, MetricType::MilterActionShutdown => 292, MetricType::MtaHookActionAccept => 304, MetricType::MtaHookActionDiscard => 305, MetricType::MtaHookActionReject => 307, MetricType::MtaHookActionQuarantine => 306, MetricType::MtaHookError => 308, MetricType::MtaStsAuthorized => 309, MetricType::MtaStsNotAuthorized => 311, MetricType::MtaStsInvalidPolicy => 310, MetricType::NetworkTimeout => 327, MetricType::OutgoingReportSpfReport => 342, MetricType::OutgoingReportSpfRateLimited => 341, MetricType::OutgoingReportDkimReport => 330, MetricType::OutgoingReportDkimRateLimited => 329, MetricType::OutgoingReportDmarcReport => 333, MetricType::OutgoingReportDmarcRateLimited => 332, MetricType::OutgoingReportDmarcAggregateReport => 331, MetricType::OutgoingReportTlsAggregate => 344, MetricType::OutgoingReportHttpSubmission => 334, MetricType::OutgoingReportUnauthorizedReportingAddress => 345, MetricType::OutgoingReportReportingAddressValidationError => 340, MetricType::OutgoingReportNotFound => 339, MetricType::OutgoingReportSubmissionError => 343, MetricType::OutgoingReportNoRecipientsFound => 338, MetricType::Pop3ConnectionStart => 348, MetricType::Pop3ConnectionEnd => 347, MetricType::PushSubscriptionSuccess => 373, MetricType::PushSubscriptionError => 371, MetricType::PushSubscriptionNotFound => 372, MetricType::QueueMessageQueued => 380, MetricType::QueueAuthenticatedMessageQueued => 381, MetricType::QueueReportQueued => 382, MetricType::QueueDsnQueued => 379, MetricType::QueueAutogeneratedQueued => 378, MetricType::QueueRescheduled => 385, MetricType::QueueBlobNotFound => 374, MetricType::QueueRateLimitExceeded => 384, MetricType::QueueConcurrencyLimitExceeded => 375, MetricType::QueueQuotaExceeded => 383, MetricType::ResourceNotFound => 389, MetricType::ResourceBadParameters => 386, MetricType::ResourceError => 388, MetricType::SecurityAuthenticationBan => 33, MetricType::SecurityAbuseBan => 549, MetricType::SecurityScanBan => 558, MetricType::SecurityLoiterBan => 550, MetricType::SecurityIpBlocked => 318, MetricType::SecurityUnauthorized => 552, MetricType::ServerThreadError => 395, MetricType::SieveActionAccept => 396, MetricType::SieveActionAcceptReplace => 397, MetricType::SieveActionDiscard => 398, MetricType::SieveActionReject => 399, MetricType::SieveSendMessage => 406, MetricType::SieveMessageTooLarge => 401, MetricType::SieveRuntimeError => 404, MetricType::SieveUnexpectedError => 407, MetricType::SieveNotSupported => 402, MetricType::SieveQuotaExceeded => 403, MetricType::SmtpConnectionStart => 417, MetricType::SmtpConnectionEnd => 416, MetricType::SmtpError => 428, MetricType::SmtpConcurrencyLimitExceeded => 415, MetricType::SmtpTransferLimitExceeded => 485, MetricType::SmtpRateLimitExceeded => 461, MetricType::SmtpTimeLimitExceeded => 481, MetricType::SmtpMessageParseFailed => 450, MetricType::SmtpMessageTooLarge => 451, MetricType::SmtpLoopDetected => 443, MetricType::SmtpDkimPass => 422, MetricType::SmtpDkimFail => 421, MetricType::SmtpDkim2Pass => 630, MetricType::SmtpDkim2Fail => 631, MetricType::SmtpDkim2DsnDiscarded => 632, MetricType::SmtpArcPass => 410, MetricType::SmtpArcFail => 409, MetricType::SmtpSpfEhloPass => 474, MetricType::SmtpSpfEhloFail => 473, MetricType::SmtpSpfFromPass => 476, MetricType::SmtpSpfFromFail => 475, MetricType::SmtpDmarcPass => 424, MetricType::SmtpDmarcFail => 423, MetricType::SmtpIprevPass => 441, MetricType::SmtpIprevFail => 440, MetricType::SmtpTooManyMessages => 483, MetricType::SmtpInvalidEhlo => 436, MetricType::SmtpDidNotSayEhlo => 420, MetricType::SmtpMailFromUnauthenticated => 447, MetricType::SmtpMailFromUnauthorized => 448, MetricType::SmtpMailFromMissing => 445, MetricType::SmtpMultipleMailFrom => 456, MetricType::SmtpMailboxDoesNotExist => 449, MetricType::SmtpRelayNotAllowed => 468, MetricType::SmtpRcptToDuplicate => 465, MetricType::SmtpRcptToMissing => 466, MetricType::SmtpTooManyRecipients => 484, MetricType::SmtpTooManyInvalidRcpt => 482, MetricType::SmtpAuthMechanismNotSupported => 412, MetricType::SmtpAuthExchangeTooLong => 411, MetricType::SmtpCommandNotImplemented => 414, MetricType::SmtpInvalidCommand => 435, MetricType::SmtpSyntaxError => 480, MetricType::SmtpRequestTooLarge => 470, MetricType::SpamPyzorError => 494, MetricType::SpamDnsblError => 563, MetricType::SpamTrainCompleted => 495, MetricType::SpamTrainSampleAdded => 143, MetricType::SpamClassify => 490, MetricType::SpamModelNotReady => 496, MetricType::SpfPass => 501, MetricType::SpfFail => 498, MetricType::SpfSoftFail => 503, MetricType::SpfNeutral => 499, MetricType::SpfTempError => 504, MetricType::SpfPermError => 502, MetricType::SpfNone => 500, MetricType::StoreAssertValueFailed => 505, MetricType::StoreFoundationdbError => 518, MetricType::StoreMysqlError => 522, MetricType::StorePostgresqlError => 527, MetricType::StoreRocksdbError => 529, MetricType::StoreSqliteError => 532, MetricType::StoreLdapError => 520, MetricType::StoreElasticsearchError => 516, MetricType::StoreRedisError => 528, MetricType::StoreS3Error => 530, MetricType::StoreAzureError => 559, MetricType::StoreFilesystemError => 517, MetricType::StorePoolError => 526, MetricType::StoreDataCorruption => 511, MetricType::StoreDecompressError => 514, MetricType::StoreDeserializeError => 515, MetricType::StoreNotFound => 524, MetricType::StoreNotConfigured => 523, MetricType::StoreNotSupported => 525, MetricType::StoreUnexpectedError => 533, MetricType::StoreCryptoError => 510, MetricType::StoreHttpStoreError => 493, MetricType::StoreBlobMissingMarker => 507, MetricType::StoreDataWrite => 513, MetricType::StoreDataIterate => 512, MetricType::StoreBlobRead => 508, MetricType::StoreBlobWrite => 509, MetricType::StoreBlobDelete => 506, MetricType::TaskManagerBlobNotFound => 141, MetricType::TaskManagerMetadataNotFound => 145, MetricType::TelemetryAlertEvent => 548, MetricType::TelemetryAlertMessage => 365, MetricType::TelemetryLogError => 535, MetricType::TelemetryWebhookError => 539, MetricType::TelemetryOtelExporterError => 536, MetricType::TelemetryOtelMetricsExporterError => 537, MetricType::TelemetryPrometheusExporterError => 538, MetricType::TelemetryJournalError => 534, MetricType::TlsHandshakeError => 544, _ => usize::MAX, } } pub fn description(&self) -> &'static str { match self { MetricType::AcmeAuthError => "ACME authentication error", MetricType::AcmeAuthTooManyAttempts => "Too many ACME authentication attempts", MetricType::AcmeOrderCompleted => "ACME order completed", MetricType::AcmeOrderInvalid => "ACME order invalid", MetricType::AcmeClientMissingSni => "ACME client missing SNI", MetricType::AcmeTlsAlpnError => "ACME TLS ALPN error", MetricType::AcmeTokenNotFound => "ACME token not found", MetricType::AcmeError => "ACME error", MetricType::ArcChainTooLong => "ARC chain too long", MetricType::ArcInvalidInstance => "Invalid ARC instance", MetricType::ArcInvalidCv => "Invalid ARC CV", MetricType::ArcHasHeaderTag => "ARC has header tag", MetricType::ArcBrokenChain => "Broken ARC chain", MetricType::AuthSuccess => "Authentication successful", MetricType::AuthFailed => "Authentication failed", MetricType::AuthTooManyAttempts => "Too many authentication attempts", MetricType::AuthError => "Authentication error", MetricType::CalendarAlarmSent => "Calendar alarm sent", MetricType::CalendarAlarmFailed => "Calendar alarm could not be sent", MetricType::CalendarItipMessageSent => "Calendar iTIP message sent", MetricType::CalendarItipMessageReceived => "Calendar iTIP message received", MetricType::CalendarItipMessageError => "iTIP message error", MetricType::ClusterSubscriberError => "PubSub subscriber error", MetricType::ClusterSubscriberDisconnected => "PubSub subscriber disconnected", MetricType::ClusterPublisherError => "PubSub publisher error", MetricType::DaneAuthenticationSuccess => "DANE authentication successful", MetricType::DaneAuthenticationFailure => "DANE authentication failed", MetricType::DaneNoCertificatesFound => "No certificates found for DANE", MetricType::DaneCertificateParseError => "Error parsing certificate for DANE", MetricType::DaneTlsaRecordFetchError => "Error fetching TLSA record", MetricType::DaneTlsaRecordNotFound => "TLSA record not found", MetricType::DaneTlsaRecordNotDnssecSigned => "TLSA record not DNSSEC signed", MetricType::DaneTlsaRecordInvalid => "Invalid TLSA record", MetricType::DaneBogusDnssecRecord => "Bogus DNSSEC record", MetricType::DeliveryTotalTime => { "Total message delivery time from submission to delivery" } MetricType::DeliveryAttemptTime => "Message delivery time", MetricType::DeliveryActiveConnections => "Active delivery connections", MetricType::DeliveryAttemptStart => "Delivery attempt started", MetricType::DeliveryAttemptEnd => "Delivery attempt ended", MetricType::DeliveryCompleted => "Delivery completed", MetricType::DeliveryMxLookupFailed => "MX record lookup failed", MetricType::DeliveryIpLookupFailed => "IP address lookup failed", MetricType::DeliveryNullMx => "Null MX record found", MetricType::DeliveryGreetingFailed => "SMTP greeting failed", MetricType::DeliveryEhloRejected => "SMTP EHLO rejected", MetricType::DeliveryAuthFailed => "SMTP authentication failed", MetricType::DeliveryMailFromRejected => "SMTP MAIL FROM rejected", MetricType::DeliveryDelivered => "Message delivered", MetricType::DeliveryRcptToRejected => "SMTP RCPT TO rejected", MetricType::DeliveryRcptToFailed => "SMTP RCPT TO failed", MetricType::DeliveryMessageRejected => "Message rejected by remote server", MetricType::DeliveryStartTlsUnavailable => "STARTTLS unavailable", MetricType::DeliveryStartTlsError => "STARTTLS error", MetricType::DeliveryStartTlsDisabled => "STARTTLS disabled", MetricType::DeliveryImplicitTlsError => "Implicit TLS error", MetricType::DeliveryConcurrencyLimitExceeded => "Concurrency limit exceeded", MetricType::DeliveryRateLimitExceeded => "Rate limit exceeded", MetricType::DeliveryDoubleBounce => "Discarding message after double bounce", MetricType::DeliveryDsnSuccess => "DSN success notification", MetricType::DeliveryDsnTempFail => "DSN temporary failure notification", MetricType::DeliveryDsnPermFail => "DSN permanent failure notification", MetricType::DkimPass => "DKIM verification passed", MetricType::DkimNeutral => "DKIM verification neutral", MetricType::DkimFail => "DKIM verification failed", MetricType::DkimPermError => "DKIM permanent error", MetricType::DkimTempError => "DKIM temporary error", MetricType::DkimNone => "No DKIM signature", MetricType::DkimUnsupportedVersion => "Unsupported DKIM version", MetricType::DkimUnsupportedAlgorithm => "Unsupported DKIM algorithm", MetricType::DkimUnsupportedCanonicalization => "Unsupported DKIM canonicalization", MetricType::DkimUnsupportedKeyType => "Unsupported DKIM key type", MetricType::DkimFailedBodyHashMatch => "DKIM body hash mismatch", MetricType::DkimFailedVerification => "DKIM verification failed", MetricType::DkimFailedAuidMatch => "DKIM AUID mismatch", MetricType::DkimRevokedPublicKey => "DKIM public key revoked", MetricType::DkimIncompatibleAlgorithms => "Incompatible DKIM algorithms", MetricType::DkimSignatureExpired => "DKIM signature expired", MetricType::DkimSignatureLength => "DKIM signature length issue", MetricType::DkimSignerNotFound => "DKIM signer not found", MetricType::DkimInstanceMissing => "DKIM2 message-instance missing", MetricType::DkimInstanceSyntax => "DKIM2 message-instance syntax error", MetricType::DkimInstanceTagMissing => "DKIM2 message-instance tag missing", MetricType::DkimInstanceNotSigned => "DKIM2 message-instance not signed", MetricType::DkimInstanceAboveSignature => "DKIM2 message-instance above signature", MetricType::DkimSignatureMissing => "DKIM2 signature missing", MetricType::DkimSignatureSyntax => "DKIM2 signature syntax error", MetricType::DkimSignatureTagMissing => "DKIM2 signature tag missing", MetricType::DkimSignatureTagUnexpected => "DKIM2 signature unexpected tag", MetricType::DkimSequenceGap => "DKIM2 sequence gap", MetricType::DkimSequenceOverflow => "DKIM2 sequence overflow", MetricType::DkimChainTooLong => "DKIM2 chain too long", MetricType::DkimMailFromMismatch => "DKIM2 MAIL FROM mismatch", MetricType::DkimRcptToMismatch => "DKIM2 RCPT TO mismatch", MetricType::DkimMailFromDomainMismatch => "DKIM2 MAIL FROM domain mismatch", MetricType::DkimNextDomainMismatch => "DKIM2 next domain mismatch", MetricType::DkimCustodyBreak => "DKIM2 custody break", MetricType::DkimPublicKeyFetch => "DKIM2 public key fetch error", MetricType::DkimPublicKeyMissing => "DKIM2 public key missing", MetricType::DkimPublicKeyMultiple => "DKIM2 multiple public keys", MetricType::DkimPublicKeySyntax => "DKIM2 public key syntax error", MetricType::DkimPublicKeyAlgorithmMismatch => "DKIM2 public key algorithm mismatch", MetricType::DkimNoValidAlgorithm => "DKIM2 no valid algorithm", MetricType::DkimHeaderHashMismatch => "DKIM2 header hash mismatch", MetricType::DkimModified => "DKIM2 message modified", MetricType::DkimExploded => "DKIM2 message exploded", MetricType::DmarcPass => "DMARC check passed", MetricType::DmarcFail => "DMARC check failed", MetricType::DmarcPermError => "DMARC permanent error", MetricType::DmarcTempError => "DMARC temporary error", MetricType::DmarcNone => "No DMARC record", MetricType::DnsLookupTime => "DNS lookup time", MetricType::DnsRecordCreationFailed => "DNS record creation failed", MetricType::DnsRecordDeletionFailed => "DNS record deletion failed", MetricType::DnsRecordLookupFailed => "DNS record lookup failed", MetricType::DnsRecordPropagationTimeout => "DNS record propagation timeout", MetricType::DomainCount => "Total number of domains", MetricType::EvalError => "Expression evaluation error", MetricType::EvalDirectoryNotFound => "Directory not found while evaluating expression", MetricType::EvalStoreNotFound => "Store not found while evaluating expression", MetricType::HttpRequestTime => "HTTP request duration", MetricType::HttpActiveConnections => "Active HTTP connections", MetricType::HttpConnectionStart => "HTTP connection started", MetricType::HttpError => "HTTP error occurred", MetricType::HttpRequestBody => "HTTP request body", MetricType::HttpResponseBody => "HTTP response body", MetricType::HttpXForwardedMissing => "X-Forwarded-For header is missing", MetricType::ImapRequestTime => "IMAP request duration", MetricType::ImapActiveConnections => "Active IMAP connections", MetricType::ImapConnectionStart => "IMAP connection started", MetricType::ImapConnectionEnd => "IMAP connection ended", MetricType::IncomingReportDmarcReport => "DMARC report received", MetricType::IncomingReportDmarcReportWithWarnings => { "DMARC report received with warnings" } MetricType::IncomingReportTlsReport => "TLS report received", MetricType::IncomingReportTlsReportWithWarnings => "TLS report received with warnings", MetricType::IncomingReportAbuseReport => "Abuse report received", MetricType::IncomingReportAuthFailureReport => "Authentication failure report received", MetricType::IncomingReportFraudReport => "Fraud report received", MetricType::IncomingReportNotSpamReport => "Not spam report received", MetricType::IncomingReportVirusReport => "Virus report received", MetricType::IncomingReportOtherReport => "Other type of report received", MetricType::IncomingReportMessageParseFailed => { "Failed to parse incoming report message" } MetricType::IncomingReportDmarcParseFailed => "Failed to parse DMARC report", MetricType::IncomingReportTlsRpcParseFailed => "Failed to parse TLS RPC report", MetricType::IncomingReportArfParseFailed => "Failed to parse ARF report", MetricType::IncomingReportDecompressError => "Error decompressing report", MetricType::IprevPass => "IPREV check passed", MetricType::IprevFail => "IPREV check failed", MetricType::IprevPermError => "IPREV permanent error", MetricType::IprevTempError => "IPREV temporary error", MetricType::IprevNone => "No IPREV record", MetricType::JmapMethodCall => "JMAP method call", MetricType::JmapInvalidArguments => "Invalid JMAP arguments", MetricType::JmapRequestTooLarge => "JMAP request too large", MetricType::JmapUnsupportedFilter => "Unsupported JMAP filter", MetricType::JmapUnsupportedSort => "Unsupported JMAP sort", MetricType::JmapUnknownMethod => "Unknown JMAP method", MetricType::JmapForbidden => "JMAP operation forbidden", MetricType::JmapNotJson => "JMAP request is not JSON", MetricType::JmapNotRequest => "JMAP input is not a request", MetricType::JmapWebsocketStart => "JMAP WebSocket connection started", MetricType::JmapWebsocketError => "JMAP WebSocket error", MetricType::LimitSizeRequest => "Request size limit reached", MetricType::LimitSizeUpload => "Upload size limit reached", MetricType::LimitCallsIn => "Incoming calls limit reached", MetricType::LimitConcurrentRequest => "Concurrent request limit reached", MetricType::LimitConcurrentUpload => "Concurrent upload limit reached", MetricType::LimitConcurrentConnection => "Concurrent connection limit reached", MetricType::LimitQuota => "Quota limit reached", MetricType::LimitBlobQuota => "Blob quota limit reached", MetricType::LimitTenantQuota => "Tenant quota limit reached", MetricType::LimitTooManyRequests => "Too many requests", MetricType::MailAuthParseError => "Mail authentication parse error", MetricType::MailAuthMissingParameters => "Missing mail authentication parameters", MetricType::MailAuthNoHeadersFound => "No headers found in message", MetricType::MailAuthCrypto => "Crypto error during mail authentication", MetricType::MailAuthIo => "I/O error during mail authentication", MetricType::MailAuthBase64 => "Base64 error during mail authentication", MetricType::MailAuthDnsError => "DNS error", MetricType::MailAuthDnsRecordNotFound => "DNS record not found", MetricType::MailAuthDnsInvalidRecordType => "Invalid DNS record type", MetricType::MailAuthPolicyNotAligned => "Policy not aligned", MetricType::ManageSieveConnectionStart => "ManageSieve connection started", MetricType::ManageSieveConnectionEnd => "ManageSieve connection ended", MetricType::MessageSize => "Received message size", MetricType::MessageAuthenticatedSize => { "Received message size from authenticated users" } MetricType::MessageIngestTime => "Message ingestion time", MetricType::MessageIngestIndexTime => "Message full-text indexing time", MetricType::MessageIngestHam => "Message ingested", MetricType::MessageIngestSpam => "Possible spam message ingested", MetricType::MessageIngestImapAppend => "Message appended via IMAP", MetricType::MessageIngestJmapAppend => "Message appended via JMAP", MetricType::MessageIngestDuplicate => "Skipping duplicate message", MetricType::MessageIngestError => "Message ingestion error", MetricType::MessageIngestSearchIndex => "Search index updated", MetricType::MilterActionAccept => "Milter action: Accept", MetricType::MilterActionDiscard => "Milter action: Discard", MetricType::MilterActionReject => "Milter action: Reject", MetricType::MilterActionTempFail => "Milter action: Temporary failure", MetricType::MilterActionReplyCode => "Milter action: Reply code", MetricType::MilterActionConnectionFailure => "Milter action: Connection failure", MetricType::MilterActionShutdown => "Milter action: Shutdown", MetricType::MtaHookActionAccept => "MTA hook action: Accept", MetricType::MtaHookActionDiscard => "MTA hook action: Discard", MetricType::MtaHookActionReject => "MTA hook action: Reject", MetricType::MtaHookActionQuarantine => "MTA hook action: Quarantine", MetricType::MtaHookError => "MTA hook error", MetricType::MtaStsAuthorized => "Host authorized by MTA-STS policy", MetricType::MtaStsNotAuthorized => "Host not authorized by MTA-STS policy", MetricType::MtaStsInvalidPolicy => "Invalid MTA-STS policy", MetricType::NetworkTimeout => "Network timeout", MetricType::OutgoingReportSize => "Outgoing report size", MetricType::OutgoingReportSpfReport => "SPF report sent", MetricType::OutgoingReportSpfRateLimited => "SPF report rate limited", MetricType::OutgoingReportDkimReport => "DKIM report sent", MetricType::OutgoingReportDkimRateLimited => "DKIM report rate limited", MetricType::OutgoingReportDmarcReport => "DMARC report sent", MetricType::OutgoingReportDmarcRateLimited => "DMARC report rate limited", MetricType::OutgoingReportDmarcAggregateReport => "DMARC aggregate is being prepared", MetricType::OutgoingReportTlsAggregate => "TLS aggregate report is being prepared", MetricType::OutgoingReportHttpSubmission => "Report submitted via HTTP", MetricType::OutgoingReportUnauthorizedReportingAddress => { "Unauthorized reporting address" } MetricType::OutgoingReportReportingAddressValidationError => { "Error validating reporting address" } MetricType::OutgoingReportNotFound => "Report not found", MetricType::OutgoingReportSubmissionError => "Error submitting report", MetricType::OutgoingReportNoRecipientsFound => "No recipients found for report", MetricType::Pop3RequestTime => "POP3 request duration", MetricType::Pop3ActiveConnections => "Active POP3 connections", MetricType::Pop3ConnectionStart => "POP3 connection started", MetricType::Pop3ConnectionEnd => "POP3 connection ended", MetricType::PushSubscriptionSuccess => "Push subscription successful", MetricType::PushSubscriptionError => "Push subscription error", MetricType::PushSubscriptionNotFound => "Push subscription not found", MetricType::QueueCount => "Total number of messages in the queue", MetricType::QueueMessageQueued => "Queued message for delivery", MetricType::QueueAuthenticatedMessageQueued => "Queued message submission for delivery", MetricType::QueueReportQueued => "Queued report for delivery", MetricType::QueueDsnQueued => "Queued DSN for delivery", MetricType::QueueAutogeneratedQueued => "Queued autogenerated message for delivery", MetricType::QueueRescheduled => "Message rescheduled for delivery", MetricType::QueueBlobNotFound => "Message blob not found", MetricType::QueueRateLimitExceeded => "Rate limit exceeded", MetricType::QueueConcurrencyLimitExceeded => "Concurrency limit exceeded", MetricType::QueueQuotaExceeded => "Quota exceeded", MetricType::ResourceNotFound => "Resource not found", MetricType::ResourceBadParameters => "Bad resource parameters", MetricType::ResourceError => "Resource error", MetricType::SecurityAuthenticationBan => "Banned due to authentication errors", MetricType::SecurityAbuseBan => "Banned due to abuse", MetricType::SecurityScanBan => "Banned due to scan", MetricType::SecurityLoiterBan => "Banned due to loitering", MetricType::SecurityIpBlocked => "Blocked IP address", MetricType::SecurityUnauthorized => "Unauthorized access", MetricType::ServerMemory => "Server memory usage", MetricType::ServerThreadError => "Server thread error", MetricType::SieveRequestTime => "ManageSieve request duration", MetricType::SieveActiveConnections => "Active ManageSieve connections", MetricType::SieveActionAccept => "Sieve action: Accept", MetricType::SieveActionAcceptReplace => "Sieve action: Accept and replace", MetricType::SieveActionDiscard => "Sieve action: Discard", MetricType::SieveActionReject => "Sieve action: Reject", MetricType::SieveSendMessage => "Sieve sending message", MetricType::SieveMessageTooLarge => "Sieve message too large", MetricType::SieveRuntimeError => "Sieve runtime error", MetricType::SieveUnexpectedError => "Unexpected Sieve error", MetricType::SieveNotSupported => "Sieve action not supported", MetricType::SieveQuotaExceeded => "Sieve quota exceeded", MetricType::SmtpRequestTime => "SMTP request duration", MetricType::SmtpActiveConnections => "Active SMTP connections", MetricType::SmtpConnectionStart => "SMTP connection started", MetricType::SmtpConnectionEnd => "SMTP connection ended", MetricType::SmtpError => "SMTP error occurred", MetricType::SmtpConcurrencyLimitExceeded => "Concurrency limit exceeded", MetricType::SmtpTransferLimitExceeded => "Transfer limit exceeded", MetricType::SmtpRateLimitExceeded => "Rate limit exceeded", MetricType::SmtpTimeLimitExceeded => "Time limit exceeded", MetricType::SmtpMessageParseFailed => "Message parsing failed", MetricType::SmtpMessageTooLarge => "Message too large", MetricType::SmtpLoopDetected => "Mail loop detected", MetricType::SmtpDkimPass => "DKIM verification passed", MetricType::SmtpDkimFail => "DKIM verification failed", MetricType::SmtpDkim2Pass => "DKIM2 verification passed", MetricType::SmtpDkim2Fail => "DKIM2 verification failed", MetricType::SmtpDkim2DsnDiscarded => "DKIM2 DSN discarded", MetricType::SmtpArcPass => "ARC verification passed", MetricType::SmtpArcFail => "ARC verification failed", MetricType::SmtpSpfEhloPass => "SPF EHLO check passed", MetricType::SmtpSpfEhloFail => "SPF EHLO check failed", MetricType::SmtpSpfFromPass => "SPF From check passed", MetricType::SmtpSpfFromFail => "SPF From check failed", MetricType::SmtpDmarcPass => "DMARC check passed", MetricType::SmtpDmarcFail => "DMARC check failed", MetricType::SmtpIprevPass => "IPREV check passed", MetricType::SmtpIprevFail => "IPREV check failed", MetricType::SmtpTooManyMessages => "Too many messages", MetricType::SmtpInvalidEhlo => "Invalid EHLO command", MetricType::SmtpDidNotSayEhlo => "Client did not say EHLO", MetricType::SmtpMailFromUnauthenticated => "MAIL FROM without authentication", MetricType::SmtpMailFromUnauthorized => "MAIL FROM unauthorized", MetricType::SmtpMailFromMissing => "MAIL FROM address missing", MetricType::SmtpMultipleMailFrom => "Multiple MAIL FROM commands", MetricType::SmtpMailboxDoesNotExist => "Mailbox does not exist", MetricType::SmtpRelayNotAllowed => "Relay not allowed", MetricType::SmtpRcptToDuplicate => "Duplicate RCPT TO", MetricType::SmtpRcptToMissing => "RCPT TO address missing", MetricType::SmtpTooManyRecipients => "Too many recipients", MetricType::SmtpTooManyInvalidRcpt => "Too many invalid recipients", MetricType::SmtpAuthMechanismNotSupported => "Auth mechanism not supported", MetricType::SmtpAuthExchangeTooLong => "Auth exchange too long", MetricType::SmtpCommandNotImplemented => "Command not implemented", MetricType::SmtpInvalidCommand => "Invalid command", MetricType::SmtpSyntaxError => "Syntax error", MetricType::SmtpRequestTooLarge => "Request too large", MetricType::SpamPyzorError => "Pyzor error", MetricType::SpamDnsblError => "Error querying DNSBL", MetricType::SpamTrainCompleted => "Spam classifier training completed", MetricType::SpamTrainSampleAdded => "New training sample added", MetricType::SpamClassify => "Classifying message for spam", MetricType::SpamModelNotReady => "Spam classifier model not ready", MetricType::SpfPass => "SPF check passed", MetricType::SpfFail => "SPF check failed", MetricType::SpfSoftFail => "SPF soft fail", MetricType::SpfNeutral => "SPF neutral result", MetricType::SpfTempError => "SPF temporary error", MetricType::SpfPermError => "SPF permanent error", MetricType::SpfNone => "No SPF record", MetricType::StoreDataReadTime => "Data store read time", MetricType::StoreDataWriteTime => "Data store write time", MetricType::StoreBlobReadTime => "Blob store read time", MetricType::StoreBlobWriteTime => "Blob store write time", MetricType::StoreAssertValueFailed => "Another process modified the record", MetricType::StoreFoundationdbError => "FoundationDB error", MetricType::StoreMysqlError => "MySQL error", MetricType::StorePostgresqlError => "PostgreSQL error", MetricType::StoreRocksdbError => "RocksDB error", MetricType::StoreSqliteError => "SQLite error", MetricType::StoreLdapError => "LDAP error", MetricType::StoreElasticsearchError => "ElasticSearch error", MetricType::StoreRedisError => "Redis error", MetricType::StoreS3Error => "S3 error", MetricType::StoreAzureError => "Azure error", MetricType::StoreFilesystemError => "Filesystem error", MetricType::StorePoolError => "Connection pool error", MetricType::StoreDataCorruption => "Data corruption detected", MetricType::StoreDecompressError => "Decompression error", MetricType::StoreDeserializeError => "Deserialization error", MetricType::StoreNotFound => "Record not found in database", MetricType::StoreNotConfigured => "Store not configured", MetricType::StoreNotSupported => "Operation not supported by store", MetricType::StoreUnexpectedError => "Unexpected store error", MetricType::StoreCryptoError => "Store crypto error", MetricType::StoreHttpStoreError => "Error updating HTTP store", MetricType::StoreBlobMissingMarker => "Blob missing marker", MetricType::StoreDataWrite => "Write batch operation", MetricType::StoreDataIterate => "Data store iteration operation", MetricType::StoreBlobRead => "Blob read operation", MetricType::StoreBlobWrite => "Blob write operation", MetricType::StoreBlobDelete => "Blob delete operation", MetricType::TaskManagerBlobNotFound => "Blob not found for task", MetricType::TaskManagerMetadataNotFound => "Metadata not found for task", MetricType::TelemetryAlertEvent => "Alert event triggered", MetricType::TelemetryAlertMessage => "Alert message sent", MetricType::TelemetryLogError => "Log collector error", MetricType::TelemetryWebhookError => "Webhook collector error", MetricType::TelemetryOtelExporterError => "OpenTelemetry exporter error", MetricType::TelemetryOtelMetricsExporterError => "OpenTelemetry metrics exporter error", MetricType::TelemetryPrometheusExporterError => "Prometheus exporter error", MetricType::TelemetryJournalError => "Journal collector error", MetricType::TlsHandshakeError => "TLS handshake error", MetricType::UserCount => "Total number of users", } } pub fn unit(&self) -> &'static str { match self { MetricType::MessageSize | MetricType::MessageAuthenticatedSize | MetricType::OutgoingReportSize | MetricType::ServerMemory => "bytes", MetricType::DeliveryActiveConnections | MetricType::HttpActiveConnections | MetricType::ImapActiveConnections | MetricType::Pop3ActiveConnections | MetricType::SieveActiveConnections | MetricType::SmtpActiveConnections => "connections", MetricType::AcmeAuthError | MetricType::AcmeAuthTooManyAttempts | MetricType::AcmeOrderCompleted | MetricType::AcmeOrderInvalid | MetricType::AcmeClientMissingSni | MetricType::AcmeTlsAlpnError | MetricType::AcmeTokenNotFound | MetricType::AcmeError | MetricType::ArcChainTooLong | MetricType::ArcInvalidInstance | MetricType::ArcInvalidCv | MetricType::ArcHasHeaderTag | MetricType::ArcBrokenChain | MetricType::AuthSuccess | MetricType::AuthFailed | MetricType::AuthTooManyAttempts | MetricType::AuthError | MetricType::CalendarAlarmSent | MetricType::CalendarAlarmFailed | MetricType::CalendarItipMessageSent | MetricType::CalendarItipMessageReceived | MetricType::CalendarItipMessageError | MetricType::ClusterSubscriberError | MetricType::ClusterSubscriberDisconnected | MetricType::ClusterPublisherError | MetricType::DaneAuthenticationSuccess | MetricType::DaneAuthenticationFailure | MetricType::DaneNoCertificatesFound | MetricType::DaneCertificateParseError | MetricType::DaneTlsaRecordFetchError | MetricType::DaneTlsaRecordNotFound | MetricType::DaneTlsaRecordNotDnssecSigned | MetricType::DaneTlsaRecordInvalid | MetricType::DaneBogusDnssecRecord | MetricType::DeliveryAttemptStart | MetricType::DeliveryAttemptEnd | MetricType::DeliveryCompleted | MetricType::DeliveryMxLookupFailed | MetricType::DeliveryIpLookupFailed | MetricType::DeliveryNullMx | MetricType::DeliveryGreetingFailed | MetricType::DeliveryEhloRejected | MetricType::DeliveryAuthFailed | MetricType::DeliveryMailFromRejected | MetricType::DeliveryDelivered | MetricType::DeliveryRcptToRejected | MetricType::DeliveryRcptToFailed | MetricType::DeliveryMessageRejected | MetricType::DeliveryStartTlsUnavailable | MetricType::DeliveryStartTlsError | MetricType::DeliveryStartTlsDisabled | MetricType::DeliveryImplicitTlsError | MetricType::DeliveryConcurrencyLimitExceeded | MetricType::DeliveryRateLimitExceeded | MetricType::DeliveryDoubleBounce | MetricType::DeliveryDsnSuccess | MetricType::DeliveryDsnTempFail | MetricType::DeliveryDsnPermFail | MetricType::DkimPass | MetricType::DkimNeutral | MetricType::DkimFail | MetricType::DkimPermError | MetricType::DkimTempError | MetricType::DkimNone | MetricType::DkimUnsupportedVersion | MetricType::DkimUnsupportedAlgorithm | MetricType::DkimUnsupportedCanonicalization | MetricType::DkimUnsupportedKeyType | MetricType::DkimFailedBodyHashMatch | MetricType::DkimFailedVerification | MetricType::DkimFailedAuidMatch | MetricType::DkimRevokedPublicKey | MetricType::DkimIncompatibleAlgorithms | MetricType::DkimSignatureExpired | MetricType::DkimSignatureLength | MetricType::DkimSignerNotFound | MetricType::DkimInstanceMissing | MetricType::DkimInstanceSyntax | MetricType::DkimInstanceTagMissing | MetricType::DkimInstanceNotSigned | MetricType::DkimInstanceAboveSignature | MetricType::DkimSignatureMissing | MetricType::DkimSignatureSyntax | MetricType::DkimSignatureTagMissing | MetricType::DkimSignatureTagUnexpected | MetricType::DkimSequenceGap | MetricType::DkimSequenceOverflow | MetricType::DkimChainTooLong | MetricType::DkimMailFromMismatch | MetricType::DkimRcptToMismatch | MetricType::DkimMailFromDomainMismatch | MetricType::DkimNextDomainMismatch | MetricType::DkimCustodyBreak | MetricType::DkimPublicKeyFetch | MetricType::DkimPublicKeyMissing | MetricType::DkimPublicKeyMultiple | MetricType::DkimPublicKeySyntax | MetricType::DkimPublicKeyAlgorithmMismatch | MetricType::DkimNoValidAlgorithm | MetricType::DkimHeaderHashMismatch | MetricType::DkimModified | MetricType::DkimExploded | MetricType::DmarcPass | MetricType::DmarcFail | MetricType::DmarcPermError | MetricType::DmarcTempError | MetricType::DmarcNone | MetricType::DnsRecordCreationFailed | MetricType::DnsRecordDeletionFailed | MetricType::DnsRecordLookupFailed | MetricType::DnsRecordPropagationTimeout | MetricType::EvalError | MetricType::EvalDirectoryNotFound | MetricType::EvalStoreNotFound | MetricType::HttpConnectionStart | MetricType::HttpError | MetricType::HttpRequestBody | MetricType::HttpResponseBody | MetricType::HttpXForwardedMissing | MetricType::ImapConnectionStart | MetricType::ImapConnectionEnd | MetricType::IncomingReportDmarcReport | MetricType::IncomingReportDmarcReportWithWarnings | MetricType::IncomingReportTlsReport | MetricType::IncomingReportTlsReportWithWarnings | MetricType::IncomingReportAbuseReport | MetricType::IncomingReportAuthFailureReport | MetricType::IncomingReportFraudReport | MetricType::IncomingReportNotSpamReport | MetricType::IncomingReportVirusReport | MetricType::IncomingReportOtherReport | MetricType::IncomingReportMessageParseFailed | MetricType::IncomingReportDmarcParseFailed | MetricType::IncomingReportTlsRpcParseFailed | MetricType::IncomingReportArfParseFailed | MetricType::IncomingReportDecompressError | MetricType::IprevPass | MetricType::IprevFail | MetricType::IprevPermError | MetricType::IprevTempError | MetricType::IprevNone | MetricType::JmapMethodCall | MetricType::JmapInvalidArguments | MetricType::JmapRequestTooLarge | MetricType::JmapUnsupportedFilter | MetricType::JmapUnsupportedSort | MetricType::JmapUnknownMethod | MetricType::JmapForbidden | MetricType::JmapNotJson | MetricType::JmapNotRequest | MetricType::JmapWebsocketStart | MetricType::JmapWebsocketError | MetricType::LimitSizeRequest | MetricType::LimitSizeUpload | MetricType::LimitCallsIn | MetricType::LimitConcurrentRequest | MetricType::LimitConcurrentUpload | MetricType::LimitConcurrentConnection | MetricType::LimitQuota | MetricType::LimitBlobQuota | MetricType::LimitTenantQuota | MetricType::LimitTooManyRequests | MetricType::MailAuthParseError | MetricType::MailAuthMissingParameters | MetricType::MailAuthNoHeadersFound | MetricType::MailAuthCrypto | MetricType::MailAuthIo | MetricType::MailAuthBase64 | MetricType::MailAuthDnsError | MetricType::MailAuthDnsRecordNotFound | MetricType::MailAuthDnsInvalidRecordType | MetricType::MailAuthPolicyNotAligned | MetricType::ManageSieveConnectionStart | MetricType::ManageSieveConnectionEnd | MetricType::MessageIngestHam | MetricType::MessageIngestSpam | MetricType::MessageIngestImapAppend | MetricType::MessageIngestJmapAppend | MetricType::MessageIngestDuplicate | MetricType::MessageIngestError | MetricType::MessageIngestSearchIndex | MetricType::MilterActionAccept | MetricType::MilterActionDiscard | MetricType::MilterActionReject | MetricType::MilterActionTempFail | MetricType::MilterActionReplyCode | MetricType::MilterActionConnectionFailure | MetricType::MilterActionShutdown | MetricType::MtaHookActionAccept | MetricType::MtaHookActionDiscard | MetricType::MtaHookActionReject | MetricType::MtaHookActionQuarantine | MetricType::MtaHookError | MetricType::MtaStsAuthorized | MetricType::MtaStsNotAuthorized | MetricType::MtaStsInvalidPolicy | MetricType::NetworkTimeout | MetricType::OutgoingReportSpfReport | MetricType::OutgoingReportSpfRateLimited | MetricType::OutgoingReportDkimReport | MetricType::OutgoingReportDkimRateLimited | MetricType::OutgoingReportDmarcReport | MetricType::OutgoingReportDmarcRateLimited | MetricType::OutgoingReportDmarcAggregateReport | MetricType::OutgoingReportTlsAggregate | MetricType::OutgoingReportHttpSubmission | MetricType::OutgoingReportUnauthorizedReportingAddress | MetricType::OutgoingReportReportingAddressValidationError | MetricType::OutgoingReportNotFound | MetricType::OutgoingReportSubmissionError | MetricType::OutgoingReportNoRecipientsFound | MetricType::Pop3ConnectionStart | MetricType::Pop3ConnectionEnd | MetricType::PushSubscriptionSuccess | MetricType::PushSubscriptionError | MetricType::PushSubscriptionNotFound | MetricType::QueueMessageQueued | MetricType::QueueAuthenticatedMessageQueued | MetricType::QueueReportQueued | MetricType::QueueDsnQueued | MetricType::QueueAutogeneratedQueued | MetricType::QueueRescheduled | MetricType::QueueBlobNotFound | MetricType::QueueRateLimitExceeded | MetricType::QueueConcurrencyLimitExceeded | MetricType::QueueQuotaExceeded | MetricType::ResourceNotFound | MetricType::ResourceBadParameters | MetricType::ResourceError | MetricType::SecurityAuthenticationBan | MetricType::SecurityAbuseBan | MetricType::SecurityScanBan | MetricType::SecurityLoiterBan | MetricType::SecurityIpBlocked | MetricType::SecurityUnauthorized | MetricType::ServerThreadError | MetricType::SieveActionAccept | MetricType::SieveActionAcceptReplace | MetricType::SieveActionDiscard | MetricType::SieveActionReject | MetricType::SieveSendMessage | MetricType::SieveMessageTooLarge | MetricType::SieveRuntimeError | MetricType::SieveUnexpectedError | MetricType::SieveNotSupported | MetricType::SieveQuotaExceeded | MetricType::SmtpConnectionStart | MetricType::SmtpConnectionEnd | MetricType::SmtpError | MetricType::SmtpConcurrencyLimitExceeded | MetricType::SmtpTransferLimitExceeded | MetricType::SmtpRateLimitExceeded | MetricType::SmtpTimeLimitExceeded | MetricType::SmtpMessageParseFailed | MetricType::SmtpMessageTooLarge | MetricType::SmtpLoopDetected | MetricType::SmtpDkimPass | MetricType::SmtpDkimFail | MetricType::SmtpDkim2Pass | MetricType::SmtpDkim2Fail | MetricType::SmtpDkim2DsnDiscarded | MetricType::SmtpArcPass | MetricType::SmtpArcFail | MetricType::SmtpSpfEhloPass | MetricType::SmtpSpfEhloFail | MetricType::SmtpSpfFromPass | MetricType::SmtpSpfFromFail | MetricType::SmtpDmarcPass | MetricType::SmtpDmarcFail | MetricType::SmtpIprevPass | MetricType::SmtpIprevFail | MetricType::SmtpTooManyMessages | MetricType::SmtpInvalidEhlo | MetricType::SmtpDidNotSayEhlo | MetricType::SmtpMailFromUnauthenticated | MetricType::SmtpMailFromUnauthorized | MetricType::SmtpMailFromMissing | MetricType::SmtpMultipleMailFrom | MetricType::SmtpMailboxDoesNotExist | MetricType::SmtpRelayNotAllowed | MetricType::SmtpRcptToDuplicate | MetricType::SmtpRcptToMissing | MetricType::SmtpTooManyRecipients | MetricType::SmtpTooManyInvalidRcpt | MetricType::SmtpAuthMechanismNotSupported | MetricType::SmtpAuthExchangeTooLong | MetricType::SmtpCommandNotImplemented | MetricType::SmtpInvalidCommand | MetricType::SmtpSyntaxError | MetricType::SmtpRequestTooLarge | MetricType::SpamPyzorError | MetricType::SpamDnsblError | MetricType::SpamTrainCompleted | MetricType::SpamTrainSampleAdded | MetricType::SpamClassify | MetricType::SpamModelNotReady | MetricType::SpfPass | MetricType::SpfFail | MetricType::SpfSoftFail | MetricType::SpfNeutral | MetricType::SpfTempError | MetricType::SpfPermError | MetricType::SpfNone | MetricType::StoreAssertValueFailed | MetricType::StoreFoundationdbError | MetricType::StoreMysqlError | MetricType::StorePostgresqlError | MetricType::StoreRocksdbError | MetricType::StoreSqliteError | MetricType::StoreLdapError | MetricType::StoreElasticsearchError | MetricType::StoreRedisError | MetricType::StoreS3Error | MetricType::StoreAzureError | MetricType::StoreFilesystemError | MetricType::StorePoolError | MetricType::StoreDataCorruption | MetricType::StoreDecompressError | MetricType::StoreDeserializeError | MetricType::StoreNotFound | MetricType::StoreNotConfigured | MetricType::StoreNotSupported | MetricType::StoreUnexpectedError | MetricType::StoreCryptoError | MetricType::StoreHttpStoreError | MetricType::StoreBlobMissingMarker | MetricType::StoreDataWrite | MetricType::StoreDataIterate | MetricType::StoreBlobRead | MetricType::StoreBlobWrite | MetricType::StoreBlobDelete | MetricType::TaskManagerBlobNotFound | MetricType::TaskManagerMetadataNotFound | MetricType::TelemetryAlertEvent | MetricType::TelemetryAlertMessage | MetricType::TelemetryLogError | MetricType::TelemetryWebhookError | MetricType::TelemetryOtelExporterError | MetricType::TelemetryOtelMetricsExporterError | MetricType::TelemetryPrometheusExporterError | MetricType::TelemetryJournalError | MetricType::TlsHandshakeError => "count", MetricType::DomainCount => "domains", MetricType::QueueCount => "messages", MetricType::DeliveryTotalTime | MetricType::DeliveryAttemptTime | MetricType::DnsLookupTime | MetricType::HttpRequestTime | MetricType::ImapRequestTime | MetricType::MessageIngestTime | MetricType::MessageIngestIndexTime | MetricType::Pop3RequestTime | MetricType::SieveRequestTime | MetricType::SmtpRequestTime | MetricType::StoreDataReadTime | MetricType::StoreDataWriteTime | MetricType::StoreBlobReadTime | MetricType::StoreBlobWriteTime => "milliseconds", MetricType::UserCount => "users", } } pub const fn variants() -> &'static [Self] { &[ MetricType::AcmeAuthError, MetricType::AcmeAuthTooManyAttempts, MetricType::AcmeOrderCompleted, MetricType::AcmeOrderInvalid, MetricType::AcmeClientMissingSni, MetricType::AcmeTlsAlpnError, MetricType::AcmeTokenNotFound, MetricType::AcmeError, MetricType::ArcChainTooLong, MetricType::ArcInvalidInstance, MetricType::ArcInvalidCv, MetricType::ArcHasHeaderTag, MetricType::ArcBrokenChain, MetricType::AuthSuccess, MetricType::AuthFailed, MetricType::AuthTooManyAttempts, MetricType::AuthError, MetricType::CalendarAlarmSent, MetricType::CalendarAlarmFailed, MetricType::CalendarItipMessageSent, MetricType::CalendarItipMessageReceived, MetricType::CalendarItipMessageError, MetricType::ClusterSubscriberError, MetricType::ClusterSubscriberDisconnected, MetricType::ClusterPublisherError, MetricType::DaneAuthenticationSuccess, MetricType::DaneAuthenticationFailure, MetricType::DaneNoCertificatesFound, MetricType::DaneCertificateParseError, MetricType::DaneTlsaRecordFetchError, MetricType::DaneTlsaRecordNotFound, MetricType::DaneTlsaRecordNotDnssecSigned, MetricType::DaneTlsaRecordInvalid, MetricType::DaneBogusDnssecRecord, MetricType::DeliveryTotalTime, MetricType::DeliveryAttemptTime, MetricType::DeliveryActiveConnections, MetricType::DeliveryAttemptStart, MetricType::DeliveryAttemptEnd, MetricType::DeliveryCompleted, MetricType::DeliveryMxLookupFailed, MetricType::DeliveryIpLookupFailed, MetricType::DeliveryNullMx, MetricType::DeliveryGreetingFailed, MetricType::DeliveryEhloRejected, MetricType::DeliveryAuthFailed, MetricType::DeliveryMailFromRejected, MetricType::DeliveryDelivered, MetricType::DeliveryRcptToRejected, MetricType::DeliveryRcptToFailed, MetricType::DeliveryMessageRejected, MetricType::DeliveryStartTlsUnavailable, MetricType::DeliveryStartTlsError, MetricType::DeliveryStartTlsDisabled, MetricType::DeliveryImplicitTlsError, MetricType::DeliveryConcurrencyLimitExceeded, MetricType::DeliveryRateLimitExceeded, MetricType::DeliveryDoubleBounce, MetricType::DeliveryDsnSuccess, MetricType::DeliveryDsnTempFail, MetricType::DeliveryDsnPermFail, MetricType::DkimPass, MetricType::DkimNeutral, MetricType::DkimFail, MetricType::DkimPermError, MetricType::DkimTempError, MetricType::DkimNone, MetricType::DkimUnsupportedVersion, MetricType::DkimUnsupportedAlgorithm, MetricType::DkimUnsupportedCanonicalization, MetricType::DkimUnsupportedKeyType, MetricType::DkimFailedBodyHashMatch, MetricType::DkimFailedVerification, MetricType::DkimFailedAuidMatch, MetricType::DkimRevokedPublicKey, MetricType::DkimIncompatibleAlgorithms, MetricType::DkimSignatureExpired, MetricType::DkimSignatureLength, MetricType::DkimSignerNotFound, MetricType::DkimInstanceMissing, MetricType::DkimInstanceSyntax, MetricType::DkimInstanceTagMissing, MetricType::DkimInstanceNotSigned, MetricType::DkimInstanceAboveSignature, MetricType::DkimSignatureMissing, MetricType::DkimSignatureSyntax, MetricType::DkimSignatureTagMissing, MetricType::DkimSignatureTagUnexpected, MetricType::DkimSequenceGap, MetricType::DkimSequenceOverflow, MetricType::DkimChainTooLong, MetricType::DkimMailFromMismatch, MetricType::DkimRcptToMismatch, MetricType::DkimMailFromDomainMismatch, MetricType::DkimNextDomainMismatch, MetricType::DkimCustodyBreak, MetricType::DkimPublicKeyFetch, MetricType::DkimPublicKeyMissing, MetricType::DkimPublicKeyMultiple, MetricType::DkimPublicKeySyntax, MetricType::DkimPublicKeyAlgorithmMismatch, MetricType::DkimNoValidAlgorithm, MetricType::DkimHeaderHashMismatch, MetricType::DkimModified, MetricType::DkimExploded, MetricType::DmarcPass, MetricType::DmarcFail, MetricType::DmarcPermError, MetricType::DmarcTempError, MetricType::DmarcNone, MetricType::DnsLookupTime, MetricType::DnsRecordCreationFailed, MetricType::DnsRecordDeletionFailed, MetricType::DnsRecordLookupFailed, MetricType::DnsRecordPropagationTimeout, MetricType::DomainCount, MetricType::EvalError, MetricType::EvalDirectoryNotFound, MetricType::EvalStoreNotFound, MetricType::HttpRequestTime, MetricType::HttpActiveConnections, MetricType::HttpConnectionStart, MetricType::HttpError, MetricType::HttpRequestBody, MetricType::HttpResponseBody, MetricType::HttpXForwardedMissing, MetricType::ImapRequestTime, MetricType::ImapActiveConnections, MetricType::ImapConnectionStart, MetricType::ImapConnectionEnd, MetricType::IncomingReportDmarcReport, MetricType::IncomingReportDmarcReportWithWarnings, MetricType::IncomingReportTlsReport, MetricType::IncomingReportTlsReportWithWarnings, MetricType::IncomingReportAbuseReport, MetricType::IncomingReportAuthFailureReport, MetricType::IncomingReportFraudReport, MetricType::IncomingReportNotSpamReport, MetricType::IncomingReportVirusReport, MetricType::IncomingReportOtherReport, MetricType::IncomingReportMessageParseFailed, MetricType::IncomingReportDmarcParseFailed, MetricType::IncomingReportTlsRpcParseFailed, MetricType::IncomingReportArfParseFailed, MetricType::IncomingReportDecompressError, MetricType::IprevPass, MetricType::IprevFail, MetricType::IprevPermError, MetricType::IprevTempError, MetricType::IprevNone, MetricType::JmapMethodCall, MetricType::JmapInvalidArguments, MetricType::JmapRequestTooLarge, MetricType::JmapUnsupportedFilter, MetricType::JmapUnsupportedSort, MetricType::JmapUnknownMethod, MetricType::JmapForbidden, MetricType::JmapNotJson, MetricType::JmapNotRequest, MetricType::JmapWebsocketStart, MetricType::JmapWebsocketError, MetricType::LimitSizeRequest, MetricType::LimitSizeUpload, MetricType::LimitCallsIn, MetricType::LimitConcurrentRequest, MetricType::LimitConcurrentUpload, MetricType::LimitConcurrentConnection, MetricType::LimitQuota, MetricType::LimitBlobQuota, MetricType::LimitTenantQuota, MetricType::LimitTooManyRequests, MetricType::MailAuthParseError, MetricType::MailAuthMissingParameters, MetricType::MailAuthNoHeadersFound, MetricType::MailAuthCrypto, MetricType::MailAuthIo, MetricType::MailAuthBase64, MetricType::MailAuthDnsError, MetricType::MailAuthDnsRecordNotFound, MetricType::MailAuthDnsInvalidRecordType, MetricType::MailAuthPolicyNotAligned, MetricType::ManageSieveConnectionStart, MetricType::ManageSieveConnectionEnd, MetricType::MessageSize, MetricType::MessageAuthenticatedSize, MetricType::MessageIngestTime, MetricType::MessageIngestIndexTime, MetricType::MessageIngestHam, MetricType::MessageIngestSpam, MetricType::MessageIngestImapAppend, MetricType::MessageIngestJmapAppend, MetricType::MessageIngestDuplicate, MetricType::MessageIngestError, MetricType::MessageIngestSearchIndex, MetricType::MilterActionAccept, MetricType::MilterActionDiscard, MetricType::MilterActionReject, MetricType::MilterActionTempFail, MetricType::MilterActionReplyCode, MetricType::MilterActionConnectionFailure, MetricType::MilterActionShutdown, MetricType::MtaHookActionAccept, MetricType::MtaHookActionDiscard, MetricType::MtaHookActionReject, MetricType::MtaHookActionQuarantine, MetricType::MtaHookError, MetricType::MtaStsAuthorized, MetricType::MtaStsNotAuthorized, MetricType::MtaStsInvalidPolicy, MetricType::NetworkTimeout, MetricType::OutgoingReportSize, MetricType::OutgoingReportSpfReport, MetricType::OutgoingReportSpfRateLimited, MetricType::OutgoingReportDkimReport, MetricType::OutgoingReportDkimRateLimited, MetricType::OutgoingReportDmarcReport, MetricType::OutgoingReportDmarcRateLimited, MetricType::OutgoingReportDmarcAggregateReport, MetricType::OutgoingReportTlsAggregate, MetricType::OutgoingReportHttpSubmission, MetricType::OutgoingReportUnauthorizedReportingAddress, MetricType::OutgoingReportReportingAddressValidationError, MetricType::OutgoingReportNotFound, MetricType::OutgoingReportSubmissionError, MetricType::OutgoingReportNoRecipientsFound, MetricType::Pop3RequestTime, MetricType::Pop3ActiveConnections, MetricType::Pop3ConnectionStart, MetricType::Pop3ConnectionEnd, MetricType::PushSubscriptionSuccess, MetricType::PushSubscriptionError, MetricType::PushSubscriptionNotFound, MetricType::QueueCount, MetricType::QueueMessageQueued, MetricType::QueueAuthenticatedMessageQueued, MetricType::QueueReportQueued, MetricType::QueueDsnQueued, MetricType::QueueAutogeneratedQueued, MetricType::QueueRescheduled, MetricType::QueueBlobNotFound, MetricType::QueueRateLimitExceeded, MetricType::QueueConcurrencyLimitExceeded, MetricType::QueueQuotaExceeded, MetricType::ResourceNotFound, MetricType::ResourceBadParameters, MetricType::ResourceError, MetricType::SecurityAuthenticationBan, MetricType::SecurityAbuseBan, MetricType::SecurityScanBan, MetricType::SecurityLoiterBan, MetricType::SecurityIpBlocked, MetricType::SecurityUnauthorized, MetricType::ServerMemory, MetricType::ServerThreadError, MetricType::SieveRequestTime, MetricType::SieveActiveConnections, MetricType::SieveActionAccept, MetricType::SieveActionAcceptReplace, MetricType::SieveActionDiscard, MetricType::SieveActionReject, MetricType::SieveSendMessage, MetricType::SieveMessageTooLarge, MetricType::SieveRuntimeError, MetricType::SieveUnexpectedError, MetricType::SieveNotSupported, MetricType::SieveQuotaExceeded, MetricType::SmtpRequestTime, MetricType::SmtpActiveConnections, MetricType::SmtpConnectionStart, MetricType::SmtpConnectionEnd, MetricType::SmtpError, MetricType::SmtpConcurrencyLimitExceeded, MetricType::SmtpTransferLimitExceeded, MetricType::SmtpRateLimitExceeded, MetricType::SmtpTimeLimitExceeded, MetricType::SmtpMessageParseFailed, MetricType::SmtpMessageTooLarge, MetricType::SmtpLoopDetected, MetricType::SmtpDkimPass, MetricType::SmtpDkimFail, MetricType::SmtpDkim2Pass, MetricType::SmtpDkim2Fail, MetricType::SmtpDkim2DsnDiscarded, MetricType::SmtpArcPass, MetricType::SmtpArcFail, MetricType::SmtpSpfEhloPass, MetricType::SmtpSpfEhloFail, MetricType::SmtpSpfFromPass, MetricType::SmtpSpfFromFail, MetricType::SmtpDmarcPass, MetricType::SmtpDmarcFail, MetricType::SmtpIprevPass, MetricType::SmtpIprevFail, MetricType::SmtpTooManyMessages, MetricType::SmtpInvalidEhlo, MetricType::SmtpDidNotSayEhlo, MetricType::SmtpMailFromUnauthenticated, MetricType::SmtpMailFromUnauthorized, MetricType::SmtpMailFromMissing, MetricType::SmtpMultipleMailFrom, MetricType::SmtpMailboxDoesNotExist, MetricType::SmtpRelayNotAllowed, MetricType::SmtpRcptToDuplicate, MetricType::SmtpRcptToMissing, MetricType::SmtpTooManyRecipients, MetricType::SmtpTooManyInvalidRcpt, MetricType::SmtpAuthMechanismNotSupported, MetricType::SmtpAuthExchangeTooLong, MetricType::SmtpCommandNotImplemented, MetricType::SmtpInvalidCommand, MetricType::SmtpSyntaxError, MetricType::SmtpRequestTooLarge, MetricType::SpamPyzorError, MetricType::SpamDnsblError, MetricType::SpamTrainCompleted, MetricType::SpamTrainSampleAdded, MetricType::SpamClassify, MetricType::SpamModelNotReady, MetricType::SpfPass, MetricType::SpfFail, MetricType::SpfSoftFail, MetricType::SpfNeutral, MetricType::SpfTempError, MetricType::SpfPermError, MetricType::SpfNone, MetricType::StoreDataReadTime, MetricType::StoreDataWriteTime, MetricType::StoreBlobReadTime, MetricType::StoreBlobWriteTime, MetricType::StoreAssertValueFailed, MetricType::StoreFoundationdbError, MetricType::StoreMysqlError, MetricType::StorePostgresqlError, MetricType::StoreRocksdbError, MetricType::StoreSqliteError, MetricType::StoreLdapError, MetricType::StoreElasticsearchError, MetricType::StoreRedisError, MetricType::StoreS3Error, MetricType::StoreAzureError, MetricType::StoreFilesystemError, MetricType::StorePoolError, MetricType::StoreDataCorruption, MetricType::StoreDecompressError, MetricType::StoreDeserializeError, MetricType::StoreNotFound, MetricType::StoreNotConfigured, MetricType::StoreNotSupported, MetricType::StoreUnexpectedError, MetricType::StoreCryptoError, MetricType::StoreHttpStoreError, MetricType::StoreBlobMissingMarker, MetricType::StoreDataWrite, MetricType::StoreDataIterate, MetricType::StoreBlobRead, MetricType::StoreBlobWrite, MetricType::StoreBlobDelete, MetricType::TaskManagerBlobNotFound, MetricType::TaskManagerMetadataNotFound, MetricType::TelemetryAlertEvent, MetricType::TelemetryAlertMessage, MetricType::TelemetryLogError, MetricType::TelemetryWebhookError, MetricType::TelemetryOtelExporterError, MetricType::TelemetryOtelMetricsExporterError, MetricType::TelemetryPrometheusExporterError, MetricType::TelemetryJournalError, MetricType::TlsHandshakeError, MetricType::UserCount, ] } } impl Key { pub fn parse(value: &str) -> Option { hashify::map! { value.as_bytes(), Key, b"accountName" => Key::AccountName, b"accountId" => Key::AccountId, b"blobId" => Key::BlobId, b"causedBy" => Key::CausedBy, b"changeId" => Key::ChangeId, b"code" => Key::Code, b"collection" => Key::Collection, b"contents" => Key::Contents, b"details" => Key::Details, b"dkimFail" => Key::DkimFail, b"dkimNone" => Key::DkimNone, b"dkimPass" => Key::DkimPass, b"dmarcNone" => Key::DmarcNone, b"dmarcPass" => Key::DmarcPass, b"dmarcQuarantine" => Key::DmarcQuarantine, b"dmarcReject" => Key::DmarcReject, b"documentId" => Key::DocumentId, b"domain" => Key::Domain, b"due" => Key::Due, b"elapsed" => Key::Elapsed, b"expires" => Key::Expires, b"from" => Key::From, b"hostname" => Key::Hostname, b"id" => Key::Id, b"key" => Key::Key, b"limit" => Key::Limit, b"listenerId" => Key::ListenerId, b"localIp" => Key::LocalIp, b"localPort" => Key::LocalPort, b"mailboxName" => Key::MailboxName, b"mailboxId" => Key::MailboxId, b"messageId" => Key::MessageId, b"nextDsn" => Key::NextDsn, b"nextRetry" => Key::NextRetry, b"path" => Key::Path, b"policy" => Key::Policy, b"queueId" => Key::QueueId, b"rangeFrom" => Key::RangeFrom, b"rangeTo" => Key::RangeTo, b"reason" => Key::Reason, b"remoteIp" => Key::RemoteIp, b"remotePort" => Key::RemotePort, b"reportId" => Key::ReportId, b"result" => Key::Result, b"size" => Key::Size, b"source" => Key::Source, b"spanId" => Key::SpanId, b"spfFail" => Key::SpfFail, b"spfNone" => Key::SpfNone, b"spfPass" => Key::SpfPass, b"strict" => Key::Strict, b"tls" => Key::Tls, b"to" => Key::To, b"total" => Key::Total, b"totalFailures" => Key::TotalFailures, b"totalSuccesses" => Key::TotalSuccesses, b"type" => Key::Type, b"uid" => Key::Uid, b"uidNext" => Key::UidNext, b"uidValidity" => Key::UidValidity, b"url" => Key::Url, b"validFrom" => Key::ValidFrom, b"validTo" => Key::ValidTo, b"value" => Key::Value, b"version" => Key::Version, b"queueName" => Key::QueueName, } .copied() } pub fn as_str(&self) -> &'static str { match self { Key::AccountName => "accountName", Key::AccountId => "accountId", Key::BlobId => "blobId", Key::CausedBy => "causedBy", Key::ChangeId => "changeId", Key::Code => "code", Key::Collection => "collection", Key::Contents => "contents", Key::Details => "details", Key::DkimFail => "dkimFail", Key::DkimNone => "dkimNone", Key::DkimPass => "dkimPass", Key::DmarcNone => "dmarcNone", Key::DmarcPass => "dmarcPass", Key::DmarcQuarantine => "dmarcQuarantine", Key::DmarcReject => "dmarcReject", Key::DocumentId => "documentId", Key::Domain => "domain", Key::Due => "due", Key::Elapsed => "elapsed", Key::Expires => "expires", Key::From => "from", Key::Hostname => "hostname", Key::Id => "id", Key::Key => "key", Key::Limit => "limit", Key::ListenerId => "listenerId", Key::LocalIp => "localIp", Key::LocalPort => "localPort", Key::MailboxName => "mailboxName", Key::MailboxId => "mailboxId", Key::MessageId => "messageId", Key::NextDsn => "nextDsn", Key::NextRetry => "nextRetry", Key::Path => "path", Key::Policy => "policy", Key::QueueId => "queueId", Key::RangeFrom => "rangeFrom", Key::RangeTo => "rangeTo", Key::Reason => "reason", Key::RemoteIp => "remoteIp", Key::RemotePort => "remotePort", Key::ReportId => "reportId", Key::Result => "result", Key::Size => "size", Key::Source => "source", Key::SpanId => "spanId", Key::SpfFail => "spfFail", Key::SpfNone => "spfNone", Key::SpfPass => "spfPass", Key::Strict => "strict", Key::Tls => "tls", Key::To => "to", Key::Total => "total", Key::TotalFailures => "totalFailures", Key::TotalSuccesses => "totalSuccesses", Key::Type => "type", Key::Uid => "uid", Key::UidNext => "uidNext", Key::UidValidity => "uidValidity", Key::Url => "url", Key::ValidFrom => "validFrom", Key::ValidTo => "validTo", Key::Value => "value", Key::Version => "version", Key::QueueName => "queueName", } } pub fn to_id(&self) -> u16 { *self as u16 } pub fn from_id(id: u16) -> Option { match id { 0 => Some(Key::AccountName), 1 => Some(Key::AccountId), 2 => Some(Key::BlobId), 3 => Some(Key::CausedBy), 4 => Some(Key::ChangeId), 5 => Some(Key::Code), 6 => Some(Key::Collection), 7 => Some(Key::Contents), 8 => Some(Key::Details), 9 => Some(Key::DkimFail), 10 => Some(Key::DkimNone), 11 => Some(Key::DkimPass), 12 => Some(Key::DmarcNone), 13 => Some(Key::DmarcPass), 14 => Some(Key::DmarcQuarantine), 15 => Some(Key::DmarcReject), 16 => Some(Key::DocumentId), 17 => Some(Key::Domain), 18 => Some(Key::Due), 19 => Some(Key::Elapsed), 20 => Some(Key::Expires), 21 => Some(Key::From), 22 => Some(Key::Hostname), 23 => Some(Key::Id), 24 => Some(Key::Key), 25 => Some(Key::Limit), 26 => Some(Key::ListenerId), 27 => Some(Key::LocalIp), 28 => Some(Key::LocalPort), 29 => Some(Key::MailboxName), 30 => Some(Key::MailboxId), 31 => Some(Key::MessageId), 32 => Some(Key::NextDsn), 33 => Some(Key::NextRetry), 34 => Some(Key::Path), 35 => Some(Key::Policy), 36 => Some(Key::QueueId), 37 => Some(Key::RangeFrom), 38 => Some(Key::RangeTo), 39 => Some(Key::Reason), 40 => Some(Key::RemoteIp), 41 => Some(Key::RemotePort), 42 => Some(Key::ReportId), 43 => Some(Key::Result), 44 => Some(Key::Size), 45 => Some(Key::Source), 46 => Some(Key::SpanId), 47 => Some(Key::SpfFail), 48 => Some(Key::SpfNone), 49 => Some(Key::SpfPass), 50 => Some(Key::Strict), 51 => Some(Key::Tls), 52 => Some(Key::To), 53 => Some(Key::Total), 54 => Some(Key::TotalFailures), 55 => Some(Key::TotalSuccesses), 56 => Some(Key::Type), 57 => Some(Key::Uid), 58 => Some(Key::UidNext), 59 => Some(Key::UidValidity), 60 => Some(Key::Url), 61 => Some(Key::ValidFrom), 62 => Some(Key::ValidTo), 63 => Some(Key::Value), 64 => Some(Key::Version), 65 => Some(Key::QueueName), _ => None, } } pub const COUNT: usize = 66; } impl serde::Serialize for Key { fn serialize(&self, serializer: S) -> Result where S: serde::Serializer, { serializer.serialize_str(self.as_str()) } } impl<'de> serde::Deserialize<'de> for Key { fn deserialize(deserializer: D) -> Result where D: serde::Deserializer<'de>, { let s = Cow::::deserialize(deserializer)?; Self::parse(&s).ok_or_else(|| serde::de::Error::unknown_variant(&s, &[])) } }