// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct IngestFileRequest {
    #[prost(string, tag = "1")]
    pub ingest_job_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub dataset_file_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub dataset_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub org_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub workspace_rid: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "6")]
    pub handle: ::core::option::Option<super::super::types::object_storage::Handle>,
    #[prost(message, optional, tag = "7")]
    pub timestamp_metadata: ::core::option::Option<TimestampMetadata>,
    #[prost(map = "string, string", tag = "8")]
    pub additional_tags: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    #[prost(oneof = "ingest_file_request::Ingest", tags = "9, 10")]
    pub ingest: ::core::option::Option<ingest_file_request::Ingest>,
}
/// Nested message and enum types in `IngestFileRequest`.
pub mod ingest_file_request {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ingest {
        #[prost(message, tag = "9")]
        LogIngest(super::LogFileIngest),
        #[prost(message, tag = "10")]
        DataIngest(super::DataFileIngest),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LogFileIngest {
    #[prost(string, tag = "1")]
    pub log_channel: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DataFileIngest {
    #[prost(map = "string, string", tag = "4")]
    pub units: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    #[prost(string, optional, tag = "5")]
    pub channel_prefix: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(oneof = "data_file_ingest::Shape", tags = "1, 2, 3")]
    pub shape: ::core::option::Option<data_file_ingest::Shape>,
}
/// Nested message and enum types in `DataFileIngest`.
pub mod data_file_ingest {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Shape {
        #[prost(message, tag = "1")]
        WideOpts(super::WideOpts),
        #[prost(message, tag = "2")]
        LongOpts(super::LongOpts),
        #[prost(message, tag = "3")]
        BatchOpts(super::BatchOpts),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WideOpts {
    #[prost(map = "string, string", tag = "4")]
    pub tag_columns: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    #[prost(string, repeated, tag = "5")]
    pub exclude_columns: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
    #[prost(oneof = "wide_opts::Format", tags = "1, 2, 3")]
    pub format: ::core::option::Option<wide_opts::Format>,
}
/// Nested message and enum types in `WideOpts`.
pub mod wide_opts {
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Format {
        #[prost(message, tag = "1")]
        CsvOpts(super::CsvOpts),
        #[prost(message, tag = "2")]
        ParquetOpts(super::ParquetOpts),
        #[prost(message, tag = "3")]
        AvroOpts(super::AvroOpts),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct LongOpts {
    #[prost(string, tag = "4")]
    pub channel_column: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub value_column: ::prost::alloc::string::String,
    #[prost(string, optional, tag = "6")]
    pub tags_column: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(oneof = "long_opts::Format", tags = "1, 2, 3")]
    pub format: ::core::option::Option<long_opts::Format>,
}
/// Nested message and enum types in `LongOpts`.
pub mod long_opts {
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Format {
        #[prost(message, tag = "1")]
        CsvOpts(super::CsvOpts),
        #[prost(message, tag = "2")]
        ParquetOpts(super::ParquetOpts),
        #[prost(message, tag = "3")]
        AvroOpts(super::AvroOpts),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOpts {
    #[prost(string, tag = "2")]
    pub channel_field: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub timestamps_field: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub values_field: ::prost::alloc::string::String,
    #[prost(string, optional, tag = "5")]
    pub tags_field: ::core::option::Option<::prost::alloc::string::String>,
    #[prost(oneof = "batch_opts::Format", tags = "1")]
    pub format: ::core::option::Option<batch_opts::Format>,
}
/// Nested message and enum types in `BatchOpts`.
pub mod batch_opts {
    #[derive(Clone, Copy, PartialEq, ::prost::Oneof)]
    pub enum Format {
        #[prost(message, tag = "1")]
        AvroOpts(super::AvroOpts),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TimestampMetadata {
    #[prost(string, tag = "1")]
    pub column: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "2")]
    pub r#type: ::core::option::Option<super::super::types::time::TimestampType>,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct CsvOpts {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ParquetOpts {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AvroOpts {}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SetDatasetFileIngestStatusRequest {
    #[prost(string, tag = "1")]
    pub dataset_file_id: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub dataset_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub ingest_job_rid: ::prost::alloc::string::String,
    #[prost(oneof = "set_dataset_file_ingest_status_request::Status", tags = "3, 4, 5")]
    pub status: ::core::option::Option<set_dataset_file_ingest_status_request::Status>,
}
/// Nested message and enum types in `SetDatasetFileIngestStatusRequest`.
pub mod set_dataset_file_ingest_status_request {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Status {
        #[prost(message, tag = "3")]
        Parsing(super::Parsing),
        #[prost(message, tag = "4")]
        Ingesting(super::Ingesting),
        #[prost(message, tag = "5")]
        Error(super::Error),
    }
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct SetDatasetFileIngestStatusResponse {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Parsing {}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct Ingesting {
    #[prost(message, optional, tag = "1")]
    pub bounds: ::core::option::Option<super::super::types::time::Range>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Error {
    #[prost(string, tag = "1")]
    pub error_type: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub message: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub org_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub file_type: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParseFileRequest {
    #[prost(string, tag = "1")]
    pub ingest_job_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "2")]
    pub dataset_file_id: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub dataset_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub workspace_rid: ::prost::alloc::string::String,
    #[prost(message, optional, tag = "6")]
    pub handle: ::core::option::Option<super::super::types::object_storage::Handle>,
    #[prost(message, optional, tag = "7")]
    pub timestamp_metadata: ::core::option::Option<TimestampMetadata>,
    #[prost(map = "string, string", tag = "8")]
    pub additional_tags: ::std::collections::HashMap<
        ::prost::alloc::string::String,
        ::prost::alloc::string::String,
    >,
    #[prost(oneof = "parse_file_request::Ingest", tags = "9, 10")]
    pub ingest: ::core::option::Option<parse_file_request::Ingest>,
}
/// Nested message and enum types in `ParseFileRequest`.
pub mod parse_file_request {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Ingest {
        #[prost(message, tag = "9")]
        LogIngest(super::LogFileIngest),
        #[prost(message, tag = "10")]
        DataIngest(super::DataFileIngest),
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ParseFileResponse {
    #[prost(message, repeated, tag = "1")]
    pub staged_batches: ::prost::alloc::vec::Vec<StagedBatch>,
    #[prost(message, optional, tag = "2")]
    pub bounds: ::core::option::Option<super::super::types::time::Range>,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WriteFileBatchesToKafkaRequest {
    #[prost(message, repeated, tag = "1")]
    pub staged_batches: ::prost::alloc::vec::Vec<StagedBatch>,
    #[prost(string, tag = "2")]
    pub ingest_job_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "3")]
    pub file_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "4")]
    pub org_rid: ::prost::alloc::string::String,
    #[prost(string, tag = "5")]
    pub dataset_file_id: ::prost::alloc::string::String,
    #[prost(string, tag = "6")]
    pub dataset_rid: ::prost::alloc::string::String,
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct StagedBatch {
    #[prost(int32, tag = "1")]
    pub batch_id: i32,
    #[prost(message, optional, tag = "2")]
    pub handle: ::core::option::Option<super::super::types::object_storage::Handle>,
    #[prost(
        enumeration = "super::super::direct_channel_writer::v2::BatchFormat",
        tag = "3"
    )]
    pub format: i32,
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct WriteFileBatchesToKafkaResponse {}
