#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DataCategory {
Unspecified = 0,
Error = 1,
Transaction = 2,
Attachment = 3,
Profile = 4,
Replay = 5,
Monitor = 6,
Span = 7,
UserReportV2 = 8,
ProfileDuration = 9,
LogByte = 10,
ProfileDurationUi = 11,
SeerAutofix = 12,
SeerScanner = 13,
SizeAnalysis = 14,
InstallableBuild = 15,
TraceMetric = 16,
Default = 17,
Security = 18,
ProfileChunk = 19,
ProfileChunkUi = 20,
SpanIndexed = 21,
TransactionProcessed = 22,
TransactionIndexed = 23,
ProfileIndexed = 24,
MetricBucket = 25,
AttachmentItem = 26,
LogItem = 27,
ProfileBackend = 30,
ProfileUi = 31,
TraceMetricByte = 32,
Unknown = -1,
}
impl DataCategory {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DATA_CATEGORY_UNSPECIFIED",
Self::Error => "DATA_CATEGORY_ERROR",
Self::Transaction => "DATA_CATEGORY_TRANSACTION",
Self::Attachment => "DATA_CATEGORY_ATTACHMENT",
Self::Profile => "DATA_CATEGORY_PROFILE",
Self::Replay => "DATA_CATEGORY_REPLAY",
Self::Monitor => "DATA_CATEGORY_MONITOR",
Self::Span => "DATA_CATEGORY_SPAN",
Self::UserReportV2 => "DATA_CATEGORY_USER_REPORT_V2",
Self::ProfileDuration => "DATA_CATEGORY_PROFILE_DURATION",
Self::LogByte => "DATA_CATEGORY_LOG_BYTE",
Self::ProfileDurationUi => "DATA_CATEGORY_PROFILE_DURATION_UI",
Self::SeerAutofix => "DATA_CATEGORY_SEER_AUTOFIX",
Self::SeerScanner => "DATA_CATEGORY_SEER_SCANNER",
Self::SizeAnalysis => "DATA_CATEGORY_SIZE_ANALYSIS",
Self::InstallableBuild => "DATA_CATEGORY_INSTALLABLE_BUILD",
Self::TraceMetric => "DATA_CATEGORY_TRACE_METRIC",
Self::Default => "DATA_CATEGORY_DEFAULT",
Self::Security => "DATA_CATEGORY_SECURITY",
Self::ProfileChunk => "DATA_CATEGORY_PROFILE_CHUNK",
Self::ProfileChunkUi => "DATA_CATEGORY_PROFILE_CHUNK_UI",
Self::SpanIndexed => "DATA_CATEGORY_SPAN_INDEXED",
Self::TransactionProcessed => "DATA_CATEGORY_TRANSACTION_PROCESSED",
Self::TransactionIndexed => "DATA_CATEGORY_TRANSACTION_INDEXED",
Self::ProfileIndexed => "DATA_CATEGORY_PROFILE_INDEXED",
Self::MetricBucket => "DATA_CATEGORY_METRIC_BUCKET",
Self::AttachmentItem => "DATA_CATEGORY_ATTACHMENT_ITEM",
Self::LogItem => "DATA_CATEGORY_LOG_ITEM",
Self::ProfileBackend => "DATA_CATEGORY_PROFILE_BACKEND",
Self::ProfileUi => "DATA_CATEGORY_PROFILE_UI",
Self::TraceMetricByte => "DATA_CATEGORY_TRACE_METRIC_BYTE",
Self::Unknown => "DATA_CATEGORY_UNKNOWN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DATA_CATEGORY_UNSPECIFIED" => Some(Self::Unspecified),
"DATA_CATEGORY_ERROR" => Some(Self::Error),
"DATA_CATEGORY_TRANSACTION" => Some(Self::Transaction),
"DATA_CATEGORY_ATTACHMENT" => Some(Self::Attachment),
"DATA_CATEGORY_PROFILE" => Some(Self::Profile),
"DATA_CATEGORY_REPLAY" => Some(Self::Replay),
"DATA_CATEGORY_MONITOR" => Some(Self::Monitor),
"DATA_CATEGORY_SPAN" => Some(Self::Span),
"DATA_CATEGORY_USER_REPORT_V2" => Some(Self::UserReportV2),
"DATA_CATEGORY_PROFILE_DURATION" => Some(Self::ProfileDuration),
"DATA_CATEGORY_LOG_BYTE" => Some(Self::LogByte),
"DATA_CATEGORY_PROFILE_DURATION_UI" => Some(Self::ProfileDurationUi),
"DATA_CATEGORY_SEER_AUTOFIX" => Some(Self::SeerAutofix),
"DATA_CATEGORY_SEER_SCANNER" => Some(Self::SeerScanner),
"DATA_CATEGORY_SIZE_ANALYSIS" => Some(Self::SizeAnalysis),
"DATA_CATEGORY_INSTALLABLE_BUILD" => Some(Self::InstallableBuild),
"DATA_CATEGORY_TRACE_METRIC" => Some(Self::TraceMetric),
"DATA_CATEGORY_DEFAULT" => Some(Self::Default),
"DATA_CATEGORY_SECURITY" => Some(Self::Security),
"DATA_CATEGORY_PROFILE_CHUNK" => Some(Self::ProfileChunk),
"DATA_CATEGORY_PROFILE_CHUNK_UI" => Some(Self::ProfileChunkUi),
"DATA_CATEGORY_SPAN_INDEXED" => Some(Self::SpanIndexed),
"DATA_CATEGORY_TRANSACTION_PROCESSED" => Some(Self::TransactionProcessed),
"DATA_CATEGORY_TRANSACTION_INDEXED" => Some(Self::TransactionIndexed),
"DATA_CATEGORY_PROFILE_INDEXED" => Some(Self::ProfileIndexed),
"DATA_CATEGORY_METRIC_BUCKET" => Some(Self::MetricBucket),
"DATA_CATEGORY_ATTACHMENT_ITEM" => Some(Self::AttachmentItem),
"DATA_CATEGORY_LOG_ITEM" => Some(Self::LogItem),
"DATA_CATEGORY_PROFILE_BACKEND" => Some(Self::ProfileBackend),
"DATA_CATEGORY_PROFILE_UI" => Some(Self::ProfileUi),
"DATA_CATEGORY_TRACE_METRIC_BYTE" => Some(Self::TraceMetricByte),
"DATA_CATEGORY_UNKNOWN" => Some(Self::Unknown),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SeatCategory {
Unspecified = 0,
Monitor = 1,
Uptime = 2,
SeerUser = 3,
}
impl SeatCategory {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SEAT_CATEGORY_UNSPECIFIED",
Self::Monitor => "SEAT_CATEGORY_MONITOR",
Self::Uptime => "SEAT_CATEGORY_UPTIME",
Self::SeerUser => "SEAT_CATEGORY_SEER_USER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SEAT_CATEGORY_UNSPECIFIED" => Some(Self::Unspecified),
"SEAT_CATEGORY_MONITOR" => Some(Self::Monitor),
"SEAT_CATEGORY_UPTIME" => Some(Self::Uptime),
"SEAT_CATEGORY_SEER_USER" => Some(Self::SeerUser),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Date {
#[prost(uint32, tag = "1")]
pub year: u32,
#[prost(uint32, tag = "2")]
pub month: u32,
#[prost(uint32, tag = "3")]
pub day: u32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum Sku {
Unspecified = 0,
Errors = 1,
Spans = 2,
Replays = 3,
PerformanceUnits = 4,
Cron = 5,
Uptime = 6,
Attachments = 7,
Profiling = 8,
ProfilingUi = 9,
Logs = 10,
Seer = 11,
SizeAnalysis = 12,
BuildDistribution = 13,
Autofix = 14,
Scanner = 15,
}
impl Sku {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SKU_UNSPECIFIED",
Self::Errors => "SKU_ERRORS",
Self::Spans => "SKU_SPANS",
Self::Replays => "SKU_REPLAYS",
Self::PerformanceUnits => "SKU_PERFORMANCE_UNITS",
Self::Cron => "SKU_CRON",
Self::Uptime => "SKU_UPTIME",
Self::Attachments => "SKU_ATTACHMENTS",
Self::Profiling => "SKU_PROFILING",
Self::ProfilingUi => "SKU_PROFILING_UI",
Self::Logs => "SKU_LOGS",
Self::Seer => "SKU_SEER",
Self::SizeAnalysis => "SKU_SIZE_ANALYSIS",
Self::BuildDistribution => "SKU_BUILD_DISTRIBUTION",
Self::Autofix => "SKU_AUTOFIX",
Self::Scanner => "SKU_SCANNER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SKU_UNSPECIFIED" => Some(Self::Unspecified),
"SKU_ERRORS" => Some(Self::Errors),
"SKU_SPANS" => Some(Self::Spans),
"SKU_REPLAYS" => Some(Self::Replays),
"SKU_PERFORMANCE_UNITS" => Some(Self::PerformanceUnits),
"SKU_CRON" => Some(Self::Cron),
"SKU_UPTIME" => Some(Self::Uptime),
"SKU_ATTACHMENTS" => Some(Self::Attachments),
"SKU_PROFILING" => Some(Self::Profiling),
"SKU_PROFILING_UI" => Some(Self::ProfilingUi),
"SKU_LOGS" => Some(Self::Logs),
"SKU_SEER" => Some(Self::Seer),
"SKU_SIZE_ANALYSIS" => Some(Self::SizeAnalysis),
"SKU_BUILD_DISTRIBUTION" => Some(Self::BuildDistribution),
"SKU_AUTOFIX" => Some(Self::Autofix),
"SKU_SCANNER" => Some(Self::Scanner),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Credit {
#[prost(enumeration = "CreditType", tag = "1")]
pub r#type: i32,
#[prost(enumeration = "Sku", tag = "2")]
pub sku: i32,
#[prost(int64, tag = "3")]
pub amount: i64,
#[prost(message, optional, tag = "4")]
pub start_date: ::core::option::Option<Date>,
#[prost(message, optional, tag = "5")]
pub end_date: ::core::option::Option<Date>,
#[prost(enumeration = "CreditStatus", tag = "6")]
pub status: i32,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CreditType {
Unspecified = 0,
Cents = 1,
Units = 2,
}
impl CreditType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CREDIT_TYPE_UNSPECIFIED",
Self::Cents => "CREDIT_TYPE_CENTS",
Self::Units => "CREDIT_TYPE_UNITS",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CREDIT_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"CREDIT_TYPE_CENTS" => Some(Self::Cents),
"CREDIT_TYPE_UNITS" => Some(Self::Units),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CreditStatus {
Unspecified = 0,
Active = 1,
Inactive = 2,
}
impl CreditStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CREDIT_STATUS_UNSPECIFIED",
Self::Active => "CREDIT_STATUS_ACTIVE",
Self::Inactive => "CREDIT_STATUS_INACTIVE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CREDIT_STATUS_UNSPECIFIED" => Some(Self::Unspecified),
"CREDIT_STATUS_ACTIVE" => Some(Self::Active),
"CREDIT_STATUS_INACTIVE" => Some(Self::Inactive),
_ => None,
}
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct FeatureOption {
#[prost(string, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub enabled: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FeatureOptions {
#[prost(message, repeated, tag = "1")]
pub options: ::prost::alloc::vec::Vec<FeatureOption>,
#[prost(message, optional, tag = "2")]
pub start_date: ::core::option::Option<Date>,
#[prost(message, optional, tag = "3")]
pub end_date: ::core::option::Option<Date>,
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct QuotaConfig {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(enumeration = "DataCategory", repeated, tag = "2")]
pub categories: ::prost::alloc::vec::Vec<i32>,
#[prost(enumeration = "QuotaScope", tag = "3")]
pub scope: i32,
#[prost(string, optional, tag = "4")]
pub scope_id: ::core::option::Option<::prost::alloc::string::String>,
#[prost(uint64, optional, tag = "5")]
pub limit: ::core::option::Option<u64>,
#[prost(uint64, optional, tag = "6")]
pub window: ::core::option::Option<u64>,
#[prost(string, optional, tag = "7")]
pub reason_code: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuotaScope {
Unspecified = 0,
Organization = 1,
Project = 2,
Key = 3,
}
impl QuotaScope {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "QUOTA_SCOPE_UNSPECIFIED",
Self::Organization => "QUOTA_SCOPE_ORGANIZATION",
Self::Project => "QUOTA_SCOPE_PROJECT",
Self::Key => "QUOTA_SCOPE_KEY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"QUOTA_SCOPE_UNSPECIFIED" => Some(Self::Unspecified),
"QUOTA_SCOPE_ORGANIZATION" => Some(Self::Organization),
"QUOTA_SCOPE_PROJECT" => Some(Self::Project),
"QUOTA_SCOPE_KEY" => Some(Self::Key),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct UsageData {
#[prost(uint64, tag = "1")]
pub total: u64,
#[prost(uint64, tag = "2")]
pub accepted: u64,
#[prost(uint64, tag = "3")]
pub dropped: u64,
#[prost(uint64, tag = "4")]
pub filtered: u64,
#[prost(uint64, tag = "5")]
pub over_quota: u64,
#[prost(uint64, tag = "6")]
pub spike_protection: u64,
#[prost(uint64, tag = "7")]
pub dynamic_sampling: u64,
}