#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Environment {
#[prost(string, tag = "1")]
pub temp_storage_prefix: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub cluster_manager_api_service: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "3")]
pub experiments: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, repeated, tag = "16")]
pub service_options: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "12")]
pub service_kms_key_name: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "4")]
pub worker_pools: ::prost::alloc::vec::Vec<WorkerPool>,
#[prost(message, optional, tag = "5")]
pub user_agent: ::core::option::Option<::pbjson_types::Struct>,
#[prost(message, optional, tag = "6")]
pub version: ::core::option::Option<::pbjson_types::Struct>,
#[prost(string, tag = "7")]
pub dataset: ::prost::alloc::string::String,
#[prost(message, optional, tag = "8")]
pub sdk_pipeline_options: ::core::option::Option<::pbjson_types::Struct>,
#[prost(string, tag = "10")]
pub service_account_email: ::prost::alloc::string::String,
#[prost(enumeration = "FlexResourceSchedulingGoal", tag = "11")]
pub flex_resource_scheduling_goal: i32,
#[prost(string, tag = "13")]
pub worker_region: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub worker_zone: ::prost::alloc::string::String,
#[prost(enumeration = "ShuffleMode", tag = "15")]
pub shuffle_mode: i32,
#[prost(message, optional, tag = "17")]
pub debug_options: ::core::option::Option<DebugOptions>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Package {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub location: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct AutoscalingSettings {
#[prost(enumeration = "AutoscalingAlgorithm", tag = "1")]
pub algorithm: i32,
#[prost(int32, tag = "2")]
pub max_num_workers: i32,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SdkHarnessContainerImage {
#[prost(string, tag = "1")]
pub container_image: ::prost::alloc::string::String,
#[prost(bool, tag = "2")]
pub use_single_core_per_container: bool,
#[prost(string, tag = "3")]
pub environment_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "4")]
pub capabilities: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct WorkerPool {
#[prost(string, tag = "1")]
pub kind: ::prost::alloc::string::String,
#[prost(int32, tag = "2")]
pub num_workers: i32,
#[prost(message, repeated, tag = "3")]
pub packages: ::prost::alloc::vec::Vec<Package>,
#[prost(enumeration = "DefaultPackageSet", tag = "4")]
pub default_package_set: i32,
#[prost(string, tag = "5")]
pub machine_type: ::prost::alloc::string::String,
#[prost(enumeration = "TeardownPolicy", tag = "6")]
pub teardown_policy: i32,
#[prost(int32, tag = "7")]
pub disk_size_gb: i32,
#[prost(string, tag = "16")]
pub disk_type: ::prost::alloc::string::String,
#[prost(string, tag = "8")]
pub disk_source_image: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub zone: ::prost::alloc::string::String,
#[prost(string, tag = "11")]
pub on_host_maintenance: ::prost::alloc::string::String,
#[prost(map = "string, string", tag = "13")]
pub metadata: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(message, optional, tag = "14")]
pub autoscaling_settings: ::core::option::Option<AutoscalingSettings>,
#[prost(string, tag = "17")]
pub network: ::prost::alloc::string::String,
#[prost(string, tag = "19")]
pub subnetwork: ::prost::alloc::string::String,
#[prost(string, tag = "18")]
pub worker_harness_container_image: ::prost::alloc::string::String,
#[prost(int32, tag = "20")]
pub num_threads_per_worker: i32,
#[prost(enumeration = "WorkerIpAddressConfiguration", tag = "21")]
pub ip_configuration: i32,
#[prost(message, repeated, tag = "22")]
pub sdk_harness_container_images: ::prost::alloc::vec::Vec<SdkHarnessContainerImage>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct DebugOptions {
#[prost(bool, tag = "1")]
pub enable_hot_key_logging: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Job {
#[prost(string, tag = "1")]
pub id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub name: ::prost::alloc::string::String,
#[prost(enumeration = "JobType", tag = "4")]
pub r#type: i32,
#[prost(message, optional, tag = "5")]
pub environment: ::core::option::Option<Environment>,
#[prost(string, tag = "24")]
pub steps_location: ::prost::alloc::string::String,
#[prost(enumeration = "JobState", tag = "7")]
pub current_state: i32,
#[prost(message, optional, tag = "8")]
pub current_state_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(enumeration = "JobState", tag = "9")]
pub requested_state: i32,
#[prost(message, optional, tag = "10")]
pub execution_info: ::core::option::Option<JobExecutionInfo>,
#[prost(message, optional, tag = "11")]
pub create_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "12")]
pub replace_job_id: ::prost::alloc::string::String,
#[prost(string, tag = "14")]
pub client_request_id: ::prost::alloc::string::String,
#[prost(string, tag = "15")]
pub replaced_by_job_id: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "16")]
pub temp_files: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(map = "string, string", tag = "17")]
pub labels: ::std::collections::HashMap<
::prost::alloc::string::String,
::prost::alloc::string::String,
>,
#[prost(string, tag = "18")]
pub location: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "20")]
pub stage_states: ::prost::alloc::vec::Vec<ExecutionStageState>,
#[prost(message, optional, tag = "21")]
pub job_metadata: ::core::option::Option<JobMetadata>,
#[prost(message, optional, tag = "22")]
pub start_time: ::core::option::Option<::pbjson_types::Timestamp>,
#[prost(string, tag = "23")]
pub created_from_snapshot_id: ::prost::alloc::string::String,
#[prost(bool, tag = "25")]
pub satisfies_pzs: bool,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct DatastoreIoDetails {
#[prost(string, tag = "1")]
pub namespace: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub project_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct PubSubIoDetails {
#[prost(string, tag = "1")]
pub topic: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub subscription: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct FileIoDetails {
#[prost(string, tag = "1")]
pub file_pattern: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigTableIoDetails {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub instance_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub table_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct BigQueryIoDetails {
#[prost(string, tag = "1")]
pub table: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub dataset: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub query: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SpannerIoDetails {
#[prost(string, tag = "1")]
pub project_id: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub instance_id: ::prost::alloc::string::String,
#[prost(string, tag = "3")]
pub database_id: ::prost::alloc::string::String,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct SdkVersion {
#[prost(string, tag = "1")]
pub version: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub version_display_name: ::prost::alloc::string::String,
#[prost(enumeration = "sdk_version::SdkSupportStatus", tag = "3")]
pub sdk_support_status: i32,
}
pub mod sdk_version {
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum SdkSupportStatus {
Unknown = 0,
Supported = 1,
Stale = 2,
Deprecated = 3,
Unsupported = 4,
}
impl SdkSupportStatus {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "UNKNOWN",
Self::Supported => "SUPPORTED",
Self::Stale => "STALE",
Self::Deprecated => "DEPRECATED",
Self::Unsupported => "UNSUPPORTED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"UNKNOWN" => Some(Self::Unknown),
"SUPPORTED" => Some(Self::Supported),
"STALE" => Some(Self::Stale),
"DEPRECATED" => Some(Self::Deprecated),
"UNSUPPORTED" => Some(Self::Unsupported),
_ => None,
}
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobMetadata {
#[prost(message, optional, tag = "1")]
pub sdk_version: ::core::option::Option<SdkVersion>,
#[prost(message, repeated, tag = "2")]
pub spanner_details: ::prost::alloc::vec::Vec<SpannerIoDetails>,
#[prost(message, repeated, tag = "3")]
pub bigquery_details: ::prost::alloc::vec::Vec<BigQueryIoDetails>,
#[prost(message, repeated, tag = "4")]
pub big_table_details: ::prost::alloc::vec::Vec<BigTableIoDetails>,
#[prost(message, repeated, tag = "5")]
pub pubsub_details: ::prost::alloc::vec::Vec<PubSubIoDetails>,
#[prost(message, repeated, tag = "6")]
pub file_details: ::prost::alloc::vec::Vec<FileIoDetails>,
#[prost(message, repeated, tag = "7")]
pub datastore_details: ::prost::alloc::vec::Vec<DatastoreIoDetails>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ExecutionStageState {
#[prost(string, tag = "1")]
pub execution_stage_name: ::prost::alloc::string::String,
#[prost(enumeration = "JobState", tag = "2")]
pub execution_stage_state: i32,
#[prost(message, optional, tag = "3")]
pub current_state_time: ::core::option::Option<::pbjson_types::Timestamp>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobExecutionInfo {
#[prost(map = "string, message", tag = "1")]
pub stages: ::std::collections::HashMap<
::prost::alloc::string::String,
JobExecutionStageInfo,
>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobExecutionStageInfo {
#[prost(string, repeated, tag = "1")]
pub step_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobEventData {
#[prost(message, optional, tag = "1")]
pub payload: ::core::option::Option<Job>,
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JobType {
Unknown = 0,
Batch = 1,
Streaming = 2,
}
impl JobType {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "JOB_TYPE_UNKNOWN",
Self::Batch => "JOB_TYPE_BATCH",
Self::Streaming => "JOB_TYPE_STREAMING",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JOB_TYPE_UNKNOWN" => Some(Self::Unknown),
"JOB_TYPE_BATCH" => Some(Self::Batch),
"JOB_TYPE_STREAMING" => Some(Self::Streaming),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum FlexResourceSchedulingGoal {
FlexrsUnspecified = 0,
FlexrsSpeedOptimized = 1,
FlexrsCostOptimized = 2,
}
impl FlexResourceSchedulingGoal {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::FlexrsUnspecified => "FLEXRS_UNSPECIFIED",
Self::FlexrsSpeedOptimized => "FLEXRS_SPEED_OPTIMIZED",
Self::FlexrsCostOptimized => "FLEXRS_COST_OPTIMIZED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"FLEXRS_UNSPECIFIED" => Some(Self::FlexrsUnspecified),
"FLEXRS_SPEED_OPTIMIZED" => Some(Self::FlexrsSpeedOptimized),
"FLEXRS_COST_OPTIMIZED" => Some(Self::FlexrsCostOptimized),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum TeardownPolicy {
Unknown = 0,
TeardownAlways = 1,
TeardownOnSuccess = 2,
TeardownNever = 3,
}
impl TeardownPolicy {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "TEARDOWN_POLICY_UNKNOWN",
Self::TeardownAlways => "TEARDOWN_ALWAYS",
Self::TeardownOnSuccess => "TEARDOWN_ON_SUCCESS",
Self::TeardownNever => "TEARDOWN_NEVER",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"TEARDOWN_POLICY_UNKNOWN" => Some(Self::Unknown),
"TEARDOWN_ALWAYS" => Some(Self::TeardownAlways),
"TEARDOWN_ON_SUCCESS" => Some(Self::TeardownOnSuccess),
"TEARDOWN_NEVER" => Some(Self::TeardownNever),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum DefaultPackageSet {
Unknown = 0,
None = 1,
Java = 2,
Python = 3,
}
impl DefaultPackageSet {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "DEFAULT_PACKAGE_SET_UNKNOWN",
Self::None => "DEFAULT_PACKAGE_SET_NONE",
Self::Java => "DEFAULT_PACKAGE_SET_JAVA",
Self::Python => "DEFAULT_PACKAGE_SET_PYTHON",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DEFAULT_PACKAGE_SET_UNKNOWN" => Some(Self::Unknown),
"DEFAULT_PACKAGE_SET_NONE" => Some(Self::None),
"DEFAULT_PACKAGE_SET_JAVA" => Some(Self::Java),
"DEFAULT_PACKAGE_SET_PYTHON" => Some(Self::Python),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum AutoscalingAlgorithm {
Unknown = 0,
None = 1,
Basic = 2,
}
impl AutoscalingAlgorithm {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "AUTOSCALING_ALGORITHM_UNKNOWN",
Self::None => "AUTOSCALING_ALGORITHM_NONE",
Self::Basic => "AUTOSCALING_ALGORITHM_BASIC",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"AUTOSCALING_ALGORITHM_UNKNOWN" => Some(Self::Unknown),
"AUTOSCALING_ALGORITHM_NONE" => Some(Self::None),
"AUTOSCALING_ALGORITHM_BASIC" => Some(Self::Basic),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum WorkerIpAddressConfiguration {
WorkerIpUnspecified = 0,
WorkerIpPublic = 1,
WorkerIpPrivate = 2,
}
impl WorkerIpAddressConfiguration {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::WorkerIpUnspecified => "WORKER_IP_UNSPECIFIED",
Self::WorkerIpPublic => "WORKER_IP_PUBLIC",
Self::WorkerIpPrivate => "WORKER_IP_PRIVATE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"WORKER_IP_UNSPECIFIED" => Some(Self::WorkerIpUnspecified),
"WORKER_IP_PUBLIC" => Some(Self::WorkerIpPublic),
"WORKER_IP_PRIVATE" => Some(Self::WorkerIpPrivate),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum ShuffleMode {
Unspecified = 0,
VmBased = 1,
ServiceBased = 2,
}
impl ShuffleMode {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unspecified => "SHUFFLE_MODE_UNSPECIFIED",
Self::VmBased => "VM_BASED",
Self::ServiceBased => "SERVICE_BASED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SHUFFLE_MODE_UNSPECIFIED" => Some(Self::Unspecified),
"VM_BASED" => Some(Self::VmBased),
"SERVICE_BASED" => Some(Self::ServiceBased),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
#[repr(i32)]
pub enum JobState {
Unknown = 0,
Stopped = 1,
Running = 2,
Done = 3,
Failed = 4,
Cancelled = 5,
Updated = 6,
Draining = 7,
Drained = 8,
Pending = 9,
Cancelling = 10,
Queued = 11,
ResourceCleaningUp = 12,
}
impl JobState {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Unknown => "JOB_STATE_UNKNOWN",
Self::Stopped => "JOB_STATE_STOPPED",
Self::Running => "JOB_STATE_RUNNING",
Self::Done => "JOB_STATE_DONE",
Self::Failed => "JOB_STATE_FAILED",
Self::Cancelled => "JOB_STATE_CANCELLED",
Self::Updated => "JOB_STATE_UPDATED",
Self::Draining => "JOB_STATE_DRAINING",
Self::Drained => "JOB_STATE_DRAINED",
Self::Pending => "JOB_STATE_PENDING",
Self::Cancelling => "JOB_STATE_CANCELLING",
Self::Queued => "JOB_STATE_QUEUED",
Self::ResourceCleaningUp => "JOB_STATE_RESOURCE_CLEANING_UP",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"JOB_STATE_UNKNOWN" => Some(Self::Unknown),
"JOB_STATE_STOPPED" => Some(Self::Stopped),
"JOB_STATE_RUNNING" => Some(Self::Running),
"JOB_STATE_DONE" => Some(Self::Done),
"JOB_STATE_FAILED" => Some(Self::Failed),
"JOB_STATE_CANCELLED" => Some(Self::Cancelled),
"JOB_STATE_UPDATED" => Some(Self::Updated),
"JOB_STATE_DRAINING" => Some(Self::Draining),
"JOB_STATE_DRAINED" => Some(Self::Drained),
"JOB_STATE_PENDING" => Some(Self::Pending),
"JOB_STATE_CANCELLING" => Some(Self::Cancelling),
"JOB_STATE_QUEUED" => Some(Self::Queued),
"JOB_STATE_RESOURCE_CLEANING_UP" => Some(Self::ResourceCleaningUp),
_ => None,
}
}
}
#[derive(serde::Serialize, serde::Deserialize)]
#[serde(default)]
#[serde(rename_all = "snake_case")]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct JobStatusChangedEvent {
#[prost(message, optional, tag = "1")]
pub data: ::core::option::Option<JobEventData>,
}