#![allow(unused_imports, non_camel_case_types, non_snake_case, clippy::all)]
use serde::{Deserialize, Serialize};
use super::*;
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct EvidenceBundle {
pub evidence_version: EvidenceBundle_EvidenceVersion,
pub bundle_id: String,
pub trust_domain: TrustDomain,
pub incident: EvidenceBundle_Incident,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub actors: Option<Vec<ActorId>>,
pub events: Vec<ProofEvent>,
pub policy_decisions: Vec<PolicyDecision>,
pub approvals: Vec<ApprovalResponse>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub ceremonies: Option<Vec<ApprovalCeremony>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub quorum_outcomes: Option<Vec<EvidenceBundle_QuorumOutcomes_Item>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub anchors: Option<Vec<EvidenceBundle_Anchors_Item>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub encrypted_payload: Option<ProofBundleEncrypted>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub level: Option<EvidenceBundle_Level>,
pub issued_at: Timestamp,
pub issuer: ActorId,
pub signature: SignatureEnvelope,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct EvidenceBundle_Anchors_Item {
pub kind: String,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub url: Option<String>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub inclusion_proof: Option<serde_json::Value>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum EvidenceBundle_EvidenceVersion {
#[serde(rename = "1")]
V1,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct EvidenceBundle_Incident {
pub label: String,
pub started_at: Timestamp,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub ended_at: Option<Timestamp>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub domains: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub description: Option<String>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub enum EvidenceBundle_Level {
#[serde(rename = "L0")]
L0,
#[serde(rename = "L1")]
L1,
#[serde(rename = "L2")]
L2,
#[serde(rename = "L3")]
L3,
#[serde(rename = "L4")]
L4,
#[serde(rename = "L5")]
L5,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
pub struct EvidenceBundle_QuorumOutcomes_Item {
pub request_id: String,
pub min_approvers: i64,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub of: Option<Vec<ActorId>>,
pub approvers: Vec<ActorId>,
#[serde(skip_serializing_if = "Option::is_none", default)]
pub decision: Option<String>,
}