or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

Files

docs

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

protected-items.mddocs/

0

# Protected Items

1

2

Management of items under backup protection including virtual machines, databases, file shares, and workloads. Provides comprehensive operations for enabling protection, modifying protection settings, monitoring backup status, and removing protection across all supported Azure Backup workload types.

3

4

## Capabilities

5

6

### Protected Item Management

7

8

Core operations for managing items that are currently protected by backup policies.

9

10

```python { .api }

11

class BackupProtectedItemsOperations:

12

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

13

"""

14

List all protected items in a Recovery Services vault.

15

16

Parameters:

17

- resource_group_name: Resource group containing the vault

18

- vault_name: Recovery Services vault name

19

- kwargs: Filter options (backup_management_type, workload_type, etc.)

20

21

Returns:

22

Iterable of BackupProtectedItemResource objects

23

"""

24

25

class ProtectedItemsOperations:

26

def get(

27

self,

28

resource_group_name: str,

29

vault_name: str,

30

fabric_name: str,

31

container_name: str,

32

protected_item_name: str,

33

**kwargs

34

) -> BackupProtectedItemResource:

35

"""

36

Get details of a specific protected item.

37

38

Parameters:

39

- resource_group_name: Resource group containing the vault

40

- vault_name: Recovery Services vault name

41

- fabric_name: Fabric name (usually "Azure")

42

- container_name: Container name hosting the item

43

- protected_item_name: Name of the protected item

44

- kwargs: Additional options (expand, filter)

45

46

Returns:

47

BackupProtectedItemResource with detailed information

48

"""

49

50

def create_or_update(

51

self,

52

resource_group_name: str,

53

vault_name: str,

54

fabric_name: str,

55

container_name: str,

56

protected_item_name: str,

57

parameters: BackupProtectedItemResource,

58

**kwargs

59

) -> BackupProtectedItemResource:

60

"""

61

Enable protection or update protection settings for an item.

62

63

Parameters:

64

- resource_group_name: Resource group containing the vault

65

- vault_name: Recovery Services vault name

66

- fabric_name: Fabric name (usually "Azure")

67

- container_name: Container name hosting the item

68

- protected_item_name: Name of the item to protect

69

- parameters: Protection configuration details

70

- kwargs: Additional options

71

72

Returns:

73

Updated BackupProtectedItemResource

74

"""

75

76

def delete(

77

self,

78

resource_group_name: str,

79

vault_name: str,

80

fabric_name: str,

81

container_name: str,

82

protected_item_name: str,

83

**kwargs

84

) -> None:

85

"""

86

Stop protection and optionally delete backup data for an item.

87

88

Parameters:

89

- resource_group_name: Resource group containing the vault

90

- vault_name: Recovery Services vault name

91

- fabric_name: Fabric name (usually "Azure")

92

- container_name: Container name hosting the item

93

- protected_item_name: Name of the protected item

94

- kwargs: Options including delete_backup_data flag

95

"""

96

```

97

98

Usage example:

99

100

```python

101

# List all protected items

102

protected_items = client.backup_protected_items.list("my-rg", "my-vault")

103

for item in protected_items:

104

print(f"Item: {item.name}, Type: {item.properties.workload_type}")

105

106

# Get specific protected VM

107

vm_item = client.protected_items.get(

108

"my-rg", "my-vault", "Azure", "iaasvmcontainer;iaasvmcontainerv2;vm-rg;my-vm", "vm;iaasvmcontainerv2;vm-rg;my-vm"

109

)

110

print(f"Protection status: {vm_item.properties.protection_status}")

111

112

# Enable protection for a VM

113

from azure.mgmt.recoveryservicesbackup.activestamp.models import (

114

BackupProtectedItemResource,

115

AzureIaaSVMProtectedItem

116

)

117

118

protection_request = BackupProtectedItemResource(

119

properties=AzureIaaSVMProtectedItem(

120

backup_management_type="AzureIaasVM",

121

workload_type="VM",

122

policy_id="/subscriptions/sub-id/resourceGroups/my-rg/providers/Microsoft.RecoveryServices/vaults/my-vault/backupPolicies/DefaultPolicy",

123

source_resource_id="/subscriptions/sub-id/resourceGroups/vm-rg/providers/Microsoft.Compute/virtualMachines/my-vm"

124

)

125

)

126

127

protected_item = client.protected_items.create_or_update(

128

"my-rg", "my-vault", "Azure", "iaasvmcontainer;iaasvmcontainerv2;vm-rg;my-vm",

129

"vm;iaasvmcontainerv2;vm-rg;my-vm", protection_request

130

)

131

```

