tf_types/generated/
policy.rs1#![allow(unused_imports, non_camel_case_types, non_snake_case, clippy::all)]
4
5use serde::{Deserialize, Serialize};
6use super::*;
7
8#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
10pub struct Policy {
11 pub policy_version: Policy_PolicyVersion,
13 pub trust_domain: TrustDomain,
15 #[serde(skip_serializing_if = "Option::is_none", default)]
17 pub engine_hint: Option<Policy_EngineHint>,
18 pub rules: Vec<Rule>,
20 #[serde(skip_serializing_if = "Option::is_none", default)]
22 pub negative_capabilities: Option<Vec<NegativeCapability>>,
23 #[serde(skip_serializing_if = "Option::is_none", default)]
25 pub quorum_defaults: Option<Policy_QuorumDefaults>,
26 #[serde(skip_serializing_if = "Option::is_none", default)]
28 pub continuous_reevaluation: Option<Policy_ContinuousReevaluation>,
29}
30
31#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
33pub struct Policy_ContinuousReevaluation {
34 pub triggers: Vec<String>,
36}
37
38#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
40pub enum Policy_EngineHint {
41 #[serde(rename = "cedar")]
42 Cedar,
43 #[serde(rename = "rego")]
44 Rego,
45 #[serde(rename = "custom")]
46 Custom,
47 #[serde(rename = "native")]
48 Native,
49 #[serde(rename = "none")]
50 None,
51}
52
53#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
55pub enum Policy_PolicyVersion {
56 #[serde(rename = "1")]
57 V1,
58}
59
60#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
62pub struct Policy_QuorumDefaults {
63 pub min_approvers: i64,
65 pub of: Vec<ActorId>,
67}
68
69#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
71pub struct Rule {
72 pub id: String,
74 pub effect: Rule_Effect,
76 #[serde(skip_serializing_if = "Option::is_none", default)]
78 pub action: Option<ActionName>,
79 #[serde(skip_serializing_if = "Option::is_none", default)]
81 pub action_pattern: Option<String>,
82 #[serde(skip_serializing_if = "Option::is_none", default)]
84 pub subject_pattern: Option<String>,
85 #[serde(skip_serializing_if = "Option::is_none", default)]
87 pub target_patterns: Option<Vec<String>>,
88 #[serde(skip_serializing_if = "Option::is_none", default)]
90 pub risk_at_most: Option<RiskClass>,
91 #[serde(skip_serializing_if = "Option::is_none", default)]
93 pub proof_required: Option<ProofLevel>,
94 #[serde(skip_serializing_if = "Option::is_none", default)]
96 pub approval: Option<ApprovalRequirement>,
97 #[serde(skip_serializing_if = "Option::is_none", default)]
99 pub constraints: Option<Vec<Constraint>>,
100 #[serde(skip_serializing_if = "Option::is_none", default)]
102 pub reason: Option<String>,
103}
104
105#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
107pub enum Rule_Effect {
108 #[serde(rename = "allow")]
109 Allow,
110 #[serde(rename = "deny")]
111 Deny,
112 #[serde(rename = "escalate")]
113 Escalate,
114 #[serde(rename = "log_only")]
115 LogOnly,
116}