#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobType {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, optional, tag = "2")]
pub name: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "3")]
pub description: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "4")]
pub input_schema_json: ::core::option::Option<::prost::alloc::string::String>,
#[prost(string, optional, tag = "5")]
pub output_schema_json: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for JobType {
const NAME: &'static str = "JobType";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.JobType".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.JobType".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobDefinition {
#[prost(string, tag = "1")]
pub job_type_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub target_execution_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(string, tag = "3")]
pub input_payload_json: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub labels: ::prost::alloc::vec::Vec<JobLabel>,
#[prost(message, optional, tag = "5")]
pub timeout_policy: ::core::option::Option<JobTimeoutPolicy>,
#[prost(message, optional, tag = "6")]
pub retry_policy: ::core::option::Option<JobRetryPolicy>,
#[prost(string, optional, tag = "7")]
pub metadata_json: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for JobDefinition {
const NAME: &'static str = "JobDefinition";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.JobDefinition".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.JobDefinition".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobLabel {
#[prost(string, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for JobLabel {
const NAME: &'static str = "JobLabel";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.JobLabel".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.JobLabel".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JobTimeoutPolicy {
#[prost(message, optional, tag = "1")]
pub timeout: ::core::option::Option<::prost_types::Duration>,
#[prost(enumeration = "JobTimeoutBaseTime", tag = "2")]
pub base_time: i32,
}
impl ::prost::Name for JobTimeoutPolicy {
const NAME: &'static str = "JobTimeoutPolicy";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.JobTimeoutPolicy".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.JobTimeoutPolicy".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct JobRetryPolicy {
#[prost(uint64, tag = "1")]
pub retries: u64,
}
impl ::prost::Name for JobRetryPolicy {
const NAME: &'static str = "JobRetryPolicy";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.JobRetryPolicy".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.JobRetryPolicy".into()
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JobTimeoutBaseTime {
Unspecified = 0,
TargetExecutionTime = 1,
StartTime = 2,
}
impl JobTimeoutBaseTime {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "JOB_TIMEOUT_BASE_TIME_UNSPECIFIED",
Self::TargetExecutionTime => "JOB_TIMEOUT_BASE_TIME_TARGET_EXECUTION_TIME",
Self::StartTime => "JOB_TIMEOUT_BASE_TIME_START_TIME",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JOB_TIMEOUT_BASE_TIME_UNSPECIFIED" => Some(Self::Unspecified),
"JOB_TIMEOUT_BASE_TIME_TARGET_EXECUTION_TIME" => Some(Self::TargetExecutionTime),
"JOB_TIMEOUT_BASE_TIME_START_TIME" => Some(Self::StartTime),
_ => None,
}
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct TimeRange {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<::prost_types::Timestamp>,
#[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()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct InclusiveTimeRange {
#[prost(message, optional, tag = "1")]
pub start: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub end: ::core::option::Option<::prost_types::Timestamp>,
}
impl ::prost::Name for InclusiveTimeRange {
const NAME: &'static str = "InclusiveTimeRange";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.InclusiveTimeRange".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.InclusiveTimeRange".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleDefinition {
#[prost(message, optional, tag = "1")]
pub job_timing_policy: ::core::option::Option<ScheduleJobTimingPolicy>,
#[prost(message, optional, tag = "2")]
pub job_creation_policy: ::core::option::Option<ScheduleJobCreationPolicy>,
#[prost(message, repeated, tag = "3")]
pub labels: ::prost::alloc::vec::Vec<ScheduleLabel>,
#[prost(message, optional, tag = "4")]
pub time_range: ::core::option::Option<TimeRange>,
#[prost(string, optional, tag = "5")]
pub metadata_json: ::core::option::Option<::prost::alloc::string::String>,
}
impl ::prost::Name for ScheduleDefinition {
const NAME: &'static str = "ScheduleDefinition";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.ScheduleDefinition".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.ScheduleDefinition".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleJobTimingPolicy {
#[prost(oneof = "schedule_job_timing_policy::JobTiming", tags = "1, 2")]
pub job_timing: ::core::option::Option<schedule_job_timing_policy::JobTiming>,
}
pub mod schedule_job_timing_policy {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum JobTiming {
#[prost(message, tag = "1")]
Repeat(super::ScheduleJobTimingPolicyRepeat),
#[prost(message, tag = "2")]
Cron(super::ScheduleJobTimingPolicyCron),
}
}
impl ::prost::Name for ScheduleJobTimingPolicy {
const NAME: &'static str = "ScheduleJobTimingPolicy";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.ScheduleJobTimingPolicy".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.ScheduleJobTimingPolicy".into()
}
}
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct ScheduleJobTimingPolicyRepeat {
#[prost(message, optional, tag = "1")]
pub interval: ::core::option::Option<::prost_types::Duration>,
#[prost(bool, tag = "2")]
pub immediate: bool,
#[prost(enumeration = "ScheduleMissedTimePolicy", tag = "3")]
pub missed_time_policy: i32,
}
impl ::prost::Name for ScheduleJobTimingPolicyRepeat {
const NAME: &'static str = "ScheduleJobTimingPolicyRepeat";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.ScheduleJobTimingPolicyRepeat".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.ScheduleJobTimingPolicyRepeat".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleJobTimingPolicyCron {
#[prost(string, tag = "1")]
pub cron_expression: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub immediate: bool,
#[prost(enumeration = "ScheduleMissedTimePolicy", tag = "3")]
pub missed_time_policy: i32,
}
impl ::prost::Name for ScheduleJobTimingPolicyCron {
const NAME: &'static str = "ScheduleJobTimingPolicyCron";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.ScheduleJobTimingPolicyCron".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.ScheduleJobTimingPolicyCron".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleJobCreationPolicy {
#[prost(oneof = "schedule_job_creation_policy::JobCreation", tags = "1")]
pub job_creation: ::core::option::Option<schedule_job_creation_policy::JobCreation>,
}
pub mod schedule_job_creation_policy {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum JobCreation {
#[prost(message, tag = "1")]
JobDefinition(super::JobDefinition),
}
}
impl ::prost::Name for ScheduleJobCreationPolicy {
const NAME: &'static str = "ScheduleJobCreationPolicy";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.ScheduleJobCreationPolicy".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.ScheduleJobCreationPolicy".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ScheduleLabel {
#[prost(string, tag = "1")]
pub key: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub value: ::prost::alloc::string::String,
}
impl ::prost::Name for ScheduleLabel {
const NAME: &'static str = "ScheduleLabel";
const PACKAGE: &'static str = "ora.common.v1";
fn full_name() -> ::prost::alloc::string::String {
"ora.common.v1.ScheduleLabel".into()
}
fn type_url() -> ::prost::alloc::string::String {
"/ora.common.v1.ScheduleLabel".into()
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ScheduleMissedTimePolicy {
Unspecified = 0,
Skip = 1,
Create = 2,
}
impl ScheduleMissedTimePolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SCHEDULE_MISSED_TIME_POLICY_UNSPECIFIED",
Self::Skip => "SCHEDULE_MISSED_TIME_POLICY_SKIP",
Self::Create => "SCHEDULE_MISSED_TIME_POLICY_CREATE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SCHEDULE_MISSED_TIME_POLICY_UNSPECIFIED" => Some(Self::Unspecified),
"SCHEDULE_MISSED_TIME_POLICY_SKIP" => Some(Self::Skip),
"SCHEDULE_MISSED_TIME_POLICY_CREATE" => Some(Self::Create),
_ => None,
}
}
}