132

133

### Protected Item Operations

134

135

Advanced operations for protected items including operation tracking and status monitoring.

136

137

```python { .api }

138

class ProtectedItemsOperations:

139

def list(self, resource_group_name: str, vault_name: str, **kwargs) -> Iterable[ProtectedItemResource]:

140

"""List protected items with advanced filtering."""

141

142

def get(

143

self,

144

resource_group_name: str,

145

vault_name: str,

146

fabric_name: str,

147

container_name: str,

148

protected_item_name: str,

149

**kwargs

150

) -> ProtectedItemResource:

151

"""Get protected item with detailed properties."""

152

153

def create_or_update(

154

self,

155

resource_group_name: str,

156

vault_name: str,

157

fabric_name: str,

158

container_name: str,

159

protected_item_name: str,

160

parameters: ProtectedItemResource,

161

**kwargs

162

) -> ProtectedItemResource:

163

"""Create or update protected item configuration."""

164

165

def delete(

166

self,

167

resource_group_name: str,

168

vault_name: str,

169

fabric_name: str,

170

container_name: str,

171

protected_item_name: str,

172

**kwargs

173

) -> None:

174

"""Remove protection from item."""

175

176

class ProtectedItemOperationResultsOperations:

177

def get(

178

self,

179

resource_group_name: str,

180

vault_name: str,

181

fabric_name: str,

182

container_name: str,

183

protected_item_name: str,

184

operation_id: str,

185

**kwargs

186

) -> ProtectedItemResource:

187

"""Get result of protected item operation."""

188

189

class ProtectedItemOperationStatusesOperations:

190

def get(

191

self,

192

resource_group_name: str,

193

vault_name: str,

194

fabric_name: str,

195

container_name: str,

196

protected_item_name: str,

197

operation_id: str,

198

**kwargs

199

) -> OperationStatus:

200

"""Get status of protected item operation."""

201

```

202

203

## Protected Item Types

204

205

### Azure IaaS VM Protected Items

206

207

Protected items representing Azure virtual machines with comprehensive backup and restore capabilities.

208

209

