/*
 * Orvanta API
 *
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.6
 * Contact: contact@orvanta.cloud
 * Generated by: https://openapi-generator.tech
 */

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

/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ScriptLang {
    #[serde(rename = "python3")]
    Python3,
    #[serde(rename = "deno")]
    Deno,
    #[serde(rename = "go")]
    Go,
    #[serde(rename = "bash")]
    Bash,
    #[serde(rename = "powershell")]
    Powershell,
    #[serde(rename = "postgresql")]
    Postgresql,
    #[serde(rename = "mysql")]
    Mysql,
    #[serde(rename = "bigquery")]
    Bigquery,
    #[serde(rename = "snowflake")]
    Snowflake,
    #[serde(rename = "mssql")]
    Mssql,
    #[serde(rename = "oracledb")]
    Oracledb,
    #[serde(rename = "graphql")]
    Graphql,
    #[serde(rename = "nativets")]
    Nativets,
    #[serde(rename = "bun")]
    Bun,
    #[serde(rename = "php")]
    Php,
    #[serde(rename = "rust")]
    Rust,
    #[serde(rename = "ansible")]
    Ansible,
    #[serde(rename = "csharp")]
    Csharp,
    #[serde(rename = "nu")]
    Nu,
    #[serde(rename = "java")]
    Java,
    #[serde(rename = "ruby")]
    Ruby,
    #[serde(rename = "rlang")]
    Rlang,
    #[serde(rename = "duckdb")]
    Duckdb,
    #[serde(rename = "bunnative")]
    Bunnative,

}

impl std::fmt::Display for ScriptLang {
    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
        match self {
            Self::Python3 => write!(f, "python3"),
            Self::Deno => write!(f, "deno"),
            Self::Go => write!(f, "go"),
            Self::Bash => write!(f, "bash"),
            Self::Powershell => write!(f, "powershell"),
            Self::Postgresql => write!(f, "postgresql"),
            Self::Mysql => write!(f, "mysql"),
            Self::Bigquery => write!(f, "bigquery"),
            Self::Snowflake => write!(f, "snowflake"),
            Self::Mssql => write!(f, "mssql"),
            Self::Oracledb => write!(f, "oracledb"),
            Self::Graphql => write!(f, "graphql"),
            Self::Nativets => write!(f, "nativets"),
            Self::Bun => write!(f, "bun"),
            Self::Php => write!(f, "php"),
            Self::Rust => write!(f, "rust"),
            Self::Ansible => write!(f, "ansible"),
            Self::Csharp => write!(f, "csharp"),
            Self::Nu => write!(f, "nu"),
            Self::Java => write!(f, "java"),
            Self::Ruby => write!(f, "ruby"),
            Self::Rlang => write!(f, "rlang"),
            Self::Duckdb => write!(f, "duckdb"),
            Self::Bunnative => write!(f, "bunnative"),
        }
    }
}

impl Default for ScriptLang {
    fn default() -> ScriptLang {
        Self::Python3
    }
}

