// This file is @generated by prost-build.
/// A label for categorizing and grouping entities.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct Label {
    /// The key of the label.
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    /// The value of the label.
    #[prost(string, tag = "2")]
    pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for Label {
    const NAME: &'static str = "Label";
    const PACKAGE: &'static str = "ora.common.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ora.common.v1.Label".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ora.common.v1.Label".into()
    }
}
/// A filter for labels.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LabelFilter {
    /// The key of the label to filter by.
    #[prost(string, tag = "1")]
    pub key: ::prost::alloc::string::String,
    /// An optional value of the label to filter by,
    /// if not specified, entities with
    /// the given key and any value will match.
    #[prost(string, optional, tag = "2")]
    pub value: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for LabelFilter {
    const NAME: &'static str = "LabelFilter";
    const PACKAGE: &'static str = "ora.common.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ora.common.v1.LabelFilter".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ora.common.v1.LabelFilter".into()
    }
}
/// A time range.
///
/// A time range is a range of time between two points.
///
/// The time range is inclusive of the start time and exclusive of the end time.
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TimeRange {
    /// The start time of the time range.
    ///
    /// If not provided, the time range is open-ended.
    #[prost(message, optional, tag = "1")]
    pub start: ::core::option::Option<::prost_types::Timestamp>,
    /// The end time of the time range.
    ///
    /// If not provided, the time range is open-ended.
    #[prost(message, optional, tag = "2")]
    pub end: ::core::option::Option<::prost_types::Timestamp>,
}
impl ::prost::Name for TimeRange {
    const NAME: &'static str = "TimeRange";
    const PACKAGE: &'static str = "ora.common.v1";
    fn full_name() -> ::prost::alloc::string::String {
        "ora.common.v1.TimeRange".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "/ora.common.v1.TimeRange".into()
    }
}