```python { .api }

210

class AzureIaaSVMProtectedItem:

211

def __init__(

212

self,

213

backup_management_type: str = "AzureIaasVM",

214

workload_type: str = "VM",

215

container_name: Optional[str] = None,

216

source_resource_id: Optional[str] = None,

217

policy_id: Optional[str] = None,

218

last_recovery_point: Optional[datetime] = None,

219

backup_set_name: Optional[str] = None,

220

create_mode: Optional[str] = None,

221

deferred_delete_time_in_utc: Optional[datetime] = None,

222

is_deferred_delete_schedule_upcoming: Optional[bool] = None,

223

is_rehydrate: Optional[bool] = None,

224

resource_guard_operation_requests: Optional[List[str]] = None,

225

is_archive_enabled: Optional[bool] = None,

226

policy_name: Optional[str] = None,

227

soft_delete_retention_period: Optional[int] = None,

228

**kwargs

229

):

230

"""

231

Azure IaaS VM protected item.

232

233

Parameters:

234

- backup_management_type: Always "AzureIaasVM"

235

- workload_type: Always "VM"

236

- container_name: Container hosting the VM

237

- source_resource_id: Azure resource ID of the VM

238

- policy_id: ID of the backup policy applied to the VM

239

- last_recovery_point: Date/time of last successful backup

240

- backup_set_name: Backup set identifier

241

- create_mode: Protection creation mode

242

- deferred_delete_time_in_utc: Soft delete expiration time

243

- is_deferred_delete_schedule_upcoming: Whether soft delete is scheduled

244

- is_rehydrate: Whether item is being rehydrated from archive

245

- resource_guard_operation_requests: Resource guard operation identifiers

246

- is_archive_enabled: Whether archive tier is enabled

247

- policy_name: Name of the applied backup policy

248

- soft_delete_retention_period: Soft delete retention period in days

249

"""

250

251

backup_management_type: str

252

workload_type: str

253

container_name: Optional[str]

254

source_resource_id: Optional[str]

255

policy_id: Optional[str]

256

last_recovery_point: Optional[datetime]

257

backup_set_name: Optional[str]

258

create_mode: Optional[str]

259

deferred_delete_time_in_utc: Optional[datetime]

260

is_deferred_delete_schedule_upcoming: Optional[bool]

261

is_rehydrate: Optional[bool]

262

resource_guard_operation_requests: Optional[List[str]]

263

is_archive_enabled: Optional[bool]

264

policy_name: Optional[str]

265

soft_delete_retention_period: Optional[int]

266

friendly_name: Optional[str]

267

virtual_machine_id: Optional[str]

268

protection_status: Optional[str]

269

protection_state: Optional[str]

270

health_status: Optional[str]

271

health_details: Optional[List[AzureIaaSVMHealthDetails]]

272

kpis_healths: Optional[Dict[str, AzureIaaSVMProtectedItemHealthStatus]]

273

last_backup_status: Optional[str]

274

last_backup_time: Optional[datetime]

275

protected_item_data_id: Optional[str]

276

protected_item_health_status: Optional[str]

277

extended_info: Optional[AzureIaaSVMProtectedItemExtendedInfo]

278

```

279

280

### Azure File Share Protected Items

281

282

Protected items for Azure file shares with snapshot-based backup protection.

283

284

```python { .api }

285

class AzureFileshareProtectedItem:

286

def __init__(

287

self,

288

backup_management_type: str = "AzureStorage",

289

workload_type: str = "AzureFileShare",

290

container_name: Optional[str] = None,

291

source_resource_id: Optional[str] = None,

292

policy_id: Optional[str] = None,

293

last_recovery_point: Optional[datetime] = None,

294

friendly_name: Optional[str] = None,

295

protection_status: Optional[str] = None,

296

protection_state: Optional[str] = None,

297

last_backup_status: Optional[str] = None,

298

last_backup_time: Optional[datetime] = None,

299

kpis_healths: Optional[Dict[str, str]] = None,

300

extended_info: Optional[AzureFileshareProtectedItemExtendedInfo] = None,

301

**kwargs

302

):

303

"""

304

Azure file share protected item.

305

306

Parameters:

307

- backup_management_type: Always "AzureStorage"

308

- workload_type: Always "AzureFileShare"

309

- container_name: Storage account container name

310

- source_resource_id: Azure resource ID of the file share

311

- policy_id: ID of the backup policy

312

- last_recovery_point: Date/time of last successful backup

313

- friendly_name: Display name for the file share

314

- protection_status: Current protection status

315

- protection_state: Current protection state

316

- last_backup_status: Status of the last backup operation

317

- last_backup_time: Date/time of last backup attempt

318

- kpis_healths: Key performance indicator health statuses

319

- extended_info: Additional file share information

320

"""

321

322

backup_management_type: str

323

workload_type: str

324

container_name: Optional[str]

325

source_resource_id: Optional[str]

326

policy_id: Optional[str]

327

last_recovery_point: Optional[datetime]

328

friendly_name: Optional[str]

329

protection_status: Optional[str]

330

protection_state: Optional[str]

331

last_backup_status: Optional[str]

332

last_backup_time: Optional[datetime]

333

kpis_healths: Optional[Dict[str, str]]

334

extended_info: Optional[AzureFileshareProtectedItemExtendedInfo]

335

```

