tapis-apps 0.3.1

The Tapis Applications API provides for management of Tapis applications including permissions.
Documentation
/*
 * Tapis Applications API
 *
 * The Tapis Applications API provides for management of Tapis applications including permissions.
 *
 * The version of the OpenAPI document: 25Q4.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 ReqPostApp {
    #[serde(rename = "id")]
    pub id: String,
    #[serde(rename = "version")]
    pub version: String,
    #[serde(rename = "description", skip_serializing_if = "Option::is_none")]
    pub description: Option<String>,
    #[serde(rename = "owner", skip_serializing_if = "Option::is_none")]
    pub owner: Option<String>,
    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
    pub enabled: Option<bool>,
    #[serde(rename = "versionEnabled", skip_serializing_if = "Option::is_none")]
    pub version_enabled: Option<bool>,
    #[serde(rename = "locked", skip_serializing_if = "Option::is_none")]
    pub locked: Option<bool>,
    #[serde(rename = "runtime", skip_serializing_if = "Option::is_none")]
    pub runtime: Option<models::RuntimeEnum>,
    #[serde(rename = "runtimeVersion", skip_serializing_if = "Option::is_none")]
    pub runtime_version: Option<String>,
    #[serde(rename = "runtimeOptions", skip_serializing_if = "Option::is_none")]
    pub runtime_options: Option<Vec<models::RuntimeOptionEnum>>,
    #[serde(rename = "containerImage")]
    pub container_image: String,
    #[serde(rename = "jobType", skip_serializing_if = "Option::is_none")]
    pub job_type: Option<models::JobTypeEnum>,
    #[serde(rename = "maxJobs", skip_serializing_if = "Option::is_none")]
    pub max_jobs: Option<i32>,
    #[serde(rename = "maxJobsPerUser", skip_serializing_if = "Option::is_none")]
    pub max_jobs_per_user: Option<i32>,
    #[serde(rename = "strictFileInputs", skip_serializing_if = "Option::is_none")]
    pub strict_file_inputs: Option<bool>,
    #[serde(rename = "jobAttributes", skip_serializing_if = "Option::is_none")]
    pub job_attributes: Option<Box<models::JobAttributes>>,
    #[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 ReqPostApp {
    pub fn new(id: String, version: String, container_image: String) -> ReqPostApp {
        ReqPostApp {
            id,
            version,
            description: None,
            owner: None,
            enabled: None,
            version_enabled: None,
            locked: None,
            runtime: None,
            runtime_version: None,
            runtime_options: None,
            container_image,
            job_type: None,
            max_jobs: None,
            max_jobs_per_user: None,
            strict_file_inputs: None,
            job_attributes: None,
            tags: None,
            notes: None,
        }
    }
}