synology_apm.sdk.models.activity module

Activity data models (backup/restore activity records).

class synology_apm.sdk.models.activity.ActivityLogEntry(timestamp, level, message)

Bases: object

A single entry in an activity log.

timestamp: datetime
level: LogLevel
message: str
class synology_apm.sdk.models.activity.Activity(*, activity_id, execution_id, namespace, category, workload_type, workload_id, workload_namespace, workload_name, plan_name, started_at, finished_at, duration_seconds, data_transferred_bytes, progress, log_entries=None, processed_success_count=None, processed_warning_count=None, processed_error_count=None)

Bases: object

Base class for backup and restore activity records (read-only historical view).

Variables:
  • activity_id (str) – Unique activity identifier.

  • execution_id (str) – Execution identifier used by ActivityCollection.get().

  • namespace (str) – Namespace of this activity (backup server namespace).

  • category (synology_apm.sdk.enums.WorkloadCategory) – Business domain of the associated Workload (MACHINE / M365).

  • workload_type (synology_apm.sdk.enums.ActivityWorkloadType) – Workload sub-type as recorded in the activity (e.g. MACHINE_VM, MACHINE_FS, ORACLE, M365). Finer-grained than category.

  • workload_id (str) – Associated Workload identifier.

  • workload_namespace (str) – Namespace of the associated Workload; may differ from activity namespace. Used in restore cancel requests.

  • workload_name (str) – Associated Workload display name (snapshot value).

  • plan_name (str) – Name of the applied Protection Plan.

  • started_at (datetime.datetime) – Activity start time.

  • finished_at (datetime.datetime | None) – Activity end time; None if still in progress.

  • duration_seconds (int | None) – Duration in seconds; None if not yet completed.

  • data_transferred_bytes (int | None) – Amount of data transferred (bytes); None when not available.

  • progress (int) – Progress percentage (0–100).

  • log_entries (tuple[synology_apm.sdk.models.activity.ActivityLogEntry, ...] | None) – Detailed log entries; populated only by get() / get_by_version().

  • processed_success_count (int | None) – Items backed up or restored successfully; M365 and FS activities only.

  • processed_warning_count (int | None) – Items processed with warnings; M365 and FS activities only.

  • processed_error_count (int | None) – Items that failed processing; M365 and FS activities only.

activity_id: str
execution_id: str
namespace: str
category: WorkloadCategory
workload_type: ActivityWorkloadType
workload_id: str
workload_namespace: str
workload_name: str
plan_name: str
started_at: datetime
finished_at: datetime | None
duration_seconds: int | None
data_transferred_bytes: int | None
progress: int
log_entries: tuple[ActivityLogEntry, ...] | None = None
processed_success_count: int | None = None
processed_warning_count: int | None = None
processed_error_count: int | None = None
property items_processed: int | None

Total items processed (success + warning + error); None for machine byte-level activities.

class synology_apm.sdk.models.activity.BackupActivity(*, activity_id, execution_id, namespace, category, workload_type, workload_id, workload_namespace, workload_name, plan_name, started_at, finished_at, duration_seconds, data_transferred_bytes, progress, log_entries=None, processed_success_count=None, processed_warning_count=None, processed_error_count=None, status, verify_status=None, data_change_bytes=None, data_deduped_bytes=None, backup_scope=None)

Bases: Activity

A backup activity record.

Variables:
status: BackupActivityStatus
verify_status: VerifyStatus | None = None
data_change_bytes: int | None = None
data_deduped_bytes: int | None = None
backup_scope: BackupScope | None = None
property items_processed: int | None

Total items processed (success + warning + error); None for machine byte-level activities.

