dtz_containers/models/
create_job.rs#[allow(unused)]
use crate::models;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateJob {
#[serde(rename = "name")]
pub name: String,
#[serde(rename = "containerImage")]
pub container_image: String,
#[serde(rename = "containerPullUser", skip_serializing_if = "Option::is_none")]
pub container_pull_user: Option<String>,
#[serde(rename = "containerPullPwd", skip_serializing_if = "Option::is_none")]
pub container_pull_pwd: Option<String>,
#[serde(rename = "scheduleType")]
pub schedule_type: ScheduleType,
#[serde(rename = "scheduleCron", skip_serializing_if = "Option::is_none")]
pub schedule_cron: Option<String>,
#[serde(rename = "scheduleRepeat", skip_serializing_if = "Option::is_none")]
pub schedule_repeat: Option<String>,
#[serde(rename = "envVariables", skip_serializing_if = "Option::is_none")]
pub env_variables: Option<std::collections::HashMap<String, String>>,
}
impl CreateJob {
pub fn new(name: String, container_image: String, schedule_type: ScheduleType) -> CreateJob {
CreateJob {
name,
container_image,
container_pull_user: None,
container_pull_pwd: None,
schedule_type,
schedule_cron: None,
schedule_repeat: None,
env_variables: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ScheduleType {
#[serde(rename = "relaxed")]
Relaxed,
#[serde(rename = "precise")]
Precise,
#[serde(rename = "none")]
None,
}
impl Default for ScheduleType {
fn default() -> ScheduleType {
Self::Relaxed
}
}