transfer

Snapshot download, import, decrypted export, and credential management helpers.

exception bedrock_server_manager.backups.transfer.BackupUploadTooLargeError

Raised when an uploaded snapshot archive exceeds the configured size limit.

async bedrock_server_manager.backups.transfer.open_snapshot_download(app_context: AppContext, server_name: str, backup_id: str) → tuple[Path, int, AsyncIterator[bytes]]

Open a snapshot archive for streaming download, retaining handle ownership on cancel.

async bedrock_server_manager.backups.transfer.import_snapshot_upload(app_context: AppContext, server_name: str, file: Any, recovery_key: str | None = None) → ListSnapshotsResponse

Validate an uploaded archive stream before publishing it under a fresh local ID.

async bedrock_server_manager.backups.transfer.export_decrypted_snapshot(app_context: AppContext, server_name: str, backup_id: str, recovery_key: str | None = None) → AsyncIterator[bytes]

Build and stream an unencrypted snapshot archive from private temporary storage.

async bedrock_server_manager.backups.transfer.list_backup_keys(app_context: AppContext) → dict[str, Any]

List key identifiers without exposing recovery credentials.

async bedrock_server_manager.backups.transfer.rotate_backup_key(app_context: AppContext) → dict[str, str]

Generate a new active key and retain all previous keys.

async bedrock_server_manager.backups.transfer.get_backup_emergency_kit(app_context: AppContext, key_id: str) → str

Export one recovery credential for administrative download.