or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

backup-operations.mdbackup-policies.mdclient-management.mdcross-region-restore.mdindex.mdjob-management.mdprotected-items.mdrestore-operations.mdvault-configuration.md
tile.json

tessl/pypi-azure-mgmt-recoveryservicesbackup

Microsoft Azure Recovery Services Backup Management Client Library for Python

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/azure-mgmt-recoveryservicesbackup@9.2.x

To install, run

npx @tessl/cli install tessl/pypi-azure-mgmt-recoveryservicesbackup@9.2.0

index.mddocs/

Azure Recovery Services Backup

The Azure Recovery Services Backup Management Client Library provides comprehensive Python interfaces for managing Azure Backup services through the Azure Resource Manager API. It enables programmatic interaction with Azure Backup operations including vault management, backup policy configuration, backup item management, restore operations, and job monitoring.

Package Information

  • Package Name: azure-mgmt-recoveryservicesbackup
  • Language: Python
  • Installation: pip install azure-mgmt-recoveryservicesbackup azure-identity
  • Python Support: 3.8+

Core Imports

from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservicesbackup.activestamp import RecoveryServicesBackupClient
from azure.mgmt.recoveryservicesbackup.passivestamp import RecoveryServicesBackupPassiveClient

For asynchronous operations:

from azure.mgmt.recoveryservicesbackup.activestamp.aio import RecoveryServicesBackupClient as AsyncRecoveryServicesBackupClient
from azure.mgmt.recoveryservicesbackup.passivestamp.aio import RecoveryServicesBackupPassiveClient as AsyncRecoveryServicesBackupPassiveClient

Basic Usage

import os
from azure.identity import DefaultAzureCredential
from azure.mgmt.recoveryservicesbackup.activestamp import RecoveryServicesBackupClient

# Authentication using environment variables:
# AZURE_CLIENT_ID, AZURE_TENANT_ID, AZURE_CLIENT_SECRET, AZURE_SUBSCRIPTION_ID
credential = DefaultAzureCredential()
subscription_id = os.getenv("AZURE_SUBSCRIPTION_ID")

# Create the main backup client
client = RecoveryServicesBackupClient(
    credential=credential,
    subscription_id=subscription_id
)

# List backup policies in a resource group
resource_group_name = "my-resource-group"
vault_name = "my-backup-vault"

policies = client.backup_policies.list(
    resource_group_name=resource_group_name,
    vault_name=vault_name
)

for policy in policies:
    print(f"Policy: {policy.name}, Type: {policy.properties.backup_management_type}")

# Get backup status for a virtual machine
vm_resource_group = "vm-resource-group"
vm_name = "my-vm"

backup_status = client.backup_status.get(
    azure_region="eastus",
    parameters={
        "resource_type": "VM",
        "resource_id": f"/subscriptions/{subscription_id}/resourceGroups/{vm_resource_group}/providers/Microsoft.Compute/virtualMachines/{vm_name}",
        "poQuery_type": "BackupStatus"
    }
)

print(f"Protection status: {backup_status.protection_info.protection_status}")

Architecture

The library provides two main API variants designed for different backup scenarios:

  • ActiveStamp API: Comprehensive backup operations for primary backup management (API version 2025-02-01)
  • PassiveStamp API: Specialized for Cross-Region Restore (CRR) scenarios (API version 2021-11-15)

Both variants offer:

  • Synchronous clients for traditional blocking operations
  • Asynchronous clients for high-performance async/await operations
  • Comprehensive operation coverage with 108+ operation classes
  • Rich data models with 400+ model classes and 100+ enums

Capabilities

Client Management

Core client initialization and configuration for both ActiveStamp and PassiveStamp APIs, including authentication, subscription management, and client lifecycle operations.

class RecoveryServicesBackupClient:
    def __init__(
        self,
        credential: TokenCredential,
        subscription_id: str,
        base_url: str = "https://management.azure.com",
        **kwargs
    ): ...

class RecoveryServicesBackupPassiveClient:
    def __init__(
        self,
        credential: TokenCredential,
        subscription_id: str,
        base_url: str = "https://management.azure.com",
        **kwargs
    ): ...

Client Management

Backup Policies

Comprehensive backup policy management including creation, modification, deletion, and assignment of backup policies. Supports various workload types including Azure VMs, SQL databases, file shares, and on-premises workloads.

class BackupPoliciesOperations:
    def list(self, resource_group_name: str, vault_name: str, **kwargs) -> Iterable[ProtectionPolicyResource]: ...

class ProtectionPoliciesOperations:
    def get(self, resource_group_name: str, vault_name: str, policy_name: str, **kwargs) -> ProtectionPolicyResource: ...
    def create_or_update(self, resource_group_name: str, vault_name: str, policy_name: str, parameters: ProtectionPolicyResource, **kwargs) -> ProtectionPolicyResource: ...
    def delete(self, resource_group_name: str, vault_name: str, policy_name: str, **kwargs) -> None: ...

Backup Policies

Protected Items

Management of items under backup protection including virtual machines, databases, file shares, and workloads. Provides operations for enabling protection, modifying protection settings, and removing protection.

