tapis_apps/models/
req_post_app.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ReqPostApp {
16 #[serde(rename = "id")]
17 pub id: String,
18 #[serde(rename = "version")]
19 pub version: String,
20 #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
21 pub description: Option<String>,
22 #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
23 pub owner: Option<String>,
24 #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
25 pub enabled: Option<bool>,
26 #[serde(rename = "versionEnabled", skip_serializing_if = "Option::is_none")]
27 pub version_enabled: Option<bool>,
28 #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
29 pub locked: Option<bool>,
30 #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
31 pub runtime: Option<models::RuntimeEnum>,
32 #[serde(rename = "runtimeVersion", skip_serializing_if = "Option::is_none")]
33 pub runtime_version: Option<String>,
34 #[serde(rename = "runtimeOptions", skip_serializing_if = "Option::is_none")]
35 pub runtime_options: Option<Vec<models::RuntimeOptionEnum>>,
36 #[serde(rename = "containerImage")]
37 pub container_image: String,
38 #[serde(rename = "jobType", skip_serializing_if = "Option::is_none")]
39 pub job_type: Option<models::JobTypeEnum>,
40 #[serde(rename = "maxJobs", skip_serializing_if = "Option::is_none")]
41 pub max_jobs: Option<i32>,
42 #[serde(rename = "maxJobsPerUser", skip_serializing_if = "Option::is_none")]
43 pub max_jobs_per_user: Option<i32>,
44 #[serde(rename = "strictFileInputs", skip_serializing_if = "Option::is_none")]
45 pub strict_file_inputs: Option<bool>,
46 #[serde(rename = "jobAttributes", skip_serializing_if = "Option::is_none")]
47 pub job_attributes: Option<Box<models::JobAttributes>>,
48 #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
49 pub tags: Option<Vec<String>>,
50 #[serde(rename = "notes", skip_serializing_if = "Option::is_none")]
51 pub notes: Option<serde_json::Value>,
52}
53
54impl ReqPostApp {
55 pub fn new(id: String, version: String, container_image: String) -> ReqPostApp {
56 ReqPostApp {
57 id,
58 version,
59 description: None,
60 owner: None,
61 enabled: None,
62 version_enabled: None,
63 locked: None,
64 runtime: None,
65 runtime_version: None,
66 runtime_options: None,
67 container_image,
68 job_type: None,
69 max_jobs: None,
70 max_jobs_per_user: None,
71 strict_file_inputs: None,
72 job_attributes: None,
73 tags: None,
74 notes: None,
75 }
76 }
77}