openapi_github/models/
code_scanning_default_setup.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// CodeScanningDefaultSetup : Configuration for code scanning default setup.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CodeScanningDefaultSetup {
17    /// Code scanning default setup has been configured or not.
18    #[serde(rename = "state", skip_serializing_if = "Option::is_none")]
19    pub state: Option<State>,
20    /// Languages to be analyzed.
21    #[serde(rename = "languages", skip_serializing_if = "Option::is_none")]
22    pub languages: Option<Vec<Languages>>,
23    /// CodeQL query suite to be used.
24    #[serde(rename = "query_suite", skip_serializing_if = "Option::is_none")]
25    pub query_suite: Option<QuerySuite>,
26    /// Timestamp of latest configuration update.
27    #[serde(rename = "updated_at", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
28    pub updated_at: Option<Option<String>>,
29    /// The frequency of the periodic analysis.
30    #[serde(rename = "schedule", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
31    pub schedule: Option<Option<Schedule>>,
32}
33
34impl CodeScanningDefaultSetup {
35    /// Configuration for code scanning default setup.
36    pub fn new() -> CodeScanningDefaultSetup {
37        CodeScanningDefaultSetup {
38            state: None,
39            languages: None,
40            query_suite: None,
41            updated_at: None,
42            schedule: None,
43        }
44    }
45}
46/// Code scanning default setup has been configured or not.
47#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
48pub enum State {
49    #[serde(rename = "configured")]
50    Configured,
51    #[serde(rename = "not-configured")]
52    NotConfigured,
53}
54
55impl Default for State {
56    fn default() -> State {
57        Self::Configured
58    }
59}
60/// Languages to be analyzed.
61#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
62pub enum Languages {
63    #[serde(rename = "c-cpp")]
64    CCpp,
65    #[serde(rename = "csharp")]
66    Csharp,
67    #[serde(rename = "go")]
68    Go,
69    #[serde(rename = "java-kotlin")]
70    JavaKotlin,
71    #[serde(rename = "javascript-typescript")]
72    JavascriptTypescript,
73    #[serde(rename = "javascript")]
74    Javascript,
75    #[serde(rename = "python")]
76    Python,
77    #[serde(rename = "ruby")]
78    Ruby,
79    #[serde(rename = "typescript")]
80    Typescript,
81    #[serde(rename = "swift")]
82    Swift,
83}
84
85impl Default for Languages {
86    fn default() -> Languages {
87        Self::CCpp
88    }
89}
90/// CodeQL query suite to be used.
91#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
92pub enum QuerySuite {
93    #[serde(rename = "default")]
94    Default,
95    #[serde(rename = "extended")]
96    Extended,
97}
98
99impl Default for QuerySuite {
100    fn default() -> QuerySuite {
101        Self::Default
102    }
103}
104/// The frequency of the periodic analysis.
105#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
106pub enum Schedule {
107    #[serde(rename = "weekly")]
108    Weekly,
109}
110
111impl Default for Schedule {
112    fn default() -> Schedule {
113        Self::Weekly
114    }
115}
116