pub mod google;
pub static ALL_EVENT_PATHS: &[&str] = &[
"google_cloudevents::google::events::cloud::alloydb::v1::ClusterCreatedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::ClusterUpdatedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::ClusterDeletedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::InstanceCreatedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::InstanceUpdatedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::InstanceDeletedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::BackupCreatedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::BackupUpdatedEvent",
"google_cloudevents::google::events::cloud::alloydb::v1::BackupDeletedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::GatewayCreatedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::GatewayUpdatedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::GatewayDeletedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::ApiCreatedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::ApiUpdatedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::ApiDeletedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::ApiConfigCreatedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::ApiConfigUpdatedEvent",
"google_cloudevents::google::events::cloud::apigateway::v1::ApiConfigDeletedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::InstanceCreatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::InstanceDeletedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiCreatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiUpdatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiDeletedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiVersionCreatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiVersionUpdatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiVersionDeletedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiSpecCreatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiSpecUpdatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiSpecDeletedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiDeploymentCreatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiDeploymentUpdatedEvent",
"google_cloudevents::google::events::cloud::apigeeregistry::v1::ApiDeploymentDeletedEvent",
"google_cloudevents::google::events::cloud::audit::v1::AuditLogWrittenEvent",
"google_cloudevents::google::events::cloud::batch::v1::StatusEvent",
"google_cloudevents::google::events::cloud::batch::v1::JobCreatedEvent",
"google_cloudevents::google::events::cloud::batch::v1::JobDeletedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appconnections::v1::AppConnectionCreatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appconnections::v1::AppConnectionUpdatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appconnections::v1::AppConnectionDeletedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appconnectors::v1::AppConnectorCreatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appconnectors::v1::AppConnectorUpdatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appconnectors::v1::AppConnectorDeletedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appgateways::v1::AppGatewayCreatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::appgateways::v1::AppGatewayDeletedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::clientconnectorservices::v1::ClientConnectorServiceCreatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::clientconnectorservices::v1::ClientConnectorServiceUpdatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::clientconnectorservices::v1::ClientConnectorServiceDeletedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::clientgateways::v1::ClientGatewayCreatedEvent",
"google_cloudevents::google::events::cloud::beyondcorp::clientgateways::v1::ClientGatewayDeletedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateCreatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateUpdatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateDeletedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateMapCreatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateMapUpdatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateMapDeletedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateMapEntryCreatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateMapEntryUpdatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateMapEntryDeletedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::DnsAuthorizationCreatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::DnsAuthorizationUpdatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::DnsAuthorizationDeletedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateIssuanceConfigCreatedEvent",
"google_cloudevents::google::events::cloud::certificatemanager::v1::CertificateIssuanceConfigDeletedEvent",
"google_cloudevents::google::events::cloud::cloudbuild::v1::CloudBuildEvent",
"google_cloudevents::google::events::cloud::clouddms::v1::MigrationJobCreatedEvent",
"google_cloudevents::google::events::cloud::clouddms::v1::MigrationJobUpdatedEvent",
"google_cloudevents::google::events::cloud::clouddms::v1::MigrationJobDeletedEvent",
"google_cloudevents::google::events::cloud::clouddms::v1::ConnectionProfileCreatedEvent",
"google_cloudevents::google::events::cloud::clouddms::v1::ConnectionProfileUpdatedEvent",
"google_cloudevents::google::events::cloud::clouddms::v1::ConnectionProfileDeletedEvent",
"google_cloudevents::google::events::cloud::dataflow::v1beta3::JobStatusChangedEvent",
"google_cloudevents::google::events::cloud::datafusion::v1::InstanceCreatedEvent",
"google_cloudevents::google::events::cloud::datafusion::v1::InstanceDeletedEvent",
"google_cloudevents::google::events::cloud::datafusion::v1::InstanceUpdatedEvent",
"google_cloudevents::google::events::cloud::datafusion::v1::DnsPeeringCreatedEvent",
"google_cloudevents::google::events::cloud::datafusion::v1::DnsPeeringDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataTaxonomyCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataTaxonomyUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataTaxonomyDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataAttributeBindingCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataAttributeBindingUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataAttributeBindingDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataAttributeCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataAttributeUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataAttributeDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataScanCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataScanUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::DataScanDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::LakeCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::LakeUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::LakeDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::ZoneCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::ZoneUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::ZoneDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::AssetCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::AssetUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::AssetDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::TaskCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::TaskUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::TaskDeletedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::EnvironmentCreatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::EnvironmentUpdatedEvent",
"google_cloudevents::google::events::cloud::dataplex::v1::EnvironmentDeletedEvent",
"google_cloudevents::google::events::cloud::datastore::v1::EntityCreatedEvent",
"google_cloudevents::google::events::cloud::datastore::v1::EntityUpdatedEvent",
"google_cloudevents::google::events::cloud::datastore::v1::EntityDeletedEvent",
"google_cloudevents::google::events::cloud::datastore::v1::EntityWrittenEvent",
"google_cloudevents::google::events::cloud::datastream::v1::ConnectionProfileCreatedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::ConnectionProfileUpdatedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::ConnectionProfileDeletedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::StreamCreatedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::StreamUpdatedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::StreamDeletedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::PrivateConnectionCreatedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::PrivateConnectionDeletedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::RouteCreatedEvent",
"google_cloudevents::google::events::cloud::datastream::v1::RouteDeletedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::DeliveryPipelineCreatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::DeliveryPipelineUpdatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::DeliveryPipelineDeletedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::TargetCreatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::TargetUpdatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::TargetDeletedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::CustomTargetTypeCreatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::CustomTargetTypeUpdatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::CustomTargetTypeDeletedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::ReleaseCreatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::RolloutCreatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::AutomationCreatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::AutomationUpdatedEvent",
"google_cloudevents::google::events::cloud::deploy::v1::AutomationDeletedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::TriggerCreatedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::TriggerUpdatedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::TriggerDeletedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::ChannelCreatedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::ChannelUpdatedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::ChannelDeletedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::ChannelConnectionCreatedEvent",
"google_cloudevents::google::events::cloud::eventarc::v1::ChannelConnectionDeletedEvent",
"google_cloudevents::google::events::cloud::firestore::v1::DocumentCreatedEvent",
"google_cloudevents::google::events::cloud::firestore::v1::DocumentUpdatedEvent",
"google_cloudevents::google::events::cloud::firestore::v1::DocumentDeletedEvent",
"google_cloudevents::google::events::cloud::firestore::v1::DocumentWrittenEvent",
"google_cloudevents::google::events::cloud::functions::v2::FunctionCreatedEvent",
"google_cloudevents::google::events::cloud::functions::v2::FunctionUpdatedEvent",
"google_cloudevents::google::events::cloud::functions::v2::FunctionDeletedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::BackupPlanCreatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::BackupPlanUpdatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::BackupPlanDeletedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::BackupCreatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::BackupUpdatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::BackupDeletedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::RestorePlanCreatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::RestorePlanUpdatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::RestorePlanDeletedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::RestoreCreatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::RestoreUpdatedEvent",
"google_cloudevents::google::events::cloud::gkebackup::v1::RestoreDeletedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::MembershipCreatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::FeatureCreatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::MembershipDeletedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::FeatureDeletedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::MembershipUpdatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::FeatureUpdatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::ScopeCreatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::ScopeDeletedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::MembershipBindingCreatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::MembershipBindingUpdatedEvent",
"google_cloudevents::google::events::cloud::gkehub::v1::MembershipBindingDeletedEvent",
"google_cloudevents::google::events::cloud::iot::v1::CreateDeviceEvent",
"google_cloudevents::google::events::cloud::iot::v1::UpdateDeviceEvent",
"google_cloudevents::google::events::cloud::iot::v1::DeleteDeviceEvent",
"google_cloudevents::google::events::cloud::iot::v1::CreateDeviceRegistryEvent",
"google_cloudevents::google::events::cloud::iot::v1::UpdateDeviceRegistryEvent",
"google_cloudevents::google::events::cloud::iot::v1::DeleteDeviceRegistryEvent",
"google_cloudevents::google::events::cloud::memcache::v1::InstanceCreatedEvent",
"google_cloudevents::google::events::cloud::memcache::v1::InstanceUpdatedEvent",
"google_cloudevents::google::events::cloud::memcache::v1::InstanceDeletedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::FederationCreatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::FederationUpdatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::FederationDeletedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::ServiceCreatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::ServiceUpdatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::ServiceDeletedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::MetadataImportCreatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::MetadataImportUpdatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::BackupCreatedEvent",
"google_cloudevents::google::events::cloud::metastore::v1::BackupDeletedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionMapCreatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionMapUpdatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionMapDeletedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionPolicyCreatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionPolicyUpdatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionPolicyDeletedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceClassUpdatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceClassDeletedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionTokenCreatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::ServiceConnectionTokenDeletedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::HubCreatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::HubUpdatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::HubDeletedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::SpokeCreatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::SpokeUpdatedEvent",
"google_cloudevents::google::events::cloud::networkconnectivity::v1::SpokeDeletedEvent",
"google_cloudevents::google::events::cloud::networkmanagement::v1::ConnectivityTestCreatedEvent",
"google_cloudevents::google::events::cloud::networkmanagement::v1::ConnectivityTestUpdatedEvent",
"google_cloudevents::google::events::cloud::networkmanagement::v1::ConnectivityTestDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::EndpointPolicyCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::EndpointPolicyUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::EndpointPolicyDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::GatewayCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::GatewayUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::GatewayDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::GrpcRouteCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::GrpcRouteUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::GrpcRouteDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::HttpRouteCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::HttpRouteUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::HttpRouteDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::TcpRouteCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::TcpRouteUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::TcpRouteDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::TlsRouteCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::TlsRouteUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::TlsRouteDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::ServiceBindingCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::ServiceBindingDeletedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::MeshCreatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::MeshUpdatedEvent",
"google_cloudevents::google::events::cloud::networkservices::v1::MeshDeletedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::RuntimeCreatedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::RuntimeUpdatedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::RuntimeDeletedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::InstanceCreatedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::InstanceDeletedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::EnvironmentCreatedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::EnvironmentDeletedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::ScheduleDeletedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::ScheduleCreatedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::ExecutionDeletedEvent",
"google_cloudevents::google::events::cloud::notebooks::v1::ExecutionCreatedEvent",
"google_cloudevents::google::events::cloud::pubsub::v1::MessagePublishedEvent",
"google_cloudevents::google::events::cloud::redis::v1::InstanceCreatedEvent",
"google_cloudevents::google::events::cloud::redis::v1::InstanceUpdatedEvent",
"google_cloudevents::google::events::cloud::redis::v1::InstanceDeletedEvent",
"google_cloudevents::google::events::cloud::scheduler::v1::JobCreatedEvent",
"google_cloudevents::google::events::cloud::scheduler::v1::JobUpdatedEvent",
"google_cloudevents::google::events::cloud::scheduler::v1::JobDeletedEvent",
"google_cloudevents::google::events::cloud::scheduler::v1::JobExecutedEvent",
"google_cloudevents::google::events::cloud::speech::v1::PhraseSetCreatedEvent",
"google_cloudevents::google::events::cloud::speech::v1::PhraseSetUpdatedEvent",
"google_cloudevents::google::events::cloud::speech::v1::PhraseSetDeletedEvent",
"google_cloudevents::google::events::cloud::speech::v1::CustomClassCreatedEvent",
"google_cloudevents::google::events::cloud::speech::v1::CustomClassUpdatedEvent",
"google_cloudevents::google::events::cloud::speech::v1::CustomClassDeletedEvent",
"google_cloudevents::google::events::cloud::storage::v1::ObjectFinalizedEvent",
"google_cloudevents::google::events::cloud::storage::v1::ObjectArchivedEvent",
"google_cloudevents::google::events::cloud::storage::v1::ObjectDeletedEvent",
"google_cloudevents::google::events::cloud::storage::v1::ObjectMetadataUpdatedEvent",
"google_cloudevents::google::events::cloud::video::transcoder::v1::JobCreatedEvent",
"google_cloudevents::google::events::cloud::video::transcoder::v1::JobDeletedEvent",
"google_cloudevents::google::events::cloud::video::transcoder::v1::JobTemplateCreatedEvent",
"google_cloudevents::google::events::cloud::video::transcoder::v1::JobTemplateDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::Event",
"google_cloudevents::google::events::cloud::visionai::v1::AnalysisCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::AnalysisUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::AnalysisDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ProcessCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ProcessUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ProcessDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ApplicationCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ApplicationUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ApplicationDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::DraftCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::DraftUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::DraftDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ProcessorCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ProcessorUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ProcessorDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ClusterCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ClusterUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::ClusterDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::StreamCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::StreamUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::StreamDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::EventCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::EventUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::EventDeletedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::SeriesCreatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::SeriesUpdatedEvent",
"google_cloudevents::google::events::cloud::visionai::v1::SeriesDeletedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::SourceCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::SourceUpdatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::SourceDeletedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::UtilizationReportCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::UtilizationReportDeletedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::DatacenterConnectorCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::DatacenterConnectorDeletedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::MigratingVmCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::MigratingVmUpdatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::MigratingVmDeletedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::CloneJobCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::CutoverJobCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::GroupCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::GroupUpdatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::GroupDeletedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::TargetProjectCreatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::TargetProjectUpdatedEvent",
"google_cloudevents::google::events::cloud::vmmigration::v1::TargetProjectDeletedEvent",
"google_cloudevents::google::events::cloud::workflows::v1::WorkflowCreatedEvent",
"google_cloudevents::google::events::cloud::workflows::v1::WorkflowDeletedEvent",
"google_cloudevents::google::events::cloud::workflows::v1::WorkflowUpdatedEvent",
"google_cloudevents::google::events::firebase::analytics::v1::AnalyticsLogWrittenEvent",
"google_cloudevents::google::events::firebase::auth::v1::UserCreatedEvent",
"google_cloudevents::google::events::firebase::auth::v1::UserDeletedEvent",
"google_cloudevents::google::events::firebase::database::v1::ReferenceCreatedEvent",
"google_cloudevents::google::events::firebase::database::v1::ReferenceUpdatedEvent",
"google_cloudevents::google::events::firebase::database::v1::ReferenceDeletedEvent",
"google_cloudevents::google::events::firebase::database::v1::ReferenceWrittenEvent",
"google_cloudevents::google::events::firebase::firebasealerts::v1::AlertPublishedEvent",
"google_cloudevents::google::events::firebase::remoteconfig::v1::RemoteConfigUpdatedEvent",
"google_cloudevents::google::events::firebase::testlab::v1::TestMatrixCompletedEvent",
];
#[cfg(feature = "axum")]
use {
serde::{Deserialize, Serialize},
log::error,
cloudevents::{Data, Event},
async_trait::async_trait,
axum::body::Body,
axum::extract::{FromRequest, Request},
axum::http::StatusCode,
axum::response::{IntoResponse, Response},
prost::Message,
serde::de::DeserializeOwned,
};
#[cfg(feature = "axum")]
#[derive(Debug, Serialize, Deserialize)]
pub struct GoogleCloudEvent<T> {
#[serde(flatten)]
pub event: Event,
pub data: T,
}
#[cfg(feature = "axum")]
#[async_trait]
impl<S, T> FromRequest<S> for GoogleCloudEvent<T>
where
Event: FromRequest<S>,
S: Send + Sync,
T: Message + Default + DeserializeOwned + Send + 'static,
{
type Rejection = GoogleCloudEventError;
async fn from_request(req: Request<Body>, state: &S) -> Result<Self, Self::Rejection> {
let event = Event::from_request(req, state)
.await
.map_err(|_| GoogleCloudEventError::InvalidData("Invalid CloudEvent".to_string()))?;
let typed_data = event
.data()
.map(|d| d.to_owned())
.ok_or_else(|| {
GoogleCloudEventError::DecodingError("Missing event data".to_string())
})
.and_then(|data| match data {
Data::Binary(bytes) => {
match T::decode(bytes.as_slice()) {
Ok(decoded) => Ok(decoded),
Err(_) => {
serde_json::from_slice(bytes.as_slice())
.map_err(|e| {
GoogleCloudEventError::DecodingError(format!(
"Failed to decode as protobuf or JSON: {}",
e
))
})
}
}
}
Data::Json(value) => {
serde_json::from_value(value).map_err(|e| {
GoogleCloudEventError::DecodingError(format!("Failed to decode JSON: {}", e))
})
}
Data::String(s) => {
Err(GoogleCloudEventError::DecodingError(format!(
"Unexpected string data: {}",
s
)))
}
})?;
Ok(Self { event, data: typed_data })
}
}
#[derive(Debug)]
#[cfg(feature = "axum")]
pub enum GoogleCloudEventError {
InvalidData(String),
DecodingError(String),
}
#[cfg(feature = "axum")]
impl IntoResponse for GoogleCloudEventError {
fn into_response(self) -> Response {
let (status, message) = match self {
GoogleCloudEventError::InvalidData(msg) => (StatusCode::BAD_REQUEST, msg),
GoogleCloudEventError::DecodingError(msg) => (StatusCode::UNPROCESSABLE_ENTITY, msg),
};
(status, message).into_response()
}
}