dtz-containers 2.2.5

a generated client for the DTZ Containers API
Documentation
/*
 * DTZ Containers
 *
 * a generated client for the DTZ Containers API
 *
 * Contact: jens@apimeister.com
 * Generated by: https://openapi-generator.tech
 */

#[allow(unused_imports)]
use crate::models;
#[allow(unused_imports)]
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CreateJobRequest {
    #[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>,
    /// ecoMode repetition bounds in the format 'min(<freq>) max(<freq>)'. Allowed frequencies: hourly, daily, weekly, monthly. See docs/scheduling.md.
    #[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, models::CreateJobRequestEnvVariablesValue>>,
    #[serde(rename = "mounts", skip_serializing_if = "Option::is_none")]
    pub mounts: Option<Vec<models::VolumeMount>>,
}

impl CreateJobRequest {
    pub fn new(name: String, container_image: String, schedule_type: ScheduleType) -> CreateJobRequest {
        CreateJobRequest {
            name,
            container_image,
            container_pull_user: None,
            container_pull_pwd: None,
            schedule_type,
            schedule_cron: None,
            schedule_repeat: None,
            env_variables: None,
            mounts: 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
    }
}