336

337

### Azure SQL Protected Items

338

339

Protected items for SQL databases with transaction log backup support.

340

341

```python { .api }

342

class AzureSqlProtectedItem:

343

def __init__(

344

self,

345

backup_management_type: str = "AzureSql",

346

workload_type: str = "SQLDB",

347

container_name: Optional[str] = None,

348

source_resource_id: Optional[str] = None,

349

policy_id: Optional[str] = None,

350

last_recovery_point: Optional[datetime] = None,

351

protection_status: Optional[str] = None,

352

protection_state: Optional[str] = None,

353

extended_info: Optional[AzureSqlProtectedItemExtendedInfo] = None,

354

**kwargs

355

):

356

"""

357

Azure SQL database protected item.

358

359

Parameters:

360

- backup_management_type: Always "AzureSql"

361

- workload_type: Always "SQLDB"

362

- container_name: SQL server container name

363

- source_resource_id: Azure resource ID of the SQL database

364

- policy_id: ID of the backup policy

365

- last_recovery_point: Date/time of last successful backup

366

- protection_status: Current protection status

367

- protection_state: Current protection state

368

- extended_info: Additional SQL database information

369

"""

370

371

backup_management_type: str

372

workload_type: str

373

container_name: Optional[str]

374

source_resource_id: Optional[str]

375

policy_id: Optional[str]

376

last_recovery_point: Optional[datetime]

377

protection_status: Optional[str]

378

protection_state: Optional[str]

379

extended_info: Optional[AzureSqlProtectedItemExtendedInfo]

380

```

381

382

### Azure VM Workload Protected Items

383

384

Protected items for workloads running inside Azure VMs (SQL Server, SAP HANA, etc.).

385

386

```python { .api }

387

class AzureVmWorkloadProtectedItem:

388

def __init__(

389

self,

390

backup_management_type: str = "AzureWorkload",

391

workload_type: Optional[str] = None,

392

container_name: Optional[str] = None,

393

source_resource_id: Optional[str] = None,

394

policy_id: Optional[str] = None,

395

last_recovery_point: Optional[datetime] = None,

396

friendly_name: Optional[str] = None,

397

server_name: Optional[str] = None,

398

parent_name: Optional[str] = None,

399

parent_type: Optional[str] = None,

400

protection_status: Optional[str] = None,

401

protection_state: Optional[str] = None,

402

last_backup_status: Optional[str] = None,

403

last_backup_time: Optional[datetime] = None,

404

last_backup_error_detail: Optional[ErrorDetail] = None,

405

protected_item_data_source_id: Optional[str] = None,

406

protected_item_health_status: Optional[str] = None,

407

extended_info: Optional[AzureVmWorkloadProtectedItemExtendedInfo] = None,

408

kpis_healths: Optional[Dict[str, str]] = None,

409

**kwargs

410

):

411

"""

412

Azure VM workload protected item.

413

414

Parameters:

415

- backup_management_type: Always "AzureWorkload"

416

- workload_type: Type of workload ("SQLDataBase", "SAPHanaDatabase", etc.)

417

- container_name: VM container name

418

- source_resource_id: Azure resource ID of the workload

419

- policy_id: ID of the backup policy

420

- last_recovery_point: Date/time of last successful backup

421

- friendly_name: Display name for the workload

422

- server_name: Name of the server hosting the workload

423

- parent_name: Name of the parent component

424

- parent_type: Type of the parent component

425

- protection_status: Current protection status

426

- protection_state: Current protection state

427

- last_backup_status: Status of the last backup operation

428

- last_backup_time: Date/time of last backup attempt

429

- last_backup_error_detail: Details of the last backup error

430

- protected_item_data_source_id: Data source identifier

431

- protected_item_health_status: Health status of the protected item

432

- extended_info: Additional workload information

433

- kpis_healths: Key performance indicator health statuses

434

"""

435

436

backup_management_type: str

437

workload_type: Optional[str]

438

container_name: Optional[str]

439

source_resource_id: Optional[str]

440

policy_id: Optional[str]

441

last_recovery_point: Optional[datetime]

442

friendly_name: Optional[str]

443

server_name: Optional[str]

444

parent_name: Optional[str]

445

parent_type: Optional[str]

446

protection_status: Optional[str]

447

protection_state: Optional[str]

448

last_backup_status: Optional[str]

449

last_backup_time: Optional[datetime]

450

last_backup_error_detail: Optional[ErrorDetail]

451

protected_item_data_source_id: Optional[str]

452

protected_item_health_status: Optional[str]

453

extended_info: Optional[AzureVmWorkloadProtectedItemExtendedInfo]

454

kpis_healths: Optional[Dict[str, str]]

455

```

