use crate::clients::rest::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct StepRunGet200Response {
#[serde(rename = "metadata")]
pub metadata: Box<models::V1TaskGet200ResponseMetadata>,
#[serde(rename = "tenantId")]
pub tenant_id: String,
#[serde(rename = "jobRunId")]
pub job_run_id: String,
#[serde(rename = "jobRun", skip_serializing_if = "Option::is_none")]
pub job_run: Option<Box<models::WorkflowRunCreate200ResponseJobRunsInner>>,
#[serde(rename = "stepId")]
pub step_id: String,
#[serde(rename = "step", skip_serializing_if = "Option::is_none")]
pub step: Option<Box<models::WorkflowList200ResponseRowsInnerJobsInnerStepsInner>>,
#[serde(
rename = "childWorkflowsCount",
skip_serializing_if = "Option::is_none"
)]
pub child_workflows_count: Option<i32>,
#[serde(rename = "parents", skip_serializing_if = "Option::is_none")]
pub parents: Option<Vec<String>>,
#[serde(rename = "childWorkflowRuns", skip_serializing_if = "Option::is_none")]
pub child_workflow_runs: Option<Vec<String>>,
#[serde(rename = "workerId", skip_serializing_if = "Option::is_none")]
pub worker_id: Option<String>,
#[serde(rename = "input", skip_serializing_if = "Option::is_none")]
pub input: Option<String>,
#[serde(rename = "output", skip_serializing_if = "Option::is_none")]
pub output: Option<String>,
#[serde(rename = "status")]
pub status: Status,
#[serde(rename = "requeueAfter", skip_serializing_if = "Option::is_none")]
pub requeue_after: Option<String>,
#[serde(rename = "result", skip_serializing_if = "Option::is_none")]
pub result: Option<serde_json::Value>,
#[serde(rename = "error", skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(rename = "startedAt", skip_serializing_if = "Option::is_none")]
pub started_at: Option<String>,
#[serde(rename = "startedAtEpoch", skip_serializing_if = "Option::is_none")]
pub started_at_epoch: Option<i32>,
#[serde(rename = "finishedAt", skip_serializing_if = "Option::is_none")]
pub finished_at: Option<String>,
#[serde(rename = "finishedAtEpoch", skip_serializing_if = "Option::is_none")]
pub finished_at_epoch: Option<i32>,
#[serde(rename = "timeoutAt", skip_serializing_if = "Option::is_none")]
pub timeout_at: Option<String>,
#[serde(rename = "timeoutAtEpoch", skip_serializing_if = "Option::is_none")]
pub timeout_at_epoch: Option<i32>,
#[serde(rename = "cancelledAt", skip_serializing_if = "Option::is_none")]
pub cancelled_at: Option<String>,
#[serde(rename = "cancelledAtEpoch", skip_serializing_if = "Option::is_none")]
pub cancelled_at_epoch: Option<i32>,
#[serde(rename = "cancelledReason", skip_serializing_if = "Option::is_none")]
pub cancelled_reason: Option<String>,
#[serde(rename = "cancelledError", skip_serializing_if = "Option::is_none")]
pub cancelled_error: Option<String>,
}
impl StepRunGet200Response {
pub fn new(
metadata: models::V1TaskGet200ResponseMetadata,
tenant_id: String,
job_run_id: String,
step_id: String,
status: Status,
) -> StepRunGet200Response {
StepRunGet200Response {
metadata: Box::new(metadata),
tenant_id,
job_run_id,
job_run: None,
step_id,
step: None,
child_workflows_count: None,
parents: None,
child_workflow_runs: None,
worker_id: None,
input: None,
output: None,
status,
requeue_after: None,
result: None,
error: None,
started_at: None,
started_at_epoch: None,
finished_at: None,
finished_at_epoch: None,
timeout_at: None,
timeout_at_epoch: None,
cancelled_at: None,
cancelled_at_epoch: None,
cancelled_reason: None,
cancelled_error: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Status {
#[serde(rename = "PENDING")]
Pending,
#[serde(rename = "PENDING_ASSIGNMENT")]
PendingAssignment,
#[serde(rename = "ASSIGNED")]
Assigned,
#[serde(rename = "RUNNING")]
Running,
#[serde(rename = "SUCCEEDED")]
Succeeded,
#[serde(rename = "FAILED")]
Failed,
#[serde(rename = "CANCELLED")]
Cancelled,
#[serde(rename = "CANCELLING")]
Cancelling,
#[serde(rename = "BACKOFF")]
Backoff,
}
impl Default for Status {
fn default() -> Status {
Self::Pending
}
}