Skip to main content

canic_host/deployment_truth/model/promotion/provenance/
mod.rs

1use super::super::SafetyFindingV1;
2use super::source::{
3    PromotionArtifactLevelV1, PromotionReadinessStatusV1, RoleArtifactSourceKindV1,
4};
5use serde::{Deserialize, Serialize};
6
7///
8/// ArtifactPromotionProvenanceReportV1
9///
10#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
11pub struct ArtifactPromotionProvenanceReportV1 {
12    pub schema_version: u32,
13    pub report_id: String,
14    pub status: PromotionReadinessStatusV1,
15    pub artifact_promotion_plan_id: String,
16    pub artifact_promotion_plan_digest: String,
17    pub target_plan_id: String,
18    pub promoted_plan_id: String,
19    pub promotion_plan_lineage_digest: String,
20    pub provenance_report_digest: String,
21    pub readiness_id: String,
22    pub artifact_identity_report_id: String,
23    pub transform_id: String,
24    pub target_execution_lineage_id: Option<String>,
25    pub wasm_store_identity_report_id: Option<String>,
26    pub wasm_store_identity_report_digest: Option<String>,
27    pub wasm_store_catalog_verification_id: Option<String>,
28    pub wasm_store_catalog_verification_digest: Option<String>,
29    pub materialization_identity_report_id: Option<String>,
30    pub materialization_identity_report_digest: Option<String>,
31    pub execution_attempted: bool,
32    pub roles: Vec<RolePromotionProvenanceV1>,
33    pub blockers: Vec<SafetyFindingV1>,
34}
35
36///
37/// RolePromotionProvenanceV1
38///
39#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
40pub struct RolePromotionProvenanceV1 {
41    pub role: String,
42    pub promotion_level: PromotionArtifactLevelV1,
43    pub source_kind: RoleArtifactSourceKindV1,
44    pub artifact_identity_changed: bool,
45    pub embedded_config_changed: bool,
46    pub target_materialization_preserved: bool,
47    pub materialization_evidence_id: Option<String>,
48    pub materialization_evidence_digest: Option<String>,
49    pub wasm_store_locator: Option<String>,
50    pub wasm_store_catalog_observation_digest: Option<String>,
51}