diff --git a/aiohasupervisor/models/__init__.py b/aiohasupervisor/models/__init__.py index aeec49d..b2e72d3 100644 --- a/aiohasupervisor/models/__init__.py +++ b/aiohasupervisor/models/__init__.py @@ -25,6 +25,7 @@ SupervisorRole, ) from aiohasupervisor.models.backups import ( + AddonSet, Backup, BackupAddon, BackupComplete, @@ -203,6 +204,7 @@ "GreenOptions", "YellowInfo", "YellowOptions", + "AddonSet", "Backup", "BackupAddon", "BackupComplete", diff --git a/aiohasupervisor/models/backups.py b/aiohasupervisor/models/backups.py index aeacb9d..e00517b 100644 --- a/aiohasupervisor/models/backups.py +++ b/aiohasupervisor/models/backups.py @@ -26,6 +26,12 @@ class Folder(StrEnum): MEDIA = "media" +class AddonSet(StrEnum): + """AddonSet type.""" + + ALL = "all" + + # --- OBJECTS ---- @@ -145,6 +151,8 @@ class FullBackupOptions(Request): class PartialBackupOptions(FullBackupOptions, PartialBackupRestoreOptions): """PartialBackupOptions model.""" + addons: set[str] | AddonSet | None = None + @dataclass(frozen=True, slots=True) class BackupJob(ResponseData): diff --git a/tests/test_backups.py b/tests/test_backups.py index 23a7d13..fcde508 100644 --- a/tests/test_backups.py +++ b/tests/test_backups.py @@ -11,6 +11,7 @@ from aiohasupervisor import SupervisorClient from aiohasupervisor.models import ( + AddonSet, BackupsOptions, DownloadBackupOptions, Folder, @@ -253,6 +254,10 @@ async def test_backups_full_backup( PartialBackupOptions(name="Test", background=None, addons={"core_ssh"}), "9ecf0028", ), + ( + PartialBackupOptions(name="Test", background=None, addons=AddonSet.ALL), + "9ecf0028", + ), ], ) async def test_backups_partial_backup(