sentry_protos 0.11.0

Rust bindings for sentry-protos
Documentation
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LineItemConfig {
    /// Base price for the line item (upgraded reserved volumes or add-on activation fees)
    #[prost(uint64, tag = "1")]
    pub base_price_cents: u64,
    #[prost(message, optional, tag = "3")]
    pub payg_rate: ::core::option::Option<
        super::super::super::common::v1::TieredPricingRate,
    >,
    /// for reserved budget line items
    #[prost(message, optional, tag = "4")]
    pub reserved_rate: ::core::option::Option<
        super::super::super::common::v1::TieredPricingRate,
    >,
    #[prost(message, optional, tag = "7")]
    pub line_item: ::core::option::Option<
        super::super::super::common::v1::LineItemDetails,
    >,
    /// how many of this lineitem are included in the package, the customer can reserve more on their contract
    #[prost(oneof = "line_item_config::IncludedReservedUnits", tags = "5, 6")]
    pub included_reserved_units: ::core::option::Option<
        line_item_config::IncludedReservedUnits,
    >,
}
/// Nested message and enum types in `LineItemConfig`.
pub mod line_item_config {
    /// how many of this lineitem are included in the package, the customer can reserve more on their contract
    #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)]
    pub enum IncludedReservedUnits {
        #[prost(bool, tag = "5")]
        IsUnlimited(bool),
        /// the type communicates whether the line item is unlimited or not, additionally reserved budget line items have a non-zero reserved_rate in addition to 0 reserved_units
        #[prost(uint64, tag = "6")]
        NumReservedUnits(u64),
    }
}
/// Represents a budget included in a package that is collectively used by one or more line items,
/// allowing multiple line items to draw from the same reserved budget.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SharedLineItemPool {
    /// how much money this shared pool has. For example, if logs costs $1.00 per GB and metrics
    /// costs $1.00 per GB and we wanted to give metrics and logs a shared 5GB pool, the reserved_pool_cents
    /// would be 500 ($5)
    #[prost(uint64, tag = "1")]
    pub reserved_pool_cents: u64,
    #[prost(message, repeated, tag = "3")]
    pub line_items: ::prost::alloc::vec::Vec<
        super::super::super::common::v1::LineItemDetails,
    >,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PackageConfig {
    #[prost(string, tag = "1")]
    pub uid: ::prost::alloc::string::String,
    #[prost(message, repeated, tag = "2")]
    pub line_item_configs: ::prost::alloc::vec::Vec<LineItemConfig>,
    #[prost(message, repeated, tag = "3")]
    pub shared_line_item_pools: ::prost::alloc::vec::Vec<SharedLineItemPool>,
    /// Base price for the package.
    #[prost(uint64, tag = "4")]
    pub base_price_cents: u64,
    /// Billing interval for this package.
    #[prost(enumeration = "super::super::super::common::v1::BillingInterval", tag = "5")]
    pub billing_interval: i32,
    #[prost(string, tag = "6")]
    pub title: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GetPackageRequest {
    #[prost(string, tag = "1")]
    pub package_uid: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GetPackageResponse {
    #[prost(message, optional, tag = "1")]
    pub package_config: ::core::option::Option<PackageConfig>,
}