1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize, Default)]
4pub struct SshContainer {
5 pub name: String,
6 pub jail: bool,
7}
8
9#[derive(Debug, Serialize, Deserialize, Default)]
10pub struct JobPostRequest {
11 pub job_type: String,
12 pub image_root_archive_name: String,
13 #[serde(skip_serializing_if = "Option::is_none")]
14 pub kernel_file_name: Option<String>,
15 #[serde(skip_serializing_if = "Option::is_none")]
16 pub initrd_file_name: Option<String>,
17 #[serde(skip_serializing_if = "Option::is_none")]
18 pub kernel_parameters_file_name: Option<String>,
19 pub artifact_id: String,
20 pub public_key_id: String,
21 #[serde(skip_serializing_if = "Option::is_none")]
22 pub ssh_containers: Option<Vec<SshContainer>>,
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub enable_debug: Option<bool>,
25 #[serde(skip_serializing_if = "Option::is_none")]
26 pub build_env_size: Option<u8>,
27}
28
29#[derive(Debug, Serialize, Deserialize, Default)]
30pub struct JobGetResponse {
31 #[serde(skip_serializing_if = "Option::is_none")]
32 pub id: Option<String>,
33 #[serde(skip_serializing_if = "Option::is_none")]
34 pub created: Option<String>,
35 pub job_type: String,
36 pub image_root_archive_name: String,
37 #[serde(skip_serializing_if = "Option::is_none")]
38 pub kernel_file_name: Option<String>,
39 #[serde(skip_serializing_if = "Option::is_none")]
40 pub initrd_file_name: Option<String>,
41 #[serde(skip_serializing_if = "Option::is_none")]
42 pub kernel_parameters_file_name: Option<String>,
43 #[serde(skip_serializing_if = "Option::is_none")]
44 pub status: Option<String>,
45 pub artifact_id: String,
46 pub public_key_id: String,
47 #[serde(skip_serializing_if = "Option::is_none")]
48 pub kubernetes_job: Option<String>,
49 #[serde(skip_serializing_if = "Option::is_none")]
50 pub kubernetes_service: Option<String>,
51 #[serde(skip_serializing_if = "Option::is_none")]
52 pub kubernetes_configmap: Option<String>,
53 #[serde(skip_serializing_if = "Option::is_none")]
54 pub ssh_containers: Option<Vec<SshContainer>>,
55 #[serde(skip_serializing_if = "Option::is_none")]
56 pub enable_debug: Option<bool>,
57 #[serde(skip_serializing_if = "Option::is_none")]
58 pub resultant_image_id: Option<String>,
59 #[serde(skip_serializing_if = "Option::is_none")]
60 pub build_env_size: Option<u8>,
61 #[serde(skip_serializing_if = "Option::is_none")]
62 pub kubernetes_namespace: Option<String>,
63}