use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct JobAttributes {
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "dynamicExecSystem", skip_serializing_if = "Option::is_none")]
pub dynamic_exec_system: Option<bool>,
#[serde(
rename = "execSystemConstraints",
skip_serializing_if = "Option::is_none"
)]
pub exec_system_constraints: Option<Vec<String>>,
#[serde(rename = "execSystemId", skip_serializing_if = "Option::is_none")]
pub exec_system_id: Option<String>,
#[serde(rename = "execSystemExecDir", skip_serializing_if = "Option::is_none")]
pub exec_system_exec_dir: Option<String>,
#[serde(rename = "execSystemInputDir", skip_serializing_if = "Option::is_none")]
pub exec_system_input_dir: Option<String>,
#[serde(
rename = "execSystemOutputDir",
skip_serializing_if = "Option::is_none"
)]
pub exec_system_output_dir: Option<String>,
#[serde(rename = "dtnSystemInputDir", skip_serializing_if = "Option::is_none")]
pub dtn_system_input_dir: Option<String>,
#[serde(rename = "dtnSystemOutputDir", skip_serializing_if = "Option::is_none")]
pub dtn_system_output_dir: Option<String>,
#[serde(
rename = "execSystemLogicalQueue",
skip_serializing_if = "Option::is_none"
)]
pub exec_system_logical_queue: Option<String>,
#[serde(rename = "archiveSystemId", skip_serializing_if = "Option::is_none")]
pub archive_system_id: Option<String>,
#[serde(rename = "archiveSystemDir", skip_serializing_if = "Option::is_none")]
pub archive_system_dir: Option<String>,
#[serde(rename = "archiveOnAppError", skip_serializing_if = "Option::is_none")]
pub archive_on_app_error: Option<bool>,
#[serde(rename = "archiveMode", skip_serializing_if = "Option::is_none")]
pub archive_mode: Option<models::ArchiveModeEnum>,
#[serde(rename = "isMpi", skip_serializing_if = "Option::is_none")]
pub is_mpi: Option<bool>,
#[serde(rename = "mpiCmd", skip_serializing_if = "Option::is_none")]
pub mpi_cmd: Option<String>,
#[serde(rename = "cmdPrefix", skip_serializing_if = "Option::is_none")]
pub cmd_prefix: Option<String>,
#[serde(rename = "parameterSet", skip_serializing_if = "Option::is_none")]
pub parameter_set: Option<Box<models::ParameterSet>>,
#[serde(rename = "fileInputs", skip_serializing_if = "Option::is_none")]
pub file_inputs: Option<Vec<models::AppFileInput>>,
#[serde(rename = "fileInputArrays", skip_serializing_if = "Option::is_none")]
pub file_input_arrays: Option<Vec<models::AppFileInputArray>>,
#[serde(rename = "nodeCount", skip_serializing_if = "Option::is_none")]
pub node_count: Option<i32>,
#[serde(rename = "coresPerNode", skip_serializing_if = "Option::is_none")]
pub cores_per_node: Option<i32>,
#[serde(rename = "memoryMB", skip_serializing_if = "Option::is_none")]
pub memory_mb: Option<i32>,
#[serde(rename = "maxMinutes", skip_serializing_if = "Option::is_none")]
pub max_minutes: Option<i32>,
#[serde(rename = "subscriptions", skip_serializing_if = "Option::is_none")]
pub subscriptions: Option<Vec<models::ReqSubscribe>>,
#[serde(rename = "tags", skip_serializing_if = "Option::is_none")]
pub tags: Option<Vec<String>>,
}
impl JobAttributes {
pub fn new() -> JobAttributes {
JobAttributes {
description: None,
dynamic_exec_system: None,
exec_system_constraints: None,
exec_system_id: None,
exec_system_exec_dir: None,
exec_system_input_dir: None,
exec_system_output_dir: None,
dtn_system_input_dir: None,
dtn_system_output_dir: None,
exec_system_logical_queue: None,
archive_system_id: None,
archive_system_dir: None,
archive_on_app_error: None,
archive_mode: None,
is_mpi: None,
mpi_cmd: None,
cmd_prefix: None,
parameter_set: None,
file_inputs: None,
file_input_arrays: None,
node_count: None,
cores_per_node: None,
memory_mb: None,
max_minutes: None,
subscriptions: None,
tags: None,
}
}
}