"""Narrow exceptions for the bucket-event-history domain.:class:`BucketEventValidationError` protects :class:`BucketEvent` and:class:`BucketEventHistoryCatalogue` invariants, while the maintenance errorscover operator-facing bucket browse, export, import, rename, and delete flows."""from__future__importannotationsfrom...core.errorsimportAeatError
[docs]classBucketsError(AeatError):"""Base error for the bucket-event-history domain."""
[docs]classBucketEventValidationError(BucketsError,ValueError):"""Raised when a bucket event fails validation."""
[docs]classBucketMaintenanceError(BucketsError):"""Base error for operator-driven bucket-maintenance operations."""
[docs]classBucketBrowseError(BucketMaintenanceError):"""Raised when a bucket browse / search request cannot be served."""
[docs]classBucketExportError(BucketMaintenanceError):"""Raised when a bucket archive export fails."""
[docs]classBucketImportError(BucketMaintenanceError):"""Raised when a bucket archive import fails (bad payload or collision)."""
[docs]classBucketRenameError(BucketMaintenanceError):"""Raised when a bucket rename violates uniqueness or addressing rules."""
[docs]classBucketDeleteRefusedError(BucketMaintenanceError):"""Raised when a bucket delete is refused by a destructive-action gate."""
[docs]classBucketArchiveRefusedError(BucketMaintenanceError):"""Raised when a bucket archive (soft, reversible dormancy) is refused."""
[docs]classBucketRestoreRefusedError(BucketMaintenanceError):"""Raised when restoring an archived bucket is refused (e.g. not archived)."""