Skip to main content

dtz_containers/models/
create_job_request.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 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    /// 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 = "envVariables", skip_serializing_if = "Option::is_none")]
33    pub env_variables: Option<std::collections::HashMap<String, models::CreateJobRequestEnvVariablesValue>>,
34    #[serde(rename = "mounts", skip_serializing_if = "Option::is_none")]
35    pub mounts: Option<Vec<models::VolumeMount>>,
36}
37
38impl CreateJobRequest {
39    pub fn new(name: String, container_image: String, schedule_type: ScheduleType) -> CreateJobRequest {
40        CreateJobRequest {
41            name,
42            container_image,
43            container_pull_user: None,
44            container_pull_pwd: None,
45            schedule_type,
46            schedule_cron: None,
47            schedule_repeat: None,
48            env_variables: None,
49            mounts: None,
50        }
51    }
52}
53/// 
54#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
55pub enum ScheduleType {
56    #[serde(rename = "relaxed")]
57    Relaxed,
58    #[serde(rename = "precise")]
59    Precise,
60    #[serde(rename = "none")]
61    None,
62}
63
64impl Default for ScheduleType {
65    fn default() -> ScheduleType {
66        Self::Relaxed
67    }
68}
69