/*
 * Tapis Applications API
 *
 * The Tapis Applications API provides for management of Tapis applications including permissions.
 *
 * The version of the OpenAPI document: 26Q1.0
 * Contact: cicsupport@tacc.utexas.edu
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ParameterSet {
    #[serde(rename = "appArgs", skip_serializing_if = "Option::is_none")]
    pub app_args: Option<Vec<models::AppArgSpec>>,
    #[serde(rename = "containerArgs", skip_serializing_if = "Option::is_none")]
    pub container_args: Option<Vec<models::AppArgSpec>>,
    #[serde(rename = "schedulerOptions", skip_serializing_if = "Option::is_none")]
    pub scheduler_options: Option<Vec<models::AppArgSpec>>,
    #[serde(rename = "envVariables", skip_serializing_if = "Option::is_none")]
    pub env_variables: Option<Vec<models::KeyValuePair>>,
    #[serde(rename = "archiveFilter", skip_serializing_if = "Option::is_none")]
    pub archive_filter: Option<Box<models::ParameterSetArchiveFilter>>,
    #[serde(rename = "logConfig", skip_serializing_if = "Option::is_none")]
    pub log_config: Option<Box<models::ParameterSetLogConfig>>,
}

impl ParameterSet {
    pub fn new() -> ParameterSet {
        ParameterSet {
            app_args: None,
            container_args: None,
            scheduler_options: None,
            env_variables: None,
            archive_filter: None,
            log_config: None,
        }
    }
}
