google-cloudevents 0.2.0

Prost/Serde structs for Google CloudEvent types with axum integration
Documentation
// This file is @generated by prost-build.
/// Basic information of the Crashlytics issue
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsIssue {
    #[prost(string, tag = "1")]
    pub id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub title: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub subtitle: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub app_version: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsNewFatalIssuePayload {
    /// Basic information of the Crashlytics issue
    #[prost(message, optional, tag = "1")]
    pub issue: ::core::option::Option<CrashlyticsIssue>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsNewNonfatalIssuePayload {
    /// Basic information of the Crashlytics issue
    #[prost(message, optional, tag = "1")]
    pub issue: ::core::option::Option<CrashlyticsIssue>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsRegressionAlertPayload {
    /// The type of the Crashlytics issue, e.g. new fatal, new nonfatal, ANR
    #[prost(string, tag = "1")]
    pub r#type: ::prost::alloc::string::String,
    /// Basic information of the Crashlytics issue
    #[prost(message, optional, tag = "2")]
    pub issue: ::core::option::Option<CrashlyticsIssue>,
    /// The time that the Crashlytics issues was most recently resolved before it
    /// began to reoccur
    #[prost(message, optional, tag = "3")]
    pub resolve_time: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsVelocityAlertPayload {
    /// Basic information of the Crashlytics issue
    #[prost(message, optional, tag = "1")]
    pub issue: ::core::option::Option<CrashlyticsIssue>,
    /// The time that the Crashlytics issue gets created
    #[prost(message, optional, tag = "2")]
    pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
    /// The number of user sessions for the given app version that had this
    /// specific crash issue in the time period used to trigger the velocity alert,
    /// which is currently 1h
    #[prost(int64, tag = "3")]
    pub crash_count: i64,
    /// The percentage of user sessions for the given app version that had this
    /// specific crash issue in the time period used to trigger the velocity alert,
    /// which is currently 1h
    #[prost(double, tag = "4")]
    pub crash_percentage: f64,
    /// The first app version where this issue was seen, and not necessarily the
    /// version that has triggered the alert
    #[prost(string, tag = "5")]
    pub first_version: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsStabilityDigestPayload {
    /// The date that the digest gets created, issues in the digest should
    /// have the same date as the digest date
    #[prost(message, optional, tag = "5")]
    pub digest_date: ::core::option::Option<super::super::super::super::r#type::Date>,
    /// A stability digest contains several trending Crashlytics issues
    #[prost(message, repeated, tag = "6")]
    pub trending_issues: ::prost::alloc::vec::Vec<
        crashlytics_stability_digest_payload::TrendingIssueDetails,
    >,
}
/// Nested message and enum types in `CrashlyticsStabilityDigestPayload`.
pub mod crashlytics_stability_digest_payload {
    #[derive(serde::Serialize, serde::Deserialize)]
    #[serde(default)]
    #[serde(rename_all = "snake_case")]
    #[derive(Clone, PartialEq, ::prost::Message)]
    pub struct TrendingIssueDetails {
        /// The type of the Crashlytics issue, e.g. new fatal, new nonfatal, ANR
        #[prost(string, tag = "1")]
        pub r#type: ::prost::alloc::string::String,
        /// Basic information of the Crashlytics issue
        #[prost(message, optional, tag = "2")]
        pub issue: ::core::option::Option<super::CrashlyticsIssue>,
        /// The number of crashes that occurred with the issue
        #[prost(int64, tag = "3")]
        pub event_count: i64,
        /// The number of distinct users that were affected by the issue
        #[prost(int64, tag = "4")]
        pub user_count: i64,
    }
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsNewAnrIssuePayload {
    #[prost(message, optional, tag = "1")]
    pub issue: ::core::option::Option<CrashlyticsIssue>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrashlyticsMissingSymbolsPayload {
    #[prost(string, tag = "1")]
    pub app_version: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub uuid: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FireperfThresholdAlertPayload {
    /// Name of the trace or network request this alert is for (e.g.
    /// my_custom_trace, firebase.com/api/123)
    #[prost(string, tag = "1")]
    pub event_name: ::prost::alloc::string::String,
    /// The resource type this alert is for (i.e. trace, network request, screen
    /// rendering, etc.)
    #[prost(string, tag = "2")]
    pub event_type: ::prost::alloc::string::String,
    /// The metric type this alert is for (i.e. success rate, response time,
    /// duration, etc.)
    #[prost(string, tag = "3")]
    pub metric_type: ::prost::alloc::string::String,
    /// The number of events checked for this alert condition
    #[prost(int64, tag = "4")]
    pub num_samples: i64,
    /// The threshold value of the alert condition without units (e.g. "75", "2.1")
    #[prost(float, tag = "5")]
    pub threshold_value: f32,
    /// The unit for the alert threshold (e.g. "percent", "seconds")
    #[prost(string, tag = "6")]
    pub threshold_unit: ::prost::alloc::string::String,
    /// The percentile of the alert condition, can be 0 if percentile is not
    /// applicable to the alert condition; range: \[0, 100\]
    #[prost(int32, tag = "7")]
    pub condition_percentile: i32,
    /// The app version this alert was triggered for, can be empty if the alert is
    /// for a network request (because the alert was checked against data from all
    /// versions of app) or a web app (where the app is versionless)
    #[prost(string, tag = "8")]
    pub app_version: ::prost::alloc::string::String,
    /// The value that violated the alert condition (e.g. "76.5", "3")
    #[prost(float, tag = "9")]
    pub violation_value: f32,
    /// The unit for the violation value (e.g. "percent", "seconds")
    #[prost(string, tag = "10")]
    pub violation_unit: ::prost::alloc::string::String,
    /// The link to Fireconsole to investigate more into this alert
    #[prost(string, tag = "11")]
    pub investigate_uri: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AppDistroNewTesterIosDevicePayload {
    #[prost(string, tag = "1")]
    pub tester_name: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub tester_email: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub tester_device_model_name: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub tester_device_identifier: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AppDistroInAppFeedbackPayload {
    /// Resource name. Format:
    /// projects/{project_number}/apps/{app_id}/releases/{release_id}/feedbackReports/{feedback_id}
    #[prost(string, tag = "1")]
    pub feedback_report: ::prost::alloc::string::String,
    /// Deep link back to the Firebase console.
    #[prost(string, tag = "8")]
    pub feedback_console_uri: ::prost::alloc::string::String,
    /// Name of the tester.
    #[prost(string, tag = "2")]
    pub tester_name: ::prost::alloc::string::String,
    /// Email address of the tester.
    #[prost(string, tag = "3")]
    pub tester_email: ::prost::alloc::string::String,
    /// Version consisting of `versionName` and `versionCode` for Android and
    /// `CFBundleShortVersionString` and `CFBundleVersion` for iOS.
    #[prost(string, tag = "9")]
    pub app_version: ::prost::alloc::string::String,
    /// Text entered by the tester.
    #[prost(string, tag = "6")]
    pub text: ::prost::alloc::string::String,
    /// URI to download screenshot.  This URI is fast expiring.
    #[prost(string, tag = "7")]
    pub screenshot_uri: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BillingPlanUpdatePayload {
    /// A Firebase plan
    #[prost(string, tag = "1")]
    pub billing_plan: ::prost::alloc::string::String,
    /// The email address of the person that triggered billing plan change
    #[prost(string, tag = "2")]
    pub principal_email: ::prost::alloc::string::String,
    /// The type of the notification, e.g. upgrade, downgrade
    #[prost(string, tag = "3")]
    pub notification_type: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BillingPlanAutomatedUpdatePayload {
    /// A Firebase plan
    #[prost(string, tag = "1")]
    pub billing_plan: ::prost::alloc::string::String,
    /// The type of the notification, e.g. upgrade, downgrade
    #[prost(string, tag = "2")]
    pub notification_type: ::prost::alloc::string::String,
}
/// The data within all Firebase Alerts.
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlertData {
    /// Time that the event has created
    #[prost(message, optional, tag = "1")]
    pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
    /// Time that the event has ended. Optional, only present for alertsthat are
    /// ongoing
    #[prost(message, optional, tag = "2")]
    pub end_time: ::core::option::Option<::pbjson_types::Timestamp>,
    /// Payload of the event, which includes the details of the specific alert.
    /// It's a map of keys of String type and values of various types
    #[prost(message, optional, tag = "3")]
    pub payload: ::core::option::Option<::pbjson_types::Struct>,
}
/// The CloudEvent raised when a alert has been published by Firebase Alerts.
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AlertPublishedEvent {
    /// The data associated with the event.
    #[prost(message, optional, tag = "1")]
    pub data: ::core::option::Option<AlertData>,
}