#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimeSeriesReference {
#[prost(string, tag = "1")]
pub variable_name: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ComputeDuration {
#[prost(int64, tag = "1")]
pub seconds: i64,
#[prost(int64, tag = "2")]
pub nanos: i64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ComputeTimestamp {
#[prost(int64, tag = "1")]
pub seconds: i64,
#[prost(int64, tag = "2")]
pub nanos: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DoubleConstant {
#[prost(oneof = "double_constant::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<double_constant::Kind>,
}
pub mod double_constant {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(double, tag = "1")]
Literal(f64),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
#[prost(message, tag = "3")]
Builtin(super::BuiltinConstant),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntegerConstant {
#[prost(oneof = "integer_constant::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<integer_constant::Kind>,
}
pub mod integer_constant {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(int32, tag = "1")]
Literal(i32),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringConstant {
#[prost(oneof = "string_constant::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<string_constant::Kind>,
}
pub mod string_constant {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Literal(::prost::alloc::string::String),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DurationConstant {
#[prost(oneof = "duration_constant::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<duration_constant::Kind>,
}
pub mod duration_constant {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Literal(super::ComputeDuration),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimestampConstant {
#[prost(oneof = "timestamp_constant::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<timestamp_constant::Kind>,
}
pub mod timestamp_constant {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Literal(super::ComputeTimestamp),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringSetConstant {
#[prost(oneof = "string_set_constant::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<string_set_constant::Kind>,
}
pub mod string_set_constant {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Literal(super::StringSetLiteral),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StringSetLiteral {
#[prost(string, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterizedStringSet {
#[prost(oneof = "parameterized_string_set::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<parameterized_string_set::Kind>,
}
pub mod parameterized_string_set {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Literal(super::ParameterizedStringSetLiteral),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterizedStringSetLiteral {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BuiltinConstant {
#[prost(oneof = "builtin_constant::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<builtin_constant::Kind>,
}
pub mod builtin_constant {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(enumeration = "super::MathConstant", tag = "1")]
Math(i32),
#[prost(enumeration = "super::PhysicalConstant", tag = "2")]
Physical(i32),
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MathConstant {
Unspecified = 0,
Pi = 1,
Tau = 2,
E = 3,
}
impl MathConstant {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MATH_CONSTANT_UNSPECIFIED",
Self::Pi => "MATH_CONSTANT_PI",
Self::Tau => "MATH_CONSTANT_TAU",
Self::E => "MATH_CONSTANT_E",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MATH_CONSTANT_UNSPECIFIED" => Some(Self::Unspecified),
"MATH_CONSTANT_PI" => Some(Self::Pi),
"MATH_CONSTANT_TAU" => Some(Self::Tau),
"MATH_CONSTANT_E" => Some(Self::E),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PhysicalConstant {
Unspecified = 0,
SpeedOfLight = 1,
Avogadro = 2,
Boltzmann = 3,
Planck = 4,
ElementaryCharge = 5,
GasConstant = 6,
StandardGravity = 7,
StandardAtmosphere = 8,
AbsoluteZeroCelsius = 9,
GravitationalConstant = 10,
StefanBoltzmann = 11,
}
impl PhysicalConstant {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "PHYSICAL_CONSTANT_UNSPECIFIED",
Self::SpeedOfLight => "PHYSICAL_CONSTANT_SPEED_OF_LIGHT",
Self::Avogadro => "PHYSICAL_CONSTANT_AVOGADRO",
Self::Boltzmann => "PHYSICAL_CONSTANT_BOLTZMANN",
Self::Planck => "PHYSICAL_CONSTANT_PLANCK",
Self::ElementaryCharge => "PHYSICAL_CONSTANT_ELEMENTARY_CHARGE",
Self::GasConstant => "PHYSICAL_CONSTANT_GAS_CONSTANT",
Self::StandardGravity => "PHYSICAL_CONSTANT_STANDARD_GRAVITY",
Self::StandardAtmosphere => "PHYSICAL_CONSTANT_STANDARD_ATMOSPHERE",
Self::AbsoluteZeroCelsius => "PHYSICAL_CONSTANT_ABSOLUTE_ZERO_CELSIUS",
Self::GravitationalConstant => "PHYSICAL_CONSTANT_GRAVITATIONAL_CONSTANT",
Self::StefanBoltzmann => "PHYSICAL_CONSTANT_STEFAN_BOLTZMANN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"PHYSICAL_CONSTANT_UNSPECIFIED" => Some(Self::Unspecified),
"PHYSICAL_CONSTANT_SPEED_OF_LIGHT" => Some(Self::SpeedOfLight),
"PHYSICAL_CONSTANT_AVOGADRO" => Some(Self::Avogadro),
"PHYSICAL_CONSTANT_BOLTZMANN" => Some(Self::Boltzmann),
"PHYSICAL_CONSTANT_PLANCK" => Some(Self::Planck),
"PHYSICAL_CONSTANT_ELEMENTARY_CHARGE" => Some(Self::ElementaryCharge),
"PHYSICAL_CONSTANT_GAS_CONSTANT" => Some(Self::GasConstant),
"PHYSICAL_CONSTANT_STANDARD_GRAVITY" => Some(Self::StandardGravity),
"PHYSICAL_CONSTANT_STANDARD_ATMOSPHERE" => Some(Self::StandardAtmosphere),
"PHYSICAL_CONSTANT_ABSOLUTE_ZERO_CELSIUS" => Some(Self::AbsoluteZeroCelsius),
"PHYSICAL_CONSTANT_GRAVITATIONAL_CONSTANT" => {
Some(Self::GravitationalConstant)
}
"PHYSICAL_CONSTANT_STEFAN_BOLTZMANN" => Some(Self::StefanBoltzmann),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScalingFactor {
#[prost(message, optional, tag = "1")]
pub value: ::core::option::Option<DoubleConstant>,
#[prost(string, optional, tag = "2")]
pub unit: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResampleFill {
#[prost(oneof = "resample_fill::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<resample_fill::Kind>,
}
pub mod resample_fill {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
ForwardFill(super::ForwardFillResample),
#[prost(message, tag = "2")]
Constant(super::DoubleConstant),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ForwardFillResample {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalReduction {
#[prost(oneof = "categorical_reduction::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<categorical_reduction::Kind>,
}
pub mod categorical_reduction {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Min(super::CategoricalMinReduction),
#[prost(message, tag = "2")]
Max(super::CategoricalMaxReduction),
#[prost(message, tag = "3")]
Udf(super::super::super::modules::v1::UdfSource),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CategoricalMinReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CategoricalMaxReduction {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalResampleFill {
#[prost(oneof = "categorical_resample_fill::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<categorical_resample_fill::Kind>,
}
pub mod categorical_resample_fill {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
ForwardFill(super::ForwardFillResample),
#[prost(message, tag = "2")]
Constant(super::StringConstant),
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CategoricalMergeOperation {
Unspecified = 0,
RejectDuplicates = 1,
Max = 2,
Min = 3,
}
impl CategoricalMergeOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CATEGORICAL_MERGE_OPERATION_UNSPECIFIED",
Self::RejectDuplicates => "CATEGORICAL_MERGE_OPERATION_REJECT_DUPLICATES",
Self::Max => "CATEGORICAL_MERGE_OPERATION_MAX",
Self::Min => "CATEGORICAL_MERGE_OPERATION_MIN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CATEGORICAL_MERGE_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"CATEGORICAL_MERGE_OPERATION_REJECT_DUPLICATES" => {
Some(Self::RejectDuplicates)
}
"CATEGORICAL_MERGE_OPERATION_MAX" => Some(Self::Max),
"CATEGORICAL_MERGE_OPERATION_MIN" => Some(Self::Min),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetReference {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DurationExpression {
#[prost(oneof = "duration_expression::Kind", tags = "1, 2, 3, 4")]
pub kind: ::core::option::Option<duration_expression::Kind>,
}
pub mod duration_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
VariableName(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Amount(super::DurationAmount),
#[prost(message, tag = "3")]
Binary(::prost::alloc::boxed::Box<super::BinaryDurationExpression>),
#[prost(message, tag = "4")]
Negated(::prost::alloc::boxed::Box<super::DurationExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DurationAmount {
#[prost(message, optional, tag = "1")]
pub count: ::core::option::Option<IntegerConstant>,
#[prost(enumeration = "super::super::types::time::TimeUnit", tag = "2")]
pub unit: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BinaryDurationExpression {
#[prost(enumeration = "DurationOperation", tag = "1")]
pub operation: i32,
#[prost(message, optional, boxed, tag = "2")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<DurationExpression>>,
#[prost(message, optional, boxed, tag = "3")]
pub right: ::core::option::Option<::prost::alloc::boxed::Box<DurationExpression>>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DurationOperation {
Unspecified = 0,
Add = 1,
Subtract = 2,
}
impl DurationOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DURATION_OPERATION_UNSPECIFIED",
Self::Add => "DURATION_OPERATION_ADD",
Self::Subtract => "DURATION_OPERATION_SUBTRACT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DURATION_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"DURATION_OPERATION_ADD" => Some(Self::Add),
"DURATION_OPERATION_SUBTRACT" => Some(Self::Subtract),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TagPredicateExpression {
#[prost(oneof = "tag_predicate_expression::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<tag_predicate_expression::Kind>,
}
pub mod tag_predicate_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
In(super::TagMembershipExpression),
#[prost(message, tag = "2")]
NotIn(super::TagMembershipExpression),
#[prost(message, tag = "3")]
And(::prost::alloc::boxed::Box<super::TagConjunctionExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TagMembershipExpression {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "2")]
pub values: ::core::option::Option<ParameterizedStringSet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TagConjunctionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<TagPredicateExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub right: ::core::option::Option<
::prost::alloc::boxed::Box<TagPredicateExpression>,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TagKeySet {
#[prost(message, optional, tag = "1")]
pub keys: ::core::option::Option<ParameterizedStringSet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetReferenceExpression {
#[prost(oneof = "asset_reference_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<asset_reference_expression::Kind>,
}
pub mod asset_reference_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Literal(::prost::alloc::string::String),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunReferenceExpression {
#[prost(oneof = "run_reference_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<run_reference_expression::Kind>,
}
pub mod run_reference_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Literal(::prost::alloc::string::String),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataSourceReferenceExpression {
#[prost(oneof = "data_source_reference_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<data_source_reference_expression::Kind>,
}
pub mod data_source_reference_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Literal(::prost::alloc::string::String),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceTypeReferenceExpression {
#[prost(oneof = "resource_type_reference_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<resource_type_reference_expression::Kind>,
}
pub mod resource_type_reference_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Literal(::prost::alloc::string::String),
#[prost(string, tag = "2")]
VariableName(::prost::alloc::string::String),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChannelSelection {
#[prost(oneof = "channel_selection::Source", tags = "1, 2, 3")]
pub source: ::core::option::Option<channel_selection::Source>,
}
pub mod channel_selection {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Source {
#[prost(message, tag = "1")]
DataSource(super::DataSourceChannelSelection),
#[prost(message, tag = "2")]
Asset(super::AssetChannelSelection),
#[prost(message, tag = "3")]
Run(super::RunChannelSelection),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataSourceChannelSelection {
#[prost(message, optional, tag = "1")]
pub data_source: ::core::option::Option<DataSourceReferenceExpression>,
#[prost(message, optional, tag = "2")]
pub channel: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "3")]
pub tags: ::core::option::Option<ChannelTagConstraints>,
#[prost(message, optional, tag = "4")]
pub grouping_keys: ::core::option::Option<TagKeySet>,
#[prost(enumeration = "SeriesStorageEngine", optional, tag = "5")]
pub storage: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AssetChannelSelection {
#[prost(message, optional, tag = "1")]
pub asset: ::core::option::Option<AssetReferenceExpression>,
#[prost(message, optional, tag = "2")]
pub data_scope: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "3")]
pub channel: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "4")]
pub tags: ::core::option::Option<ChannelTagConstraints>,
#[prost(message, optional, tag = "5")]
pub grouping_keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunChannelSelection {
#[prost(message, optional, tag = "1")]
pub run: ::core::option::Option<RunReferenceExpression>,
#[prost(message, optional, tag = "2")]
pub asset: ::core::option::Option<AssetReferenceExpression>,
#[prost(message, optional, tag = "3")]
pub data_scope: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "4")]
pub channel: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "5")]
pub tags: ::core::option::Option<ChannelTagConstraints>,
#[prost(message, optional, tag = "6")]
pub grouping_keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChannelTagConstraints {
#[prost(oneof = "channel_tag_constraints::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<channel_tag_constraints::Kind>,
}
pub mod channel_tag_constraints {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
ExactValues(super::ExactTagValues),
#[prost(message, tag = "2")]
Predicate(super::TagPredicateExpression),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExactTagValues {
#[prost(map = "string, message", tag = "1")]
pub values: ::std::collections::HashMap<
::prost::alloc::string::String,
StringConstant,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesSampling {
#[prost(oneof = "series_sampling::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<series_sampling::Kind>,
}
pub mod series_sampling {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
EveryNthPerSeries(super::IntegerConstant),
#[prost(message, tag = "2")]
HashSubsample(super::IntegerConstant),
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SeriesStorageEngine {
Unspecified = 0,
Iceberg = 1,
Clickhouse = 2,
}
impl SeriesStorageEngine {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SERIES_STORAGE_ENGINE_UNSPECIFIED",
Self::Iceberg => "SERIES_STORAGE_ENGINE_ICEBERG",
Self::Clickhouse => "SERIES_STORAGE_ENGINE_CLICKHOUSE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SERIES_STORAGE_ENGINE_UNSPECIFIED" => Some(Self::Unspecified),
"SERIES_STORAGE_ENGINE_ICEBERG" => Some(Self::Iceberg),
"SERIES_STORAGE_ENGINE_CLICKHOUSE" => Some(Self::Clickhouse),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventPredicateExpression {
#[prost(
oneof = "event_predicate_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24"
)]
pub kind: ::core::option::Option<event_predicate_expression::Kind>,
}
pub mod event_predicate_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
SearchText(super::StringConstant),
#[prost(message, tag = "2")]
After(super::TimestampConstant),
#[prost(message, tag = "3")]
Before(super::TimestampConstant),
#[prost(message, tag = "4")]
TimestampCondition(super::EventTimestampCondition),
#[prost(message, tag = "5")]
Asset(super::AssetReferenceExpression),
#[prost(message, tag = "6")]
TemplateRid(super::StringConstant),
#[prost(message, tag = "7")]
WorkbookRid(super::StringConstant),
#[prost(message, tag = "8")]
DataReviewRid(super::StringConstant),
#[prost(
enumeration = "super::super::super::event::v2::SearchEventOriginType",
tag = "9"
)]
OriginType(i32),
#[prost(message, tag = "10")]
DataReviewCheckRid(super::StringConstant),
#[prost(
enumeration = "super::super::super::event::v2::EventDispositionStatus",
tag = "11"
)]
Disposition(i32),
#[prost(message, tag = "12")]
Priority(super::StringConstant),
#[prost(message, tag = "13")]
AssigneeRid(super::StringConstant),
#[prost(enumeration = "super::super::super::event::v2::EventType", tag = "14")]
EventType(i32),
#[prost(message, tag = "15")]
CreatedByRid(super::StringConstant),
#[prost(message, tag = "16")]
Label(super::StringConstant),
#[prost(message, tag = "17")]
Property(super::EventPropertyPredicate),
#[prost(message, tag = "18")]
All(super::EventPredicateGroup),
#[prost(message, tag = "19")]
Any(super::EventPredicateGroup),
#[prost(message, tag = "20")]
Negation(::prost::alloc::boxed::Box<super::EventPredicateExpression>),
#[prost(message, tag = "21")]
WorkspaceRid(super::StringConstant),
#[prost(message, tag = "22")]
ProcedureRid(super::StringConstant),
#[prost(message, tag = "23")]
ProcedureExecutionRid(super::StringConstant),
#[prost(message, tag = "24")]
StepId(super::StringConstant),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventTimestampCondition {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<TimestampConstant>,
#[prost(
enumeration = "super::super::event::v2::EventTimeFilterCondition",
tag = "2"
)]
pub condition: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventPropertyPredicate {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventPredicateGroup {
#[prost(message, repeated, tag = "1")]
pub predicates: ::prost::alloc::vec::Vec<EventPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogPredicate {
#[prost(oneof = "log_predicate::Kind", tags = "1, 2, 3, 4, 5, 6")]
pub kind: ::core::option::Option<log_predicate::Kind>,
}
pub mod log_predicate {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
MessageRegex(::prost::alloc::string::String),
#[prost(string, tag = "2")]
MessageContainsCaseInsensitive(::prost::alloc::string::String),
#[prost(message, tag = "3")]
AttributeRegex(super::LogAttributeRegex),
#[prost(message, tag = "4")]
All(super::LogPredicateGroup),
#[prost(message, tag = "5")]
Any(super::LogPredicateGroup),
#[prost(message, tag = "6")]
Negation(::prost::alloc::boxed::Box<super::LogPredicate>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogAttributeRegex {
#[prost(message, optional, tag = "1")]
pub key: ::core::option::Option<StringConstant>,
#[prost(string, tag = "2")]
pub regex: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogPredicateGroup {
#[prost(message, repeated, tag = "1")]
pub predicates: ::prost::alloc::vec::Vec<LogPredicate>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericReduction {
#[prost(oneof = "numeric_reduction::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9")]
pub kind: ::core::option::Option<numeric_reduction::Kind>,
}
pub mod numeric_reduction {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Sum(super::SumReduction),
#[prost(message, tag = "2")]
Average(super::AverageReduction),
#[prost(message, tag = "3")]
Min(super::MinReduction),
#[prost(message, tag = "4")]
Max(super::MaxReduction),
#[prost(message, tag = "5")]
Count(super::CountReduction),
#[prost(message, tag = "6")]
StandardDeviation(super::StandardDeviationReduction),
#[prost(message, tag = "7")]
RootMeanSquare(super::RootMeanSquareReduction),
#[prost(message, tag = "8")]
Percentile(super::DoubleConstant),
#[prost(message, tag = "9")]
Udf(super::super::super::modules::v1::UdfSource),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SumReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AverageReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MinReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MaxReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CountReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StandardDeviationReduction {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RootMeanSquareReduction {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DurationInput {
#[prost(oneof = "duration_input::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<duration_input::Kind>,
}
pub mod duration_input {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Components(super::DurationConstant),
#[prost(message, tag = "2")]
Arithmetic(super::DurationExpression),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangePersistence {
#[prost(message, optional, tag = "1")]
pub min_points: ::core::option::Option<IntegerConstant>,
#[prost(message, optional, tag = "2")]
pub min_duration: ::core::option::Option<DurationInput>,
#[prost(enumeration = "RangeStartSelection", optional, tag = "3")]
pub start: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpreadThreshold {
#[prost(oneof = "spread_threshold::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<spread_threshold::Kind>,
}
pub mod spread_threshold {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Absolute(super::DoubleConstant),
#[prost(message, tag = "2")]
Percentage(super::DoubleConstant),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TagGrouping {
#[prost(map = "string, string", tag = "1")]
pub tags: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RangeStartSelection {
Unspecified = 0,
ConditionStart = 1,
PersistenceStart = 2,
}
impl RangeStartSelection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RANGE_START_SELECTION_UNSPECIFIED",
Self::ConditionStart => "RANGE_START_SELECTION_CONDITION_START",
Self::PersistenceStart => "RANGE_START_SELECTION_PERSISTENCE_START",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RANGE_START_SELECTION_UNSPECIFIED" => Some(Self::Unspecified),
"RANGE_START_SELECTION_CONDITION_START" => Some(Self::ConditionStart),
"RANGE_START_SELECTION_PERSISTENCE_START" => Some(Self::PersistenceStart),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum UnboundedDurationComparison {
Unspecified = 0,
Infinity = 1,
WindowBound = 2,
}
impl UnboundedDurationComparison {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "UNBOUNDED_DURATION_COMPARISON_UNSPECIFIED",
Self::Infinity => "UNBOUNDED_DURATION_COMPARISON_INFINITY",
Self::WindowBound => "UNBOUNDED_DURATION_COMPARISON_WINDOW_BOUND",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNBOUNDED_DURATION_COMPARISON_UNSPECIFIED" => Some(Self::Unspecified),
"UNBOUNDED_DURATION_COMPARISON_INFINITY" => Some(Self::Infinity),
"UNBOUNDED_DURATION_COMPARISON_WINDOW_BOUND" => Some(Self::WindowBound),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NumericBoundsCondition {
Unspecified = 0,
Outside = 1,
OutsideOrEqual = 2,
Inside = 3,
InsideOrEqual = 4,
}
impl NumericBoundsCondition {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "NUMERIC_BOUNDS_CONDITION_UNSPECIFIED",
Self::Outside => "NUMERIC_BOUNDS_CONDITION_OUTSIDE",
Self::OutsideOrEqual => "NUMERIC_BOUNDS_CONDITION_OUTSIDE_OR_EQUAL",
Self::Inside => "NUMERIC_BOUNDS_CONDITION_INSIDE",
Self::InsideOrEqual => "NUMERIC_BOUNDS_CONDITION_INSIDE_OR_EQUAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NUMERIC_BOUNDS_CONDITION_UNSPECIFIED" => Some(Self::Unspecified),
"NUMERIC_BOUNDS_CONDITION_OUTSIDE" => Some(Self::Outside),
"NUMERIC_BOUNDS_CONDITION_OUTSIDE_OR_EQUAL" => Some(Self::OutsideOrEqual),
"NUMERIC_BOUNDS_CONDITION_INSIDE" => Some(Self::Inside),
"NUMERIC_BOUNDS_CONDITION_INSIDE_OR_EQUAL" => Some(Self::InsideOrEqual),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SeriesEqualityMode {
Unspecified = 0,
AllEqual = 1,
NotAllEqual = 2,
}
impl SeriesEqualityMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SERIES_EQUALITY_MODE_UNSPECIFIED",
Self::AllEqual => "SERIES_EQUALITY_MODE_ALL_EQUAL",
Self::NotAllEqual => "SERIES_EQUALITY_MODE_NOT_ALL_EQUAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SERIES_EQUALITY_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"SERIES_EQUALITY_MODE_ALL_EQUAL" => Some(Self::AllEqual),
"SERIES_EQUALITY_MODE_NOT_ALL_EQUAL" => Some(Self::NotAllEqual),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum CategoricalMembershipOperation {
Unspecified = 0,
In = 1,
NotIn = 2,
MatchesAnyRegex = 3,
}
impl CategoricalMembershipOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CATEGORICAL_MEMBERSHIP_OPERATION_UNSPECIFIED",
Self::In => "CATEGORICAL_MEMBERSHIP_OPERATION_IN",
Self::NotIn => "CATEGORICAL_MEMBERSHIP_OPERATION_NOT_IN",
Self::MatchesAnyRegex => "CATEGORICAL_MEMBERSHIP_OPERATION_MATCHES_ANY_REGEX",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CATEGORICAL_MEMBERSHIP_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"CATEGORICAL_MEMBERSHIP_OPERATION_IN" => Some(Self::In),
"CATEGORICAL_MEMBERSHIP_OPERATION_NOT_IN" => Some(Self::NotIn),
"CATEGORICAL_MEMBERSHIP_OPERATION_MATCHES_ANY_REGEX" => {
Some(Self::MatchesAnyRegex)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ExtremaSelection {
Unspecified = 0,
Peaks = 1,
Troughs = 2,
Both = 3,
}
impl ExtremaSelection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "EXTREMA_SELECTION_UNSPECIFIED",
Self::Peaks => "EXTREMA_SELECTION_PEAKS",
Self::Troughs => "EXTREMA_SELECTION_TROUGHS",
Self::Both => "EXTREMA_SELECTION_BOTH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EXTREMA_SELECTION_UNSPECIFIED" => Some(Self::Unspecified),
"EXTREMA_SELECTION_PEAKS" => Some(Self::Peaks),
"EXTREMA_SELECTION_TROUGHS" => Some(Self::Troughs),
"EXTREMA_SELECTION_BOTH" => Some(Self::Both),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RangePaddingSides {
Unspecified = 0,
Start = 1,
End = 2,
Both = 3,
}
impl RangePaddingSides {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "RANGE_PADDING_SIDES_UNSPECIFIED",
Self::Start => "RANGE_PADDING_SIDES_START",
Self::End => "RANGE_PADDING_SIDES_END",
Self::Both => "RANGE_PADDING_SIDES_BOTH",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"RANGE_PADDING_SIDES_UNSPECIFIED" => Some(Self::Unspecified),
"RANGE_PADDING_SIDES_START" => Some(Self::Start),
"RANGE_PADDING_SIDES_END" => Some(Self::End),
"RANGE_PADDING_SIDES_BOTH" => Some(Self::Both),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RefpropSubstance {
Unspecified = 0,
Nitrogen = 1,
Oxygen = 2,
Helium = 3,
Hydrogen = 4,
Methane = 5,
Propane = 6,
Butane = 7,
Water = 8,
Xenon = 9,
Air = 10,
CarbonDioxide = 11,
Argon = 12,
CarbonMonoxide = 13,
JetA4658 = 14,
JetA3638 = 15,
}
impl RefpropSubstance {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "REFPROP_SUBSTANCE_UNSPECIFIED",
Self::Nitrogen => "REFPROP_SUBSTANCE_NITROGEN",
Self::Oxygen => "REFPROP_SUBSTANCE_OXYGEN",
Self::Helium => "REFPROP_SUBSTANCE_HELIUM",
Self::Hydrogen => "REFPROP_SUBSTANCE_HYDROGEN",
Self::Methane => "REFPROP_SUBSTANCE_METHANE",
Self::Propane => "REFPROP_SUBSTANCE_PROPANE",
Self::Butane => "REFPROP_SUBSTANCE_BUTANE",
Self::Water => "REFPROP_SUBSTANCE_WATER",
Self::Xenon => "REFPROP_SUBSTANCE_XENON",
Self::Air => "REFPROP_SUBSTANCE_AIR",
Self::CarbonDioxide => "REFPROP_SUBSTANCE_CARBON_DIOXIDE",
Self::Argon => "REFPROP_SUBSTANCE_ARGON",
Self::CarbonMonoxide => "REFPROP_SUBSTANCE_CARBON_MONOXIDE",
Self::JetA4658 => "REFPROP_SUBSTANCE_JET_A_4658",
Self::JetA3638 => "REFPROP_SUBSTANCE_JET_A_3638",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"REFPROP_SUBSTANCE_UNSPECIFIED" => Some(Self::Unspecified),
"REFPROP_SUBSTANCE_NITROGEN" => Some(Self::Nitrogen),
"REFPROP_SUBSTANCE_OXYGEN" => Some(Self::Oxygen),
"REFPROP_SUBSTANCE_HELIUM" => Some(Self::Helium),
"REFPROP_SUBSTANCE_HYDROGEN" => Some(Self::Hydrogen),
"REFPROP_SUBSTANCE_METHANE" => Some(Self::Methane),
"REFPROP_SUBSTANCE_PROPANE" => Some(Self::Propane),
"REFPROP_SUBSTANCE_BUTANE" => Some(Self::Butane),
"REFPROP_SUBSTANCE_WATER" => Some(Self::Water),
"REFPROP_SUBSTANCE_XENON" => Some(Self::Xenon),
"REFPROP_SUBSTANCE_AIR" => Some(Self::Air),
"REFPROP_SUBSTANCE_CARBON_DIOXIDE" => Some(Self::CarbonDioxide),
"REFPROP_SUBSTANCE_ARGON" => Some(Self::Argon),
"REFPROP_SUBSTANCE_CARBON_MONOXIDE" => Some(Self::CarbonMonoxide),
"REFPROP_SUBSTANCE_JET_A_4658" => Some(Self::JetA4658),
"REFPROP_SUBSTANCE_JET_A_3638" => Some(Self::JetA3638),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum RefpropProperty {
Unspecified = 0,
Temperature = 1,
Pressure = 2,
MassDensity = 3,
MassSpecificEnthalpy = 4,
MassSpecificInternalEnergy = 5,
MassSpecificEntropy = 6,
Viscosity = 7,
}
impl RefpropProperty {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "REFPROP_PROPERTY_UNSPECIFIED",
Self::Temperature => "REFPROP_PROPERTY_TEMPERATURE",
Self::Pressure => "REFPROP_PROPERTY_PRESSURE",
Self::MassDensity => "REFPROP_PROPERTY_MASS_DENSITY",
Self::MassSpecificEnthalpy => "REFPROP_PROPERTY_MASS_SPECIFIC_ENTHALPY",
Self::MassSpecificInternalEnergy => {
"REFPROP_PROPERTY_MASS_SPECIFIC_INTERNAL_ENERGY"
}
Self::MassSpecificEntropy => "REFPROP_PROPERTY_MASS_SPECIFIC_ENTROPY",
Self::Viscosity => "REFPROP_PROPERTY_VISCOSITY",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"REFPROP_PROPERTY_UNSPECIFIED" => Some(Self::Unspecified),
"REFPROP_PROPERTY_TEMPERATURE" => Some(Self::Temperature),
"REFPROP_PROPERTY_PRESSURE" => Some(Self::Pressure),
"REFPROP_PROPERTY_MASS_DENSITY" => Some(Self::MassDensity),
"REFPROP_PROPERTY_MASS_SPECIFIC_ENTHALPY" => Some(Self::MassSpecificEnthalpy),
"REFPROP_PROPERTY_MASS_SPECIFIC_INTERNAL_ENERGY" => {
Some(Self::MassSpecificInternalEnergy)
}
"REFPROP_PROPERTY_MASS_SPECIFIC_ENTROPY" => Some(Self::MassSpecificEntropy),
"REFPROP_PROPERTY_VISCOSITY" => Some(Self::Viscosity),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourcePredicate {
#[prost(oneof = "resource_predicate::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8")]
pub kind: ::core::option::Option<resource_predicate::Kind>,
}
pub mod resource_predicate {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Properties(super::super::super::types::PropertiesFilter),
#[prost(message, tag = "2")]
NumericProperty(super::super::super::types::NumericPropertyPredicate),
#[prost(message, tag = "3")]
NumericPropertyRange(super::super::super::types::NumericPropertyRangePredicate),
#[prost(message, tag = "4")]
Labels(super::super::super::types::LabelsFilter),
#[prost(message, tag = "5")]
Workspace(super::StringConstant),
#[prost(message, tag = "6")]
All(super::ResourcePredicateGroup),
#[prost(message, tag = "7")]
Any(super::ResourcePredicateGroup),
#[prost(message, tag = "8")]
Negation(::prost::alloc::boxed::Box<super::ResourcePredicate>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourcePredicateGroup {
#[prost(message, repeated, tag = "1")]
pub predicates: ::prost::alloc::vec::Vec<ResourcePredicate>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetResourceSearch {
#[prost(int32, optional, tag = "3")]
pub max_results: ::core::option::Option<i32>,
#[prost(oneof = "dataset_resource_search::Target", tags = "1, 2")]
pub target: ::core::option::Option<dataset_resource_search::Target>,
}
pub mod dataset_resource_search {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Target {
#[prost(message, tag = "1")]
Assets(super::ResourcePredicate),
#[prost(message, tag = "2")]
Runs(super::ResourcePredicate),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignalFilterConfiguration {
#[prost(oneof = "signal_filter_configuration::Kind", tags = "1, 2, 3, 4")]
pub kind: ::core::option::Option<signal_filter_configuration::Kind>,
}
pub mod signal_filter_configuration {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
LowPass(super::SingleCutoffFilter),
#[prost(message, tag = "2")]
HighPass(super::SingleCutoffFilter),
#[prost(message, tag = "3")]
BandPass(super::FrequencyBandFilter),
#[prost(message, tag = "4")]
BandStop(super::FrequencyBandFilter),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SingleCutoffFilter {
#[prost(message, optional, tag = "1")]
pub cutoff_frequency: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FrequencyBandFilter {
#[prost(message, optional, tag = "1")]
pub lower_frequency: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "2")]
pub upper_frequency: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericExpression {
#[prost(
oneof = "numeric_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 57, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56"
)]
pub kind: ::core::option::Option<numeric_expression::Kind>,
}
pub mod numeric_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Reference(super::TimeSeriesReference),
#[prost(message, tag = "2")]
Constant(super::DoubleConstant),
#[prost(message, tag = "3")]
Unary(::prost::alloc::boxed::Box<super::NumericUnaryExpression>),
#[prost(message, tag = "4")]
Binary(::prost::alloc::boxed::Box<super::NumericBinaryExpression>),
#[prost(message, tag = "5")]
Nary(super::NumericNaryExpression),
#[prost(message, tag = "6")]
Bitwise(::prost::alloc::boxed::Box<super::NumericBitwiseExpression>),
#[prost(message, tag = "7")]
Conditional(::prost::alloc::boxed::Box<super::NumericConditionalExpression>),
#[prost(message, tag = "8")]
CumulativeSum(::prost::alloc::boxed::Box<super::NumericCumulativeSumExpression>),
#[prost(message, tag = "9")]
Derivative(::prost::alloc::boxed::Box<super::NumericDerivativeExpression>),
#[prost(message, tag = "10")]
Integral(::prost::alloc::boxed::Box<super::NumericIntegralExpression>),
#[prost(message, tag = "11")]
TimeRangeFilter(
::prost::alloc::boxed::Box<super::NumericTimeRangeFilterExpression>,
),
#[prost(message, tag = "12")]
TimeShift(::prost::alloc::boxed::Box<super::NumericTimeShiftExpression>),
#[prost(message, tag = "13")]
ValueDifference(
::prost::alloc::boxed::Box<super::NumericValueDifferenceExpression>,
),
#[prost(message, tag = "14")]
PhaseUnwrap(::prost::alloc::boxed::Box<super::NumericPhaseUnwrapExpression>),
#[prost(message, tag = "15")]
PointLimit(::prost::alloc::boxed::Box<super::NumericPointLimitExpression>),
#[prost(message, tag = "16")]
NthPointDownsample(
::prost::alloc::boxed::Box<super::NumericNthPointDownsampleExpression>,
),
#[prost(message, tag = "17")]
LargestTriangleThreeBuckets(
::prost::alloc::boxed::Box<
super::NumericLargestTriangleThreeBucketsExpression,
>,
),
#[prost(message, tag = "18")]
ConditionFilter(
::prost::alloc::boxed::Box<super::NumericConditionFilterExpression>,
),
#[prost(message, tag = "19")]
ThresholdFilter(
::prost::alloc::boxed::Box<super::NumericThresholdFilterExpression>,
),
#[prost(message, tag = "57")]
DropNan(::prost::alloc::boxed::Box<super::NumericDropNanExpression>),
#[prost(message, tag = "20")]
ApproximateFilter(
::prost::alloc::boxed::Box<super::NumericApproximateFilterExpression>,
),
#[prost(message, tag = "21")]
SignalFilter(::prost::alloc::boxed::Box<super::NumericSignalFilterExpression>),
#[prost(message, tag = "22")]
UnitConversion(
::prost::alloc::boxed::Box<super::NumericUnitConversionExpression>,
),
#[prost(message, tag = "23")]
UnitOverride(::prost::alloc::boxed::Box<super::NumericUnitOverrideExpression>),
#[prost(message, tag = "24")]
ZScore(::prost::alloc::boxed::Box<super::NumericZScoreExpression>),
#[prost(message, tag = "25")]
Union(super::NumericUnionExpression),
#[prost(message, tag = "26")]
TimeShiftV2(::prost::alloc::boxed::Box<super::NumericTimeShiftV2Expression>),
#[prost(message, tag = "27")]
ResampleV2(::prost::alloc::boxed::Box<super::NumericResampleV2Expression>),
#[prost(message, tag = "28")]
ToStartOfInterval(
::prost::alloc::boxed::Box<super::NumericToStartOfIntervalExpression>,
),
#[prost(message, tag = "29")]
ScalarTransform(
::prost::alloc::boxed::Box<super::NumericScalarTransformExpression>,
),
#[prost(message, tag = "30")]
Arithmetic(super::NumericArithmeticExpression),
#[prost(message, tag = "31")]
FormulaFilter(super::NumericFormulaFilterExpression),
#[prost(message, tag = "32")]
LiteralBitwise(
::prost::alloc::boxed::Box<super::NumericLiteralBitwiseExpression>,
),
#[prost(message, tag = "33")]
Resample(::prost::alloc::boxed::Box<super::NumericResampleExpression>),
#[prost(message, tag = "34")]
Refprop(super::NumericRefpropExpression),
#[prost(message, tag = "35")]
RollingAggregation(
::prost::alloc::boxed::Box<super::NumericRollingAggregationExpression>,
),
#[prost(message, tag = "36")]
DuplicateTimestampAggregation(
::prost::alloc::boxed::Box<
super::NumericDuplicateTimestampAggregationExpression,
>,
),
#[prost(message, tag = "37")]
TagFilter(::prost::alloc::boxed::Box<super::NumericTagFilterExpression>),
#[prost(message, tag = "38")]
TagSelection(::prost::alloc::boxed::Box<super::NumericTagSelectionExpression>),
#[prost(message, tag = "39")]
AbsoluteTimestamp(
::prost::alloc::boxed::Box<super::NumericAbsoluteTimestampExpression>,
),
#[prost(message, tag = "40")]
ReduceUnderRanges(
::prost::alloc::boxed::Box<super::NumericReduceUnderRangesExpression>,
),
#[prost(message, tag = "41")]
ChannelSelection(super::ChannelSelection),
#[prost(message, tag = "42")]
LogMatches(::prost::alloc::boxed::Box<super::NumericLogMatchesExpression>),
#[prost(message, tag = "43")]
CountDuplicates(super::NumericCountDuplicatesExpression),
#[prost(message, tag = "44")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "45")]
CategoricalMapping(
::prost::alloc::boxed::Box<super::NumericCategoricalMappingExpression>,
),
#[prost(message, tag = "46")]
StructField(::prost::alloc::boxed::Box<super::NumericStructFieldExpression>),
#[prost(message, tag = "47")]
RangeFilter(::prost::alloc::boxed::Box<super::NumericRangeFilterExpression>),
#[prost(message, tag = "48")]
GroupWithinRanges(
::prost::alloc::boxed::Box<super::NumericGroupWithinRangesExpression>,
),
#[prost(message, tag = "49")]
Aggregation(::prost::alloc::boxed::Box<super::NumericAggregationExpression>),
#[prost(message, tag = "50")]
RangeDuration(::prost::alloc::boxed::Box<super::NumericRangeDurationExpression>),
#[prost(message, tag = "51")]
ScalarUdf(super::ScalarUdfExpression),
#[prost(message, tag = "52")]
ArrayIndex(::prost::alloc::boxed::Box<super::NumericArrayIndexExpression>),
#[prost(message, tag = "53")]
SeriesSelection(::prost::alloc::boxed::Box<super::SeriesSelection>),
#[prost(message, tag = "54")]
ResourceProperty(::prost::alloc::boxed::Box<super::ResourcePropertySelection>),
#[prost(message, tag = "55")]
IntervalTags(::prost::alloc::boxed::Box<super::NumericIntervalTagsExpression>),
#[prost(message, tag = "56")]
TimeDifference(
::prost::alloc::boxed::Box<super::NumericTimeDifferenceExpression>,
),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputeContext {
#[prost(map = "string, message", tag = "1")]
pub variables: ::std::collections::HashMap<
::prost::alloc::string::String,
VariableValue,
>,
#[prost(map = "string, message", tag = "2")]
pub datasets: ::std::collections::HashMap<
::prost::alloc::string::String,
DatasetExpression,
>,
#[prost(message, optional, tag = "3")]
pub default_fill: ::core::option::Option<ComputeFillStrategy>,
#[prost(enumeration = "ComputeAlignmentStrategy", optional, tag = "4")]
pub default_alignment: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "5")]
pub apply_data_scope_offsets: ::core::option::Option<bool>,
#[prost(bool, optional, tag = "6")]
pub resolve_assets_through_datasets: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputeFillStrategy {
#[prost(oneof = "compute_fill_strategy::Kind", tags = "1")]
pub kind: ::core::option::Option<compute_fill_strategy::Kind>,
}
pub mod compute_fill_strategy {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
ForwardFill(super::DurationConstant),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct VariableValue {
#[prost(oneof = "variable_value::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
pub kind: ::core::option::Option<variable_value::Kind>,
}
pub mod variable_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(double, tag = "1")]
DoubleValue(f64),
#[prost(int32, tag = "2")]
IntegerValue(i32),
#[prost(string, tag = "3")]
StringValue(::prost::alloc::string::String),
#[prost(message, tag = "4")]
StringSet(super::StringSetLiteral),
#[prost(message, tag = "5")]
Duration(super::ComputeDuration),
#[prost(message, tag = "6")]
Timestamp(super::ComputeTimestamp),
#[prost(message, tag = "7")]
Expression(super::BoundExpression),
#[prost(message, tag = "8")]
Channel(super::ChannelSelection),
#[prost(message, tag = "9")]
Series(super::SeriesBinding),
#[prost(message, tag = "10")]
ModuleFunction(super::ModuleFunctionExpression),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BoundExpression {
#[prost(message, optional, tag = "1")]
pub expression: ::core::option::Option<ExpressionNode>,
#[prost(message, optional, tag = "2")]
pub context: ::core::option::Option<ComputeContext>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesBinding {
#[prost(message, optional, tag = "1")]
pub series_selection: ::core::option::Option<SeriesSelection>,
#[prost(message, optional, tag = "2")]
pub grouping_keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ModuleFunctionExpression {
#[prost(message, optional, tag = "1")]
pub module: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "2")]
pub function_name: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "3")]
pub version: ::core::option::Option<StringConstant>,
#[prost(map = "string, message", tag = "4")]
pub arguments: ::std::collections::HashMap<
::prost::alloc::string::String,
FunctionArgument,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FunctionArgument {
#[prost(oneof = "function_argument::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<function_argument::Kind>,
}
pub mod function_argument {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
VariableName(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Value(super::VariableValue),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetExpression {
#[prost(
oneof = "dataset_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13"
)]
pub kind: ::core::option::Option<dataset_expression::Kind>,
}
pub mod dataset_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Asset(super::AssetReferenceExpression),
#[prost(message, tag = "2")]
Run(super::RunReferenceExpression),
#[prost(message, tag = "3")]
DataSource(super::DataSourceReferenceExpression),
#[prost(message, tag = "4")]
ResourceSearch(super::DatasetResourceSearch),
#[prost(message, tag = "5")]
Concatenate(super::DatasetConcatenation),
#[prost(message, tag = "6")]
Tag(::prost::alloc::boxed::Box<super::DatasetTagInjection>),
#[prost(message, tag = "7")]
Filter(::prost::alloc::boxed::Box<super::DatasetTagFilter>),
#[prost(message, tag = "8")]
TimeShift(::prost::alloc::boxed::Box<super::DatasetTimeShift>),
#[prost(message, tag = "9")]
AnchorAlignment(::prost::alloc::boxed::Box<super::DatasetAnchorAlignment>),
#[prost(message, tag = "10")]
AddSeries(::prost::alloc::boxed::Box<super::DatasetSeriesAddition>),
#[prost(message, tag = "11")]
RemoveSeries(::prost::alloc::boxed::Box<super::DatasetSeriesRemoval>),
#[prost(message, tag = "12")]
Reference(super::DatasetReference),
#[prost(message, tag = "13")]
Dimensions(::prost::alloc::boxed::Box<super::DatasetDimensions>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetConcatenation {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<DatasetExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetTagInjection {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, optional, tag = "2")]
pub key: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "3")]
pub value: ::core::option::Option<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetTagFilter {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetTimeShift {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, optional, tag = "2")]
pub offset: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetSeriesAddition {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, repeated, tag = "2")]
pub series: ::prost::alloc::vec::Vec<NamedSeriesExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NamedSeriesExpression {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<StringConstant>,
#[prost(message, optional, tag = "2")]
pub definition: ::core::option::Option<SeriesExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetSeriesRemoval {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, repeated, tag = "2")]
pub names: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetDimensions {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, repeated, tag = "2")]
pub dimensions: ::prost::alloc::vec::Vec<ResourceDimension>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourceDimension {
#[prost(message, optional, tag = "1")]
pub tag_key: ::core::option::Option<StringConstant>,
#[prost(oneof = "resource_dimension::Value", tags = "2, 3")]
pub value: ::core::option::Option<resource_dimension::Value>,
}
pub mod resource_dimension {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "2")]
StringProperty(super::StringConstant),
#[prost(message, tag = "3")]
Identity(super::ResourceTypeReferenceExpression),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesSelection {
#[prost(message, optional, tag = "1")]
pub name: ::core::option::Option<StringConstant>,
#[prost(message, optional, boxed, tag = "2")]
pub dataset: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, optional, tag = "3")]
pub sampling: ::core::option::Option<SeriesSampling>,
#[prost(enumeration = "SeriesStorageEngine", optional, tag = "4")]
pub storage: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResourcePropertySelection {
#[prost(string, tag = "1")]
pub property: ::prost::alloc::string::String,
#[prost(message, optional, boxed, tag = "2")]
pub dataset: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExpressionNode {
#[prost(oneof = "expression_node::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9")]
pub kind: ::core::option::Option<expression_node::Kind>,
}
pub mod expression_node {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Numeric(super::NumericExpression),
#[prost(message, tag = "2")]
Categorical(super::CategoricalExpression),
#[prost(message, tag = "3")]
Log(super::LogExpression),
#[prost(message, tag = "4")]
Ranges(super::RangeExpression),
#[prost(message, tag = "5")]
Array(super::ArrayExpression),
#[prost(message, tag = "6")]
Structure(super::StructExpression),
#[prost(message, tag = "7")]
CurveFit(super::CurveFitExpression),
#[prost(message, tag = "8")]
Video(super::TimeSeriesReference),
#[prost(message, tag = "9")]
Reference(super::TimeSeriesReference),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesExpression {
#[prost(oneof = "series_expression::Kind", tags = "1, 2, 3, 4, 5, 6, 7")]
pub kind: ::core::option::Option<series_expression::Kind>,
}
pub mod series_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Numeric(::prost::alloc::boxed::Box<super::NumericExpression>),
#[prost(message, tag = "2")]
Categorical(::prost::alloc::boxed::Box<super::CategoricalExpression>),
#[prost(message, tag = "3")]
Log(::prost::alloc::boxed::Box<super::LogExpression>),
#[prost(message, tag = "4")]
Array(::prost::alloc::boxed::Box<super::ArrayExpression>),
#[prost(message, tag = "5")]
Structure(::prost::alloc::boxed::Box<super::StructExpression>),
#[prost(message, tag = "6")]
Video(super::TimeSeriesReference),
#[prost(message, tag = "7")]
Reference(super::TimeSeriesReference),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArrayExpression {
#[prost(oneof = "array_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<array_expression::Kind>,
}
pub mod array_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Numeric(::prost::alloc::boxed::Box<super::NumericArrayExpression>),
#[prost(message, tag = "2")]
Categorical(::prost::alloc::boxed::Box<super::CategoricalArrayExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurveFitExpression {
#[prost(message, optional, tag = "1")]
pub target: ::core::option::Option<CurveSeriesVariable>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<CurveFitInterval>,
#[prost(message, optional, tag = "3")]
pub model: ::core::option::Option<CurveModel>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurveFitInterval {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<TimestampConstant>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<TimestampConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurveSeriesVariable {
#[prost(message, optional, tag = "1")]
pub series: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub bounds: ::core::option::Option<CurveVariableBounds>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurveVariableBounds {
#[prost(message, optional, tag = "1")]
pub min: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "2")]
pub max: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurveVariable {
#[prost(oneof = "curve_variable::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<curve_variable::Kind>,
}
pub mod curve_variable {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Series(super::CurveSeriesVariable),
#[prost(message, tag = "2")]
Time(super::CurveTimeVariable),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurveTimeVariable {
#[prost(enumeration = "super::super::types::time::TimeUnit", optional, tag = "1")]
pub unit: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CurveModel {
#[prost(oneof = "curve_model::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<curve_model::Kind>,
}
pub mod curve_model {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Builtin(super::BuiltinCurveModel),
#[prost(message, tag = "2")]
Polynomial(super::PolynomialCurveModel),
#[prost(message, tag = "3")]
Custom(super::CustomCurveModel),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BuiltinCurveModel {
#[prost(enumeration = "BuiltinCurveForm", tag = "1")]
pub form: i32,
#[prost(message, optional, tag = "2")]
pub independent_variable: ::core::option::Option<CurveVariable>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PolynomialCurveModel {
#[prost(message, optional, tag = "1")]
pub independent_variable: ::core::option::Option<CurveVariable>,
#[prost(message, optional, tag = "2")]
pub degree: ::core::option::Option<IntegerConstant>,
#[prost(message, optional, tag = "3")]
pub intercept: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomCurveModel {
#[prost(message, optional, tag = "1")]
pub formula: ::core::option::Option<StringConstant>,
#[prost(map = "string, message", tag = "2")]
pub variables: ::std::collections::HashMap<
::prost::alloc::string::String,
CurveVariable,
>,
#[prost(map = "string, message", tag = "3")]
pub parameters: ::std::collections::HashMap<
::prost::alloc::string::String,
DoubleConstant,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericAbsoluteTimestampExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
#[prost(enumeration = "super::super::types::time::TimeUnit", tag = "2")]
pub unit: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericTimeDifferenceExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
#[prost(enumeration = "super::super::types::time::TimeUnit", optional, tag = "2")]
pub unit: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericReduceUnderRangesExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub ranges: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, optional, tag = "3")]
pub reduction: ::core::option::Option<NumericReduction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericLogMatchesExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<LogExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<LogPredicate>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericCountDuplicatesExpression {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<CategoricalExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericCategoricalMappingExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(map = "string, message", tag = "2")]
pub mapping: ::std::collections::HashMap<
::prost::alloc::string::String,
DoubleConstant,
>,
#[prost(message, optional, tag = "3")]
pub default_value: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericStructFieldExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, repeated, tag = "2")]
pub path: ::prost::alloc::vec::Vec<StringConstant>,
#[prost(
enumeration = "super::super::types::series::SeriesDataType",
optional,
tag = "3"
)]
pub numeric_type: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericRangeFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub ranges: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericGroupWithinRangesExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub ranges: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, optional, tag = "3")]
pub reduction: ::core::option::Option<NumericReduction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericAggregationExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<AggregationInput>>,
#[prost(message, optional, tag = "2")]
pub reduction: ::core::option::Option<NumericReduction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AggregationInput {
#[prost(oneof = "aggregation_input::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<aggregation_input::Kind>,
}
pub mod aggregation_input {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
TimeWindow(::prost::alloc::boxed::Box<super::TimeWindowAggregation>),
#[prost(message, tag = "2")]
PointWindow(::prost::alloc::boxed::Box<super::PointWindowAggregation>),
#[prost(message, tag = "3")]
Grouping(::prost::alloc::boxed::Box<super::GroupedSeriesAggregation>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimeWindowAggregation {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
#[prost(message, optional, tag = "2")]
pub window: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PointWindowAggregation {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
#[prost(message, optional, tag = "2")]
pub points: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupedSeriesAggregation {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
#[prost(message, optional, tag = "2")]
pub keys: ::core::option::Option<AggregationGroupingKeys>,
#[prost(message, optional, tag = "3")]
pub timestamp: ::core::option::Option<AggregationTimestamp>,
#[prost(bool, tag = "4")]
pub use_context_alignment: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AggregationGroupingKeys {
#[prost(oneof = "aggregation_grouping_keys::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<aggregation_grouping_keys::Kind>,
}
pub mod aggregation_grouping_keys {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Current(super::CurrentGroupingKeys),
#[prost(message, tag = "2")]
Subset(super::TagKeySet),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurrentGroupingKeys {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AggregationTimestamp {
#[prost(oneof = "aggregation_timestamp::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<aggregation_timestamp::Kind>,
}
pub mod aggregation_timestamp {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Current(super::CurrentTimestamps),
#[prost(message, tag = "2")]
Every(super::DurationExpression),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurrentTimestamps {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericRangeDurationExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(enumeration = "UnboundedRangePolicy", tag = "2")]
pub unbounded: i32,
#[prost(enumeration = "super::super::types::time::TimeUnit", optional, tag = "3")]
pub unit: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScalarUdfExpression {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<SeriesExpression>,
#[prost(message, optional, tag = "2")]
pub source: ::core::option::Option<super::super::modules::v1::UdfSource>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayIndexExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<NumericArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub index: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericIntervalTagsExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub intervals: ::core::option::Option<
::prost::alloc::boxed::Box<IntervalSourceExpression>,
>,
#[prost(message, optional, tag = "3")]
pub time_shift: ::core::option::Option<IntervalTimeShift>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntervalSourceExpression {
#[prost(oneof = "interval_source_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<interval_source_expression::Kind>,
}
pub mod interval_source_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Events(super::EventIntervals),
#[prost(message, tag = "2")]
Ranges(::prost::alloc::boxed::Box<super::RangeIntervals>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventIntervals {
#[prost(message, optional, tag = "1")]
pub query: ::core::option::Option<EventPredicateExpression>,
#[prost(message, repeated, tag = "2")]
pub tags: ::prost::alloc::vec::Vec<EventIntervalTag>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeIntervals {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, repeated, tag = "2")]
pub tags: ::prost::alloc::vec::Vec<RangeIntervalTag>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventIntervalTag {
#[prost(oneof = "event_interval_tag::Kind", tags = "1, 2, 3, 4, 5")]
pub kind: ::core::option::Option<event_interval_tag::Kind>,
}
pub mod event_interval_tag {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
IntervalIndex(super::IntervalIndexTag),
#[prost(message, tag = "2")]
IntervalStart(super::IntervalStartTag),
#[prost(message, tag = "3")]
EventLevel(super::EventLevelTag),
#[prost(message, tag = "4")]
EventProperty(super::StringConstant),
#[prost(message, tag = "5")]
EventLabel(super::StringConstant),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RangeIntervalTag {
#[prost(oneof = "range_interval_tag::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<range_interval_tag::Kind>,
}
pub mod range_interval_tag {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
IntervalIndex(super::IntervalIndexTag),
#[prost(message, tag = "2")]
IntervalStart(super::IntervalStartTag),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalIndexTag {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalStartTag {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventLevelTag {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntervalTimeShift {
#[prost(oneof = "interval_time_shift::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<interval_time_shift::Kind>,
}
pub mod interval_time_shift {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
IntervalStart(super::IntervalStartAnchor),
#[prost(message, tag = "2")]
IntervalEnd(super::IntervalEndAnchor),
#[prost(message, tag = "3")]
Event(super::EventOrdinalSelection),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalStartAnchor {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalEndAnchor {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct EventOrdinalSelection {
#[prost(message, optional, tag = "1")]
pub query: ::core::option::Option<EventPredicateExpression>,
#[prost(message, optional, tag = "2")]
pub index: ::core::option::Option<IntegerConstant>,
#[prost(enumeration = "ChronologicalOrder", optional, tag = "3")]
pub order: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeOrdinalSelection {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, optional, tag = "2")]
pub index: ::core::option::Option<IntegerConstant>,
#[prost(enumeration = "ChronologicalOrder", optional, tag = "3")]
pub order: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RunAnchorExpression {
#[prost(oneof = "run_anchor_expression::Kind", tags = "1, 2, 3, 4")]
pub kind: ::core::option::Option<run_anchor_expression::Kind>,
}
pub mod run_anchor_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
IntervalStart(super::IntervalStartAnchor),
#[prost(message, tag = "2")]
IntervalEnd(super::IntervalEndAnchor),
#[prost(message, tag = "3")]
Event(super::EventOrdinalSelection),
#[prost(message, tag = "4")]
Ranges(::prost::alloc::boxed::Box<super::RangeOrdinalSelection>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetAnchorAlignment {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<DatasetExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub anchor: ::core::option::Option<::prost::alloc::boxed::Box<RunAnchorExpression>>,
#[prost(bool, tag = "3")]
pub align_to_earliest: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalExpression {
#[prost(
oneof = "categorical_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23"
)]
pub kind: ::core::option::Option<categorical_expression::Kind>,
}
pub mod categorical_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Reference(super::TimeSeriesReference),
#[prost(message, tag = "2")]
ChannelSelection(super::ChannelSelection),
#[prost(message, tag = "3")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "4")]
SeriesSelection(::prost::alloc::boxed::Box<super::SeriesSelection>),
#[prost(message, tag = "5")]
ResourceProperty(::prost::alloc::boxed::Box<super::ResourcePropertySelection>),
#[prost(message, tag = "6")]
DuplicateTimestampAggregation(
::prost::alloc::boxed::Box<
super::CategoricalDuplicateTimestampAggregationExpression,
>,
),
#[prost(message, tag = "7")]
Resample(::prost::alloc::boxed::Box<super::CategoricalResampleExpression>),
#[prost(message, tag = "8")]
ResampleV2(::prost::alloc::boxed::Box<super::CategoricalResampleV2Expression>),
#[prost(message, tag = "9")]
NthPointDownsample(
::prost::alloc::boxed::Box<super::CategoricalNthPointDownsampleExpression>,
),
#[prost(message, tag = "10")]
TimeRangeFilter(
::prost::alloc::boxed::Box<super::CategoricalTimeRangeFilterExpression>,
),
#[prost(message, tag = "11")]
TimeShift(::prost::alloc::boxed::Box<super::CategoricalTimeShiftExpression>),
#[prost(message, tag = "12")]
TimeShiftV2(::prost::alloc::boxed::Box<super::CategoricalTimeShiftV2Expression>),
#[prost(message, tag = "13")]
Union(super::CategoricalUnionExpression),
#[prost(message, tag = "14")]
RangeFilter(::prost::alloc::boxed::Box<super::CategoricalRangeFilterExpression>),
#[prost(message, tag = "15")]
NumericMapping(
::prost::alloc::boxed::Box<super::CategoricalNumericMappingExpression>,
),
#[prost(message, tag = "16")]
ArrayIndex(::prost::alloc::boxed::Box<super::CategoricalArrayIndexExpression>),
#[prost(message, tag = "17")]
StructField(::prost::alloc::boxed::Box<super::CategoricalStructFieldExpression>),
#[prost(message, tag = "18")]
Events(super::CategoricalEventsExpression),
#[prost(message, tag = "19")]
Aggregation(::prost::alloc::boxed::Box<super::CategoricalAggregationExpression>),
#[prost(message, tag = "20")]
TagFilter(::prost::alloc::boxed::Box<super::CategoricalTagFilterExpression>),
#[prost(message, tag = "21")]
TagSelection(
::prost::alloc::boxed::Box<super::CategoricalTagSelectionExpression>,
),
#[prost(message, tag = "22")]
ScalarUdf(super::ScalarUdfExpression),
#[prost(message, tag = "23")]
ToStartOfInterval(
::prost::alloc::boxed::Box<super::CategoricalToStartOfIntervalExpression>,
),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalDuplicateTimestampAggregationExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub reduction: ::core::option::Option<CategoricalReduction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalResampleExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationConstant>,
#[prost(message, optional, tag = "3")]
pub fill: ::core::option::Option<CategoricalResampleFill>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalResampleV2Expression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalNthPointDownsampleExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub every_nth: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalTimeRangeFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<TimestampConstant>,
#[prost(message, optional, tag = "3")]
pub end: ::core::option::Option<TimestampConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalTimeShiftExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalTimeShiftV2Expression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalUnionExpression {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<CategoricalExpression>,
#[prost(enumeration = "CategoricalMergeOperation", tag = "2")]
pub operation: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalRangeFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub ranges: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalNumericMappingExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, repeated, tag = "2")]
pub mapping: ::prost::alloc::vec::Vec<NumericCategoricalInterval>,
#[prost(message, optional, tag = "3")]
pub default_value: ::core::option::Option<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericCategoricalInterval {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "3")]
pub value: ::core::option::Option<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayIndexExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<CategoricalArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub index: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalStructFieldExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, repeated, tag = "2")]
pub path: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalEventsExpression {
#[prost(message, optional, tag = "1")]
pub query: ::core::option::Option<EventPredicateExpression>,
#[prost(oneof = "categorical_events_expression::Value", tags = "2, 3")]
pub value: ::core::option::Option<categorical_events_expression::Value>,
}
pub mod categorical_events_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Value {
#[prost(message, tag = "2")]
Property(super::StringConstant),
#[prost(message, tag = "3")]
Level(super::EventLevelValue),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct EventLevelValue {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalAggregationExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<AggregationInput>>,
#[prost(message, optional, tag = "2")]
pub reduction: ::core::option::Option<CategoricalReduction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalTagFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalTagSelectionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalToStartOfIntervalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BooleanExpression {
#[prost(oneof = "boolean_expression::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<boolean_expression::Kind>,
}
pub mod boolean_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Comparison(::prost::alloc::boxed::Box<super::ComparisonExpression>),
#[prost(message, tag = "2")]
Logical(::prost::alloc::boxed::Box<super::LogicalExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericUnaryExpression {
#[prost(enumeration = "UnaryNumericOperation", tag = "1")]
pub operation: i32,
#[prost(message, optional, boxed, tag = "2")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericBinaryExpression {
#[prost(enumeration = "BinaryNumericOperation", tag = "1")]
pub operation: i32,
#[prost(message, optional, boxed, tag = "2")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "3")]
pub right: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[deprecated]
#[prost(message, optional, tag = "4")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericNaryExpression {
#[prost(enumeration = "NaryNumericOperation", tag = "1")]
pub operation: i32,
#[prost(message, repeated, tag = "2")]
pub inputs: ::prost::alloc::vec::Vec<NumericExpression>,
#[deprecated]
#[prost(message, optional, tag = "3")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericBitwiseExpression {
#[prost(enumeration = "BitwiseOperation", tag = "1")]
pub operation: i32,
#[prost(message, optional, boxed, tag = "2")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "3")]
pub operand: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericConditionalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub condition: ::core::option::Option<::prost::alloc::boxed::Box<BooleanExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub true_value: ::core::option::Option<
::prost::alloc::boxed::Box<NumericExpression>,
>,
#[prost(message, optional, boxed, tag = "3")]
pub false_value: ::core::option::Option<
::prost::alloc::boxed::Box<NumericExpression>,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComparisonExpression {
#[prost(enumeration = "ComparisonOperation", tag = "1")]
pub operation: i32,
#[prost(message, optional, boxed, tag = "2")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "3")]
pub right: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogicalExpression {
#[prost(enumeration = "LogicalOperation", tag = "1")]
pub operation: i32,
#[prost(message, optional, boxed, tag = "2")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<BooleanExpression>>,
#[prost(message, optional, boxed, tag = "3")]
pub right: ::core::option::Option<::prost::alloc::boxed::Box<BooleanExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct InterpolationConfiguration {
#[prost(oneof = "interpolation_configuration::Kind", tags = "1")]
pub kind: ::core::option::Option<interpolation_configuration::Kind>,
}
pub mod interpolation_configuration {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
ForwardFill(super::ForwardFillInterpolation),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ForwardFillInterpolation {
#[prost(message, optional, tag = "1")]
pub max_fill_duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericCumulativeSumExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<TimestampConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericDerivativeExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(enumeration = "super::super::types::time::TimeUnit", optional, tag = "2")]
pub time_unit: ::core::option::Option<i32>,
#[prost(enumeration = "NegativeValuePolicy", optional, tag = "3")]
pub negative_value_policy: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericIntegralExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<TimestampConstant>,
#[prost(enumeration = "super::super::types::time::TimeUnit", optional, tag = "3")]
pub time_unit: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericTimeRangeFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<TimestampConstant>,
#[prost(message, optional, tag = "3")]
pub end: ::core::option::Option<TimestampConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericTimeShiftExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericValueDifferenceExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(enumeration = "NegativeValuePolicy", optional, tag = "2")]
pub negative_value_policy: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericPhaseUnwrapExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub period: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericPointLimitExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub count: ::core::option::Option<IntegerConstant>,
#[prost(enumeration = "PointLimitOrder", tag = "3")]
pub order: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericNthPointDownsampleExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub n: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericLargestTriangleThreeBucketsExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub max_points: ::core::option::Option<IntegerConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericConditionFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub condition: ::core::option::Option<::prost::alloc::boxed::Box<BooleanExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericThresholdFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub threshold: ::core::option::Option<DoubleConstant>,
#[prost(enumeration = "ComparisonOperation", tag = "3")]
pub operation: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericApproximateFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub threshold: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "3")]
pub tolerance: ::core::option::Option<DoubleConstant>,
#[prost(enumeration = "ApproximateComparisonOperation", tag = "4")]
pub operation: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericSignalFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub configuration: ::core::option::Option<SignalFilterConfiguration>,
#[prost(message, optional, tag = "3")]
pub order: ::core::option::Option<IntegerConstant>,
#[prost(message, optional, tag = "4")]
pub sampling_frequency: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericUnitConversionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(string, tag = "2")]
pub output_unit: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericUnitOverrideExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(string, optional, tag = "2")]
pub unit: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericZScoreExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, repeated, tag = "2")]
pub group_by_tags: ::prost::alloc::vec::Vec<StringConstant>,
#[deprecated]
#[prost(message, optional, tag = "3")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericUnionExpression {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<NumericExpression>,
#[deprecated]
#[prost(enumeration = "DuplicateMergeOperation", optional, tag = "2")]
pub duplicate_merge_operation: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericDropNanExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericTimeShiftV2Expression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericResampleV2Expression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericToStartOfIntervalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericScalarTransformExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(oneof = "numeric_scalar_transform_expression::Transform", tags = "2, 3")]
pub transform: ::core::option::Option<
numeric_scalar_transform_expression::Transform,
>,
}
pub mod numeric_scalar_transform_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Transform {
#[prost(message, tag = "2")]
Offset(super::DoubleConstant),
#[prost(message, tag = "3")]
Scale(super::ScalingFactor),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArithmeticExpression {
#[prost(map = "string, message", tag = "1")]
pub inputs: ::std::collections::HashMap<
::prost::alloc::string::String,
NumericExpression,
>,
#[prost(string, tag = "2")]
pub formula: ::prost::alloc::string::String,
#[deprecated]
#[prost(message, optional, tag = "3")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericFormulaFilterExpression {
#[prost(string, tag = "1")]
pub filtered_input_name: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "2")]
pub inputs: ::std::collections::HashMap<
::prost::alloc::string::String,
NumericExpression,
>,
#[prost(string, tag = "3")]
pub formula: ::prost::alloc::string::String,
#[deprecated]
#[prost(message, optional, tag = "4")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericLiteralBitwiseExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub function: ::core::option::Option<LiteralBitFunction>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LiteralBitFunction {
#[prost(oneof = "literal_bit_function::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<literal_bit_function::Kind>,
}
pub mod literal_bit_function {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Bitwise(super::LiteralBitwiseFunction),
#[prost(message, tag = "2")]
Shift(super::LiteralShiftFunction),
#[prost(message, tag = "3")]
BitTest(super::BitTestIndex),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LiteralBitwiseFunction {
#[prost(enumeration = "LiteralBitwiseOperation", tag = "1")]
pub operation: i32,
#[prost(int64, tag = "2")]
pub operand: i64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LiteralShiftFunction {
#[prost(enumeration = "ShiftDirection", tag = "1")]
pub direction: i32,
#[prost(int32, tag = "2")]
pub distance: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BitTestIndex {
#[prost(int32, tag = "1")]
pub index: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericResampleExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationConstant>,
#[prost(message, optional, tag = "3")]
pub fill: ::core::option::Option<ResampleFill>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericRefpropExpression {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<RefpropInput>,
#[prost(enumeration = "RefpropProperty", tag = "2")]
pub output_property: i32,
#[prost(enumeration = "RefpropSubstance", tag = "3")]
pub substance: i32,
#[deprecated]
#[prost(message, optional, tag = "4")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RefpropInput {
#[prost(enumeration = "RefpropProperty", tag = "1")]
pub property: i32,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<NumericExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericRollingAggregationExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub window: ::core::option::Option<DurationConstant>,
#[prost(message, optional, tag = "3")]
pub reduction: ::core::option::Option<NumericReduction>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericDuplicateTimestampAggregationExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub reduction: ::core::option::Option<NumericReduction>,
#[prost(message, repeated, tag = "3")]
pub grouping_keys: ::prost::alloc::vec::Vec<StringConstant>,
#[prost(bool, optional, tag = "4")]
pub aggregate_across_all_series: ::core::option::Option<bool>,
#[deprecated]
#[prost(message, optional, tag = "5")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericTagFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericTagSelectionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, repeated, tag = "2")]
pub retained_tag_keys: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayExpression {
#[prost(
oneof = "numeric_array_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9"
)]
pub kind: ::core::option::Option<numeric_array_expression::Kind>,
}
pub mod numeric_array_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Reference(super::TimeSeriesReference),
#[prost(message, tag = "2")]
ChannelSelection(super::ChannelSelection),
#[prost(message, tag = "3")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "4")]
SeriesSelection(::prost::alloc::boxed::Box<super::SeriesSelection>),
#[prost(message, tag = "5")]
StructField(
::prost::alloc::boxed::Box<super::NumericArrayStructFieldExpression>,
),
#[prost(message, tag = "6")]
TimeShift(::prost::alloc::boxed::Box<super::NumericArrayTimeShiftExpression>),
#[prost(message, tag = "7")]
ToStartOfInterval(
::prost::alloc::boxed::Box<super::NumericArrayToStartOfIntervalExpression>,
),
#[prost(message, tag = "8")]
TagFilter(::prost::alloc::boxed::Box<super::NumericArrayTagFilterExpression>),
#[prost(message, tag = "9")]
TagSelection(
::prost::alloc::boxed::Box<super::NumericArrayTagSelectionExpression>,
),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayStructFieldExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, repeated, tag = "2")]
pub path: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayTimeShiftExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<NumericArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayToStartOfIntervalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<NumericArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayTagFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<NumericArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericArrayTagSelectionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<NumericArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayExpression {
#[prost(
oneof = "categorical_array_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9"
)]
pub kind: ::core::option::Option<categorical_array_expression::Kind>,
}
pub mod categorical_array_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Reference(super::TimeSeriesReference),
#[prost(message, tag = "2")]
ChannelSelection(super::ChannelSelection),
#[prost(message, tag = "3")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "4")]
SeriesSelection(::prost::alloc::boxed::Box<super::SeriesSelection>),
#[prost(message, tag = "5")]
StructField(
::prost::alloc::boxed::Box<super::CategoricalArrayStructFieldExpression>,
),
#[prost(message, tag = "6")]
TimeShift(
::prost::alloc::boxed::Box<super::CategoricalArrayTimeShiftExpression>,
),
#[prost(message, tag = "7")]
ToStartOfInterval(
::prost::alloc::boxed::Box<
super::CategoricalArrayToStartOfIntervalExpression,
>,
),
#[prost(message, tag = "8")]
TagFilter(
::prost::alloc::boxed::Box<super::CategoricalArrayTagFilterExpression>,
),
#[prost(message, tag = "9")]
TagSelection(
::prost::alloc::boxed::Box<super::CategoricalArrayTagSelectionExpression>,
),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayStructFieldExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, repeated, tag = "2")]
pub path: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayTimeShiftExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<CategoricalArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayToStartOfIntervalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<CategoricalArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayTagFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<CategoricalArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalArrayTagSelectionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<
::prost::alloc::boxed::Box<CategoricalArrayExpression>,
>,
#[prost(message, optional, tag = "2")]
pub keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructExpression {
#[prost(oneof = "struct_expression::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
pub kind: ::core::option::Option<struct_expression::Kind>,
}
pub mod struct_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Reference(super::TimeSeriesReference),
#[prost(message, tag = "2")]
ChannelSelection(super::ChannelSelection),
#[prost(message, tag = "3")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "4")]
SeriesSelection(::prost::alloc::boxed::Box<super::SeriesSelection>),
#[prost(message, tag = "5")]
Combine(super::StructCombineExpression),
#[prost(message, tag = "6")]
StructField(::prost::alloc::boxed::Box<super::StructFieldExpression>),
#[prost(message, tag = "7")]
TimeShift(::prost::alloc::boxed::Box<super::StructTimeShiftExpression>),
#[prost(message, tag = "8")]
ToStartOfInterval(
::prost::alloc::boxed::Box<super::StructToStartOfIntervalExpression>,
),
#[prost(message, tag = "9")]
TagFilter(::prost::alloc::boxed::Box<super::StructTagFilterExpression>),
#[prost(message, tag = "10")]
TagSelection(::prost::alloc::boxed::Box<super::StructTagSelectionExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructFieldExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, repeated, tag = "2")]
pub path: ::prost::alloc::vec::Vec<StringConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructTimeShiftExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructToStartOfIntervalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructTagFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructTagSelectionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<StructExpression>>,
#[prost(message, optional, tag = "2")]
pub keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogExpression {
#[prost(oneof = "log_expression::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
pub kind: ::core::option::Option<log_expression::Kind>,
}
pub mod log_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Reference(super::TimeSeriesReference),
#[prost(message, tag = "2")]
ChannelSelection(super::ChannelSelection),
#[prost(message, tag = "3")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "4")]
SeriesSelection(::prost::alloc::boxed::Box<super::SeriesSelection>),
#[prost(message, tag = "5")]
Concatenate(super::LogConcatenateExpression),
#[prost(message, tag = "6")]
Filter(::prost::alloc::boxed::Box<super::LogFilterExpression>),
#[prost(message, tag = "7")]
TimeShift(::prost::alloc::boxed::Box<super::LogTimeShiftExpression>),
#[prost(message, tag = "8")]
ToStartOfInterval(
::prost::alloc::boxed::Box<super::LogToStartOfIntervalExpression>,
),
#[prost(message, tag = "9")]
TagFilter(::prost::alloc::boxed::Box<super::LogTagFilterExpression>),
#[prost(message, tag = "10")]
TagSelection(::prost::alloc::boxed::Box<super::LogTagSelectionExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogTimeShiftExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<LogExpression>>,
#[prost(message, optional, tag = "2")]
pub duration: ::core::option::Option<DurationConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogToStartOfIntervalExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<LogExpression>>,
#[prost(message, optional, tag = "2")]
pub interval: ::core::option::Option<DurationExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogTagFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<LogExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<TagPredicateExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogTagSelectionExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<LogExpression>>,
#[prost(message, optional, tag = "2")]
pub keys: ::core::option::Option<TagKeySet>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructCombineExpression {
#[prost(map = "string, message", tag = "1")]
pub fields: ::std::collections::HashMap<
::prost::alloc::string::String,
SeriesExpression,
>,
#[prost(message, optional, tag = "2")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogConcatenateExpression {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<LogExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogFilterExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<LogExpression>>,
#[prost(message, optional, tag = "2")]
pub predicate: ::core::option::Option<LogPredicate>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeExpression {
#[prost(
oneof = "range_expression::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21"
)]
pub kind: ::core::option::Option<range_expression::Kind>,
}
pub mod range_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
VariableName(::prost::alloc::string::String),
#[prost(message, tag = "2")]
ModuleFunction(super::ModuleFunctionExpression),
#[prost(message, tag = "3")]
Literal(super::LiteralRangeCollection),
#[prost(message, tag = "4")]
Events(super::EventPredicateExpression),
#[prost(message, tag = "5")]
BooleanCondition(::prost::alloc::boxed::Box<super::BooleanRangeExpression>),
#[prost(message, tag = "6")]
NumericThreshold(::prost::alloc::boxed::Box<super::NumericThresholdRanges>),
#[prost(message, tag = "7")]
NumericBounds(::prost::alloc::boxed::Box<super::NumericBoundsRanges>),
#[prost(message, tag = "8")]
CategoricalMembership(
::prost::alloc::boxed::Box<super::CategoricalMembershipRanges>,
),
#[prost(message, tag = "9")]
NumericEquality(super::NumericEqualityRanges),
#[prost(message, tag = "10")]
CategoricalEquality(super::CategoricalEqualityRanges),
#[prost(message, tag = "11")]
NumericCrossover(::prost::alloc::boxed::Box<super::NumericCrossoverRanges>),
#[prost(message, tag = "12")]
OnChange(::prost::alloc::boxed::Box<super::SeriesChangeRanges>),
#[prost(message, tag = "13")]
Staleness(::prost::alloc::boxed::Box<super::SeriesStalenessRanges>),
#[prost(message, tag = "14")]
DurationFilter(::prost::alloc::boxed::Box<super::RangeDurationFilter>),
#[prost(message, tag = "15")]
Stability(::prost::alloc::boxed::Box<super::NumericStabilityRanges>),
#[prost(message, tag = "16")]
Extrema(::prost::alloc::boxed::Box<super::NumericExtremaRanges>),
#[prost(message, tag = "17")]
Intersection(super::RangeExpressionCollection),
#[prost(message, tag = "18")]
Union(super::RangeExpressionCollection),
#[prost(message, tag = "19")]
Complement(::prost::alloc::boxed::Box<super::RangeExpression>),
#[prost(message, tag = "20")]
Padding(::prost::alloc::boxed::Box<super::RangePaddingExpression>),
#[prost(message, tag = "21")]
Statistics(::prost::alloc::boxed::Box<super::RangeStatisticsExpression>),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LiteralRangeCollection {
#[prost(message, repeated, tag = "1")]
pub ranges: ::prost::alloc::vec::Vec<LiteralRange>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LiteralRange {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<TimestampConstant>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<TimestampConstant>,
#[prost(message, optional, tag = "3")]
pub grouping: ::core::option::Option<TagGrouping>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BooleanRangeExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<BooleanExpression>>,
#[prost(message, optional, tag = "2")]
pub persistence: ::core::option::Option<RangePersistence>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericThresholdRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(enumeration = "ComparisonOperation", tag = "2")]
pub comparison: i32,
#[prost(message, optional, tag = "3")]
pub threshold: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "4")]
pub tolerance: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "5")]
pub persistence: ::core::option::Option<RangePersistence>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericBoundsRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub lower: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "3")]
pub upper: ::core::option::Option<DoubleConstant>,
#[prost(enumeration = "NumericBoundsCondition", tag = "4")]
pub condition: i32,
#[prost(message, optional, tag = "5")]
pub persistence: ::core::option::Option<RangePersistence>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalMembershipRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<CategoricalExpression>>,
#[prost(message, optional, tag = "2")]
pub values: ::core::option::Option<ParameterizedStringSet>,
#[prost(enumeration = "CategoricalMembershipOperation", tag = "3")]
pub operation: i32,
#[prost(message, optional, tag = "4")]
pub persistence: ::core::option::Option<RangePersistence>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericEqualityRanges {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<NumericExpression>,
#[prost(enumeration = "SeriesEqualityMode", tag = "2")]
pub mode: i32,
#[prost(message, optional, tag = "3")]
pub tolerance: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "4")]
pub persistence: ::core::option::Option<RangePersistence>,
#[deprecated]
#[prost(message, optional, tag = "5")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalEqualityRanges {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<CategoricalExpression>,
#[prost(enumeration = "SeriesEqualityMode", tag = "2")]
pub mode: i32,
#[prost(message, optional, tag = "3")]
pub persistence: ::core::option::Option<RangePersistence>,
#[deprecated]
#[prost(message, optional, tag = "4")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericCrossoverRanges {
#[prost(message, optional, boxed, tag = "1")]
pub left: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub right: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesChangeRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesStalenessRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<SeriesExpression>>,
#[prost(message, optional, tag = "2")]
pub threshold: ::core::option::Option<DurationInput>,
#[prost(message, optional, tag = "3")]
pub start: ::core::option::Option<TimestampConstant>,
#[deprecated]
#[prost(message, optional, tag = "4")]
pub end: ::core::option::Option<TimestampConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeDurationFilter {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, optional, tag = "2")]
pub threshold: ::core::option::Option<DurationInput>,
#[prost(enumeration = "ComparisonOperation", tag = "3")]
pub comparison: i32,
#[prost(enumeration = "UnboundedDurationComparison", optional, tag = "4")]
pub unbounded: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericStabilityRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(message, optional, tag = "2")]
pub window: ::core::option::Option<DurationInput>,
#[prost(message, optional, tag = "3")]
pub min_points: ::core::option::Option<IntegerConstant>,
#[prost(message, optional, tag = "4")]
pub threshold: ::core::option::Option<SpreadThreshold>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericExtremaRanges {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(enumeration = "ExtremaSelection", tag = "2")]
pub selection: i32,
#[prost(message, optional, tag = "3")]
pub min_prominence: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeExpressionCollection {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<RangeExpression>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangePaddingExpression {
#[prost(message, optional, boxed, tag = "1")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, optional, tag = "2")]
pub padding: ::core::option::Option<DurationInput>,
#[prost(enumeration = "RangePaddingSides", optional, tag = "3")]
pub sides: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RangeStatisticsExpression {
#[prost(message, optional, boxed, tag = "1")]
pub ranges: ::core::option::Option<::prost::alloc::boxed::Box<RangeExpression>>,
#[prost(message, optional, boxed, tag = "2")]
pub input: ::core::option::Option<::prost::alloc::boxed::Box<NumericExpression>>,
#[prost(oneof = "range_statistics_expression::Statistics", tags = "3, 4")]
pub statistics: ::core::option::Option<range_statistics_expression::Statistics>,
}
pub mod range_statistics_expression {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Statistics {
#[prost(message, tag = "3")]
Reduction(super::NumericReduction),
#[prost(message, tag = "4")]
All(super::AllStatistics),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AllStatistics {}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeAlignmentStrategy {
Unspecified = 0,
DriverSeries = 1,
Union = 2,
}
impl ComputeAlignmentStrategy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_ALIGNMENT_STRATEGY_UNSPECIFIED",
Self::DriverSeries => "COMPUTE_ALIGNMENT_STRATEGY_DRIVER_SERIES",
Self::Union => "COMPUTE_ALIGNMENT_STRATEGY_UNION",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_ALIGNMENT_STRATEGY_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_ALIGNMENT_STRATEGY_DRIVER_SERIES" => Some(Self::DriverSeries),
"COMPUTE_ALIGNMENT_STRATEGY_UNION" => Some(Self::Union),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BuiltinCurveForm {
Unspecified = 0,
Exponential = 1,
Logarithmic = 2,
Power = 3,
}
impl BuiltinCurveForm {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "BUILTIN_CURVE_FORM_UNSPECIFIED",
Self::Exponential => "BUILTIN_CURVE_FORM_EXPONENTIAL",
Self::Logarithmic => "BUILTIN_CURVE_FORM_LOGARITHMIC",
Self::Power => "BUILTIN_CURVE_FORM_POWER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BUILTIN_CURVE_FORM_UNSPECIFIED" => Some(Self::Unspecified),
"BUILTIN_CURVE_FORM_EXPONENTIAL" => Some(Self::Exponential),
"BUILTIN_CURVE_FORM_LOGARITHMIC" => Some(Self::Logarithmic),
"BUILTIN_CURVE_FORM_POWER" => Some(Self::Power),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum UnboundedRangePolicy {
Unspecified = 0,
ClampToWindow = 1,
Drop = 2,
}
impl UnboundedRangePolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "UNBOUNDED_RANGE_POLICY_UNSPECIFIED",
Self::ClampToWindow => "UNBOUNDED_RANGE_POLICY_CLAMP_TO_WINDOW",
Self::Drop => "UNBOUNDED_RANGE_POLICY_DROP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNBOUNDED_RANGE_POLICY_UNSPECIFIED" => Some(Self::Unspecified),
"UNBOUNDED_RANGE_POLICY_CLAMP_TO_WINDOW" => Some(Self::ClampToWindow),
"UNBOUNDED_RANGE_POLICY_DROP" => Some(Self::Drop),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ChronologicalOrder {
Unspecified = 0,
Ascending = 1,
Descending = 2,
}
impl ChronologicalOrder {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "CHRONOLOGICAL_ORDER_UNSPECIFIED",
Self::Ascending => "CHRONOLOGICAL_ORDER_ASCENDING",
Self::Descending => "CHRONOLOGICAL_ORDER_DESCENDING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"CHRONOLOGICAL_ORDER_UNSPECIFIED" => Some(Self::Unspecified),
"CHRONOLOGICAL_ORDER_ASCENDING" => Some(Self::Ascending),
"CHRONOLOGICAL_ORDER_DESCENDING" => Some(Self::Descending),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum UnaryNumericOperation {
Unspecified = 0,
Abs = 1,
Negate = 2,
Cos = 3,
Sin = 4,
Tan = 5,
Acos = 6,
Asin = 7,
Ln = 8,
Log10 = 9,
Sqrt = 10,
}
impl UnaryNumericOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "UNARY_NUMERIC_OPERATION_UNSPECIFIED",
Self::Abs => "UNARY_NUMERIC_OPERATION_ABS",
Self::Negate => "UNARY_NUMERIC_OPERATION_NEGATE",
Self::Cos => "UNARY_NUMERIC_OPERATION_COS",
Self::Sin => "UNARY_NUMERIC_OPERATION_SIN",
Self::Tan => "UNARY_NUMERIC_OPERATION_TAN",
Self::Acos => "UNARY_NUMERIC_OPERATION_ACOS",
Self::Asin => "UNARY_NUMERIC_OPERATION_ASIN",
Self::Ln => "UNARY_NUMERIC_OPERATION_LN",
Self::Log10 => "UNARY_NUMERIC_OPERATION_LOG10",
Self::Sqrt => "UNARY_NUMERIC_OPERATION_SQRT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNARY_NUMERIC_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"UNARY_NUMERIC_OPERATION_ABS" => Some(Self::Abs),
"UNARY_NUMERIC_OPERATION_NEGATE" => Some(Self::Negate),
"UNARY_NUMERIC_OPERATION_COS" => Some(Self::Cos),
"UNARY_NUMERIC_OPERATION_SIN" => Some(Self::Sin),
"UNARY_NUMERIC_OPERATION_TAN" => Some(Self::Tan),
"UNARY_NUMERIC_OPERATION_ACOS" => Some(Self::Acos),
"UNARY_NUMERIC_OPERATION_ASIN" => Some(Self::Asin),
"UNARY_NUMERIC_OPERATION_LN" => Some(Self::Ln),
"UNARY_NUMERIC_OPERATION_LOG10" => Some(Self::Log10),
"UNARY_NUMERIC_OPERATION_SQRT" => Some(Self::Sqrt),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BinaryNumericOperation {
Unspecified = 0,
Add = 1,
Subtract = 2,
Multiply = 3,
Divide = 4,
FloorDivide = 5,
Power = 6,
Modulo = 7,
Atan2 = 8,
}
impl BinaryNumericOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "BINARY_NUMERIC_OPERATION_UNSPECIFIED",
Self::Add => "BINARY_NUMERIC_OPERATION_ADD",
Self::Subtract => "BINARY_NUMERIC_OPERATION_SUBTRACT",
Self::Multiply => "BINARY_NUMERIC_OPERATION_MULTIPLY",
Self::Divide => "BINARY_NUMERIC_OPERATION_DIVIDE",
Self::FloorDivide => "BINARY_NUMERIC_OPERATION_FLOOR_DIVIDE",
Self::Power => "BINARY_NUMERIC_OPERATION_POWER",
Self::Modulo => "BINARY_NUMERIC_OPERATION_MODULO",
Self::Atan2 => "BINARY_NUMERIC_OPERATION_ATAN2",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BINARY_NUMERIC_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"BINARY_NUMERIC_OPERATION_ADD" => Some(Self::Add),
"BINARY_NUMERIC_OPERATION_SUBTRACT" => Some(Self::Subtract),
"BINARY_NUMERIC_OPERATION_MULTIPLY" => Some(Self::Multiply),
"BINARY_NUMERIC_OPERATION_DIVIDE" => Some(Self::Divide),
"BINARY_NUMERIC_OPERATION_FLOOR_DIVIDE" => Some(Self::FloorDivide),
"BINARY_NUMERIC_OPERATION_POWER" => Some(Self::Power),
"BINARY_NUMERIC_OPERATION_MODULO" => Some(Self::Modulo),
"BINARY_NUMERIC_OPERATION_ATAN2" => Some(Self::Atan2),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NaryNumericOperation {
Unspecified = 0,
Max = 1,
Mean = 2,
Min = 3,
Sum = 4,
Product = 5,
}
impl NaryNumericOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "NARY_NUMERIC_OPERATION_UNSPECIFIED",
Self::Max => "NARY_NUMERIC_OPERATION_MAX",
Self::Mean => "NARY_NUMERIC_OPERATION_MEAN",
Self::Min => "NARY_NUMERIC_OPERATION_MIN",
Self::Sum => "NARY_NUMERIC_OPERATION_SUM",
Self::Product => "NARY_NUMERIC_OPERATION_PRODUCT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NARY_NUMERIC_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"NARY_NUMERIC_OPERATION_MAX" => Some(Self::Max),
"NARY_NUMERIC_OPERATION_MEAN" => Some(Self::Mean),
"NARY_NUMERIC_OPERATION_MIN" => Some(Self::Min),
"NARY_NUMERIC_OPERATION_SUM" => Some(Self::Sum),
"NARY_NUMERIC_OPERATION_PRODUCT" => Some(Self::Product),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum BitwiseOperation {
Unspecified = 0,
And = 1,
Or = 2,
Xor = 3,
ShiftRight = 4,
ShiftLeft = 5,
Test = 6,
}
impl BitwiseOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "BITWISE_OPERATION_UNSPECIFIED",
Self::And => "BITWISE_OPERATION_AND",
Self::Or => "BITWISE_OPERATION_OR",
Self::Xor => "BITWISE_OPERATION_XOR",
Self::ShiftRight => "BITWISE_OPERATION_SHIFT_RIGHT",
Self::ShiftLeft => "BITWISE_OPERATION_SHIFT_LEFT",
Self::Test => "BITWISE_OPERATION_TEST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"BITWISE_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"BITWISE_OPERATION_AND" => Some(Self::And),
"BITWISE_OPERATION_OR" => Some(Self::Or),
"BITWISE_OPERATION_XOR" => Some(Self::Xor),
"BITWISE_OPERATION_SHIFT_RIGHT" => Some(Self::ShiftRight),
"BITWISE_OPERATION_SHIFT_LEFT" => Some(Self::ShiftLeft),
"BITWISE_OPERATION_TEST" => Some(Self::Test),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComparisonOperation {
Unspecified = 0,
GreaterThan = 1,
LessThan = 2,
EqualTo = 3,
NotEqualTo = 4,
GreaterThanOrEqualTo = 5,
LessThanOrEqualTo = 6,
}
impl ComparisonOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPARISON_OPERATION_UNSPECIFIED",
Self::GreaterThan => "COMPARISON_OPERATION_GREATER_THAN",
Self::LessThan => "COMPARISON_OPERATION_LESS_THAN",
Self::EqualTo => "COMPARISON_OPERATION_EQUAL_TO",
Self::NotEqualTo => "COMPARISON_OPERATION_NOT_EQUAL_TO",
Self::GreaterThanOrEqualTo => "COMPARISON_OPERATION_GREATER_THAN_OR_EQUAL_TO",
Self::LessThanOrEqualTo => "COMPARISON_OPERATION_LESS_THAN_OR_EQUAL_TO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPARISON_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"COMPARISON_OPERATION_GREATER_THAN" => Some(Self::GreaterThan),
"COMPARISON_OPERATION_LESS_THAN" => Some(Self::LessThan),
"COMPARISON_OPERATION_EQUAL_TO" => Some(Self::EqualTo),
"COMPARISON_OPERATION_NOT_EQUAL_TO" => Some(Self::NotEqualTo),
"COMPARISON_OPERATION_GREATER_THAN_OR_EQUAL_TO" => {
Some(Self::GreaterThanOrEqualTo)
}
"COMPARISON_OPERATION_LESS_THAN_OR_EQUAL_TO" => Some(Self::LessThanOrEqualTo),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LogicalOperation {
Unspecified = 0,
And = 1,
Or = 2,
}
impl LogicalOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "LOGICAL_OPERATION_UNSPECIFIED",
Self::And => "LOGICAL_OPERATION_AND",
Self::Or => "LOGICAL_OPERATION_OR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LOGICAL_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"LOGICAL_OPERATION_AND" => Some(Self::And),
"LOGICAL_OPERATION_OR" => Some(Self::Or),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NegativeValuePolicy {
Unspecified = 0,
Allow = 1,
ClampToZero = 2,
Exclude = 3,
}
impl NegativeValuePolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "NEGATIVE_VALUE_POLICY_UNSPECIFIED",
Self::Allow => "NEGATIVE_VALUE_POLICY_ALLOW",
Self::ClampToZero => "NEGATIVE_VALUE_POLICY_CLAMP_TO_ZERO",
Self::Exclude => "NEGATIVE_VALUE_POLICY_EXCLUDE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NEGATIVE_VALUE_POLICY_UNSPECIFIED" => Some(Self::Unspecified),
"NEGATIVE_VALUE_POLICY_ALLOW" => Some(Self::Allow),
"NEGATIVE_VALUE_POLICY_CLAMP_TO_ZERO" => Some(Self::ClampToZero),
"NEGATIVE_VALUE_POLICY_EXCLUDE" => Some(Self::Exclude),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum PointLimitOrder {
Unspecified = 0,
Newest = 1,
Oldest = 2,
}
impl PointLimitOrder {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "POINT_LIMIT_ORDER_UNSPECIFIED",
Self::Newest => "POINT_LIMIT_ORDER_NEWEST",
Self::Oldest => "POINT_LIMIT_ORDER_OLDEST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"POINT_LIMIT_ORDER_UNSPECIFIED" => Some(Self::Unspecified),
"POINT_LIMIT_ORDER_NEWEST" => Some(Self::Newest),
"POINT_LIMIT_ORDER_OLDEST" => Some(Self::Oldest),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ApproximateComparisonOperation {
Unspecified = 0,
EqualTo = 1,
NotEqualTo = 2,
}
impl ApproximateComparisonOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "APPROXIMATE_COMPARISON_OPERATION_UNSPECIFIED",
Self::EqualTo => "APPROXIMATE_COMPARISON_OPERATION_EQUAL_TO",
Self::NotEqualTo => "APPROXIMATE_COMPARISON_OPERATION_NOT_EQUAL_TO",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"APPROXIMATE_COMPARISON_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"APPROXIMATE_COMPARISON_OPERATION_EQUAL_TO" => Some(Self::EqualTo),
"APPROXIMATE_COMPARISON_OPERATION_NOT_EQUAL_TO" => Some(Self::NotEqualTo),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DuplicateMergeOperation {
Unspecified = 0,
Min = 1,
Max = 2,
Mean = 3,
Sum = 4,
Count = 5,
StandardDeviation = 6,
RootMeanSquare = 7,
Reject = 8,
}
impl DuplicateMergeOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "DUPLICATE_MERGE_OPERATION_UNSPECIFIED",
Self::Min => "DUPLICATE_MERGE_OPERATION_MIN",
Self::Max => "DUPLICATE_MERGE_OPERATION_MAX",
Self::Mean => "DUPLICATE_MERGE_OPERATION_MEAN",
Self::Sum => "DUPLICATE_MERGE_OPERATION_SUM",
Self::Count => "DUPLICATE_MERGE_OPERATION_COUNT",
Self::StandardDeviation => "DUPLICATE_MERGE_OPERATION_STANDARD_DEVIATION",
Self::RootMeanSquare => "DUPLICATE_MERGE_OPERATION_ROOT_MEAN_SQUARE",
Self::Reject => "DUPLICATE_MERGE_OPERATION_REJECT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DUPLICATE_MERGE_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"DUPLICATE_MERGE_OPERATION_MIN" => Some(Self::Min),
"DUPLICATE_MERGE_OPERATION_MAX" => Some(Self::Max),
"DUPLICATE_MERGE_OPERATION_MEAN" => Some(Self::Mean),
"DUPLICATE_MERGE_OPERATION_SUM" => Some(Self::Sum),
"DUPLICATE_MERGE_OPERATION_COUNT" => Some(Self::Count),
"DUPLICATE_MERGE_OPERATION_STANDARD_DEVIATION" => {
Some(Self::StandardDeviation)
}
"DUPLICATE_MERGE_OPERATION_ROOT_MEAN_SQUARE" => Some(Self::RootMeanSquare),
"DUPLICATE_MERGE_OPERATION_REJECT" => Some(Self::Reject),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum LiteralBitwiseOperation {
Unspecified = 0,
And = 1,
Or = 2,
Xor = 3,
}
impl LiteralBitwiseOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "LITERAL_BITWISE_OPERATION_UNSPECIFIED",
Self::And => "LITERAL_BITWISE_OPERATION_AND",
Self::Or => "LITERAL_BITWISE_OPERATION_OR",
Self::Xor => "LITERAL_BITWISE_OPERATION_XOR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"LITERAL_BITWISE_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"LITERAL_BITWISE_OPERATION_AND" => Some(Self::And),
"LITERAL_BITWISE_OPERATION_OR" => Some(Self::Or),
"LITERAL_BITWISE_OPERATION_XOR" => Some(Self::Xor),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ShiftDirection {
Unspecified = 0,
Left = 1,
Right = 2,
}
impl ShiftDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SHIFT_DIRECTION_UNSPECIFIED",
Self::Left => "SHIFT_DIRECTION_LEFT",
Self::Right => "SHIFT_DIRECTION_RIGHT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SHIFT_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
"SHIFT_DIRECTION_LEFT" => Some(Self::Left),
"SHIFT_DIRECTION_RIGHT" => Some(Self::Right),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatasetScope {
#[prost(message, optional, tag = "1")]
pub dataset: ::core::option::Option<DatasetExpression>,
#[prost(message, optional, tag = "2")]
pub context: ::core::option::Option<ComputeContext>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScalarValue {
#[prost(oneof = "scalar_value::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<scalar_value::Kind>,
}
pub mod scalar_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
StringValue(::prost::alloc::string::String),
#[prost(double, tag = "2")]
Float64Value(f64),
#[prost(int64, tag = "3")]
Int64Value(i64),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputeValue {
#[prost(oneof = "compute_value::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<compute_value::Kind>,
}
pub mod compute_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Scalar(super::ScalarValue),
#[prost(message, tag = "2")]
Array(super::ComputeValueArray),
#[prost(message, tag = "3")]
Object(super::StructuredObject),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputeValueArray {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<NullableComputeValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NullableComputeValue {
#[prost(oneof = "nullable_compute_value::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<nullable_compute_value::Kind>,
}
pub mod nullable_compute_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Value(super::ComputeValue),
#[prost(
enumeration = "super::super::super::super::google::protobuf::NullValue",
tag = "2"
)]
NullValue(i32),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructuredObject {
#[prost(map = "string, message", tag = "1")]
pub fields: ::std::collections::HashMap<
::prost::alloc::string::String,
StructuredFieldValue,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructuredFieldValue {
#[prost(oneof = "structured_field_value::Kind", tags = "1, 2, 3, 4, 5, 6, 7")]
pub kind: ::core::option::Option<structured_field_value::Kind>,
}
pub mod structured_field_value {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Scalar(super::ScalarValue),
#[prost(
enumeration = "super::super::super::super::google::protobuf::NullValue",
tag = "2"
)]
NullValue(i32),
#[prost(bool, tag = "3")]
BooleanValue(bool),
#[prost(uint64, tag = "4")]
Uint64Value(u64),
#[prost(message, tag = "5")]
ArbitraryInteger(super::ArbitraryInteger),
#[prost(message, tag = "6")]
Object(super::StructuredObject),
#[prost(message, tag = "7")]
Array(super::StructuredArray),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StructuredArray {
#[prost(message, repeated, tag = "1")]
pub values: ::prost::alloc::vec::Vec<StructuredFieldValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArbitraryInteger {
#[prost(string, tag = "1")]
pub decimal: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ResultInterval {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "3")]
pub value: ::core::option::Option<IntervalValue>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalValue {
#[prost(oneof = "interval_value::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<interval_value::Kind>,
}
pub mod interval_value {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(double, tag = "1")]
Aggregate(f64),
#[prost(message, tag = "2")]
Statistics(super::IntervalStatistics),
#[prost(message, tag = "3")]
NoPoints(super::NoPointsInInterval),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NoPointsInInterval {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalStatistics {
#[prost(double, tag = "1")]
pub mean: f64,
#[prost(double, tag = "2")]
pub min: f64,
#[prost(double, tag = "3")]
pub max: f64,
#[prost(double, tag = "4")]
pub standard_deviation: f64,
#[prost(double, tag = "5")]
pub count: f64,
#[prost(double, tag = "6")]
pub sum: f64,
#[prost(double, optional, tag = "7")]
pub root_mean_square: ::core::option::Option<f64>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct NumericSample {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(double, tag = "2")]
pub value: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalSample {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValueSample {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<ComputeValue>,
#[prost(bool, tag = "3")]
pub precision_loss: bool,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogSample {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(string, tag = "2")]
pub message: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "3")]
pub attributes: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "4")]
pub id: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResultGrouping {
#[prost(map = "string, string", tag = "1")]
pub tags: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ResultGroupingKeys {
#[prost(string, repeated, tag = "1")]
pub keys: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ArrowResult {
#[prost(bytes = "vec", tag = "1")]
pub ipc_stream: ::prost::alloc::vec::Vec<u8>,
#[prost(enumeration = "ArrowResultShape", tag = "2")]
pub shape: i32,
#[prost(message, optional, tag = "3")]
pub grouping_keys: ::core::option::Option<ResultGroupingKeys>,
#[prost(string, tag = "4")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationFailure {
#[prost(string, tag = "1")]
pub error_type: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub http_status_code: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ChannelUnitReference {
#[prost(string, tag = "1")]
pub data_source_rid: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub channel: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MissingInputUnits {
#[deprecated]
#[prost(string, repeated, tag = "1")]
pub logical_series_rids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub channels: ::prost::alloc::vec::Vec<ChannelUnitReference>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IncompatibleUnitCalculation {
#[prost(enumeration = "UnitCalculationOperation", tag = "1")]
pub operation: i32,
#[prost(string, repeated, tag = "2")]
pub units: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnitCalculationIssue {
#[prost(oneof = "unit_calculation_issue::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<unit_calculation_issue::Kind>,
}
pub mod unit_calculation_issue {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Incompatible(super::IncompatibleUnitCalculation),
#[prost(message, tag = "2")]
Missing(super::MissingInputUnits),
#[prost(message, tag = "3")]
Error(super::super::super::types::SerializableError),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnavailableUnit {
#[prost(message, repeated, tag = "1")]
pub issues: ::prost::alloc::vec::Vec<UnitCalculationIssue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputedUnit {
#[prost(oneof = "computed_unit::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<computed_unit::Kind>,
}
pub mod computed_unit {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(string, tag = "1")]
Symbol(::prost::alloc::string::String),
#[prost(message, tag = "2")]
Unavailable(super::UnavailableUnit),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianComputedUnits {
#[prost(message, optional, tag = "1")]
pub x: ::core::option::Option<ComputedUnit>,
#[prost(message, optional, tag = "2")]
pub y: ::core::option::Option<ComputedUnit>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cartesian3dComputedUnits {
#[prost(message, optional, tag = "1")]
pub x: ::core::option::Option<ComputedUnit>,
#[prost(message, optional, tag = "2")]
pub y: ::core::option::Option<ComputedUnit>,
#[prost(message, optional, tag = "3")]
pub z: ::core::option::Option<ComputedUnit>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateComputedUnits {
#[prost(message, repeated, tag = "1")]
pub units: ::prost::alloc::vec::Vec<ComputedUnit>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationUnits {
#[prost(oneof = "computation_units::Kind", tags = "1, 2, 3, 4")]
pub kind: ::core::option::Option<computation_units::Kind>,
}
pub mod computation_units {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Single(super::ComputedUnit),
#[prost(message, tag = "2")]
Cartesian(super::CartesianComputedUnits),
#[prost(message, tag = "3")]
Cartesian3d(super::Cartesian3dComputedUnits),
#[prost(message, tag = "4")]
Multivariate(super::MultivariateComputedUnits),
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ArrowResultShape {
Unspecified = 0,
Numeric = 1,
NumericBuckets = 2,
Categorical = 3,
CategoricalBuckets = 4,
Log = 5,
Struct = 6,
StructBuckets = 7,
FullResolution = 8,
MultivariateBuckets = 9,
NumericArrayBuckets = 10,
CategoricalArrayBuckets = 11,
}
impl ArrowResultShape {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "ARROW_RESULT_SHAPE_UNSPECIFIED",
Self::Numeric => "ARROW_RESULT_SHAPE_NUMERIC",
Self::NumericBuckets => "ARROW_RESULT_SHAPE_NUMERIC_BUCKETS",
Self::Categorical => "ARROW_RESULT_SHAPE_CATEGORICAL",
Self::CategoricalBuckets => "ARROW_RESULT_SHAPE_CATEGORICAL_BUCKETS",
Self::Log => "ARROW_RESULT_SHAPE_LOG",
Self::Struct => "ARROW_RESULT_SHAPE_STRUCT",
Self::StructBuckets => "ARROW_RESULT_SHAPE_STRUCT_BUCKETS",
Self::FullResolution => "ARROW_RESULT_SHAPE_FULL_RESOLUTION",
Self::MultivariateBuckets => "ARROW_RESULT_SHAPE_MULTIVARIATE_BUCKETS",
Self::NumericArrayBuckets => "ARROW_RESULT_SHAPE_NUMERIC_ARRAY_BUCKETS",
Self::CategoricalArrayBuckets => {
"ARROW_RESULT_SHAPE_CATEGORICAL_ARRAY_BUCKETS"
}
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"ARROW_RESULT_SHAPE_UNSPECIFIED" => Some(Self::Unspecified),
"ARROW_RESULT_SHAPE_NUMERIC" => Some(Self::Numeric),
"ARROW_RESULT_SHAPE_NUMERIC_BUCKETS" => Some(Self::NumericBuckets),
"ARROW_RESULT_SHAPE_CATEGORICAL" => Some(Self::Categorical),
"ARROW_RESULT_SHAPE_CATEGORICAL_BUCKETS" => Some(Self::CategoricalBuckets),
"ARROW_RESULT_SHAPE_LOG" => Some(Self::Log),
"ARROW_RESULT_SHAPE_STRUCT" => Some(Self::Struct),
"ARROW_RESULT_SHAPE_STRUCT_BUCKETS" => Some(Self::StructBuckets),
"ARROW_RESULT_SHAPE_FULL_RESOLUTION" => Some(Self::FullResolution),
"ARROW_RESULT_SHAPE_MULTIVARIATE_BUCKETS" => Some(Self::MultivariateBuckets),
"ARROW_RESULT_SHAPE_NUMERIC_ARRAY_BUCKETS" => Some(Self::NumericArrayBuckets),
"ARROW_RESULT_SHAPE_CATEGORICAL_ARRAY_BUCKETS" => {
Some(Self::CategoricalArrayBuckets)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum UnitCalculationOperation {
Unspecified = 0,
UnitAsExponent = 1,
NonIntegerAsExponent = 2,
FloorDivision = 3,
Modulo = 4,
CrossoverComparison = 5,
Max = 6,
Min = 7,
Mean = 8,
Union = 9,
Addition = 10,
Subtraction = 11,
UnitConversion = 12,
Comparison = 13,
TernaryOperator = 14,
}
impl UnitCalculationOperation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "UNIT_CALCULATION_OPERATION_UNSPECIFIED",
Self::UnitAsExponent => "UNIT_CALCULATION_OPERATION_UNIT_AS_EXPONENT",
Self::NonIntegerAsExponent => {
"UNIT_CALCULATION_OPERATION_NON_INTEGER_AS_EXPONENT"
}
Self::FloorDivision => "UNIT_CALCULATION_OPERATION_FLOOR_DIVISION",
Self::Modulo => "UNIT_CALCULATION_OPERATION_MODULO",
Self::CrossoverComparison => {
"UNIT_CALCULATION_OPERATION_CROSSOVER_COMPARISON"
}
Self::Max => "UNIT_CALCULATION_OPERATION_MAX",
Self::Min => "UNIT_CALCULATION_OPERATION_MIN",
Self::Mean => "UNIT_CALCULATION_OPERATION_MEAN",
Self::Union => "UNIT_CALCULATION_OPERATION_UNION",
Self::Addition => "UNIT_CALCULATION_OPERATION_ADDITION",
Self::Subtraction => "UNIT_CALCULATION_OPERATION_SUBTRACTION",
Self::UnitConversion => "UNIT_CALCULATION_OPERATION_UNIT_CONVERSION",
Self::Comparison => "UNIT_CALCULATION_OPERATION_COMPARISON",
Self::TernaryOperator => "UNIT_CALCULATION_OPERATION_TERNARY_OPERATOR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNIT_CALCULATION_OPERATION_UNSPECIFIED" => Some(Self::Unspecified),
"UNIT_CALCULATION_OPERATION_UNIT_AS_EXPONENT" => Some(Self::UnitAsExponent),
"UNIT_CALCULATION_OPERATION_NON_INTEGER_AS_EXPONENT" => {
Some(Self::NonIntegerAsExponent)
}
"UNIT_CALCULATION_OPERATION_FLOOR_DIVISION" => Some(Self::FloorDivision),
"UNIT_CALCULATION_OPERATION_MODULO" => Some(Self::Modulo),
"UNIT_CALCULATION_OPERATION_CROSSOVER_COMPARISON" => {
Some(Self::CrossoverComparison)
}
"UNIT_CALCULATION_OPERATION_MAX" => Some(Self::Max),
"UNIT_CALCULATION_OPERATION_MIN" => Some(Self::Min),
"UNIT_CALCULATION_OPERATION_MEAN" => Some(Self::Mean),
"UNIT_CALCULATION_OPERATION_UNION" => Some(Self::Union),
"UNIT_CALCULATION_OPERATION_ADDITION" => Some(Self::Addition),
"UNIT_CALCULATION_OPERATION_SUBTRACTION" => Some(Self::Subtraction),
"UNIT_CALCULATION_OPERATION_UNIT_CONVERSION" => Some(Self::UnitConversion),
"UNIT_CALCULATION_OPERATION_COMPARISON" => Some(Self::Comparison),
"UNIT_CALCULATION_OPERATION_TERNARY_OPERATOR" => Some(Self::TernaryOperator),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericSamples {
#[prost(message, repeated, tag = "1")]
pub samples: ::prost::alloc::vec::Vec<NumericSample>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericBucketStatistics {
#[prost(double, optional, tag = "1")]
pub min: ::core::option::Option<f64>,
#[prost(double, optional, tag = "2")]
pub max: ::core::option::Option<f64>,
#[prost(double, optional, tag = "3")]
pub mean: ::core::option::Option<f64>,
#[prost(int64, optional, tag = "4")]
pub count: ::core::option::Option<i64>,
#[prost(double, optional, tag = "5")]
pub variance: ::core::option::Option<f64>,
#[prost(message, optional, tag = "6")]
pub first: ::core::option::Option<NumericSample>,
#[prost(message, optional, tag = "7")]
pub last: ::core::option::Option<NumericSample>,
#[prost(map = "string, double", tag = "8")]
pub aggregations: ::std::collections::HashMap<::prost::alloc::string::String, f64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericResultBucket {
#[prost(message, optional, tag = "1")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "2")]
pub statistics: ::core::option::Option<NumericBucketStatistics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericBuckets {
#[prost(message, repeated, tag = "1")]
pub buckets: ::prost::alloc::vec::Vec<NumericResultBucket>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct HistogramInputCount {
#[prost(int64, tag = "1")]
pub count: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericHistogramBin {
#[prost(double, tag = "1")]
pub lower_bound: f64,
#[prost(double, tag = "2")]
pub upper_bound: f64,
#[prost(map = "string, message", tag = "3")]
pub counts_by_input: ::std::collections::HashMap<
::prost::alloc::string::String,
HistogramInputCount,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericHistogram {
#[prost(message, repeated, tag = "1")]
pub bins: ::prost::alloc::vec::Vec<NumericHistogramBin>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CategoricalCodeSample {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(int32, tag = "2")]
pub category_index: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalSamples {
#[prost(string, repeated, tag = "1")]
pub categories: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub samples: ::prost::alloc::vec::Vec<CategoricalCodeSample>,
#[prost(string, tag = "3")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalBucketStatistics {
#[prost(map = "int32, int64", tag = "1")]
pub count_by_category_index: ::std::collections::HashMap<i32, i64>,
#[prost(message, optional, tag = "2")]
pub first: ::core::option::Option<CategoricalCodeSample>,
#[prost(message, optional, tag = "3")]
pub last: ::core::option::Option<CategoricalCodeSample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalResultBucket {
#[prost(message, optional, tag = "1")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "2")]
pub statistics: ::core::option::Option<CategoricalBucketStatistics>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalBuckets {
#[prost(string, repeated, tag = "1")]
pub categories: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "2")]
pub buckets: ::prost::alloc::vec::Vec<CategoricalResultBucket>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalHistogramBin {
#[prost(string, tag = "1")]
pub value: ::prost::alloc::string::String,
#[prost(map = "string, message", tag = "2")]
pub counts_by_input: ::std::collections::HashMap<
::prost::alloc::string::String,
HistogramInputCount,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalHistogram {
#[prost(message, repeated, tag = "1")]
pub bins: ::prost::alloc::vec::Vec<CategoricalHistogramBin>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogSamples {
#[prost(message, repeated, tag = "1")]
pub samples: ::prost::alloc::vec::Vec<LogSample>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesSummarization {
#[prost(oneof = "series_summarization::Kind", tags = "1, 2, 3, 4, 5")]
pub kind: ::core::option::Option<series_summarization::Kind>,
}
pub mod series_summarization {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
FixedResolution(super::FixedResolutionSummary),
#[prost(message, tag = "2")]
BucketCount(super::BucketCountSummary),
#[prost(message, tag = "3")]
LargestTriangleThreeBuckets(super::LargestTriangleThreeBucketsSummary),
#[prost(message, tag = "4")]
PointPage(super::PointPageSummary),
#[prost(message, tag = "5")]
Truncated(super::TruncatedSummary),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FixedResolutionSummary {
#[prost(int64, tag = "1")]
pub resolution_nanos: i64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BucketCountSummary {
#[prost(int32, tag = "1")]
pub bucket_count: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LargestTriangleThreeBucketsSummary {
#[prost(int32, tag = "1")]
pub max_points_per_group: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PointPageSummary {
#[prost(uint32, tag = "1")]
pub page_size: u32,
#[prost(enumeration = "ComputeTimeDirection", tag = "2")]
pub direction: i32,
#[prost(string, tag = "3")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TruncatedSummary {
#[prost(int32, tag = "1")]
pub max_points: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericOutputSelection {
#[prost(message, optional, tag = "1")]
pub columns: ::core::option::Option<NumericOutputColumns>,
#[prost(map = "string, message", tag = "2")]
pub named_reductions: ::std::collections::HashMap<
::prost::alloc::string::String,
NumericReduction,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericOutputColumns {
#[prost(message, repeated, tag = "1")]
pub columns: ::prost::alloc::vec::Vec<NumericOutputColumn>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericOutputColumn {
#[prost(oneof = "numeric_output_column::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<numeric_output_column::Kind>,
}
pub mod numeric_output_column {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(enumeration = "super::NumericOutputStatistic", tag = "1")]
Statistic(i32),
#[prost(message, tag = "2")]
Percentile(super::PercentileOutputColumn),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PercentileOutputColumn {
#[prost(message, optional, tag = "1")]
pub percentile: ::core::option::Option<DoubleConstant>,
#[prost(string, optional, tag = "2")]
pub output_name: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct StftConfiguration {
#[prost(enumeration = "ComputeFftWindow", optional, tag = "1")]
pub window: ::core::option::Option<i32>,
#[prost(enumeration = "ComputeWindowSymmetry", optional, tag = "2")]
pub window_symmetry: ::core::option::Option<i32>,
#[prost(double, optional, tag = "3")]
pub sampling_frequency: ::core::option::Option<f64>,
#[prost(int32, optional, tag = "4")]
pub segment_length: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "5")]
pub overlap_length: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "6")]
pub fft_length: ::core::option::Option<i32>,
#[prost(enumeration = "ComputeDetrend", optional, tag = "7")]
pub detrend: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FrequencyBucketing {
#[prost(int32, tag = "1")]
pub bucket_count: i32,
#[prost(double, optional, tag = "2")]
pub min_frequency: ::core::option::Option<f64>,
#[prost(double, optional, tag = "3")]
pub max_frequency: ::core::option::Option<f64>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpectrogramBucketing {
#[prost(int32, optional, tag = "1")]
pub max_time_buckets: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "2")]
pub max_frequency_buckets: ::core::option::Option<i32>,
#[prost(double, optional, tag = "3")]
pub min_frequency: ::core::option::Option<f64>,
#[prost(double, optional, tag = "4")]
pub max_frequency: ::core::option::Option<f64>,
#[prost(enumeration = "SpectrogramReduction", optional, tag = "5")]
pub time_reduction: ::core::option::Option<i32>,
#[prost(enumeration = "SpectrogramReduction", optional, tag = "6")]
pub frequency_reduction: ::core::option::Option<i32>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeOutputFormat {
Unspecified = 0,
Typed = 1,
Arrow = 2,
}
impl ComputeOutputFormat {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_OUTPUT_FORMAT_UNSPECIFIED",
Self::Typed => "COMPUTE_OUTPUT_FORMAT_TYPED",
Self::Arrow => "COMPUTE_OUTPUT_FORMAT_ARROW",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_OUTPUT_FORMAT_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_OUTPUT_FORMAT_TYPED" => Some(Self::Typed),
"COMPUTE_OUTPUT_FORMAT_ARROW" => Some(Self::Arrow),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeTimeDirection {
Unspecified = 0,
Ascending = 1,
Descending = 2,
}
impl ComputeTimeDirection {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_TIME_DIRECTION_UNSPECIFIED",
Self::Ascending => "COMPUTE_TIME_DIRECTION_ASCENDING",
Self::Descending => "COMPUTE_TIME_DIRECTION_DESCENDING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_TIME_DIRECTION_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_TIME_DIRECTION_ASCENDING" => Some(Self::Ascending),
"COMPUTE_TIME_DIRECTION_DESCENDING" => Some(Self::Descending),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum NumericOutputStatistic {
Unspecified = 0,
Min = 1,
Max = 2,
Mean = 3,
Count = 4,
Variance = 5,
FirstPoint = 6,
LastPoint = 7,
Sum = 8,
StandardDeviation = 9,
RootMeanSquare = 10,
}
impl NumericOutputStatistic {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "NUMERIC_OUTPUT_STATISTIC_UNSPECIFIED",
Self::Min => "NUMERIC_OUTPUT_STATISTIC_MIN",
Self::Max => "NUMERIC_OUTPUT_STATISTIC_MAX",
Self::Mean => "NUMERIC_OUTPUT_STATISTIC_MEAN",
Self::Count => "NUMERIC_OUTPUT_STATISTIC_COUNT",
Self::Variance => "NUMERIC_OUTPUT_STATISTIC_VARIANCE",
Self::FirstPoint => "NUMERIC_OUTPUT_STATISTIC_FIRST_POINT",
Self::LastPoint => "NUMERIC_OUTPUT_STATISTIC_LAST_POINT",
Self::Sum => "NUMERIC_OUTPUT_STATISTIC_SUM",
Self::StandardDeviation => "NUMERIC_OUTPUT_STATISTIC_STANDARD_DEVIATION",
Self::RootMeanSquare => "NUMERIC_OUTPUT_STATISTIC_ROOT_MEAN_SQUARE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"NUMERIC_OUTPUT_STATISTIC_UNSPECIFIED" => Some(Self::Unspecified),
"NUMERIC_OUTPUT_STATISTIC_MIN" => Some(Self::Min),
"NUMERIC_OUTPUT_STATISTIC_MAX" => Some(Self::Max),
"NUMERIC_OUTPUT_STATISTIC_MEAN" => Some(Self::Mean),
"NUMERIC_OUTPUT_STATISTIC_COUNT" => Some(Self::Count),
"NUMERIC_OUTPUT_STATISTIC_VARIANCE" => Some(Self::Variance),
"NUMERIC_OUTPUT_STATISTIC_FIRST_POINT" => Some(Self::FirstPoint),
"NUMERIC_OUTPUT_STATISTIC_LAST_POINT" => Some(Self::LastPoint),
"NUMERIC_OUTPUT_STATISTIC_SUM" => Some(Self::Sum),
"NUMERIC_OUTPUT_STATISTIC_STANDARD_DEVIATION" => {
Some(Self::StandardDeviation)
}
"NUMERIC_OUTPUT_STATISTIC_ROOT_MEAN_SQUARE" => Some(Self::RootMeanSquare),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeFftWindow {
Unspecified = 0,
Blackman = 1,
Hann = 2,
Hamming = 3,
Rectangular = 4,
}
impl ComputeFftWindow {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_FFT_WINDOW_UNSPECIFIED",
Self::Blackman => "COMPUTE_FFT_WINDOW_BLACKMAN",
Self::Hann => "COMPUTE_FFT_WINDOW_HANN",
Self::Hamming => "COMPUTE_FFT_WINDOW_HAMMING",
Self::Rectangular => "COMPUTE_FFT_WINDOW_RECTANGULAR",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_FFT_WINDOW_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_FFT_WINDOW_BLACKMAN" => Some(Self::Blackman),
"COMPUTE_FFT_WINDOW_HANN" => Some(Self::Hann),
"COMPUTE_FFT_WINDOW_HAMMING" => Some(Self::Hamming),
"COMPUTE_FFT_WINDOW_RECTANGULAR" => Some(Self::Rectangular),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeWindowSymmetry {
Unspecified = 0,
DftEven = 1,
Symmetric = 2,
}
impl ComputeWindowSymmetry {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_WINDOW_SYMMETRY_UNSPECIFIED",
Self::DftEven => "COMPUTE_WINDOW_SYMMETRY_DFT_EVEN",
Self::Symmetric => "COMPUTE_WINDOW_SYMMETRY_SYMMETRIC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_WINDOW_SYMMETRY_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_WINDOW_SYMMETRY_DFT_EVEN" => Some(Self::DftEven),
"COMPUTE_WINDOW_SYMMETRY_SYMMETRIC" => Some(Self::Symmetric),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeDetrend {
Unspecified = 0,
Constant = 1,
Linear = 2,
None = 3,
}
impl ComputeDetrend {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_DETREND_UNSPECIFIED",
Self::Constant => "COMPUTE_DETREND_CONSTANT",
Self::Linear => "COMPUTE_DETREND_LINEAR",
Self::None => "COMPUTE_DETREND_NONE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_DETREND_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_DETREND_CONSTANT" => Some(Self::Constant),
"COMPUTE_DETREND_LINEAR" => Some(Self::Linear),
"COMPUTE_DETREND_NONE" => Some(Self::None),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeMagnitudeScaling {
Unspecified = 0,
Linear = 1,
Decibel10 = 2,
Decibel20 = 3,
}
impl ComputeMagnitudeScaling {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_MAGNITUDE_SCALING_UNSPECIFIED",
Self::Linear => "COMPUTE_MAGNITUDE_SCALING_LINEAR",
Self::Decibel10 => "COMPUTE_MAGNITUDE_SCALING_DECIBEL_10",
Self::Decibel20 => "COMPUTE_MAGNITUDE_SCALING_DECIBEL_20",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_MAGNITUDE_SCALING_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_MAGNITUDE_SCALING_LINEAR" => Some(Self::Linear),
"COMPUTE_MAGNITUDE_SCALING_DECIBEL_10" => Some(Self::Decibel10),
"COMPUTE_MAGNITUDE_SCALING_DECIBEL_20" => Some(Self::Decibel20),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeFrequencyUnit {
Unspecified = 0,
Hertz = 1,
RadiansPerSecond = 2,
CyclesPerSample = 3,
RadiansPerSample = 4,
}
impl ComputeFrequencyUnit {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_FREQUENCY_UNIT_UNSPECIFIED",
Self::Hertz => "COMPUTE_FREQUENCY_UNIT_HERTZ",
Self::RadiansPerSecond => "COMPUTE_FREQUENCY_UNIT_RADIANS_PER_SECOND",
Self::CyclesPerSample => "COMPUTE_FREQUENCY_UNIT_CYCLES_PER_SAMPLE",
Self::RadiansPerSample => "COMPUTE_FREQUENCY_UNIT_RADIANS_PER_SAMPLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_FREQUENCY_UNIT_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_FREQUENCY_UNIT_HERTZ" => Some(Self::Hertz),
"COMPUTE_FREQUENCY_UNIT_RADIANS_PER_SECOND" => Some(Self::RadiansPerSecond),
"COMPUTE_FREQUENCY_UNIT_CYCLES_PER_SAMPLE" => Some(Self::CyclesPerSample),
"COMPUTE_FREQUENCY_UNIT_RADIANS_PER_SAMPLE" => Some(Self::RadiansPerSample),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputePhaseUnit {
Unspecified = 0,
Radians = 1,
Degrees = 2,
}
impl ComputePhaseUnit {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_PHASE_UNIT_UNSPECIFIED",
Self::Radians => "COMPUTE_PHASE_UNIT_RADIANS",
Self::Degrees => "COMPUTE_PHASE_UNIT_DEGREES",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_PHASE_UNIT_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_PHASE_UNIT_RADIANS" => Some(Self::Radians),
"COMPUTE_PHASE_UNIT_DEGREES" => Some(Self::Degrees),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SpectrogramQuantity {
Unspecified = 0,
PowerSpectralDensity = 1,
Amplitude = 2,
}
impl SpectrogramQuantity {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SPECTROGRAM_QUANTITY_UNSPECIFIED",
Self::PowerSpectralDensity => "SPECTROGRAM_QUANTITY_POWER_SPECTRAL_DENSITY",
Self::Amplitude => "SPECTROGRAM_QUANTITY_AMPLITUDE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SPECTROGRAM_QUANTITY_UNSPECIFIED" => Some(Self::Unspecified),
"SPECTROGRAM_QUANTITY_POWER_SPECTRAL_DENSITY" => {
Some(Self::PowerSpectralDensity)
}
"SPECTROGRAM_QUANTITY_AMPLITUDE" => Some(Self::Amplitude),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SpectrogramReduction {
Unspecified = 0,
Mean = 1,
Max = 2,
GeometricMean = 3,
}
impl SpectrogramReduction {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SPECTROGRAM_REDUCTION_UNSPECIFIED",
Self::Mean => "SPECTROGRAM_REDUCTION_MEAN",
Self::Max => "SPECTROGRAM_REDUCTION_MAX",
Self::GeometricMean => "SPECTROGRAM_REDUCTION_GEOMETRIC_MEAN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SPECTROGRAM_REDUCTION_UNSPECIFIED" => Some(Self::Unspecified),
"SPECTROGRAM_REDUCTION_MEAN" => Some(Self::Mean),
"SPECTROGRAM_REDUCTION_MAX" => Some(Self::Max),
"SPECTROGRAM_REDUCTION_GEOMETRIC_MEAN" => Some(Self::GeometricMean),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ScatterTemporalReduction {
Unspecified = 0,
Mean = 1,
Min = 2,
Max = 3,
First = 4,
Last = 5,
}
impl ScatterTemporalReduction {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SCATTER_TEMPORAL_REDUCTION_UNSPECIFIED",
Self::Mean => "SCATTER_TEMPORAL_REDUCTION_MEAN",
Self::Min => "SCATTER_TEMPORAL_REDUCTION_MIN",
Self::Max => "SCATTER_TEMPORAL_REDUCTION_MAX",
Self::First => "SCATTER_TEMPORAL_REDUCTION_FIRST",
Self::Last => "SCATTER_TEMPORAL_REDUCTION_LAST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SCATTER_TEMPORAL_REDUCTION_UNSPECIFIED" => Some(Self::Unspecified),
"SCATTER_TEMPORAL_REDUCTION_MEAN" => Some(Self::Mean),
"SCATTER_TEMPORAL_REDUCTION_MIN" => Some(Self::Min),
"SCATTER_TEMPORAL_REDUCTION_MAX" => Some(Self::Max),
"SCATTER_TEMPORAL_REDUCTION_FIRST" => Some(Self::First),
"SCATTER_TEMPORAL_REDUCTION_LAST" => Some(Self::Last),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ScatterDriverAxis {
Unspecified = 0,
X = 1,
Y = 2,
Z = 3,
}
impl ScatterDriverAxis {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SCATTER_DRIVER_AXIS_UNSPECIFIED",
Self::X => "SCATTER_DRIVER_AXIS_X",
Self::Y => "SCATTER_DRIVER_AXIS_Y",
Self::Z => "SCATTER_DRIVER_AXIS_Z",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SCATTER_DRIVER_AXIS_UNSPECIFIED" => Some(Self::Unspecified),
"SCATTER_DRIVER_AXIS_X" => Some(Self::X),
"SCATTER_DRIVER_AXIS_Y" => Some(Self::Y),
"SCATTER_DRIVER_AXIS_Z" => Some(Self::Z),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MultivariateNumericReduction {
Unspecified = 0,
Mean = 1,
Min = 2,
Max = 3,
First = 4,
Last = 5,
}
impl MultivariateNumericReduction {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MULTIVARIATE_NUMERIC_REDUCTION_UNSPECIFIED",
Self::Mean => "MULTIVARIATE_NUMERIC_REDUCTION_MEAN",
Self::Min => "MULTIVARIATE_NUMERIC_REDUCTION_MIN",
Self::Max => "MULTIVARIATE_NUMERIC_REDUCTION_MAX",
Self::First => "MULTIVARIATE_NUMERIC_REDUCTION_FIRST",
Self::Last => "MULTIVARIATE_NUMERIC_REDUCTION_LAST",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MULTIVARIATE_NUMERIC_REDUCTION_UNSPECIFIED" => Some(Self::Unspecified),
"MULTIVARIATE_NUMERIC_REDUCTION_MEAN" => Some(Self::Mean),
"MULTIVARIATE_NUMERIC_REDUCTION_MIN" => Some(Self::Min),
"MULTIVARIATE_NUMERIC_REDUCTION_MAX" => Some(Self::Max),
"MULTIVARIATE_NUMERIC_REDUCTION_FIRST" => Some(Self::First),
"MULTIVARIATE_NUMERIC_REDUCTION_LAST" => Some(Self::Last),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum MultivariateCategoricalReduction {
Unspecified = 0,
Mode = 1,
}
impl MultivariateCategoricalReduction {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "MULTIVARIATE_CATEGORICAL_REDUCTION_UNSPECIFIED",
Self::Mode => "MULTIVARIATE_CATEGORICAL_REDUCTION_MODE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"MULTIVARIATE_CATEGORICAL_REDUCTION_UNSPECIFIED" => Some(Self::Unspecified),
"MULTIVARIATE_CATEGORICAL_REDUCTION_MODE" => Some(Self::Mode),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationSpec {
#[prost(oneof = "computation_spec::Kind", tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10")]
pub kind: ::core::option::Option<computation_spec::Kind>,
}
pub mod computation_spec {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
IntervalSummary(super::IntervalSummarySpec),
#[prost(message, tag = "2")]
SeriesSummary(super::SeriesSummarySpec),
#[prost(message, tag = "3")]
Selection(super::ValueSelectionSpec),
#[prost(message, tag = "4")]
Cartesian(super::CartesianSummarySpec),
#[prost(message, tag = "5")]
Cartesian3d(super::Cartesian3dSummarySpec),
#[prost(message, tag = "6")]
Frequency(super::FrequencyAnalysisSpec),
#[prost(message, tag = "7")]
Spectrogram(super::SpectrogramSpec),
#[prost(message, tag = "8")]
Histogram(super::HistogramSpec),
#[prost(message, tag = "9")]
Curve(super::CurveFitExpression),
#[prost(message, tag = "10")]
Multivariate(super::MultivariateSummarySpec),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntervalSummarySpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<RangeExpression>,
#[prost(int32, optional, tag = "2")]
pub max_intervals: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesSummarySpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<SeriesExpression>,
#[prost(enumeration = "ComputeOutputFormat", optional, tag = "2")]
pub output_format: ::core::option::Option<i32>,
#[prost(message, optional, tag = "3")]
pub numeric_output: ::core::option::Option<NumericOutputSelection>,
#[prost(message, optional, tag = "4")]
pub summarization: ::core::option::Option<SeriesSummarization>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ValueSelectionSpec {
#[prost(oneof = "value_selection_spec::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<value_selection_spec::Kind>,
}
pub mod value_selection_spec {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Point(super::SeriesPointSelection),
#[prost(message, tag = "2")]
Interval(super::IntervalSelection),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SeriesPointSelection {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<SeriesExpression>,
#[prost(enumeration = "ComputePointRepresentation", tag = "2")]
pub representation: i32,
#[prost(oneof = "series_point_selection::Position", tags = "3, 4")]
pub position: ::core::option::Option<series_point_selection::Position>,
}
pub mod series_point_selection {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Position {
#[prost(message, tag = "3")]
First(super::FirstSelection),
#[prost(message, tag = "4")]
Last(super::LastSelection),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FirstSelection {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LastSelection {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntervalSelection {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<RangeExpression>,
#[prost(oneof = "interval_selection::Kind", tags = "2, 3, 4")]
pub kind: ::core::option::Option<interval_selection::Kind>,
}
pub mod interval_selection {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "2")]
First(super::FirstSelection),
#[prost(message, tag = "3")]
Last(super::LastSelection),
#[prost(message, tag = "4")]
Indexed(super::IndexedIntervalSelection),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IndexedIntervalSelection {
#[prost(message, optional, tag = "1")]
pub index: ::core::option::Option<IntegerConstant>,
#[prost(enumeration = "ComputeTimeDirection", tag = "2")]
pub direction: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianSummarySpec {
#[prost(message, optional, tag = "1")]
pub x: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub y: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "3")]
pub bounds: ::core::option::Option<CartesianSummaryBounds>,
#[prost(message, optional, tag = "4")]
pub summarization: ::core::option::Option<ScatterSummarization>,
#[prost(int32, optional, tag = "5")]
pub max_points: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianSummaryBounds {
#[prost(message, optional, tag = "1")]
pub min_x: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "2")]
pub max_x: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "3")]
pub min_y: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "4")]
pub max_y: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cartesian3dSummarySpec {
#[prost(message, optional, tag = "1")]
pub x: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub y: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "3")]
pub z: ::core::option::Option<NumericExpression>,
#[prost(enumeration = "ScatterDriverAxis", optional, tag = "4")]
pub driver_axis: ::core::option::Option<i32>,
#[prost(message, optional, tag = "5")]
pub bounds: ::core::option::Option<Cartesian3dSummaryBounds>,
#[prost(message, optional, tag = "6")]
pub summarization: ::core::option::Option<ScatterSummarization>,
#[prost(int32, optional, tag = "7")]
pub max_points: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cartesian3dSummaryBounds {
#[prost(message, optional, tag = "1")]
pub min_x: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "2")]
pub max_x: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "3")]
pub min_y: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "4")]
pub max_y: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "5")]
pub min_z: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "6")]
pub max_z: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ScatterSummarization {
#[prost(oneof = "scatter_summarization::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<scatter_summarization::Kind>,
}
pub mod scatter_summarization {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Spatial(super::SpatialScatterSummary),
#[prost(message, tag = "2")]
Temporal(super::TemporalScatterSummary),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SpatialScatterSummary {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TemporalScatterSummary {
#[prost(enumeration = "ScatterTemporalReduction", tag = "1")]
pub x_reduction: i32,
#[prost(enumeration = "ScatterTemporalReduction", tag = "2")]
pub y_reduction: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FrequencyAnalysisSpec {
#[prost(oneof = "frequency_analysis_spec::Kind", tags = "1, 2, 3, 4, 5")]
pub kind: ::core::option::Option<frequency_analysis_spec::Kind>,
}
pub mod frequency_analysis_spec {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Fft(super::FftSpec),
#[prost(message, tag = "2")]
PowerSpectralDensity(super::PowerSpectralDensitySpec),
#[prost(message, tag = "3")]
CrossSpectralDensity(super::CrossSpectralDensitySpec),
#[prost(message, tag = "4")]
FrequencyResponse(super::FrequencyResponseSpec),
#[prost(message, tag = "5")]
Bode(super::BodeSpec),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FftSpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<NumericExpression>,
#[prost(enumeration = "ComputeFftWindow", optional, tag = "2")]
pub window: ::core::option::Option<i32>,
#[prost(message, optional, tag = "3")]
pub bucketing: ::core::option::Option<FrequencyBucketing>,
#[prost(int32, optional, tag = "4")]
pub fft_length: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PowerSpectralDensitySpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub stft: ::core::option::Option<StftConfiguration>,
#[prost(enumeration = "ComputeMagnitudeScaling", optional, tag = "3")]
pub magnitude_scaling: ::core::option::Option<i32>,
#[prost(enumeration = "ComputeFrequencyUnit", optional, tag = "4")]
pub frequency_unit: ::core::option::Option<i32>,
#[prost(message, optional, tag = "5")]
pub bucketing: ::core::option::Option<FrequencyBucketing>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CrossSpectralDensitySpec {
#[prost(message, optional, tag = "1")]
pub x: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub y: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "3")]
pub stft: ::core::option::Option<StftConfiguration>,
#[prost(enumeration = "ComputeMagnitudeScaling", optional, tag = "4")]
pub magnitude_scaling: ::core::option::Option<i32>,
#[prost(enumeration = "ComputeFrequencyUnit", optional, tag = "5")]
pub frequency_unit: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "6")]
pub unwrap_phase: ::core::option::Option<bool>,
#[prost(enumeration = "ComputePhaseUnit", optional, tag = "7")]
pub phase_unit: ::core::option::Option<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FrequencyResponseSpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub output: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "3")]
pub stft: ::core::option::Option<StftConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BodeSpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub output: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "3")]
pub alignment: ::core::option::Option<SignalAlignment>,
#[prost(message, optional, tag = "4")]
pub stft: ::core::option::Option<StftConfiguration>,
#[prost(enumeration = "ComputeMagnitudeScaling", optional, tag = "5")]
pub magnitude_scaling: ::core::option::Option<i32>,
#[prost(enumeration = "ComputeFrequencyUnit", optional, tag = "6")]
pub frequency_unit: ::core::option::Option<i32>,
#[prost(bool, optional, tag = "7")]
pub unwrap_phase: ::core::option::Option<bool>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SignalAlignment {
#[prost(message, optional, tag = "1")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
#[prost(enumeration = "SignalAlignmentDriver", tag = "2")]
pub driver: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpectrogramSpec {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<NumericExpression>,
#[prost(message, optional, tag = "2")]
pub stft: ::core::option::Option<StftConfiguration>,
#[prost(enumeration = "SpectrogramQuantity", optional, tag = "3")]
pub quantity: ::core::option::Option<i32>,
#[prost(enumeration = "ComputeMagnitudeScaling", optional, tag = "4")]
pub magnitude_scaling: ::core::option::Option<i32>,
#[prost(message, optional, tag = "5")]
pub bucketing: ::core::option::Option<SpectrogramBucketing>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistogramSpec {
#[prost(oneof = "histogram_spec::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<histogram_spec::Kind>,
}
pub mod histogram_spec {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Numeric(super::NumericHistogramSpec),
#[prost(message, tag = "2")]
Categorical(super::CategoricalHistogramSpec),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericHistogramSpec {
#[prost(map = "string, message", tag = "1")]
pub inputs: ::std::collections::HashMap<
::prost::alloc::string::String,
NumericExpression,
>,
#[prost(message, optional, tag = "2")]
pub bucketing: ::core::option::Option<NumericHistogramBucketing>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct NumericHistogramBucketing {
#[prost(oneof = "numeric_histogram_bucketing::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<numeric_histogram_bucketing::Kind>,
}
pub mod numeric_histogram_bucketing {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
BucketCount(super::IntegerConstant),
#[prost(message, tag = "2")]
WidthAndOffset(super::HistogramWidthAndOffset),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HistogramWidthAndOffset {
#[prost(message, optional, tag = "1")]
pub width: ::core::option::Option<DoubleConstant>,
#[prost(message, optional, tag = "2")]
pub offset: ::core::option::Option<DoubleConstant>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CategoricalHistogramSpec {
#[prost(map = "string, message", tag = "1")]
pub inputs: ::std::collections::HashMap<
::prost::alloc::string::String,
CategoricalExpression,
>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateSummarySpec {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<MultivariateSummaryInput>,
#[prost(enumeration = "ComputeOutputFormat", optional, tag = "2")]
pub output_format: ::core::option::Option<i32>,
#[prost(int32, optional, tag = "3")]
pub bucket_count: ::core::option::Option<i32>,
#[prost(message, optional, tag = "4")]
pub interpolation: ::core::option::Option<InterpolationConfiguration>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateSummaryInput {
#[prost(oneof = "multivariate_summary_input::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<multivariate_summary_input::Kind>,
}
pub mod multivariate_summary_input {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Numeric(super::MultivariateNumericInput),
#[prost(message, tag = "2")]
Categorical(super::MultivariateCategoricalInput),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateNumericInput {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<NumericExpression>,
#[prost(
enumeration = "MultivariateNumericReduction",
repeated,
packed = "false",
tag = "2"
)]
pub reductions: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateCategoricalInput {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<CategoricalExpression>,
#[prost(
enumeration = "MultivariateCategoricalReduction",
repeated,
packed = "false",
tag = "2"
)]
pub reductions: ::prost::alloc::vec::Vec<i32>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputePointRepresentation {
Unspecified = 0,
TypedSample = 1,
ValueSample = 2,
}
impl ComputePointRepresentation {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_POINT_REPRESENTATION_UNSPECIFIED",
Self::TypedSample => "COMPUTE_POINT_REPRESENTATION_TYPED_SAMPLE",
Self::ValueSample => "COMPUTE_POINT_REPRESENTATION_VALUE_SAMPLE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_POINT_REPRESENTATION_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_POINT_REPRESENTATION_TYPED_SAMPLE" => Some(Self::TypedSample),
"COMPUTE_POINT_REPRESENTATION_VALUE_SAMPLE" => Some(Self::ValueSample),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum SignalAlignmentDriver {
Unspecified = 0,
Input = 1,
Output = 2,
}
impl SignalAlignmentDriver {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SIGNAL_ALIGNMENT_DRIVER_UNSPECIFIED",
Self::Input => "SIGNAL_ALIGNMENT_DRIVER_INPUT",
Self::Output => "SIGNAL_ALIGNMENT_DRIVER_OUTPUT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SIGNAL_ALIGNMENT_DRIVER_UNSPECIFIED" => Some(Self::Unspecified),
"SIGNAL_ALIGNMENT_DRIVER_INPUT" => Some(Self::Input),
"SIGNAL_ALIGNMENT_DRIVER_OUTPUT" => Some(Self::Output),
_ => None,
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecutionInput {
#[prost(message, optional, tag = "1")]
pub computation: ::core::option::Option<ComputationSpec>,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "4")]
pub context: ::core::option::Option<ComputeContext>,
#[prost(string, optional, tag = "5")]
pub source_rid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "6")]
pub request_id: ::core::option::Option<::prost::alloc::string::String>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnitResolutionInput {
#[prost(message, optional, tag = "1")]
pub computation: ::core::option::Option<ComputationSpec>,
#[prost(message, optional, tag = "2")]
pub context: ::core::option::Option<ComputeContext>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExecutionWindowOverride {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterOverlay {
#[prost(map = "string, message", tag = "1")]
pub variables: ::std::collections::HashMap<
::prost::alloc::string::String,
VariableValue,
>,
#[prost(message, optional, tag = "2")]
pub window: ::core::option::Option<ExecutionWindowOverride>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParameterizedExecutionInput {
#[prost(message, optional, tag = "1")]
pub computation: ::core::option::Option<ComputationSpec>,
#[prost(message, optional, tag = "2")]
pub start: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "3")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "4")]
pub context: ::core::option::Option<ComputeContext>,
#[prost(string, optional, tag = "5")]
pub source_rid: ::core::option::Option<::prost::alloc::string::String>,
#[prost(message, repeated, tag = "6")]
pub overlays: ::prost::alloc::vec::Vec<ParameterOverlay>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecutionBatch {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<ExecutionInput>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct UnitResolutionBatch {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<UnitResolutionInput>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CurveFitMetrics {
#[prost(double, tag = "1")]
pub r_squared: f64,
#[prost(double, tag = "2")]
pub mean_absolute_error: f64,
#[prost(double, tag = "3")]
pub mean_squared_error: f64,
#[prost(double, tag = "4")]
pub root_mean_squared_error: f64,
#[prost(double, tag = "5")]
pub max_absolute_error: f64,
#[prost(int32, tag = "6")]
pub sample_count: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ExponentialCurveParameters {
#[prost(double, tag = "1")]
pub a: f64,
#[prost(double, tag = "2")]
pub b: f64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct LogarithmicCurveParameters {
#[prost(double, tag = "1")]
pub a: f64,
#[prost(double, tag = "2")]
pub b: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PolynomialCurveParameters {
#[prost(double, repeated, tag = "1")]
pub coefficients: ::prost::alloc::vec::Vec<f64>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PowerCurveParameters {
#[prost(double, tag = "1")]
pub a: f64,
#[prost(double, tag = "2")]
pub b: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CustomCurveParameters {
#[prost(map = "string, double", tag = "1")]
pub parameters: ::std::collections::HashMap<::prost::alloc::string::String, f64>,
#[prost(bool, tag = "2")]
pub converged: bool,
#[prost(int32, tag = "3")]
pub iterations: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FittedCurve {
#[prost(message, optional, tag = "1")]
pub metrics: ::core::option::Option<CurveFitMetrics>,
#[prost(oneof = "fitted_curve::Parameters", tags = "2, 3, 4, 5, 6")]
pub parameters: ::core::option::Option<fitted_curve::Parameters>,
}
pub mod fitted_curve {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Parameters {
#[prost(message, tag = "2")]
Exponential(super::ExponentialCurveParameters),
#[prost(message, tag = "3")]
Logarithmic(super::LogarithmicCurveParameters),
#[prost(message, tag = "4")]
Polynomial(super::PolynomialCurveParameters),
#[prost(message, tag = "5")]
Power(super::PowerCurveParameters),
#[prost(message, tag = "6")]
Custom(super::CustomCurveParameters),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RealFrequencySample {
#[prost(double, tag = "1")]
pub frequency: f64,
#[prost(double, tag = "2")]
pub amplitude: f64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ComplexFrequencySample {
#[prost(double, tag = "1")]
pub frequency: f64,
#[prost(double, tag = "2")]
pub real: f64,
#[prost(double, tag = "3")]
pub imaginary: f64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct PolarFrequencySample {
#[prost(double, tag = "1")]
pub frequency: f64,
#[prost(double, tag = "2")]
pub magnitude: f64,
#[prost(double, tag = "3")]
pub phase: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RealFrequencySamples {
#[prost(message, repeated, tag = "1")]
pub samples: ::prost::alloc::vec::Vec<RealFrequencySample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComplexFrequencySamples {
#[prost(message, repeated, tag = "1")]
pub samples: ::prost::alloc::vec::Vec<ComplexFrequencySample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PolarFrequencySamples {
#[prost(message, repeated, tag = "1")]
pub samples: ::prost::alloc::vec::Vec<PolarFrequencySample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FrequencySamples {
#[prost(oneof = "frequency_samples::Kind", tags = "1, 2, 3")]
pub kind: ::core::option::Option<frequency_samples::Kind>,
}
pub mod frequency_samples {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Real(super::RealFrequencySamples),
#[prost(message, tag = "2")]
Complex(super::ComplexFrequencySamples),
#[prost(message, tag = "3")]
Polar(super::PolarFrequencySamples),
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct FrequencyResultBucket {
#[prost(double, tag = "1")]
pub start_frequency: f64,
#[prost(double, tag = "2")]
pub end_frequency: f64,
#[prost(double, tag = "3")]
pub center_frequency: f64,
#[prost(double, tag = "4")]
pub min_amplitude: f64,
#[prost(double, tag = "5")]
pub max_amplitude: f64,
#[prost(double, tag = "6")]
pub mean_amplitude: f64,
#[prost(int64, tag = "7")]
pub count: i64,
#[prost(message, optional, tag = "8")]
pub first: ::core::option::Option<RealFrequencySample>,
#[prost(message, optional, tag = "9")]
pub last: ::core::option::Option<RealFrequencySample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FrequencyBuckets {
#[prost(message, repeated, tag = "1")]
pub buckets: ::prost::alloc::vec::Vec<FrequencyResultBucket>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpectrogramResultRow {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(double, repeated, tag = "3")]
pub values: ::prost::alloc::vec::Vec<f64>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpectrogramGrid {
#[prost(double, repeated, tag = "1")]
pub frequency_centers: ::prost::alloc::vec::Vec<f64>,
#[prost(double, repeated, tag = "2")]
pub frequency_edges: ::prost::alloc::vec::Vec<f64>,
#[prost(message, repeated, tag = "3")]
pub rows: ::prost::alloc::vec::Vec<SpectrogramResultRow>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CartesianSample {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(double, tag = "2")]
pub x: f64,
#[prost(double, tag = "3")]
pub y: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianSamples {
#[prost(message, repeated, tag = "1")]
pub samples: ::prost::alloc::vec::Vec<CartesianSample>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CartesianResultBucket {
#[prost(double, tag = "1")]
pub min_x: f64,
#[prost(double, tag = "2")]
pub max_x: f64,
#[prost(double, tag = "3")]
pub min_y: f64,
#[prost(double, tag = "4")]
pub max_y: f64,
#[prost(message, optional, tag = "5")]
pub min_timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "6")]
pub max_timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(int64, tag = "7")]
pub count: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CartesianBuckets {
#[prost(message, repeated, tag = "1")]
pub buckets: ::prost::alloc::vec::Vec<CartesianResultBucket>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cartesian3dSample {
#[prost(double, tag = "1")]
pub x: f64,
#[prost(double, tag = "2")]
pub y: f64,
#[prost(double, tag = "3")]
pub z: f64,
#[prost(message, optional, tag = "4")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cartesian3dCentroid {
#[prost(double, tag = "1")]
pub x: f64,
#[prost(double, tag = "2")]
pub y: f64,
#[prost(double, tag = "3")]
pub z: f64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Cartesian3dResultBucket {
#[prost(message, optional, tag = "1")]
pub centroid: ::core::option::Option<Cartesian3dCentroid>,
#[prost(message, optional, tag = "2")]
pub min_x_point: ::core::option::Option<Cartesian3dSample>,
#[prost(message, optional, tag = "3")]
pub max_x_point: ::core::option::Option<Cartesian3dSample>,
#[prost(message, optional, tag = "4")]
pub min_y_point: ::core::option::Option<Cartesian3dSample>,
#[prost(message, optional, tag = "5")]
pub max_y_point: ::core::option::Option<Cartesian3dSample>,
#[prost(message, optional, tag = "6")]
pub min_z_point: ::core::option::Option<Cartesian3dSample>,
#[prost(message, optional, tag = "7")]
pub max_z_point: ::core::option::Option<Cartesian3dSample>,
#[prost(message, optional, tag = "8")]
pub min_timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, optional, tag = "9")]
pub max_timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(int64, tag = "10")]
pub count: i64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Cartesian3dBuckets {
#[prost(message, repeated, tag = "1")]
pub buckets: ::prost::alloc::vec::Vec<Cartesian3dResultBucket>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateResultBucket {
#[prost(message, optional, tag = "1")]
pub timestamp: ::core::option::Option<super::super::types::time::Timestamp>,
#[prost(message, repeated, tag = "2")]
pub values: ::prost::alloc::vec::Vec<ComputeValue>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MultivariateBuckets {
#[prost(message, repeated, tag = "1")]
pub buckets: ::prost::alloc::vec::Vec<MultivariateResultBucket>,
#[prost(message, optional, tag = "2")]
pub grouping_keys: ::core::option::Option<ResultGroupingKeys>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntervalCollection {
#[prost(message, repeated, tag = "1")]
pub intervals: ::prost::alloc::vec::Vec<ResultInterval>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct IntervalSummary {
#[prost(message, optional, tag = "1")]
pub interval: ::core::option::Option<ResultInterval>,
#[prost(int32, tag = "2")]
pub interval_count: i32,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IntervalSummaries {
#[prost(message, repeated, tag = "1")]
pub summaries: ::prost::alloc::vec::Vec<IntervalSummary>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OptionalIntervalResult {
#[prost(message, optional, tag = "1")]
pub interval: ::core::option::Option<ResultInterval>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct OptionalNumericSampleResult {
#[prost(message, optional, tag = "1")]
pub sample: ::core::option::Option<NumericSample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OptionalCategoricalSampleResult {
#[prost(message, optional, tag = "1")]
pub sample: ::core::option::Option<CategoricalSample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OptionalValueSampleResult {
#[prost(message, optional, tag = "1")]
pub sample: ::core::option::Option<ValueSample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OptionalLogSampleResult {
#[prost(message, optional, tag = "1")]
pub sample: ::core::option::Option<LogSample>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupedComputationResult {
#[prost(message, optional, tag = "1")]
pub grouping: ::core::option::Option<ResultGrouping>,
#[prost(message, optional, tag = "2")]
pub result: ::core::option::Option<ComputationResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GroupedComputationResults {
#[prost(message, repeated, tag = "1")]
pub groups: ::prost::alloc::vec::Vec<GroupedComputationResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationResult {
#[prost(
oneof = "computation_result::Kind",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24"
)]
pub kind: ::core::option::Option<computation_result::Kind>,
}
pub mod computation_result {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Intervals(super::IntervalCollection),
#[prost(message, tag = "2")]
IntervalSummaries(super::IntervalSummaries),
#[prost(message, tag = "3")]
Interval(super::OptionalIntervalResult),
#[prost(message, tag = "4")]
NumericSamples(super::NumericSamples),
#[prost(message, tag = "5")]
NumericBuckets(super::NumericBuckets),
#[prost(message, tag = "6")]
NumericSample(super::OptionalNumericSampleResult),
#[prost(message, tag = "7")]
ValueSample(super::OptionalValueSampleResult),
#[prost(message, tag = "8")]
CategoricalSamples(super::CategoricalSamples),
#[prost(message, tag = "9")]
CategoricalBuckets(super::CategoricalBuckets),
#[prost(message, tag = "10")]
CategoricalSample(super::OptionalCategoricalSampleResult),
#[prost(message, tag = "11")]
LogSamples(super::LogSamples),
#[prost(message, tag = "12")]
LogSample(super::OptionalLogSampleResult),
#[prost(message, tag = "13")]
CartesianSamples(super::CartesianSamples),
#[prost(message, tag = "14")]
CartesianBuckets(super::CartesianBuckets),
#[prost(message, tag = "15")]
Cartesian3dBuckets(super::Cartesian3dBuckets),
#[prost(message, tag = "16")]
FrequencySamples(super::FrequencySamples),
#[prost(message, tag = "17")]
FrequencyBuckets(super::FrequencyBuckets),
#[prost(message, tag = "18")]
Spectrogram(super::SpectrogramGrid),
#[prost(message, tag = "19")]
NumericHistogram(super::NumericHistogram),
#[prost(message, tag = "20")]
CategoricalHistogram(super::CategoricalHistogram),
#[prost(message, tag = "21")]
FittedCurve(super::FittedCurve),
#[prost(message, tag = "22")]
Grouped(super::GroupedComputationResults),
#[prost(message, tag = "23")]
Arrow(super::ArrowResult),
#[prost(message, tag = "24")]
MultivariateBuckets(super::MultivariateBuckets),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationOutcome {
#[prost(oneof = "computation_outcome::Kind", tags = "1, 2")]
pub kind: ::core::option::Option<computation_outcome::Kind>,
}
pub mod computation_outcome {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Kind {
#[prost(message, tag = "1")]
Success(super::ComputationResult),
#[prost(message, tag = "2")]
Failure(super::ComputationFailure),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationWithUnits {
#[prost(message, optional, tag = "1")]
pub result: ::core::option::Option<ComputationResult>,
#[prost(message, optional, tag = "2")]
pub units: ::core::option::Option<ComputationUnits>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputationOutcomeWithUnits {
#[prost(message, optional, tag = "1")]
pub outcome: ::core::option::Option<ComputationOutcome>,
#[prost(message, optional, tag = "2")]
pub units: ::core::option::Option<ComputationUnits>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchCancelRequestsRequest {
#[prost(string, repeated, tag = "1")]
pub request_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct BatchCancelRequestsResponse {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetRequestProgressRequest {
#[prost(string, repeated, tag = "1")]
pub request_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RequestInProgress {
#[prost(int64, tag = "1")]
pub read_rows: i64,
#[prost(int64, tag = "2")]
pub total_rows_approx: i64,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct RequestInactive {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct RequestProgress {
#[prost(string, tag = "1")]
pub request_id: ::prost::alloc::string::String,
#[prost(oneof = "request_progress::State", tags = "2, 3")]
pub state: ::core::option::Option<request_progress::State>,
}
pub mod request_progress {
#[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
pub enum State {
#[prost(message, tag = "2")]
InProgress(super::RequestInProgress),
#[prost(message, tag = "3")]
Inactive(super::RequestInactive),
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchGetRequestProgressResponse {
#[prost(message, repeated, tag = "1")]
pub progress: ::prost::alloc::vec::Vec<RequestProgress>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuotaWindow {
#[prost(message, optional, tag = "1")]
pub start_time: ::core::option::Option<
super::super::super::google::protobuf::Timestamp,
>,
#[prost(message, optional, tag = "2")]
pub end_time: ::core::option::Option<
super::super::super::google::protobuf::Timestamp,
>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QuotaResourceUsage {
#[prost(enumeration = "QuotaResourceType", tag = "1")]
pub resource: i32,
#[prost(double, tag = "2")]
pub used: f64,
#[prost(double, tag = "3")]
pub limit: f64,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuotaIntervalUsage {
#[prost(int64, tag = "1")]
pub duration_seconds: i64,
#[prost(message, optional, tag = "2")]
pub current_window: ::core::option::Option<QuotaWindow>,
#[prost(message, repeated, tag = "3")]
pub resources: ::prost::alloc::vec::Vec<QuotaResourceUsage>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QuotaUsage {
#[prost(message, repeated, tag = "1")]
pub intervals: ::prost::alloc::vec::Vec<QuotaIntervalUsage>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListQuotaUsageIntervalsRequest {
#[prost(int32, optional, tag = "1")]
pub page_size: ::core::option::Option<i32>,
#[prost(string, tag = "2")]
pub page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ListQuotaUsageIntervalsResponse {
#[prost(message, repeated, tag = "1")]
pub intervals: ::prost::alloc::vec::Vec<QuotaIntervalUsage>,
#[prost(string, tag = "2")]
pub next_page_token: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputeRequest {
#[prost(message, optional, tag = "1")]
pub input: ::core::option::Option<ExecutionInput>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ComputeResponse {
#[prost(message, optional, tag = "1")]
pub result: ::core::option::Option<ComputationResult>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchComputeWithUnitsRequest {
#[prost(message, repeated, tag = "1")]
pub inputs: ::prost::alloc::vec::Vec<ExecutionInput>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchComputeWithUnitsResponse {
#[prost(message, repeated, tag = "1")]
pub results: ::prost::alloc::vec::Vec<ComputationOutcomeWithUnits>,
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeRequestControlError {
Unspecified = 0,
InvalidRequestId = 1,
InvalidPageToken = 2,
InvalidPageSize = 3,
}
impl ComputeRequestControlError {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_REQUEST_CONTROL_ERROR_UNSPECIFIED",
Self::InvalidRequestId => "COMPUTE_REQUEST_CONTROL_ERROR_INVALID_REQUEST_ID",
Self::InvalidPageToken => "COMPUTE_REQUEST_CONTROL_ERROR_INVALID_PAGE_TOKEN",
Self::InvalidPageSize => "COMPUTE_REQUEST_CONTROL_ERROR_INVALID_PAGE_SIZE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_REQUEST_CONTROL_ERROR_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_REQUEST_CONTROL_ERROR_INVALID_REQUEST_ID" => {
Some(Self::InvalidRequestId)
}
"COMPUTE_REQUEST_CONTROL_ERROR_INVALID_PAGE_TOKEN" => {
Some(Self::InvalidPageToken)
}
"COMPUTE_REQUEST_CONTROL_ERROR_INVALID_PAGE_SIZE" => {
Some(Self::InvalidPageSize)
}
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeRequestAdmissionError {
Unspecified = 0,
TooDeep = 1,
TooManyMessages = 2,
TooLarge = 3,
}
impl ComputeRequestAdmissionError {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_REQUEST_ADMISSION_ERROR_UNSPECIFIED",
Self::TooDeep => "COMPUTE_REQUEST_ADMISSION_ERROR_TOO_DEEP",
Self::TooManyMessages => "COMPUTE_REQUEST_ADMISSION_ERROR_TOO_MANY_MESSAGES",
Self::TooLarge => "COMPUTE_REQUEST_ADMISSION_ERROR_TOO_LARGE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_REQUEST_ADMISSION_ERROR_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_REQUEST_ADMISSION_ERROR_TOO_DEEP" => Some(Self::TooDeep),
"COMPUTE_REQUEST_ADMISSION_ERROR_TOO_MANY_MESSAGES" => {
Some(Self::TooManyMessages)
}
"COMPUTE_REQUEST_ADMISSION_ERROR_TOO_LARGE" => Some(Self::TooLarge),
_ => None,
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum QuotaResourceType {
Unspecified = 0,
ReadRows = 1,
ReadBytes = 2,
Queries = 3,
Errors = 4,
ExecutionTime = 5,
}
impl QuotaResourceType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "QUOTA_RESOURCE_TYPE_UNSPECIFIED",
Self::ReadRows => "QUOTA_RESOURCE_TYPE_READ_ROWS",
Self::ReadBytes => "QUOTA_RESOURCE_TYPE_READ_BYTES",
Self::Queries => "QUOTA_RESOURCE_TYPE_QUERIES",
Self::Errors => "QUOTA_RESOURCE_TYPE_ERRORS",
Self::ExecutionTime => "QUOTA_RESOURCE_TYPE_EXECUTION_TIME",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"QUOTA_RESOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified),
"QUOTA_RESOURCE_TYPE_READ_ROWS" => Some(Self::ReadRows),
"QUOTA_RESOURCE_TYPE_READ_BYTES" => Some(Self::ReadBytes),
"QUOTA_RESOURCE_TYPE_QUERIES" => Some(Self::Queries),
"QUOTA_RESOURCE_TYPE_ERRORS" => Some(Self::Errors),
"QUOTA_RESOURCE_TYPE_EXECUTION_TIME" => Some(Self::ExecutionTime),
_ => None,
}
}
}
pub mod compute_service_client {
#![allow(
unused_variables,
dead_code,
missing_docs,
clippy::wildcard_imports,
clippy::let_unit_value,
)]
use tonic::codegen::*;
use tonic::codegen::http::Uri;
#[derive(Debug, Clone)]
pub struct ComputeServiceClient<T> {
inner: tonic::client::Grpc<T>,
}
impl ComputeServiceClient<tonic::transport::Channel> {
pub async fn connect<D>(dst: D) -> Result<Self, tonic::transport::Error>
where
D: TryInto<tonic::transport::Endpoint>,
D::Error: Into<StdError>,
{
let conn = tonic::transport::Endpoint::new(dst)?.connect().await?;
Ok(Self::new(conn))
}
}
impl<T> ComputeServiceClient<T>
where
T: tonic::client::GrpcService<tonic::body::Body>,
T::Error: Into<StdError>,
T::ResponseBody: Body<Data = Bytes> + std::marker::Send + 'static,
<T::ResponseBody as Body>::Error: Into<StdError> + std::marker::Send,
{
pub fn new(inner: T) -> Self {
let inner = tonic::client::Grpc::new(inner);
Self { inner }
}
pub fn with_origin(inner: T, origin: Uri) -> Self {
let inner = tonic::client::Grpc::with_origin(inner, origin);
Self { inner }
}
pub fn with_interceptor<F>(
inner: T,
interceptor: F,
) -> ComputeServiceClient<InterceptedService<T, F>>
where
F: tonic::service::Interceptor,
T::ResponseBody: Default,
T: tonic::codegen::Service<
http::Request<tonic::body::Body>,
Response = http::Response<
<T as tonic::client::GrpcService<tonic::body::Body>>::ResponseBody,
>,
>,
<T as tonic::codegen::Service<
http::Request<tonic::body::Body>,
>>::Error: Into<StdError> + std::marker::Send + std::marker::Sync,
{
ComputeServiceClient::new(InterceptedService::new(inner, interceptor))
}
#[must_use]
pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.send_compressed(encoding);
self
}
#[must_use]
pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self {
self.inner = self.inner.accept_compressed(encoding);
self
}
#[must_use]
pub fn max_decoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_decoding_message_size(limit);
self
}
#[must_use]
pub fn max_encoding_message_size(mut self, limit: usize) -> Self {
self.inner = self.inner.max_encoding_message_size(limit);
self
}
pub async fn compute(
&mut self,
request: impl tonic::IntoRequest<super::ComputeRequest>,
) -> std::result::Result<
tonic::Response<super::ComputeResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/nominal.compute.v1.ComputeService/Compute",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(GrpcMethod::new("nominal.compute.v1.ComputeService", "Compute"));
self.inner.unary(req, path, codec).await
}
pub async fn batch_compute_with_units(
&mut self,
request: impl tonic::IntoRequest<super::BatchComputeWithUnitsRequest>,
) -> std::result::Result<
tonic::Response<super::BatchComputeWithUnitsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/nominal.compute.v1.ComputeService/BatchComputeWithUnits",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"nominal.compute.v1.ComputeService",
"BatchComputeWithUnits",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn batch_cancel_requests(
&mut self,
request: impl tonic::IntoRequest<super::BatchCancelRequestsRequest>,
) -> std::result::Result<
tonic::Response<super::BatchCancelRequestsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/nominal.compute.v1.ComputeService/BatchCancelRequests",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"nominal.compute.v1.ComputeService",
"BatchCancelRequests",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn batch_get_request_progress(
&mut self,
request: impl tonic::IntoRequest<super::BatchGetRequestProgressRequest>,
) -> std::result::Result<
tonic::Response<super::BatchGetRequestProgressResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/nominal.compute.v1.ComputeService/BatchGetRequestProgress",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"nominal.compute.v1.ComputeService",
"BatchGetRequestProgress",
),
);
self.inner.unary(req, path, codec).await
}
pub async fn list_quota_usage_intervals(
&mut self,
request: impl tonic::IntoRequest<super::ListQuotaUsageIntervalsRequest>,
) -> std::result::Result<
tonic::Response<super::ListQuotaUsageIntervalsResponse>,
tonic::Status,
> {
self.inner
.ready()
.await
.map_err(|e| {
tonic::Status::unknown(
format!("Service was not ready: {}", e.into()),
)
})?;
let codec = tonic::codec::ProstCodec::default();
let path = http::uri::PathAndQuery::from_static(
"/nominal.compute.v1.ComputeService/ListQuotaUsageIntervals",
);
let mut req = request.into_request();
req.extensions_mut()
.insert(
GrpcMethod::new(
"nominal.compute.v1.ComputeService",
"ListQuotaUsageIntervals",
),
);
self.inner.unary(req, path, codec).await
}
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ComputeModelConversionError {
Unspecified = 0,
UnsupportedExpression = 1,
TimeComponentOutOfRange = 2,
IntegerOperandOutOfRange = 3,
ResultIntegerOutOfRange = 4,
InvalidPageToken = 5,
}
impl ComputeModelConversionError {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "COMPUTE_MODEL_CONVERSION_ERROR_UNSPECIFIED",
Self::UnsupportedExpression => {
"COMPUTE_MODEL_CONVERSION_ERROR_UNSUPPORTED_EXPRESSION"
}
Self::TimeComponentOutOfRange => {
"COMPUTE_MODEL_CONVERSION_ERROR_TIME_COMPONENT_OUT_OF_RANGE"
}
Self::IntegerOperandOutOfRange => {
"COMPUTE_MODEL_CONVERSION_ERROR_INTEGER_OPERAND_OUT_OF_RANGE"
}
Self::ResultIntegerOutOfRange => {
"COMPUTE_MODEL_CONVERSION_ERROR_RESULT_INTEGER_OUT_OF_RANGE"
}
Self::InvalidPageToken => "COMPUTE_MODEL_CONVERSION_ERROR_INVALID_PAGE_TOKEN",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"COMPUTE_MODEL_CONVERSION_ERROR_UNSPECIFIED" => Some(Self::Unspecified),
"COMPUTE_MODEL_CONVERSION_ERROR_UNSUPPORTED_EXPRESSION" => {
Some(Self::UnsupportedExpression)
}
"COMPUTE_MODEL_CONVERSION_ERROR_TIME_COMPONENT_OUT_OF_RANGE" => {
Some(Self::TimeComponentOutOfRange)
}
"COMPUTE_MODEL_CONVERSION_ERROR_INTEGER_OPERAND_OUT_OF_RANGE" => {
Some(Self::IntegerOperandOutOfRange)
}
"COMPUTE_MODEL_CONVERSION_ERROR_RESULT_INTEGER_OUT_OF_RANGE" => {
Some(Self::ResultIntegerOutOfRange)
}
"COMPUTE_MODEL_CONVERSION_ERROR_INVALID_PAGE_TOKEN" => {
Some(Self::InvalidPageToken)
}
_ => None,
}
}
}