class BackupProtectedItemsOperations:
    def list(self, resource_group_name: str, vault_name: str, **kwargs) -> Iterable[BackupProtectedItemResource]: ...

class ProtectedItemsOperations:
    def get(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, **kwargs) -> BackupProtectedItemResource: ...
    def create_or_update(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, parameters: BackupProtectedItemResource, **kwargs) -> BackupProtectedItemResource: ...
    def delete(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, **kwargs) -> None: ...

Protected Items

Backup Operations

Execution and management of backup operations including on-demand backups, backup scheduling, and backup job monitoring. Supports all Azure Backup workload types with comprehensive status tracking.

class BackupsOperations:
    def trigger(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, parameters: BackupRequestResource, **kwargs) -> None: ...

class BackupJobsOperations:
    def list(self, resource_group_name: str, vault_name: str, **kwargs) -> Iterable[JobResource]: ...

class JobDetailsOperations:
    def get(self, resource_group_name: str, vault_name: str, job_name: str, **kwargs) -> JobResource: ...

class JobCancellationsOperations:
    def trigger(self, resource_group_name: str, vault_name: str, job_name: str, **kwargs) -> None: ...

Backup Operations

Restore Operations

Comprehensive restore capabilities including full restore, file-level restore, and cross-region restore. Supports various restore targets and scenarios with detailed restore job tracking and management.

class RestoresOperations:
    def trigger(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, recovery_point_id: str, parameters: RestoreRequestResource, **kwargs) -> None: ...

class RecoveryPointsOperations:
    def list(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, **kwargs) -> Iterable[RecoveryPointResource]: ...
    def get(self, resource_group_name: str, vault_name: str, fabric_name: str, container_name: str, protected_item_name: str, recovery_point_id: str, **kwargs) -> RecoveryPointResource: ...

Restore Operations

Cross-Region Restore

Specialized operations for Cross-Region Restore (CRR) scenarios using the PassiveStamp API. Enables backup and restore operations across Azure regions for disaster recovery and compliance requirements.

class CrossRegionRestoreOperations:
    def trigger(self, azure_region: str, parameters: CrossRegionRestoreRequestResource, **kwargs) -> None: ...
    def get_operation_status(self, azure_region: str, operation_id: str, **kwargs) -> OperationStatus: ...

Cross-Region Restore

Vault Configuration

Management of Recovery Services vault settings including storage configuration, encryption settings, and vault-level policies. Provides comprehensive vault administration capabilities.

class BackupResourceVaultConfigsOperations:
    def get(self, resource_group_name: str, vault_name: str, **kwargs) -> BackupResourceVaultConfigResource: ...
    def update(self, resource_group_name: str, vault_name: str, parameters: BackupResourceVaultConfigResource, **kwargs) -> BackupResourceVaultConfigResource: ...

class BackupResourceStorageConfigsOperations:
    def get(self, resource_group_name: str, vault_name: str, **kwargs) -> BackupResourceStorageConfigResource: ...
    def update(self, resource_group_name: str, vault_name: str, parameters: BackupResourceStorageConfigResource, **kwargs) -> None: ...

Vault Configuration

Job Management

Comprehensive backup and restore job lifecycle management including job monitoring, cancellation, result retrieval, and detailed status tracking across all supported workload types.

class BackupJobsOperations:
    def list(self, resource_group_name: str, vault_name: str, **kwargs) -> Iterable[JobResource]: ...

class JobDetailsOperations:
    def get(self, resource_group_name: str, vault_name: str, job_name: str, **kwargs) -> JobResource: ...

class JobCancellationsOperations:
    def trigger(self, resource_group_name: str, vault_name: str, job_name: str, **kwargs) -> None: ...

class JobsOperations:
    def export(self, resource_group_name: str, vault_name: str, **kwargs) -> None: ...

Job Management

Common Types

# Base resource types
class Resource:
    id: Optional[str]
    name: Optional[str] 
    type: Optional[str]
    location: Optional[str]
    tags: Optional[Dict[str, str]]

class ProxyResource(Resource):
    pass

# Backup management types
class BackupManagementType(str, Enum):
    AZURE_IAAS_VM = "AzureIaasVM"
    AZURE_STORAGE = "AzureStorage" 
    AZURE_WORKLOAD = "AzureWorkload"
    DPM = "DPM"
    MABS = "MABS"
    INVALID = "Invalid"

# Workload types
class WorkloadType(str, Enum):
    VM = "VM"
    FILE_SHARE = "FileShare"
    SQL_DB = "SQLDB"
    SAP_HANA_DATABASE = "SAPHanaDatabase"
    EXCHANGE = "Exchange"
    SHAREPOINT = "Sharepoint"
    INVALID = "Invalid"

# Job status enumeration
class JobStatus(str, Enum):
    INVALID = "Invalid"
    IN_PROGRESS = "InProgress"
    COMPLETED = "Completed"
    FAILED = "Failed"
    COMPLETED_WITH_WARNINGS = "CompletedWithWarnings"
    CANCELLED = "Cancelled"
    CANCELLING = "Cancelling"