log_entries: tuple[ActivityLogEntry, ...] | None = None
processed_error_count: int | None = None
processed_success_count: int | None = None
processed_warning_count: int | None = None
activity_id: str
execution_id: str
namespace: str
category: WorkloadCategory
workload_type: ActivityWorkloadType
workload_id: str
workload_namespace: str
workload_name: str
plan_name: str
started_at: datetime
finished_at: datetime | None
duration_seconds: int | None
data_transferred_bytes: int | None
progress: int
class synology_apm.sdk.models.activity.RestoreActivity(*, activity_id, execution_id, namespace, category, workload_type, workload_id, workload_namespace, workload_name, plan_name, started_at, finished_at, duration_seconds, data_transferred_bytes, progress, log_entries=None, processed_success_count=None, processed_warning_count=None, processed_error_count=None, status, restore_type=None, restore_destination=None, operator=None, version_timestamp=None, restore_from_info=None, destination_path=None, destination_inventory=None)

Bases: Activity

A restore activity record.

Variables:
  • status (synology_apm.sdk.enums.RestoreActivityStatus) – Current restore activity status.

  • restore_type (synology_apm.sdk.enums.RestoreType | None) – Method used for this restore; None when unavailable.

  • restore_destination (str | None) – Target restore destination path or label; None when not set.

  • operator (str | None) – Username who initiated the restore; None when not recorded.

  • version_timestamp (datetime.datetime | None) – Timestamp of the backup version used for this restore; None if unavailable.

  • restore_from_info (synology_apm.sdk.models.location.LocationInfo | None) – Source location this restore was performed from; None when not provided.

  • destination_path (str | None) – Restore destination filesystem path; None when not set.

  • destination_inventory (synology_apm.sdk.models.hypervisor.Hypervisor | None) – Destination hypervisor entry; None when not applicable. Only hostname, address, and host_type are populated (the remaining Hypervisor fields are empty/zero placeholders, not a full inventory record).

status: RestoreActivityStatus
restore_type: RestoreType | None = None
restore_destination: str | None = None
operator: str | None = None
version_timestamp: datetime | None = None
restore_from_info: LocationInfo | None = None
destination_path: str | None = None
destination_inventory: Hypervisor | None = None
property items_processed: int | None

Total items processed (success + warning + error); None for machine byte-level activities.

log_entries: tuple[ActivityLogEntry, ...] | None = None
processed_error_count: int | None = None
processed_success_count: int | None = None
processed_warning_count: int | None = None
activity_id: str
execution_id: str
namespace: str
category: WorkloadCategory
workload_type: ActivityWorkloadType
workload_id: str
workload_namespace: str
workload_name: str
plan_name: str
started_at: datetime
finished_at: datetime | None
duration_seconds: int | None
data_transferred_bytes: int | None
progress: int
class synology_apm.sdk.models.activity.M365ExportActivity(activity_id, execution_id, namespace, workload_id, workload_namespace, source_name, is_archive_mail, status, started_at, finished_at, version_timestamp=None)

Bases: object

An M365 mailbox PST export task record (Exchange or Group mailbox).

Variables:
  • activity_id (str) – Activity UUID (unique identifier for cancel and download operations).

  • execution_id (str) – Internal execution identifier; used by SDK methods, not exposed to users.

  • namespace (str) – Namespace of the backup server where this activity resides.

  • workload_id (str) – ID of the associated M365 workload.

  • workload_namespace (str) – Namespace of the associated M365 workload.

  • source_name (str) – Source folder or item name.

  • is_archive_mail (bool) – True if this is an archive mailbox export.

  • status (synology_apm.sdk.enums.M365ExportStatus) – Current export task status.

  • started_at (datetime.datetime | None) – Task start time; None if not yet started.

  • finished_at (datetime.datetime | None) – Task end time; None if still in progress or status is PREPARING.

  • version_timestamp (datetime.datetime | None) – Timestamp of the backup version being exported; None if unavailable.

activity_id: str
execution_id: str
namespace: str
workload_id: str
workload_namespace: str
source_name: str
is_archive_mail: bool
status: M365ExportStatus
started_at: datetime | None
finished_at: datetime | None
version_timestamp: datetime | None = None