synology_apm.sdk.collections.backup_servers module

BackupServerCollection — collection interface for managing cluster backup servers.

class synology_apm.sdk.collections.backup_servers.BackupServerCollection(session)

Bases: object

Collection interface for managing backup servers in the APM cluster.

Accessed via APMClient.backup_servers; should not be instantiated directly.

async list(name_contains=None, status_filter=None, type_filter=None, limit=500, offset=0)

List all backup servers in the cluster.

Tiering plan name and destination are resolved concurrently for all servers in the page that have a tiering plan assigned.

Parameters:
  • name_contains (str | None) – Name keyword search (fuzzy match).

  • status_filter (list[ServerStatus] | None) – Filter by ServerStatus. Accepts multiple values; None means no filter.

  • type_filter (list[BackupServerType] | None) – Filter by BackupServerType (DP or NAS). Accepts multiple values; None means no filter.

  • limit (int) – Maximum records to return (default 500).

  • offset (int) – Pagination start offset (default 0).

Returns:

(list of BackupServer, total count matching the filter)

Return type:

tuple[list[BackupServer], int]

async get_by_name(name)

Fetch a backup server by name (keyword search + exact match).

Searches using name as keyword; matches each result in order: exact backup_server_id → case-insensitive name → case-insensitive hostname. Returns immediately on the first match without fetching further pages.

Parameters:

name (str) – Server display name, hostname, or ID.

Raises:

ResourceNotFoundError – No backup server with an exact match was found.

async change_tiering_plan(server, plan)

Apply or remove a Tiering Plan on a Backup Server.

Tiering is supported only for DP-type backup servers.

Parameters:
  • server (BackupServer) – BackupServer object (obtained via get() or get_by_name()).

  • plan (TieringPlan | None) – TieringPlan to apply, or None to remove the current plan.

Raises:

InvalidOperationError – The backup server is not a DP-type server.

async get(backup_server_id)

Fetch a backup server by ID.

Raises:

ResourceNotFoundError – The specified backup server does not exist.