Skip to main content

dtz_containers/models/
job_response.rs

1/*
2 * DTZ Containers
3 *
4 * a generated client for the DTZ Containers API
5 *
6 * Contact: jens@apimeister.com
7 * Generated by: https://openapi-generator.tech
8 */
9
10#[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 JobResponse {
17    #[serde(rename = "id")]
18    pub id: dtz_identifier::JobId,
19    #[serde(rename = "name")]
20    pub name: String,
21    #[serde(rename = "containerImage")]
22    pub container_image: String,
23    #[serde(rename = "containerPullUser", skip_serializing_if = "Option::is_none")]
24    pub container_pull_user: Option<String>,
25    #[serde(rename = "containerPullPwd", skip_serializing_if = "Option::is_none")]
26    pub container_pull_pwd: Option<String>,
27    #[serde(rename = "scheduleType")]
28    pub schedule_type: ScheduleType,
29    /// ecoMode repetition bounds in the format 'min(<freq>) max(<freq>)'. Allowed frequencies: hourly, daily, weekly, monthly. See docs/scheduling.md.
30    #[serde(rename = "scheduleRepeat", skip_serializing_if = "Option::is_none")]
31    pub schedule_repeat: Option<String>,
32    #[serde(rename = "scheduleCron", skip_serializing_if = "Option::is_none")]
33    pub schedule_cron: Option<String>,
34    #[serde(rename = "envVariables", skip_serializing_if = "Option::is_none")]
35    pub env_variables: Option<std::collections::HashMap<String, models::JobResponseEnvVariablesValue>>,
36    #[serde(rename = "mounts", skip_serializing_if = "Option::is_none")]
37    pub mounts: Option<Vec<models::VolumeMount>>,
38}
39
40impl JobResponse {
41    pub fn new(id: dtz_identifier::JobId, name: String, container_image: String, schedule_type: ScheduleType) -> JobResponse {
42        JobResponse {
43            id,
44            name,
45            container_image,
46            container_pull_user: None,
47            container_pull_pwd: None,
48            schedule_type,
49            schedule_repeat: None,
50            schedule_cron: None,
51            env_variables: None,
52            mounts: None,
53        }
54    }
55}
56/// 
57#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum ScheduleType {
59    #[serde(rename = "relaxed")]
60    Relaxed,
61    #[serde(rename = "precise")]
62    Precise,
63    #[serde(rename = "none")]
64    None,
65}
66
67impl Default for ScheduleType {
68    fn default() -> ScheduleType {
69        Self::Relaxed
70    }
71}
72