dtz_containers/models/
create_job_request.rs1#[allow(unused_imports)]
11use crate::models;
12#[allow(unused_imports)]
13use serde::{Deserialize, Serialize};
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateJobRequest {
17 #[serde(rename = "name")]
18 pub name: String,
19 #[serde(rename = "containerImage")]
20 pub container_image: String,
21 #[serde(rename = "containerPullUser", skip_serializing_if = "Option::is_none")]
22 pub container_pull_user: Option<String>,
23 #[serde(rename = "containerPullPwd", skip_serializing_if = "Option::is_none")]
24 pub container_pull_pwd: Option<String>,
25 #[serde(rename = "scheduleType")]
26 pub schedule_type: ScheduleType,
27 #[serde(rename = "scheduleCron", skip_serializing_if = "Option::is_none")]
28 pub schedule_cron: Option<String>,
29 #[serde(rename = "scheduleRepeat", skip_serializing_if = "Option::is_none")]
31 pub schedule_repeat: Option<String>,
32 #[serde(rename = "envVariables", skip_serializing_if = "Option::is_none")]
33 pub env_variables: Option<std::collections::HashMap<String, models::CreateJobRequestEnvVariablesValue>>,
34}
35
36impl CreateJobRequest {
37 pub fn new(name: String, container_image: String, schedule_type: ScheduleType) -> CreateJobRequest {
38 CreateJobRequest {
39 name,
40 container_image,
41 container_pull_user: None,
42 container_pull_pwd: None,
43 schedule_type,
44 schedule_cron: None,
45 schedule_repeat: None,
46 env_variables: None,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum ScheduleType {
53 #[serde(rename = "relaxed")]
54 Relaxed,
55 #[serde(rename = "precise")]
56 Precise,
57 #[serde(rename = "none")]
58 None,
59}
60
61impl Default for ScheduleType {
62 fn default() -> ScheduleType {
63 Self::Relaxed
64 }
65}
66