use crate::fleet_ensure::model::capacity_import::{
CapacityImportAuthority, CapacityImportSourceBinding,
};
use candid::Principal;
use canic_core::ids::SubnetId;
use std::collections::BTreeSet;
pub(in crate::fleet_ensure) struct CapacityImportFundingBaselineView {
pub sample: crate::fleet_ensure::model::capacity_import::survey::CapacityImportSampleRecord,
pub origin: crate::fleet_ensure::model::capacity_import::funding::CapacityImportFundingOrigin,
}
pub(in crate::fleet_ensure) struct CapacityImportFundingSampleView {
pub sample: crate::fleet_ensure::model::capacity_import::survey::CapacityImportSampleRecord,
pub credit:
crate::fleet_ensure::model::capacity_import::funding::CapacityImportFundingCreditRecord,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CapacityImportDestinationView {
pub authority: CapacityImportAuthority,
pub ready: bool,
pub draining: bool,
pub competing_operation: bool,
pub occupied_capacity: u32,
pub maximum_capacity: u32,
pub controlled_cycles: u128,
pub reserved_cycles: u128,
pub minimum_retained_cycles: u128,
pub assigned_canisters: BTreeSet<Principal>,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum CapacityImportOwnershipView {
Unassigned,
Assigned,
Unknown,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CapacityImportSourceView {
pub binding: CapacityImportSourceBinding,
pub cycles: u128,
pub reserved_cycles: u128,
pub ownership: CapacityImportOwnershipView,
pub disposition_evidence_sha256: Option<[u8; 32]>,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CapacityImportDocumentView {
pub before_sha256: [u8; 32],
pub after_sha256: [u8; 32],
pub replacement: Vec<u8>,
}
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct CapacityImportInventoryView {
pub plan_sha256: [u8; 32],
pub policy: CapacityImportDocumentView,
pub seed: CapacityImportDocumentView,
}
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub struct CapacityImportRootView {
pub root: Principal,
pub subnet: SubnetId,
}