pub mod auth;
#[cfg(feature = "blob-storage")]
pub mod blob_storage;
pub mod cascade;
pub mod cascade_report;
#[cfg(feature = "blob-storage-billing")]
pub mod cashier;
pub mod component_provisioning_plan;
pub mod component_provisioning_receipt;
pub mod component_runtime;
pub mod config;
pub mod cost_guard;
pub mod fixture_content;
pub mod fixture_importer;
pub mod fleet_activation;
pub mod fleet_admission_policy;
pub mod fleet_funding_policy;
pub mod fleet_registry;
pub mod fleet_service_binding;
pub mod ic;
pub mod placement;
pub mod replay;
pub mod root_draining_reservation;
pub mod rpc;
pub mod runtime;
pub mod storage;
pub mod prelude {
pub use crate::{
cdk::{
candid::CandidType,
types::{Cycles, Principal},
},
ids::CanisterRole,
log,
log::Topic,
};
}
use crate::InternalError;
use thiserror::Error as ThisError;
#[derive(Debug, ThisError)]
pub enum OpsError {
#[error(transparent)]
ConfigOps(#[from] config::ConfigOpsError),
#[error(transparent)]
ComponentProvisioningPlan(
#[from] component_provisioning_plan::ComponentProvisioningPlanOpsError,
),
#[error(transparent)]
FleetRegistry(#[from] fleet_registry::FleetRegistryOpsError),
#[error(transparent)]
FleetServiceBinding(#[from] fleet_service_binding::FleetServiceBindingOpsError),
#[error(transparent)]
IcInfra(#[from] crate::infra::ic::IcInfraError),
#[error(transparent)]
RpcOps(#[from] rpc::RpcOpsError),
#[error(transparent)]
RuntimeOps(#[from] runtime::RuntimeOpsError),
#[error(transparent)]
StorageOps(#[from] storage::StorageOpsError),
}
impl From<OpsError> for InternalError {
fn from(err: OpsError) -> Self {
match err {
OpsError::ConfigOps(err) => err.into(),
OpsError::IcInfra(err) => err.into(),
OpsError::RpcOps(err) => err.into(),
OpsError::RuntimeOps(err) => err.into(),
OpsError::StorageOps(err) => err.into(),
OpsError::ComponentProvisioningPlan(_)
| OpsError::FleetRegistry(_)
| OpsError::FleetServiceBinding(_) => {
Self::public(crate::diagnostics::codes::STATE_FAILED)
}
}
}
}