// This file is @generated by prost-build.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationInfo {
    /// Batch job ID
    #[prost(string, tag = "1")]
    pub job_id: ::prost::alloc::string::String,
    /// Batch operation state
    #[prost(enumeration = "super::super::enums::v1::BatchOperationState", tag = "2")]
    pub state: i32,
    /// Batch operation start time
    #[prost(message, optional, tag = "3")]
    pub start_time: ::core::option::Option<::prost_types::Timestamp>,
    /// Batch operation close time
    #[prost(message, optional, tag = "4")]
    pub close_time: ::core::option::Option<::prost_types::Timestamp>,
}
/// BatchOperationTermination sends terminate requests to batch workflows.
/// Keep the parameter in sync with temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.
/// Ignore first_execution_run_id because this is used for single workflow operation.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationTermination {
    /// Serialized value(s) to provide to the termination event
    #[prost(message, optional, tag = "1")]
    pub details: ::core::option::Option<super::super::common::v1::Payloads>,
    /// The identity of the worker/client
    #[prost(string, tag = "2")]
    pub identity: ::prost::alloc::string::String,
}
/// BatchOperationSignal sends signals to batch workflows.
/// Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationSignal {
    /// The workflow author-defined name of the signal to send to the workflow
    #[prost(string, tag = "1")]
    pub signal: ::prost::alloc::string::String,
    /// Serialized value(s) to provide with the signal
    #[prost(message, optional, tag = "2")]
    pub input: ::core::option::Option<super::super::common::v1::Payloads>,
    /// Headers that are passed with the signal to the processing workflow.
    /// These can include things like auth or tracing tokens.
    #[prost(message, optional, tag = "3")]
    pub header: ::core::option::Option<super::super::common::v1::Header>,
    /// The identity of the worker/client
    #[prost(string, tag = "4")]
    pub identity: ::prost::alloc::string::String,
}
/// BatchOperationCancellation sends cancel requests to batch workflows.
/// Keep the parameter in sync with temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest.
/// Ignore first_execution_run_id because this is used for single workflow operation.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationCancellation {
    /// The identity of the worker/client
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
}
/// BatchOperationDeletion sends deletion requests to batch workflows.
/// Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationDeletion {
    /// The identity of the worker/client
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
}
/// BatchOperationReset sends reset requests to batch workflows.
/// Keep the parameter in sync with temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationReset {
    /// The identity of the worker/client.
    #[prost(string, tag = "3")]
    pub identity: ::prost::alloc::string::String,
    /// Describes what to reset to and how. If set, `reset_type` and `reset_reapply_type` are ignored.
    #[prost(message, optional, tag = "4")]
    pub options: ::core::option::Option<super::super::common::v1::ResetOptions>,
    /// Deprecated. Use `options`.
    #[deprecated]
    #[prost(enumeration = "super::super::enums::v1::ResetType", tag = "1")]
    pub reset_type: i32,
    /// Deprecated. Use `options`.
    #[deprecated]
    #[prost(enumeration = "super::super::enums::v1::ResetReapplyType", tag = "2")]
    pub reset_reapply_type: i32,
    /// Operations to perform after the workflow has been reset. These operations will be applied
    /// to the *new* run of the workflow execution in the order they are provided.
    /// All operations are applied to the workflow before the first new workflow task is generated
    #[prost(message, repeated, tag = "5")]
    pub post_reset_operations: ::prost::alloc::vec::Vec<
        super::super::workflow::v1::PostResetOperation,
    >,
}
/// BatchOperationUpdateWorkflowExecutionOptions sends UpdateWorkflowExecutionOptions requests to batch workflows.
/// Keep the parameters in sync with temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationUpdateWorkflowExecutionOptions {
    /// The identity of the worker/client.
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
    /// Update Workflow options that were originally specified via StartWorkflowExecution. Partial updates are accepted and controlled by update_mask.
    #[prost(message, optional, tag = "2")]
    pub workflow_execution_options: ::core::option::Option<
        super::super::workflow::v1::WorkflowExecutionOptions,
    >,
    /// Controls which fields from `workflow_execution_options` will be applied.
    /// To unset a field, set it to null and use the update mask to indicate that it should be mutated.
    #[prost(message, optional, tag = "3")]
    pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
}
/// BatchOperationUnpauseActivities sends unpause requests to batch workflows.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationUnpauseActivities {
    /// The identity of the worker/client.
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
    /// Setting this flag will also reset the number of attempts.
    #[prost(bool, tag = "4")]
    pub reset_attempts: bool,
    /// Setting this flag will also reset the heartbeat details.
    #[prost(bool, tag = "5")]
    pub reset_heartbeat: bool,
    /// If set, the activity will start at a random time within the specified jitter
    /// duration, introducing variability to the start time.
    #[prost(message, optional, tag = "6")]
    pub jitter: ::core::option::Option<::prost_types::Duration>,
    /// The activity to unpause. If match_all is set to true, all activities will be unpaused.
    #[prost(oneof = "batch_operation_unpause_activities::Activity", tags = "2, 3")]
    pub activity: ::core::option::Option<batch_operation_unpause_activities::Activity>,
}
/// Nested message and enum types in `BatchOperationUnpauseActivities`.
pub mod batch_operation_unpause_activities {
    /// The activity to unpause. If match_all is set to true, all activities will be unpaused.
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Activity {
        #[prost(string, tag = "2")]
        Type(::prost::alloc::string::String),
        #[prost(bool, tag = "3")]
        MatchAll(bool),
    }
}
/// BatchOperationTriggerWorkflowRule sends TriggerWorkflowRule requests to batch workflows.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationTriggerWorkflowRule {
    /// The identity of the worker/client.
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
    #[prost(oneof = "batch_operation_trigger_workflow_rule::Rule", tags = "2, 3")]
    pub rule: ::core::option::Option<batch_operation_trigger_workflow_rule::Rule>,
}
/// Nested message and enum types in `BatchOperationTriggerWorkflowRule`.
pub mod batch_operation_trigger_workflow_rule {
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Rule {
        /// ID of existing rule.
        #[prost(string, tag = "2")]
        Id(::prost::alloc::string::String),
        /// Rule specification to be applied to the workflow without creating a new rule.
        #[prost(message, tag = "3")]
        Spec(super::super::super::rules::v1::WorkflowRuleSpec),
    }
}
/// BatchOperationResetActivities sends activity reset requests in a batch.
/// NOTE: keep in sync with temporal.api.workflowservice.v1.ResetActivityRequest
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationResetActivities {
    /// The identity of the worker/client.
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
    /// Setting this flag will also reset the number of attempts.
    #[prost(bool, tag = "4")]
    pub reset_attempts: bool,
    /// Setting this flag will also reset the heartbeat details.
    #[prost(bool, tag = "5")]
    pub reset_heartbeat: bool,
    /// If activity is paused, it will remain paused after reset
    #[prost(bool, tag = "6")]
    pub keep_paused: bool,
    /// If set, the activity will start at a random time within the specified jitter
    /// duration, introducing variability to the start time.
    #[prost(message, optional, tag = "7")]
    pub jitter: ::core::option::Option<::prost_types::Duration>,
    /// If set, the activity options will be restored to the defaults.
    /// Default options are then options activity was created with.
    /// They are part of the first ActivityTaskScheduled event.
    #[prost(bool, tag = "8")]
    pub restore_original_options: bool,
    /// The activities to reset. If match_all is set to true, all activities will be reset.
    #[prost(oneof = "batch_operation_reset_activities::Activity", tags = "2, 3")]
    pub activity: ::core::option::Option<batch_operation_reset_activities::Activity>,
}
/// Nested message and enum types in `BatchOperationResetActivities`.
pub mod batch_operation_reset_activities {
    /// The activities to reset. If match_all is set to true, all activities will be reset.
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Activity {
        #[prost(string, tag = "2")]
        Type(::prost::alloc::string::String),
        #[prost(bool, tag = "3")]
        MatchAll(bool),
    }
}
/// BatchOperationUpdateActivityOptions sends an update-activity-options requests in a batch.
/// NOTE: keep in sync with temporal.api.workflowservice.v1.UpdateActivityRequest
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BatchOperationUpdateActivityOptions {
    /// The identity of the worker/client.
    #[prost(string, tag = "1")]
    pub identity: ::prost::alloc::string::String,
    /// Update Activity options. Partial updates are accepted and controlled by update_mask.
    #[prost(message, optional, tag = "4")]
    pub activity_options: ::core::option::Option<
        super::super::activity::v1::ActivityOptions,
    >,
    /// Controls which fields from `activity_options` will be applied
    #[prost(message, optional, tag = "5")]
    pub update_mask: ::core::option::Option<::prost_types::FieldMask>,
    /// If set, the activity options will be restored to the default.
    /// Default options are then options activity was created with.
    /// They are part of the first ActivityTaskScheduled event.
    /// This flag cannot be combined with any other option; if you supply
    /// restore_original together with other options, the request will be rejected.
    #[prost(bool, tag = "6")]
    pub restore_original: bool,
    /// The activity to update. If match_all is set to true, all activities will be updated.
    #[prost(oneof = "batch_operation_update_activity_options::Activity", tags = "2, 3")]
    pub activity: ::core::option::Option<
        batch_operation_update_activity_options::Activity,
    >,
}
/// Nested message and enum types in `BatchOperationUpdateActivityOptions`.
pub mod batch_operation_update_activity_options {
    /// The activity to update. If match_all is set to true, all activities will be updated.
    #[derive(Clone, PartialEq, ::prost::Oneof)]
    pub enum Activity {
        #[prost(string, tag = "2")]
        Type(::prost::alloc::string::String),
        #[prost(bool, tag = "3")]
        MatchAll(bool),
    }
}
