use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct LegacyJobMetadataOut {
#[serde(rename = "expected_duration_seconds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub expected_duration_seconds: Option<Option<i32>>,
#[serde(rename = "cost", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub cost: Option<Option<f64>>,
#[serde(rename = "cost_currency", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub cost_currency: Option<Option<String>>,
#[serde(rename = "train_tokens_per_step", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub train_tokens_per_step: Option<Option<i32>>,
#[serde(rename = "train_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub train_tokens: Option<Option<i32>>,
#[serde(rename = "data_tokens", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub data_tokens: Option<Option<i32>>,
#[serde(rename = "estimated_start_time", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub estimated_start_time: Option<Option<i32>>,
#[serde(rename = "deprecated", skip_serializing_if = "Option::is_none")]
pub deprecated: Option<bool>,
#[serde(rename = "details")]
pub details: String,
#[serde(rename = "epochs", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub epochs: Option<Option<f64>>,
#[serde(rename = "training_steps", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
pub training_steps: Option<Option<i32>>,
#[serde(rename = "object", skip_serializing_if = "Option::is_none")]
pub object: Option<Object>,
}
impl LegacyJobMetadataOut {
pub fn new(details: String) -> LegacyJobMetadataOut {
LegacyJobMetadataOut {
expected_duration_seconds: None,
cost: None,
cost_currency: None,
train_tokens_per_step: None,
train_tokens: None,
data_tokens: None,
estimated_start_time: None,
deprecated: None,
details,
epochs: None,
training_steps: None,
object: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Object {
#[serde(rename = "job.metadata")]
JobMetadata,
}
impl Default for Object {
fn default() -> Object {
Self::JobMetadata
}
}