""" Backups Resource Backup management """ from typing import Dict, List from .base import BaseResource class BackupsResource(BaseResource): """ Backup management Usage: # List backups backups = client.backups.list() # Get backup details backup = client.backups.get("backup-id") """ def list( self, instance_id: str = None, per_page: int = 100, cursor: str = None ) -> Dict: """ List backups Args: instance_id: Filter by instance ID per_page: Items per page cursor: Pagination cursor Returns: Dict with 'backups' list and 'meta' pagination """ params = {"per_page": per_page} if instance_id: params["instance_id"] = instance_id if cursor: params["cursor"] = cursor return self.client.get("backups", params=params) def list_all(self, instance_id: str = None) -> List[Dict]: """List all backups (auto-paginate)""" params = {} if instance_id: params["instance_id"] = instance_id return self.client.paginate("backups", "backups", params=params) def get(self, backup_id: str) -> Dict: """ Get backup details Args: backup_id: Backup ID Returns: Backup details """ response = self.client.get(f"backups/{backup_id}") return response.get("backup", {})