openapi-github 0.1.0

OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
Documentation
/*
 * GitHub's official OpenAPI spec + Octokit extension
 *
 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
 *
 * The version of the OpenAPI document: 16.6.0
 * 
 * Generated by: https://openapi-generator.tech
 */

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

/// CodeScanningDefaultSetup : Configuration for code scanning default setup.
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct CodeScanningDefaultSetup {
    /// Code scanning default setup has been configured or not.
    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
    pub state: Option<State>,
    /// Languages to be analyzed.
    #[serde(rename = "languages", skip_serializing_if = "Option::is_none")]
    pub languages: Option<Vec<Languages>>,
    /// CodeQL query suite to be used.
    #[serde(rename = "query_suite", skip_serializing_if = "Option::is_none")]
    pub query_suite: Option<QuerySuite>,
    /// Timestamp of latest configuration update.
    #[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub updated_at: Option<Option<String>>,
    /// The frequency of the periodic analysis.
    #[serde(rename = "schedule", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
    pub schedule: Option<Option<Schedule>>,
}

impl CodeScanningDefaultSetup {
    /// Configuration for code scanning default setup.
    pub fn new() -> CodeScanningDefaultSetup {
        CodeScanningDefaultSetup {
            state: None,
            languages: None,
            query_suite: None,
            updated_at: None,
            schedule: None,
        }
    }
}
/// Code scanning default setup has been configured or not.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum State {
    #[serde(rename = "configured")]
    Configured,
    #[serde(rename = "not-configured")]
    NotConfigured,
}

impl Default for State {
    fn default() -> State {
        Self::Configured
    }
}
/// Languages to be analyzed.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Languages {
    #[serde(rename = "c-cpp")]
    CCpp,
    #[serde(rename = "csharp")]
    Csharp,
    #[serde(rename = "go")]
    Go,
    #[serde(rename = "java-kotlin")]
    JavaKotlin,
    #[serde(rename = "javascript-typescript")]
    JavascriptTypescript,
    #[serde(rename = "javascript")]
    Javascript,
    #[serde(rename = "python")]
    Python,
    #[serde(rename = "ruby")]
    Ruby,
    #[serde(rename = "typescript")]
    Typescript,
    #[serde(rename = "swift")]
    Swift,
}

impl Default for Languages {
    fn default() -> Languages {
        Self::CCpp
    }
}
/// CodeQL query suite to be used.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum QuerySuite {
    #[serde(rename = "default")]
    Default,
    #[serde(rename = "extended")]
    Extended,
}

impl Default for QuerySuite {
    fn default() -> QuerySuite {
        Self::Default
    }
}
/// The frequency of the periodic analysis.
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Schedule {
    #[serde(rename = "weekly")]
    Weekly,
}

impl Default for Schedule {
    fn default() -> Schedule {
        Self::Weekly
    }
}