openapi_github/models/
repository_rule.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[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#[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