windmill_api/models/
protection_rule_kind.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
16pub enum ProtectionRuleKind {
17 #[serde(rename = "DisableDirectDeployment")]
18 DisableDirectDeployment,
19 #[serde(rename = "DisableWorkspaceForking")]
20 DisableWorkspaceForking,
21 #[serde(rename = "RestrictDeployToDeployers")]
22 RestrictDeployToDeployers,
23 #[serde(rename = "RestrictAnonymousAppDeployment")]
24 RestrictAnonymousAppDeployment,
25 #[serde(rename = "RestrictPublicRunSharing")]
26 RestrictPublicRunSharing,
27
28}
29
30impl std::fmt::Display for ProtectionRuleKind {
31 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
32 match self {
33 Self::DisableDirectDeployment => write!(f, "DisableDirectDeployment"),
34 Self::DisableWorkspaceForking => write!(f, "DisableWorkspaceForking"),
35 Self::RestrictDeployToDeployers => write!(f, "RestrictDeployToDeployers"),
36 Self::RestrictAnonymousAppDeployment => write!(f, "RestrictAnonymousAppDeployment"),
37 Self::RestrictPublicRunSharing => write!(f, "RestrictPublicRunSharing"),
38 }
39 }
40}
41
42impl Default for ProtectionRuleKind {
43 fn default() -> ProtectionRuleKind {
44 Self::DisableDirectDeployment
45 }
46}
47