canic-host 0.70.1

Host-side build, install, deployment, and fleet-template library for Canic workspaces
Documentation
use super::proposal::{
    ExternalUpgradeConsentEvidenceV1, ExternalUpgradeConsentStateV1, ExternalUpgradeProposalV1,
    ExternalUpgradeVerificationResultV1,
};
use super::verification::{
    ExternalUpgradeVerificationCheckV1, ExternalVerificationObservationSourceV1,
};
use serde::{Deserialize, Serialize};

///
/// ExternalUpgradeCompletionReportV1
///
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct ExternalUpgradeCompletionReportV1 {
    pub schema_version: u32,
    pub report_id: String,
    pub report_digest: String,
    pub proposal_id: String,
    pub proposal_digest: String,
    pub consent_evidence_id: String,
    pub consent_evidence_digest: String,
    pub verification_check_id: String,
    pub verification_check_digest: String,
    pub subject: String,
    pub canister_id: Option<String>,
    pub role: Option<String>,
    pub consent_state: ExternalUpgradeConsentStateV1,
    pub verification_result: ExternalUpgradeVerificationResultV1,
    pub verification_observation_source: ExternalVerificationObservationSourceV1,
    pub completion_status: ExternalUpgradeCompletionStatusV1,
    pub blockers: Vec<String>,
    pub next_actions: Vec<String>,
    pub status_summary: String,
}

///
/// ExternalUpgradeCompletionStatusV1
///
#[derive(Clone, Copy, Debug, Deserialize, Eq, Ord, PartialEq, PartialOrd, Serialize)]
pub enum ExternalUpgradeCompletionStatusV1 {
    AwaitingConsent,
    ConsentRefused,
    SuppliedEvidenceConsistent,
    AwaitingVerification,
    VerifiedComplete,
    VerificationFailed,
}

///
/// ExternalUpgradeCompletionReportRequest
///
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub struct ExternalUpgradeCompletionReportRequest {
    pub report_id: String,
    pub proposal: ExternalUpgradeProposalV1,
    pub consent_evidence: ExternalUpgradeConsentEvidenceV1,
    pub verification_check: ExternalUpgradeVerificationCheckV1,
}