use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ReqPostApp {
#[serde(rename = "id")]
pub id: String,
#[serde(rename = "version")]
pub version: String,
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
pub owner: Option<String>,
#[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
pub enabled: Option<bool>,
#[serde(rename = "versionEnabled", skip_serializing_if = "Option::is_none")]
pub version_enabled: Option<bool>,
#[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
pub locked: Option<bool>,
#[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
pub runtime: Option<models::RuntimeEnum>,
#[serde(rename = "runtimeVersion", skip_serializing_if = "Option::is_none")]
pub runtime_version: Option<String>,
#[serde(rename = "runtimeOptions", skip_serializing_if = "Option::is_none")]
pub runtime_options: Option<Vec<models::RuntimeOptionEnum>>,
#[serde(rename = "containerImage")]
pub container_image: String,
#[serde(rename = "jobType", skip_serializing_if = "Option::is_none")]
pub job_type: Option<models::JobTypeEnum>,
#[serde(rename = "maxJobs", skip_serializing_if = "Option::is_none")]
pub max_jobs: Option<i32>,
#[serde(rename = "maxJobsPerUser", skip_serializing_if = "Option::is_none")]
pub max_jobs_per_user: Option<i32>,
#[serde(rename = "strictFileInputs", skip_serializing_if = "Option::is_none")]
pub strict_file_inputs: Option<bool>,
#[serde(rename = "jobAttributes", skip_serializing_if = "Option::is_none")]
pub job_attributes: Option<Box<models::JobAttributes>>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
#[serde(rename = "notes", skip_serializing_if = "Option::is_none")]
pub notes: Option<serde_json::Value>,
}
impl ReqPostApp {
pub fn new(id: String, version: String, container_image: String) -> ReqPostApp {
ReqPostApp {
id,
version,
description: None,
owner: None,
enabled: None,
version_enabled: None,
locked: None,
runtime: None,
runtime_version: None,
runtime_options: None,
container_image,
job_type: None,
max_jobs: None,
max_jobs_per_user: None,
strict_file_inputs: None,
job_attributes: None,
tags: None,
notes: None,
}
}
}