#![allow(unused_imports, non_camel_case_types, non_snake_case, clippy::all)]
use serde::{Deserialize, Serialize};
use super::*;
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct EmitRule {
pub event_type: String,
pub level: ProofLevel,
pub anchor: EmitRule_Anchor,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub retention_days: Option<i64>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum EmitRule_Anchor {
#[serde(rename = "local")]
Local,
#[serde(rename = "org")]
Org,
#[serde(rename = "federated")]
Federated,
#[serde(rename = "transparency")]
Transparency,
#[serde(rename = "none")]
None,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct ProofProfile {
pub profile_version: ProofProfile_ProfileVersion,
pub trust_domain: TrustDomain,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub default_level: Option<ProofLevel>,
pub emit: Vec<EmitRule>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub redaction_rules: Option<Vec<RedactionRule>>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum ProofProfile_ProfileVersion {
#[serde(rename = "1")]
V1,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct RedactionRule {
pub field: String,
pub policy: RedactionRule_Policy,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum RedactionRule_Policy {
#[serde(rename = "keep")]
Keep,
#[serde(rename = "hash")]
Hash,
#[serde(rename = "drop")]
Drop,
}