openapi-github 0.1.0

OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
Documentation
/*
 * GitHub's official OpenAPI spec + Octokit extension
 *
 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
 *
 * The version of the OpenAPI document: 16.6.0
 * 
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

/// RepositoryRule : A repository rule.
/// A repository rule.
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum RepositoryRule {
    RepositoryRuleCreation(Box<models::RepositoryRuleCreation>),
    RepositoryRuleUpdate(Box<models::RepositoryRuleUpdate>),
    RepositoryRuleDeletion(Box<models::RepositoryRuleDeletion>),
    RepositoryRuleRequiredLinearHistory(Box<models::RepositoryRuleRequiredLinearHistory>),
    RepositoryRuleRequiredDeployments(Box<models::RepositoryRuleRequiredDeployments>),
    RepositoryRuleRequiredSignatures(Box<models::RepositoryRuleRequiredSignatures>),
    RepositoryRulePullRequest(Box<models::RepositoryRulePullRequest>),
    RepositoryRuleRequiredStatusChecks(Box<models::RepositoryRuleRequiredStatusChecks>),
    RepositoryRuleNonFastForward(Box<models::RepositoryRuleNonFastForward>),
    RepositoryRuleCommitMessagePattern(Box<models::RepositoryRuleCommitMessagePattern>),
    RepositoryRuleCommitAuthorEmailPattern(Box<models::RepositoryRuleCommitAuthorEmailPattern>),
    RepositoryRuleCommitterEmailPattern(Box<models::RepositoryRuleCommitterEmailPattern>),
    RepositoryRuleBranchNamePattern(Box<models::RepositoryRuleBranchNamePattern>),
    RepositoryRuleTagNamePattern(Box<models::RepositoryRuleTagNamePattern>),
    FilePathRestriction(Box<models::FilePathRestriction>),
    MaxFilePathLength(Box<models::MaxFilePathLength>),
    FileExtensionRestriction(Box<models::FileExtensionRestriction>),
    MaxFileSize(Box<models::MaxFileSize>),
    RepositoryRuleWorkflows(Box<models::RepositoryRuleWorkflows>),
}

impl Default for RepositoryRule {
    fn default() -> Self {
        Self::RepositoryRuleCreation(Default::default())
    }
}
/// 
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Type {
    #[serde(rename = "creation")]
    Creation,
    #[serde(rename = "update")]
    Update,
    #[serde(rename = "deletion")]
    Deletion,
    #[serde(rename = "required_linear_history")]
    RequiredLinearHistory,
    #[serde(rename = "required_deployments")]
    RequiredDeployments,
    #[serde(rename = "required_signatures")]
    RequiredSignatures,
    #[serde(rename = "pull_request")]
    PullRequest,
    #[serde(rename = "required_status_checks")]
    RequiredStatusChecks,
    #[serde(rename = "non_fast_forward")]
    NonFastForward,
    #[serde(rename = "commit_message_pattern")]
    CommitMessagePattern,
    #[serde(rename = "commit_author_email_pattern")]
    CommitAuthorEmailPattern,
    #[serde(rename = "committer_email_pattern")]
    CommitterEmailPattern,
    #[serde(rename = "branch_name_pattern")]
    BranchNamePattern,
    #[serde(rename = "tag_name_pattern")]
    TagNamePattern,
    #[serde(rename = "file_path_restriction")]
    FilePathRestriction,
    #[serde(rename = "max_file_path_length")]
    MaxFilePathLength,
    #[serde(rename = "file_extension_restriction")]
    FileExtensionRestriction,
    #[serde(rename = "max_file_size")]
    MaxFileSize,
    #[serde(rename = "workflows")]
    Workflows,
}

impl Default for Type {
    fn default() -> Type {
        Self::Creation
    }
}