use crate::tasks;
use crate::common;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct TaskInfoBase {
#[serde(rename = "cancellation_time_millis", default, skip_serializing_if = "Option::is_none")]
pub cancellation_time_millis: Option<String>,
#[serde(rename = "action")]
pub action: String, #[serde(rename = "running_time", default, skip_serializing_if = "Option::is_none")]
pub running_time: Option<String>,
#[serde(rename = "cancelled", default, skip_serializing_if = "Option::is_none")]
pub cancelled: Option<bool>,
#[serde(rename = "cancellable")]
pub cancellable: bool,
#[serde(rename = "start_time_in_millis")]
pub start_time_in_millis: String,
#[serde(rename = "description", default, skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "parent_task_id", default, skip_serializing_if = "Option::is_none")]
pub parent_task_id: Option<String>, #[serde(rename = "status", default, skip_serializing_if = "Option::is_none")]
pub status: Option<tasks::Status>,
#[serde(rename = "node")]
pub node: String,
#[serde(rename = "type")]
pub r#type: String,
#[serde(rename = "id")]
pub id: u32,
#[serde(rename = "headers")]
pub headers: serde_json::Value,
#[serde(rename = "resource_stats", default, skip_serializing_if = "Option::is_none")]
pub resource_stats: Option<common::ResourceStats>,
#[serde(rename = "running_time_in_nanos")]
pub running_time_in_nanos: String,
}
impl TaskInfoBase {
pub fn new(action: String, cancellable: bool, start_time_in_millis: String, node: String, r#type: String, id: u32, headers: serde_json::Value, running_time_in_nanos: String) -> TaskInfoBase {
TaskInfoBase {
cancellation_time_millis: None,
action,
running_time: None,
cancelled: None,
cancellable,
start_time_in_millis,
description: None,
parent_task_id: None,
status: None,
node,
r#type,
id,
headers,
resource_stats: None,
running_time_in_nanos,
}
}
}