dtz-core 2.3.6

a generated client for the DTZ Core API
Documentation
/*
 * DTZ Core Api
 *
 * a generated client for the DTZ Core 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 CreateTaskRequest {
    #[serde(rename = "taskName")]
    pub task_name: String,
    /// origin service, like dtz-flows, dtz-containers
    #[serde(rename = "service")]
    pub service: String,
    #[serde(rename = "earliestStart")]
    pub earliest_start: chrono::DateTime<chrono::FixedOffset>,
    #[serde(rename = "latestStart")]
    pub latest_start: chrono::DateTime<chrono::FixedOffset>,
    #[serde(rename = "requireEcoMode")]
    pub require_eco_mode: bool,
    #[serde(rename = "taskDefinition")]
    pub task_definition: Box<models::CreateTaskRequestTaskDefinition>,
    /// source artifact that this ingress is attached to
    #[serde(rename = "sourceId", skip_serializing_if = "Option::is_none")]
    pub source_id: Option<String>,
}

impl CreateTaskRequest {
    pub fn new(task_name: String, service: String, earliest_start: chrono::DateTime<chrono::FixedOffset>, latest_start: chrono::DateTime<chrono::FixedOffset>, require_eco_mode: bool, task_definition: models::CreateTaskRequestTaskDefinition) -> CreateTaskRequest {
        CreateTaskRequest {
            task_name,
            service,
            earliest_start,
            latest_start,
            require_eco_mode,
            task_definition: Box::new(task_definition),
            source_id: None,
        }
    }
}