use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ReqPutSystem {
#[serde(rename = "description", skip_serializing_if = "Option::is_none")]
pub description: Option<String>,
#[serde(rename = "host", skip_serializing_if = "Option::is_none")]
pub host: Option<String>,
#[serde(rename = "defaultAuthnMethod", skip_serializing_if = "Option::is_none")]
pub default_authn_method: Option<models::AuthnEnum>,
#[serde(rename = "port", skip_serializing_if = "Option::is_none")]
pub port: Option<i32>,
#[serde(rename = "useProxy", skip_serializing_if = "Option::is_none")]
pub use_proxy: Option<bool>,
#[serde(rename = "proxyHost", skip_serializing_if = "Option::is_none")]
pub proxy_host: Option<String>,
#[serde(rename = "proxyPort", skip_serializing_if = "Option::is_none")]
pub proxy_port: Option<i32>,
#[serde(rename = "dtnSystemId", skip_serializing_if = "Option::is_none")]
pub dtn_system_id: Option<String>,
#[serde(rename = "canRunBatch", skip_serializing_if = "Option::is_none")]
pub can_run_batch: Option<bool>,
#[serde(rename = "enableCmdPrefix", skip_serializing_if = "Option::is_none")]
pub enable_cmd_prefix: Option<bool>,
#[serde(rename = "allowChildren", skip_serializing_if = "Option::is_none")]
pub allow_children: Option<bool>,
#[serde(rename = "mpiCmd", skip_serializing_if = "Option::is_none")]
pub mpi_cmd: Option<String>,
#[serde(rename = "jobRuntimes", skip_serializing_if = "Option::is_none")]
pub job_runtimes: Option<Vec<models::JobRuntime>>,
#[serde(rename = "jobWorkingDir", skip_serializing_if = "Option::is_none")]
pub job_working_dir: Option<String>,
#[serde(rename = "jobEnvVariables", skip_serializing_if = "Option::is_none")]
pub job_env_variables: Option<Vec<models::KeyValuePair>>,
#[serde(rename = "jobMaxJobs", skip_serializing_if = "Option::is_none")]
pub job_max_jobs: Option<i32>,
#[serde(rename = "jobMaxJobsPerUser", skip_serializing_if = "Option::is_none")]
pub job_max_jobs_per_user: Option<i32>,
#[serde(rename = "batchScheduler", skip_serializing_if = "Option::is_none")]
pub batch_scheduler: Option<models::SchedulerTypeEnum>,
#[serde(rename = "batchLogicalQueues", skip_serializing_if = "Option::is_none")]
pub batch_logical_queues: Option<Vec<models::LogicalQueue>>,
#[serde(
rename = "batchDefaultLogicalQueue",
skip_serializing_if = "Option::is_none"
)]
pub batch_default_logical_queue: Option<String>,
#[serde(
rename = "batchSchedulerProfile",
skip_serializing_if = "Option::is_none"
)]
pub batch_scheduler_profile: Option<String>,
#[serde(rename = "jobCapabilities", skip_serializing_if = "Option::is_none")]
pub job_capabilities: Option<Vec<models::Capability>>,
#[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 ReqPutSystem {
pub fn new() -> ReqPutSystem {
ReqPutSystem {
description: None,
host: None,
default_authn_method: None,
port: None,
use_proxy: None,
proxy_host: None,
proxy_port: None,
dtn_system_id: None,
can_run_batch: None,
enable_cmd_prefix: None,
allow_children: None,
mpi_cmd: None,
job_runtimes: None,
job_working_dir: None,
job_env_variables: None,
job_max_jobs: None,
job_max_jobs_per_user: None,
batch_scheduler: None,
batch_logical_queues: None,
batch_default_logical_queue: None,
batch_scheduler_profile: None,
job_capabilities: None,
tags: None,
notes: None,
}
}
}