openapi_github/models/
repository_rule.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/// RepositoryRule : A repository rule.
15/// A repository rule.
16#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
17#[serde(untagged)]
18pub enum RepositoryRule {
19    RepositoryRuleCreation(Box<models::RepositoryRuleCreation>),
20    RepositoryRuleUpdate(Box<models::RepositoryRuleUpdate>),
21    RepositoryRuleDeletion(Box<models::RepositoryRuleDeletion>),
22    RepositoryRuleRequiredLinearHistory(Box<models::RepositoryRuleRequiredLinearHistory>),
23    RepositoryRuleRequiredDeployments(Box<models::RepositoryRuleRequiredDeployments>),
24    RepositoryRuleRequiredSignatures(Box<models::RepositoryRuleRequiredSignatures>),
25    RepositoryRulePullRequest(Box<models::RepositoryRulePullRequest>),
26    RepositoryRuleRequiredStatusChecks(Box<models::RepositoryRuleRequiredStatusChecks>),
27    RepositoryRuleNonFastForward(Box<models::RepositoryRuleNonFastForward>),
28    RepositoryRuleCommitMessagePattern(Box<models::RepositoryRuleCommitMessagePattern>),
29    RepositoryRuleCommitAuthorEmailPattern(Box<models::RepositoryRuleCommitAuthorEmailPattern>),
30    RepositoryRuleCommitterEmailPattern(Box<models::RepositoryRuleCommitterEmailPattern>),
31    RepositoryRuleBranchNamePattern(Box<models::RepositoryRuleBranchNamePattern>),
32    RepositoryRuleTagNamePattern(Box<models::RepositoryRuleTagNamePattern>),
33    FilePathRestriction(Box<models::FilePathRestriction>),
34    MaxFilePathLength(Box<models::MaxFilePathLength>),
35    FileExtensionRestriction(Box<models::FileExtensionRestriction>),
36    MaxFileSize(Box<models::MaxFileSize>),
37    RepositoryRuleWorkflows(Box<models::RepositoryRuleWorkflows>),
38}
39
40impl Default for RepositoryRule {
41    fn default() -> Self {
42        Self::RepositoryRuleCreation(Default::default())
43    }
44}
45/// 
46#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum Type {
48    #[serde(rename = "creation")]
49    Creation,
50    #[serde(rename = "update")]
51    Update,
52    #[serde(rename = "deletion")]
53    Deletion,
54    #[serde(rename = "required_linear_history")]
55    RequiredLinearHistory,
56    #[serde(rename = "required_deployments")]
57    RequiredDeployments,
58    #[serde(rename = "required_signatures")]
59    RequiredSignatures,
60    #[serde(rename = "pull_request")]
61    PullRequest,
62    #[serde(rename = "required_status_checks")]
63    RequiredStatusChecks,
64    #[serde(rename = "non_fast_forward")]
65    NonFastForward,
66    #[serde(rename = "commit_message_pattern")]
67    CommitMessagePattern,
68    #[serde(rename = "commit_author_email_pattern")]
69    CommitAuthorEmailPattern,
70    #[serde(rename = "committer_email_pattern")]
71    CommitterEmailPattern,
72    #[serde(rename = "branch_name_pattern")]
73    BranchNamePattern,
74    #[serde(rename = "tag_name_pattern")]
75    TagNamePattern,
76    #[serde(rename = "file_path_restriction")]
77    FilePathRestriction,
78    #[serde(rename = "max_file_path_length")]
79    MaxFilePathLength,
80    #[serde(rename = "file_extension_restriction")]
81    FileExtensionRestriction,
82    #[serde(rename = "max_file_size")]
83    MaxFileSize,
84    #[serde(rename = "workflows")]
85    Workflows,
86}
87
88impl Default for Type {
89    fn default() -> Type {
90        Self::Creation
91    }
92}
93