Skip to main content

tapis_apps/models/
job_attributes.rs

1/*
2 * Tapis Applications API
3 *
4 * The Tapis Applications API provides for management of Tapis applications including permissions.
5 *
6 * The version of the OpenAPI document: 25Q4.0
7 * Contact: cicsupport@tacc.utexas.edu
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct JobAttributes {
16    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
17    pub description: Option<String>,
18    #[serde(rename = "dynamicExecSystem", skip_serializing_if = "Option::is_none")]
19    pub dynamic_exec_system: Option<bool>,
20    #[serde(
21        rename = "execSystemConstraints",
22        skip_serializing_if = "Option::is_none"
23    )]
24    pub exec_system_constraints: Option<Vec<String>>,
25    #[serde(rename = "execSystemId", skip_serializing_if = "Option::is_none")]
26    pub exec_system_id: Option<String>,
27    #[serde(rename = "execSystemExecDir", skip_serializing_if = "Option::is_none")]
28    pub exec_system_exec_dir: Option<String>,
29    #[serde(rename = "execSystemInputDir", skip_serializing_if = "Option::is_none")]
30    pub exec_system_input_dir: Option<String>,
31    #[serde(
32        rename = "execSystemOutputDir",
33        skip_serializing_if = "Option::is_none"
34    )]
35    pub exec_system_output_dir: Option<String>,
36    #[serde(rename = "dtnSystemInputDir", skip_serializing_if = "Option::is_none")]
37    pub dtn_system_input_dir: Option<String>,
38    #[serde(rename = "dtnSystemOutputDir", skip_serializing_if = "Option::is_none")]
39    pub dtn_system_output_dir: Option<String>,
40    #[serde(
41        rename = "execSystemLogicalQueue",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub exec_system_logical_queue: Option<String>,
45    #[serde(rename = "archiveSystemId", skip_serializing_if = "Option::is_none")]
46    pub archive_system_id: Option<String>,
47    #[serde(rename = "archiveSystemDir", skip_serializing_if = "Option::is_none")]
48    pub archive_system_dir: Option<String>,
49    #[serde(rename = "archiveOnAppError", skip_serializing_if = "Option::is_none")]
50    pub archive_on_app_error: Option<bool>,
51    #[serde(rename = "archiveMode", skip_serializing_if = "Option::is_none")]
52    pub archive_mode: Option<models::ArchiveModeEnum>,
53    #[serde(rename = "isMpi", skip_serializing_if = "Option::is_none")]
54    pub is_mpi: Option<bool>,
55    #[serde(rename = "mpiCmd", skip_serializing_if = "Option::is_none")]
56    pub mpi_cmd: Option<String>,
57    #[serde(rename = "cmdPrefix", skip_serializing_if = "Option::is_none")]
58    pub cmd_prefix: Option<String>,
59    #[serde(rename = "parameterSet", skip_serializing_if = "Option::is_none")]
60    pub parameter_set: Option<Box<models::ParameterSet>>,
61    #[serde(rename = "fileInputs", skip_serializing_if = "Option::is_none")]
62    pub file_inputs: Option<Vec<models::AppFileInput>>,
63    #[serde(rename = "fileInputArrays", skip_serializing_if = "Option::is_none")]
64    pub file_input_arrays: Option<Vec<models::AppFileInputArray>>,
65    #[serde(rename = "nodeCount", skip_serializing_if = "Option::is_none")]
66    pub node_count: Option<i32>,
67    #[serde(rename = "coresPerNode", skip_serializing_if = "Option::is_none")]
68    pub cores_per_node: Option<i32>,
69    #[serde(rename = "memoryMB", skip_serializing_if = "Option::is_none")]
70    pub memory_mb: Option<i32>,
71    #[serde(rename = "maxMinutes", skip_serializing_if = "Option::is_none")]
72    pub max_minutes: Option<i32>,
73    #[serde(rename = "subscriptions", skip_serializing_if = "Option::is_none")]
74    pub subscriptions: Option<Vec<models::ReqSubscribe>>,
75    #[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
76    pub tags: Option<Vec<String>>,
77}
78
79impl JobAttributes {
80    pub fn new() -> JobAttributes {
81        JobAttributes {
82            description: None,
83            dynamic_exec_system: None,
84            exec_system_constraints: None,
85            exec_system_id: None,
86            exec_system_exec_dir: None,
87            exec_system_input_dir: None,
88            exec_system_output_dir: None,
89            dtn_system_input_dir: None,
90            dtn_system_output_dir: None,
91            exec_system_logical_queue: None,
92            archive_system_id: None,
93            archive_system_dir: None,
94            archive_on_app_error: None,
95            archive_mode: None,
96            is_mpi: None,
97            mpi_cmd: None,
98            cmd_prefix: None,
99            parameter_set: None,
100            file_inputs: None,
101            file_input_arrays: None,
102            node_count: None,
103            cores_per_node: None,
104            memory_mb: None,
105            max_minutes: None,
106            subscriptions: None,
107            tags: None,
108        }
109    }
110}