use candid::{CandidType, Nat};
use serde::{Deserialize, Serialize};
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum BlobStoragePaymentModelStatus {
NotConfigured,
ProjectAsPaymentAccount,
}
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum BlobStorageGatewayPrincipalSyncAction {
NotRequested,
SkippedConfigMissing,
SkippedReadOnlyStatus,
}
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum BlobStorageFundingStatus {
NotConfigured,
NotNeeded,
FundingRequired {
requested_cycles: Nat,
},
BalanceUnavailable,
BalanceMalformed,
ReserveWouldBeViolated {
requested_cycles: Nat,
transferable_cycles: Nat,
},
}
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum BlobStorageReadinessBlocker {
NotConfigured,
GatewayPrincipalsMissing,
CashierBalanceUnavailable,
CashierBalanceMalformed,
InsufficientCashierBalance,
ReserveWouldBeViolated,
}
#[derive(CandidType, Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum BlobStorageBillingWarning {
GatewayPrincipalSetEmpty,
CashierBalanceUnavailable,
CashierBalanceMalformed,
SyncRequestedButStatusIsReadOnly,
}