456

457

## Usage Examples

458

459

### Enable VM Protection

460

461

```python

462

from azure.mgmt.recoveryservicesbackup.activestamp.models import (

463

BackupProtectedItemResource,

464

AzureIaaSVMProtectedItem

465

)

466

467

# Enable backup protection for an Azure VM

468

vm_protection = BackupProtectedItemResource(

469

properties=AzureIaaSVMProtectedItem(

470

backup_management_type="AzureIaasVM",

471

workload_type="VM",

472

policy_id="/subscriptions/sub-id/resourceGroups/my-rg/providers/Microsoft.RecoveryServices/vaults/my-vault/backupPolicies/DefaultPolicy",

473

source_resource_id="/subscriptions/sub-id/resourceGroups/vm-rg/providers/Microsoft.Compute/virtualMachines/my-vm"

474

)

475

)

476

477

protected_vm = client.protected_items.create_or_update(

478

resource_group_name="my-rg",

479

vault_name="my-vault",

480

fabric_name="Azure",

481

container_name="iaasvmcontainer;iaasvmcontainerv2;vm-rg;my-vm",

482

protected_item_name="vm;iaasvmcontainerv2;vm-rg;my-vm",

483

parameters=vm_protection

484

)

485

486

print(f"VM protection enabled: {protected_vm.properties.protection_status}")

487

```

488

489

### Stop Protection and Delete Data

490

491

```python

492

# Stop protection and delete backup data

493

client.protected_items.delete(

494

resource_group_name="my-rg",

495

vault_name="my-vault",

496

fabric_name="Azure",

497

container_name="iaasvmcontainer;iaasvmcontainerv2;vm-rg;my-vm",

498

protected_item_name="vm;iaasvmcontainerv2;vm-rg;my-vm",

499

delete_backup_data=True

500

)

501

```

502

503

### Monitor Protection Status

504

505

```python

506

# Get detailed protection information

507

protected_item = client.protected_items.get(

508

"my-rg", "my-vault", "Azure",

509

"iaasvmcontainer;iaasvmcontainerv2;vm-rg;my-vm",

510

"vm;iaasvmcontainerv2;vm-rg;my-vm"

511

)

512

513

print(f"Protection Status: {protected_item.properties.protection_status}")

514

print(f"Last Backup: {protected_item.properties.last_backup_time}")

515

print(f"Last Recovery Point: {protected_item.properties.last_recovery_point}")

516

print(f"Health Status: {protected_item.properties.health_status}")

517

518

if hasattr(protected_item.properties, 'health_details'):

519

for detail in protected_item.properties.health_details:

520

print(f"Health Detail: {detail.message}")

521

```