canic_host/deployment_truth/model/promotion/receipt/
mod.rs1use super::super::{
2 DeploymentCommandResultV1, DeploymentExecutionStatusV1, DeploymentReceiptV1, RolePhaseResultV1,
3};
4use super::PromotionReadinessStatusV1;
5use super::source::PromotionArtifactLevelV1;
6use serde::{Deserialize, Serialize};
7
8#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
12pub struct ArtifactPromotionExecutionReceiptV1 {
13 pub schema_version: u32,
14 pub receipt_id: String,
15 pub execution_receipt_digest: String,
16 pub artifact_promotion_plan_id: String,
17 pub artifact_promotion_plan_digest: String,
18 pub provenance_report_id: String,
19 pub provenance_report_digest: String,
20 pub provenance_status: PromotionReadinessStatusV1,
21 pub promoted_plan_id: String,
22 pub promotion_plan_lineage_digest: String,
23 pub operation_id: String,
24 pub operation_status: DeploymentExecutionStatusV1,
25 pub command_result: DeploymentCommandResultV1,
26 pub started_at: String,
27 pub finished_at: Option<String>,
28 pub deployment_receipt: DeploymentReceiptV1,
29 pub roles: Vec<RolePromotionExecutionReceiptV1>,
30}
31
32#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
36pub struct RolePromotionExecutionReceiptV1 {
37 pub role: String,
38 pub promotion_level: PromotionArtifactLevelV1,
39 pub materialization_evidence_id: Option<String>,
40 pub materialization_evidence_digest: Option<String>,
41 pub wasm_store_locator: Option<String>,
42 pub wasm_store_catalog_observation_digest: Option<String>,
43 pub role_phase_result: Option<RolePhaseResultV1>,
44 pub artifact_digest: Option<String>,
45 pub observed_module_hash_after: Option<String>,
46 pub canonical_embedded_config_sha256: Option<String>,
47}