openapi_github/models/
webhooks_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/// WebhooksRule : The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings.
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhooksRule {
17    #[serde(rename = "admin_enforced")]
18    pub admin_enforced: bool,
19    #[serde(rename = "allow_deletions_enforcement_level")]
20    pub allow_deletions_enforcement_level: AllowDeletionsEnforcementLevel,
21    #[serde(rename = "allow_force_pushes_enforcement_level")]
22    pub allow_force_pushes_enforcement_level: AllowForcePushesEnforcementLevel,
23    #[serde(rename = "authorized_actor_names")]
24    pub authorized_actor_names: Vec<String>,
25    #[serde(rename = "authorized_actors_only")]
26    pub authorized_actors_only: bool,
27    #[serde(rename = "authorized_dismissal_actors_only")]
28    pub authorized_dismissal_actors_only: bool,
29    #[serde(rename = "create_protected", skip_serializing_if = "Option::is_none")]
30    pub create_protected: Option<bool>,
31    #[serde(rename = "created_at")]
32    pub created_at: String,
33    #[serde(rename = "dismiss_stale_reviews_on_push")]
34    pub dismiss_stale_reviews_on_push: bool,
35    #[serde(rename = "id")]
36    pub id: i32,
37    #[serde(rename = "ignore_approvals_from_contributors")]
38    pub ignore_approvals_from_contributors: bool,
39    #[serde(rename = "linear_history_requirement_enforcement_level")]
40    pub linear_history_requirement_enforcement_level: LinearHistoryRequirementEnforcementLevel,
41    #[serde(rename = "merge_queue_enforcement_level")]
42    pub merge_queue_enforcement_level: MergeQueueEnforcementLevel,
43    #[serde(rename = "name")]
44    pub name: String,
45    #[serde(rename = "pull_request_reviews_enforcement_level")]
46    pub pull_request_reviews_enforcement_level: PullRequestReviewsEnforcementLevel,
47    #[serde(rename = "repository_id")]
48    pub repository_id: i32,
49    #[serde(rename = "require_code_owner_review")]
50    pub require_code_owner_review: bool,
51    /// Whether the most recent push must be approved by someone other than the person who pushed it
52    #[serde(rename = "require_last_push_approval", skip_serializing_if = "Option::is_none")]
53    pub require_last_push_approval: Option<bool>,
54    #[serde(rename = "required_approving_review_count")]
55    pub required_approving_review_count: i32,
56    #[serde(rename = "required_conversation_resolution_level")]
57    pub required_conversation_resolution_level: RequiredConversationResolutionLevel,
58    #[serde(rename = "required_deployments_enforcement_level")]
59    pub required_deployments_enforcement_level: RequiredDeploymentsEnforcementLevel,
60    #[serde(rename = "required_status_checks")]
61    pub required_status_checks: Vec<String>,
62    #[serde(rename = "required_status_checks_enforcement_level")]
63    pub required_status_checks_enforcement_level: RequiredStatusChecksEnforcementLevel,
64    #[serde(rename = "signature_requirement_enforcement_level")]
65    pub signature_requirement_enforcement_level: SignatureRequirementEnforcementLevel,
66    #[serde(rename = "strict_required_status_checks_policy")]
67    pub strict_required_status_checks_policy: bool,
68    #[serde(rename = "updated_at")]
69    pub updated_at: String,
70}
71
72impl WebhooksRule {
73    /// The branch protection rule. Includes a `name` and all the [branch protection settings](https://docs.github.com/github/administering-a-repository/defining-the-mergeability-of-pull-requests/about-protected-branches#about-branch-protection-settings) applied to branches that match the name. Binary settings are boolean. Multi-level configurations are one of `off`, `non_admins`, or `everyone`. Actor and build lists are arrays of strings.
74    pub fn new(admin_enforced: bool, allow_deletions_enforcement_level: AllowDeletionsEnforcementLevel, allow_force_pushes_enforcement_level: AllowForcePushesEnforcementLevel, authorized_actor_names: Vec<String>, authorized_actors_only: bool, authorized_dismissal_actors_only: bool, created_at: String, dismiss_stale_reviews_on_push: bool, id: i32, ignore_approvals_from_contributors: bool, linear_history_requirement_enforcement_level: LinearHistoryRequirementEnforcementLevel, merge_queue_enforcement_level: MergeQueueEnforcementLevel, name: String, pull_request_reviews_enforcement_level: PullRequestReviewsEnforcementLevel, repository_id: i32, require_code_owner_review: bool, required_approving_review_count: i32, required_conversation_resolution_level: RequiredConversationResolutionLevel, required_deployments_enforcement_level: RequiredDeploymentsEnforcementLevel, required_status_checks: Vec<String>, required_status_checks_enforcement_level: RequiredStatusChecksEnforcementLevel, signature_requirement_enforcement_level: SignatureRequirementEnforcementLevel, strict_required_status_checks_policy: bool, updated_at: String) -> WebhooksRule {
75        WebhooksRule {
76            admin_enforced,
77            allow_deletions_enforcement_level,
78            allow_force_pushes_enforcement_level,
79            authorized_actor_names,
80            authorized_actors_only,
81            authorized_dismissal_actors_only,
82            create_protected: None,
83            created_at,
84            dismiss_stale_reviews_on_push,
85            id,
86            ignore_approvals_from_contributors,
87            linear_history_requirement_enforcement_level,
88            merge_queue_enforcement_level,
89            name,
90            pull_request_reviews_enforcement_level,
91            repository_id,
92            require_code_owner_review,
93            require_last_push_approval: None,
94            required_approving_review_count,
95            required_conversation_resolution_level,
96            required_deployments_enforcement_level,
97            required_status_checks,
98            required_status_checks_enforcement_level,
99            signature_requirement_enforcement_level,
100            strict_required_status_checks_policy,
101            updated_at,
102        }
103    }
104}
105/// 
106#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
107pub enum AllowDeletionsEnforcementLevel {
108    #[serde(rename = "off")]
109    Off,
110    #[serde(rename = "non_admins")]
111    NonAdmins,
112    #[serde(rename = "everyone")]
113    Everyone,
114}
115
116impl Default for AllowDeletionsEnforcementLevel {
117    fn default() -> AllowDeletionsEnforcementLevel {
118        Self::Off
119    }
120}
121/// 
122#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
123pub enum AllowForcePushesEnforcementLevel {
124    #[serde(rename = "off")]
125    Off,
126    #[serde(rename = "non_admins")]
127    NonAdmins,
128    #[serde(rename = "everyone")]
129    Everyone,
130}
131
132impl Default for AllowForcePushesEnforcementLevel {
133    fn default() -> AllowForcePushesEnforcementLevel {
134        Self::Off
135    }
136}
137/// 
138#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
139pub enum LinearHistoryRequirementEnforcementLevel {
140    #[serde(rename = "off")]
141    Off,
142    #[serde(rename = "non_admins")]
143    NonAdmins,
144    #[serde(rename = "everyone")]
145    Everyone,
146}
147
148impl Default for LinearHistoryRequirementEnforcementLevel {
149    fn default() -> LinearHistoryRequirementEnforcementLevel {
150        Self::Off
151    }
152}
153/// 
154#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
155pub enum MergeQueueEnforcementLevel {
156    #[serde(rename = "off")]
157    Off,
158    #[serde(rename = "non_admins")]
159    NonAdmins,
160    #[serde(rename = "everyone")]
161    Everyone,
162}
163
164impl Default for MergeQueueEnforcementLevel {
165    fn default() -> MergeQueueEnforcementLevel {
166        Self::Off
167    }
168}
169/// 
170#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
171pub enum PullRequestReviewsEnforcementLevel {
172    #[serde(rename = "off")]
173    Off,
174    #[serde(rename = "non_admins")]
175    NonAdmins,
176    #[serde(rename = "everyone")]
177    Everyone,
178}
179
180impl Default for PullRequestReviewsEnforcementLevel {
181    fn default() -> PullRequestReviewsEnforcementLevel {
182        Self::Off
183    }
184}
185/// 
186#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
187pub enum RequiredConversationResolutionLevel {
188    #[serde(rename = "off")]
189    Off,
190    #[serde(rename = "non_admins")]
191    NonAdmins,
192    #[serde(rename = "everyone")]
193    Everyone,
194}
195
196impl Default for RequiredConversationResolutionLevel {
197    fn default() -> RequiredConversationResolutionLevel {
198        Self::Off
199    }
200}
201/// 
202#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
203pub enum RequiredDeploymentsEnforcementLevel {
204    #[serde(rename = "off")]
205    Off,
206    #[serde(rename = "non_admins")]
207    NonAdmins,
208    #[serde(rename = "everyone")]
209    Everyone,
210}
211
212impl Default for RequiredDeploymentsEnforcementLevel {
213    fn default() -> RequiredDeploymentsEnforcementLevel {
214        Self::Off
215    }
216}
217/// 
218#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
219pub enum RequiredStatusChecksEnforcementLevel {
220    #[serde(rename = "off")]
221    Off,
222    #[serde(rename = "non_admins")]
223    NonAdmins,
224    #[serde(rename = "everyone")]
225    Everyone,
226}
227
228impl Default for RequiredStatusChecksEnforcementLevel {
229    fn default() -> RequiredStatusChecksEnforcementLevel {
230        Self::Off
231    }
232}
233/// 
234#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
235pub enum SignatureRequirementEnforcementLevel {
236    #[serde(rename = "off")]
237    Off,
238    #[serde(rename = "non_admins")]
239    NonAdmins,
240    #[serde(rename = "everyone")]
241    Everyone,
242}
243
244impl Default for SignatureRequirementEnforcementLevel {
245    fn default() -> SignatureRequirementEnforcementLevel {
246        Self::Off
247    }
248}
249