openapi_github/models/
branch_protection.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/// BranchProtection : Branch Protection
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct BranchProtection {
17    #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
18    pub url: Option<String>,
19    #[serde(rename = "enabled", skip_serializing_if = "Option::is_none")]
20    pub enabled: Option<bool>,
21    #[serde(rename = "required_status_checks", skip_serializing_if = "Option::is_none")]
22    pub required_status_checks: Option<Box<models::ProtectedBranchRequiredStatusCheck>>,
23    #[serde(rename = "enforce_admins", skip_serializing_if = "Option::is_none")]
24    pub enforce_admins: Option<Box<models::ProtectedBranchAdminEnforced>>,
25    #[serde(rename = "required_pull_request_reviews", skip_serializing_if = "Option::is_none")]
26    pub required_pull_request_reviews: Option<Box<models::ProtectedBranchPullRequestReview>>,
27    #[serde(rename = "restrictions", skip_serializing_if = "Option::is_none")]
28    pub restrictions: Option<Box<models::BranchRestrictionPolicy>>,
29    #[serde(rename = "required_linear_history", skip_serializing_if = "Option::is_none")]
30    pub required_linear_history: Option<Box<models::BranchProtectionRequiredLinearHistory>>,
31    #[serde(rename = "allow_force_pushes", skip_serializing_if = "Option::is_none")]
32    pub allow_force_pushes: Option<Box<models::BranchProtectionRequiredLinearHistory>>,
33    #[serde(rename = "allow_deletions", skip_serializing_if = "Option::is_none")]
34    pub allow_deletions: Option<Box<models::BranchProtectionRequiredLinearHistory>>,
35    #[serde(rename = "block_creations", skip_serializing_if = "Option::is_none")]
36    pub block_creations: Option<Box<models::BranchProtectionRequiredLinearHistory>>,
37    #[serde(rename = "required_conversation_resolution", skip_serializing_if = "Option::is_none")]
38    pub required_conversation_resolution: Option<Box<models::BranchProtectionRequiredLinearHistory>>,
39    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
40    pub name: Option<String>,
41    #[serde(rename = "protection_url", skip_serializing_if = "Option::is_none")]
42    pub protection_url: Option<String>,
43    #[serde(rename = "required_signatures", skip_serializing_if = "Option::is_none")]
44    pub required_signatures: Option<Box<models::BranchProtectionRequiredSignatures>>,
45    #[serde(rename = "lock_branch", skip_serializing_if = "Option::is_none")]
46    pub lock_branch: Option<Box<models::BranchProtectionLockBranch>>,
47    #[serde(rename = "allow_fork_syncing", skip_serializing_if = "Option::is_none")]
48    pub allow_fork_syncing: Option<Box<models::BranchProtectionAllowForkSyncing>>,
49}
50
51impl BranchProtection {
52    /// Branch Protection
53    pub fn new() -> BranchProtection {
54        BranchProtection {
55            url: None,
56            enabled: None,
57            required_status_checks: None,
58            enforce_admins: None,
59            required_pull_request_reviews: None,
60            restrictions: None,
61            required_linear_history: None,
62            allow_force_pushes: None,
63            allow_deletions: None,
64            block_creations: None,
65            required_conversation_resolution: None,
66            name: None,
67            protection_url: None,
68            required_signatures: None,
69            lock_branch: None,
70            allow_fork_syncing: None,
71        }
72    }
73}
74