Microsoft.RecoveryServices vaults/backupFabrics/protectionContainers/protectedItems 2021-07-01

Bicep resource definition

The vaults/backupFabrics/protectionContainers/protectedItems resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2021-07-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: resourceSymbolicName
  eTag: 'string'
  properties: {
    backupManagementType: 'string'
    backupSetName: 'string'
    containerName: 'string'
    createMode: 'string'
    deferredDeleteTimeInUTC: 'string'
    deferredDeleteTimeRemaining: 'string'
    isDeferredDeleteScheduleUpcoming: bool
    isRehydrate: bool
    isScheduledForDeferredDelete: bool
    lastRecoveryPoint: 'string'
    policyId: 'string'
    resourceGuardOperationRequests: [
      'string'
    ]
    sourceResourceId: 'string'
    workloadType: 'string'
    protectedItemType: 'string'
    // For remaining properties, see ProtectedItem objects
  }
}

ProtectedItem objects

Set the protectedItemType property to specify the type of object.

For AzureFileShareProtectedItem, use:

  protectedItemType: 'AzureFileShareProtectedItem'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyState: 'string'
    recoveryPointCount: int
  }
  friendlyName: 'string'
  kpisHealths: {
    {customized property}: {
      resourceHealthDetails: [
        {
        }
      ]
      resourceHealthStatus: 'string'
    }
  }
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  protectionState: 'string'
  protectionStatus: 'string'

For AzureVmWorkloadSAPAseDatabase, use:

  protectedItemType: 'AzureVmWorkloadSAPAseDatabase'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyState: 'string'
    recoveryPointCount: int
  }
  friendlyName: 'string'
  kpisHealths: {
    {customized property}: {
      resourceHealthDetails: [
        {
        }
      ]
      resourceHealthStatus: 'string'
    }
  }
  lastBackupErrorDetail: {}
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  parentName: 'string'
  parentType: 'string'
  protectedItemDataSourceId: 'string'
  protectedItemHealthStatus: 'string'
  protectionState: 'string'
  protectionStatus: 'string'
  serverName: 'string'

For AzureVmWorkloadSAPHanaDatabase, use:

  protectedItemType: 'AzureVmWorkloadSAPHanaDatabase'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyState: 'string'
    recoveryPointCount: int
  }
  friendlyName: 'string'
  kpisHealths: {
    {customized property}: {
      resourceHealthDetails: [
        {
        }
      ]
      resourceHealthStatus: 'string'
    }
  }
  lastBackupErrorDetail: {}
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  parentName: 'string'
  parentType: 'string'
  protectedItemDataSourceId: 'string'
  protectedItemHealthStatus: 'string'
  protectionState: 'string'
  protectionStatus: 'string'
  serverName: 'string'

For AzureVmWorkloadSQLDatabase, use:

  protectedItemType: 'AzureVmWorkloadSQLDatabase'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyState: 'string'
    recoveryPointCount: int
  }
  friendlyName: 'string'
  kpisHealths: {
    {customized property}: {
      resourceHealthDetails: [
        {
        }
      ]
      resourceHealthStatus: 'string'
    }
  }
  lastBackupErrorDetail: {}
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  parentName: 'string'
  parentType: 'string'
  protectedItemDataSourceId: 'string'
  protectedItemHealthStatus: 'string'
  protectionState: 'string'
  protectionStatus: 'string'
  serverName: 'string'

For DPMProtectedItem, use:

  protectedItemType: 'DPMProtectedItem'
  backupEngineName: 'string'
  extendedInfo: {
    diskStorageUsedInBytes: 'string'
    isCollocated: bool
    isPresentOnCloud: bool
    lastBackupStatus: 'string'
    lastRefreshedAt: 'string'
    oldestRecoveryPoint: 'string'
    onPremiseLatestRecoveryPoint: 'string'
    onPremiseOldestRecoveryPoint: 'string'
    onPremiseRecoveryPointCount: int
    protectableObjectLoadPath: {
      {customized property}: 'string'
    }
    protected: bool
    protectionGroupName: 'string'
    recoveryPointCount: int
    totalDiskStorageSizeInBytes: 'string'
  }
  friendlyName: 'string'
  protectionState: 'string'

For GenericProtectedItem, use:

  protectedItemType: 'GenericProtectedItem'
  fabricName: 'string'
  friendlyName: 'string'
  policyState: 'string'
  protectedItemId: int
  protectionState: 'string'
  sourceAssociations: {
    {customized property}: 'string'
  }

For MabFileFolderProtectedItem, use:

  protectedItemType: 'MabFileFolderProtectedItem'
  computerName: 'string'
  deferredDeleteSyncTimeInUTC: int
  extendedInfo: {
    lastRefreshedAt: 'string'
    oldestRecoveryPoint: 'string'
    recoveryPointCount: int
  }
  friendlyName: 'string'
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  protectionState: 'string'

For Microsoft.ClassicCompute/virtualMachines, use:

  protectedItemType: 'Microsoft.ClassicCompute/virtualMachines'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyInconsistent: bool
    recoveryPointCount: int
  }
  extendedProperties: {
    diskExclusionProperties: {
      diskLunList: [
        int
      ]
      isInclusionList: bool
    }
  }
  friendlyName: 'string'
  healthDetails: [
    {
    }
  ]
  healthStatus: 'string'
  kpisHealths: {
    {customized property}: {
      resourceHealthDetails: [
        {
        }
      ]
      resourceHealthStatus: 'string'
    }
  }
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  protectedItemDataId: 'string'
  protectionState: 'string'
  protectionStatus: 'string'
  virtualMachineId: 'string'

For Microsoft.Compute/virtualMachines, use:

  protectedItemType: 'Microsoft.Compute/virtualMachines'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyInconsistent: bool
    recoveryPointCount: int
  }
  extendedProperties: {
    diskExclusionProperties: {
      diskLunList: [
        int
      ]
      isInclusionList: bool
    }
  }
  friendlyName: 'string'
  healthDetails: [
    {
    }
  ]
  healthStatus: 'string'
  kpisHealths: {
    {customized property}: {
      resourceHealthDetails: [
        {
        }
      ]
      resourceHealthStatus: 'string'
    }
  }
  lastBackupStatus: 'string'
  lastBackupTime: 'string'
  protectedItemDataId: 'string'
  protectionState: 'string'
  protectionStatus: 'string'
  virtualMachineId: 'string'

For Microsoft.Sql/servers/databases, use:

  protectedItemType: 'Microsoft.Sql/servers/databases'
  extendedInfo: {
    oldestRecoveryPoint: 'string'
    policyState: 'string'
    recoveryPointCount: int
  }
  protectedItemDataId: 'string'
  protectionState: 'string'

Property values

vaults/backupFabrics/protectionContainers/protectedI...

Name Description Value
name The resource name

See how to set names and types for child resources in Bicep.
string (required)
location Resource location. string
tags Resource tags. Dictionary of tag names and values. See Tags in templates
parent In Bicep, you can specify the parent resource for a child resource. You only need to add this property when the child resource is declared outside of the parent resource.

For more information, see Child resource outside parent resource.
Symbolic name for resource of type: protectionContainers
eTag Optional ETag. string
properties ProtectedItemResource properties ProtectedItem

ProtectedItem

Name Description Value
backupManagementType Type of backup management for the backed up item. 'AzureBackupServer'
'AzureIaasVM'
'AzureSql'
'AzureStorage'
'AzureWorkload'
'DPM'
'DefaultBackup'
'Invalid'
'MAB'
backupSetName Name of the backup set the backup item belongs to string
containerName Unique name of container string
createMode Create mode to indicate recovery of existing soft deleted data source or creation of new data source. 'Default'
'Invalid'
'Recover'
deferredDeleteTimeInUTC Time for deferred deletion in UTC string
deferredDeleteTimeRemaining Time remaining before the DS marked for deferred delete is permanently deleted string
isDeferredDeleteScheduleUpcoming Flag to identify whether the deferred deleted DS is to be purged soon bool
isRehydrate Flag to identify that deferred deleted DS is to be moved into Pause state bool
isScheduledForDeferredDelete Flag to identify whether the DS is scheduled for deferred delete bool
lastRecoveryPoint Timestamp when the last (latest) backup copy was created for this backup item. string
policyId ID of the backup policy with which this item is backed up. string
resourceGuardOperationRequests ResourceGuardOperationRequests on which LAC check will be performed string[]
sourceResourceId ARM ID of the resource to be backed up. string
workloadType Type of workload this item represents. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'SQLDB'
'SQLDataBase'
'Sharepoint'
'SystemState'
'VM'
'VMwareVM'
protectedItemType Set the object type AzureFileShareProtectedItem
AzureVmWorkloadSAPAseDatabase
AzureVmWorkloadSAPHanaDatabase
AzureVmWorkloadSQLDatabase
DPMProtectedItem
GenericProtectedItem
MabFileFolderProtectedItem
Microsoft.ClassicCompute/virtualMachines
Microsoft.Compute/virtualMachines
Microsoft.Sql/servers/databases (required)

AzureFileshareProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureFileShareProtectedItem' (required)
extendedInfo Additional information with this backup item. AzureFileshareProtectedItemExtendedInfo
friendlyName Friendly name of the fileshare represented by this backup item. string
kpisHealths Health details of different KPIs AzureFileshareProtectedItemKpisHealths
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string

AzureFileshareProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this item in the service. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
recoveryPointCount Number of available backup copies associated with this backup item. int

AzureFileshareProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

KPIResourceHealthDetails

Name Description Value
resourceHealthDetails Resource Health Status ResourceHealthDetails[]
resourceHealthStatus Resource Health Status 'Healthy'
'Invalid'
'PersistentDegraded'
'PersistentUnhealthy'
'TransientDegraded'
'TransientUnhealthy'

ResourceHealthDetails

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureVmWorkloadSAPAseDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureVmWorkloadSAPAseDatabase' (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. 'Healthy'
'IRPending'
'Invalid'
'Unhealthy'
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received 'Healthy'
'IRPending'
'Invalid'
'NotReachable'
'Unhealthy'
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

AzureVmWorkloadProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this backup item. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
recoveryPointCount Number of backup copies available for this backup item. int

AzureVmWorkloadProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

ErrorDetail

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureVmWorkloadSAPHanaDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureVmWorkloadSAPHanaDatabase' (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. 'Healthy'
'IRPending'
'Invalid'
'Unhealthy'
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received 'Healthy'
'IRPending'
'Invalid'
'NotReachable'
'Unhealthy'
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

AzureVmWorkloadSQLDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureVmWorkloadSQLDatabase' (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. 'Healthy'
'IRPending'
'Invalid'
'Unhealthy'
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received 'Healthy'
'IRPending'
'Invalid'
'NotReachable'
'Unhealthy'
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

DPMProtectedItem

Name Description Value
protectedItemType backup item type. 'DPMProtectedItem' (required)
backupEngineName Backup Management server protecting this backup item string
extendedInfo Extended info of the backup item. DPMProtectedItemExtendedInfo
friendlyName Friendly name of the managed item string
protectionState Protection state of the backup engine 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'

DPMProtectedItemExtendedInfo

Name Description Value
diskStorageUsedInBytes Used Disk storage in bytes. string
isCollocated To check if backup item is collocated. bool
isPresentOnCloud To check if backup item is cloud protected. bool
lastBackupStatus Last backup status information on backup item. string
lastRefreshedAt Last refresh time on backup item. string
oldestRecoveryPoint Oldest cloud recovery point time. string
onPremiseLatestRecoveryPoint latest disk recovery point time. string
onPremiseOldestRecoveryPoint Oldest disk recovery point time. string
onPremiseRecoveryPointCount disk recovery point count. int
protectableObjectLoadPath Attribute to provide information on various DBs. DPMProtectedItemExtendedInfoProtectableObjectLoadPat...
protected To check if backup item is disk protected. bool
protectionGroupName Protection group name of the backup item. string
recoveryPointCount cloud recovery point count. int
totalDiskStorageSizeInBytes total Disk storage in bytes. string

DPMProtectedItemExtendedInfoProtectableObjectLoadPat...

Name Description Value
{customized property} string

GenericProtectedItem

Name Description Value
protectedItemType backup item type. 'GenericProtectedItem' (required)
fabricName Name of this backup item's fabric. string
friendlyName Friendly name of the container. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
protectedItemId Data Plane Service ID of the protected item. int
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
sourceAssociations Loosely coupled (type, value) associations (example - parent of a protected item) GenericProtectedItemSourceAssociations

GenericProtectedItemSourceAssociations

Name Description Value
{customized property} string

MabFileFolderProtectedItem

Name Description Value
protectedItemType backup item type. 'MabFileFolderProtectedItem' (required)
computerName Name of the computer associated with this backup item. string
deferredDeleteSyncTimeInUTC Sync time for deferred deletion in UTC int
extendedInfo Additional information with this backup item. MabFileFolderProtectedItemExtendedInfo
friendlyName Friendly name of this backup item. string
lastBackupStatus Status of last backup operation. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectionState Protected, ProtectionStopped, IRPending or ProtectionError string

MabFileFolderProtectedItemExtendedInfo

Name Description Value
lastRefreshedAt Last time when the agent data synced to service. string
oldestRecoveryPoint The oldest backup copy available. string
recoveryPointCount Number of backup copies associated with the backup item. int

AzureIaaSClassicComputeVMProtectedItem

Name Description Value
protectedItemType backup item type. 'Microsoft.ClassicCompute/virtualMachines' (required)
extendedInfo Additional information for this backup item. AzureIaaSVMProtectedItemExtendedInfo
extendedProperties Extended Properties for Azure IaasVM Backup. ExtendedProperties
friendlyName Friendly name of the VM represented by this backup item. string
healthDetails Health details on this backup item. AzureIaaSVMHealthDetails[]
healthStatus Health status of protected item. 'ActionRequired'
'ActionSuggested'
'Invalid'
'Passed'
kpisHealths Health details of different KPIs AzureIaaSVMProtectedItemKpisHealths
lastBackupStatus Last backup operation status. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectedItemDataId Data ID of the protected item. string
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
virtualMachineId Fully qualified ARM ID of the virtual machine represented by this item. string

AzureIaaSVMProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this backup item. string
policyInconsistent Specifies if backup policy associated with the backup item is inconsistent. bool
recoveryPointCount Number of backup copies available for this backup item. int

ExtendedProperties

Name Description Value
diskExclusionProperties Extended Properties for Disk Exclusion. DiskExclusionProperties

DiskExclusionProperties

Name Description Value
diskLunList List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection. int[]
isInclusionList Flag to indicate whether DiskLunList is to be included/ excluded from backup. bool

AzureIaaSVMHealthDetails

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureIaaSVMProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

AzureIaaSComputeVMProtectedItem

Name Description Value
protectedItemType backup item type. 'Microsoft.Compute/virtualMachines' (required)
extendedInfo Additional information for this backup item. AzureIaaSVMProtectedItemExtendedInfo
extendedProperties Extended Properties for Azure IaasVM Backup. ExtendedProperties
friendlyName Friendly name of the VM represented by this backup item. string
healthDetails Health details on this backup item. AzureIaaSVMHealthDetails[]
healthStatus Health status of protected item. 'ActionRequired'
'ActionSuggested'
'Invalid'
'Passed'
kpisHealths Health details of different KPIs AzureIaaSVMProtectedItemKpisHealths
lastBackupStatus Last backup operation status. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectedItemDataId Data ID of the protected item. string
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
virtualMachineId Fully qualified ARM ID of the virtual machine represented by this item. string

AzureSqlProtectedItem

Name Description Value
protectedItemType backup item type. 'Microsoft.Sql/servers/databases' (required)
extendedInfo Additional information for this backup item. AzureSqlProtectedItemExtendedInfo
protectedItemDataId Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services. string
protectionState Backup state of the backed up item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'

AzureSqlProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this item in the service. string
policyState State of the backup policy associated with this backup item. string
recoveryPointCount Number of available backup copies associated with this backup item. int

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
IBM Cloud Pak for Data on Azure

Deploy to Azure
This template deploys an Openshift cluster on Azure with all the required resources, infrastructure and then deploys IBM Cloud Pak for Data along with the add-ons that user chooses.
Openshift Container Platform 4.3

Deploy to Azure
Openshift Container Platform 4.3
Backup existing IaasVM using Recovery Services

Deploy to Azure
This template will use existing recovery services vault and existing backup policy, and configures protection of multiple classic and ARM based Azure IaasVMs.
Backup existing File Share using Recovery Services (Daily)

Deploy to Azure
This template configures protection for an existing File Share present in an existing Storage Account. It creates a new or uses an existing Recovery Services Vault and Backup Policy based on the set parameter values.
Backup existing File Share using Recovery Services (hourly)

Deploy to Azure
This template configures protection with hourly frequency for an existing File Share present in an existing Storage Account. It creates a new or uses an existing Recovery Services Vault and Backup Policy based on the set parameter values.
Backup Resource Manager VMs using Recovery Services vault

Deploy to Azure
This template will use existing recovery services vault and existing backup policy, and configures backup of multiple Resource Manager VMs that belong to same resource group
Deploy a Windows VM and enable backup using Azure Backup

Deploy to Azure
This template allows you to deploy a Windows VM and Recovery Services Vault configured with the DefaultPolicy for Protection.
Azure Backup for Workload in Azure Virtual Machines

Deploy to Azure
This template creates a Recovery Services Vault and a Workload specific Backup Policy. Registers VM with Backup service and Configures Protection

ARM template resource definition

The vaults/backupFabrics/protectionContainers/protectedItems resource type can be deployed with operations that target:

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems resource, add the following JSON to your template.

{
  "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems",
  "apiVersion": "2021-07-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "eTag": "string",
  "properties": {
    "backupManagementType": "string",
    "backupSetName": "string",
    "containerName": "string",
    "createMode": "string",
    "deferredDeleteTimeInUTC": "string",
    "deferredDeleteTimeRemaining": "string",
    "isDeferredDeleteScheduleUpcoming": "bool",
    "isRehydrate": "bool",
    "isScheduledForDeferredDelete": "bool",
    "lastRecoveryPoint": "string",
    "policyId": "string",
    "resourceGuardOperationRequests": [ "string" ],
    "sourceResourceId": "string",
    "workloadType": "string",
    "protectedItemType": "string"
    // For remaining properties, see ProtectedItem objects
  }
}

ProtectedItem objects

Set the protectedItemType property to specify the type of object.

For AzureFileShareProtectedItem, use:

  "protectedItemType": "AzureFileShareProtectedItem",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyState": "string",
    "recoveryPointCount": "int"
  },
  "friendlyName": "string",
  "kpisHealths": {
    "{customized property}": {
      "resourceHealthDetails": [
        {
        }
      ],
      "resourceHealthStatus": "string"
    }
  },
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "protectionState": "string",
  "protectionStatus": "string"

For AzureVmWorkloadSAPAseDatabase, use:

  "protectedItemType": "AzureVmWorkloadSAPAseDatabase",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyState": "string",
    "recoveryPointCount": "int"
  },
  "friendlyName": "string",
  "kpisHealths": {
    "{customized property}": {
      "resourceHealthDetails": [
        {
        }
      ],
      "resourceHealthStatus": "string"
    }
  },
  "lastBackupErrorDetail": {},
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "parentName": "string",
  "parentType": "string",
  "protectedItemDataSourceId": "string",
  "protectedItemHealthStatus": "string",
  "protectionState": "string",
  "protectionStatus": "string",
  "serverName": "string"

For AzureVmWorkloadSAPHanaDatabase, use:

  "protectedItemType": "AzureVmWorkloadSAPHanaDatabase",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyState": "string",
    "recoveryPointCount": "int"
  },
  "friendlyName": "string",
  "kpisHealths": {
    "{customized property}": {
      "resourceHealthDetails": [
        {
        }
      ],
      "resourceHealthStatus": "string"
    }
  },
  "lastBackupErrorDetail": {},
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "parentName": "string",
  "parentType": "string",
  "protectedItemDataSourceId": "string",
  "protectedItemHealthStatus": "string",
  "protectionState": "string",
  "protectionStatus": "string",
  "serverName": "string"

For AzureVmWorkloadSQLDatabase, use:

  "protectedItemType": "AzureVmWorkloadSQLDatabase",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyState": "string",
    "recoveryPointCount": "int"
  },
  "friendlyName": "string",
  "kpisHealths": {
    "{customized property}": {
      "resourceHealthDetails": [
        {
        }
      ],
      "resourceHealthStatus": "string"
    }
  },
  "lastBackupErrorDetail": {},
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "parentName": "string",
  "parentType": "string",
  "protectedItemDataSourceId": "string",
  "protectedItemHealthStatus": "string",
  "protectionState": "string",
  "protectionStatus": "string",
  "serverName": "string"

For DPMProtectedItem, use:

  "protectedItemType": "DPMProtectedItem",
  "backupEngineName": "string",
  "extendedInfo": {
    "diskStorageUsedInBytes": "string",
    "isCollocated": "bool",
    "isPresentOnCloud": "bool",
    "lastBackupStatus": "string",
    "lastRefreshedAt": "string",
    "oldestRecoveryPoint": "string",
    "onPremiseLatestRecoveryPoint": "string",
    "onPremiseOldestRecoveryPoint": "string",
    "onPremiseRecoveryPointCount": "int",
    "protectableObjectLoadPath": {
      "{customized property}": "string"
    },
    "protected": "bool",
    "protectionGroupName": "string",
    "recoveryPointCount": "int",
    "totalDiskStorageSizeInBytes": "string"
  },
  "friendlyName": "string",
  "protectionState": "string"

For GenericProtectedItem, use:

  "protectedItemType": "GenericProtectedItem",
  "fabricName": "string",
  "friendlyName": "string",
  "policyState": "string",
  "protectedItemId": "int",
  "protectionState": "string",
  "sourceAssociations": {
    "{customized property}": "string"
  }

For MabFileFolderProtectedItem, use:

  "protectedItemType": "MabFileFolderProtectedItem",
  "computerName": "string",
  "deferredDeleteSyncTimeInUTC": "int",
  "extendedInfo": {
    "lastRefreshedAt": "string",
    "oldestRecoveryPoint": "string",
    "recoveryPointCount": "int"
  },
  "friendlyName": "string",
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "protectionState": "string"

For Microsoft.ClassicCompute/virtualMachines, use:

  "protectedItemType": "Microsoft.ClassicCompute/virtualMachines",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyInconsistent": "bool",
    "recoveryPointCount": "int"
  },
  "extendedProperties": {
    "diskExclusionProperties": {
      "diskLunList": [ "int" ],
      "isInclusionList": "bool"
    }
  },
  "friendlyName": "string",
  "healthDetails": [
    {
    }
  ],
  "healthStatus": "string",
  "kpisHealths": {
    "{customized property}": {
      "resourceHealthDetails": [
        {
        }
      ],
      "resourceHealthStatus": "string"
    }
  },
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "protectedItemDataId": "string",
  "protectionState": "string",
  "protectionStatus": "string",
  "virtualMachineId": "string"

For Microsoft.Compute/virtualMachines, use:

  "protectedItemType": "Microsoft.Compute/virtualMachines",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyInconsistent": "bool",
    "recoveryPointCount": "int"
  },
  "extendedProperties": {
    "diskExclusionProperties": {
      "diskLunList": [ "int" ],
      "isInclusionList": "bool"
    }
  },
  "friendlyName": "string",
  "healthDetails": [
    {
    }
  ],
  "healthStatus": "string",
  "kpisHealths": {
    "{customized property}": {
      "resourceHealthDetails": [
        {
        }
      ],
      "resourceHealthStatus": "string"
    }
  },
  "lastBackupStatus": "string",
  "lastBackupTime": "string",
  "protectedItemDataId": "string",
  "protectionState": "string",
  "protectionStatus": "string",
  "virtualMachineId": "string"

For Microsoft.Sql/servers/databases, use:

  "protectedItemType": "Microsoft.Sql/servers/databases",
  "extendedInfo": {
    "oldestRecoveryPoint": "string",
    "policyState": "string",
    "recoveryPointCount": "int"
  },
  "protectedItemDataId": "string",
  "protectionState": "string"

Property values

vaults/backupFabrics/protectionContainers/protectedI...

Name Description Value
type The resource type 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems'
apiVersion The resource api version '2021-07-01'
name The resource name

See how to set names and types for child resources in JSON ARM templates.
string (required)
location Resource location. string
tags Resource tags. Dictionary of tag names and values. See Tags in templates
eTag Optional ETag. string
properties ProtectedItemResource properties ProtectedItem

ProtectedItem

Name Description Value
backupManagementType Type of backup management for the backed up item. 'AzureBackupServer'
'AzureIaasVM'
'AzureSql'
'AzureStorage'
'AzureWorkload'
'DPM'
'DefaultBackup'
'Invalid'
'MAB'
backupSetName Name of the backup set the backup item belongs to string
containerName Unique name of container string
createMode Create mode to indicate recovery of existing soft deleted data source or creation of new data source. 'Default'
'Invalid'
'Recover'
deferredDeleteTimeInUTC Time for deferred deletion in UTC string
deferredDeleteTimeRemaining Time remaining before the DS marked for deferred delete is permanently deleted string
isDeferredDeleteScheduleUpcoming Flag to identify whether the deferred deleted DS is to be purged soon bool
isRehydrate Flag to identify that deferred deleted DS is to be moved into Pause state bool
isScheduledForDeferredDelete Flag to identify whether the DS is scheduled for deferred delete bool
lastRecoveryPoint Timestamp when the last (latest) backup copy was created for this backup item. string
policyId ID of the backup policy with which this item is backed up. string
resourceGuardOperationRequests ResourceGuardOperationRequests on which LAC check will be performed string[]
sourceResourceId ARM ID of the resource to be backed up. string
workloadType Type of workload this item represents. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'SQLDB'
'SQLDataBase'
'Sharepoint'
'SystemState'
'VM'
'VMwareVM'
protectedItemType Set the object type AzureFileShareProtectedItem
AzureVmWorkloadSAPAseDatabase
AzureVmWorkloadSAPHanaDatabase
AzureVmWorkloadSQLDatabase
DPMProtectedItem
GenericProtectedItem
MabFileFolderProtectedItem
Microsoft.ClassicCompute/virtualMachines
Microsoft.Compute/virtualMachines
Microsoft.Sql/servers/databases (required)

AzureFileshareProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureFileShareProtectedItem' (required)
extendedInfo Additional information with this backup item. AzureFileshareProtectedItemExtendedInfo
friendlyName Friendly name of the fileshare represented by this backup item. string
kpisHealths Health details of different KPIs AzureFileshareProtectedItemKpisHealths
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string

AzureFileshareProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this item in the service. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
recoveryPointCount Number of available backup copies associated with this backup item. int

AzureFileshareProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

KPIResourceHealthDetails

Name Description Value
resourceHealthDetails Resource Health Status ResourceHealthDetails[]
resourceHealthStatus Resource Health Status 'Healthy'
'Invalid'
'PersistentDegraded'
'PersistentUnhealthy'
'TransientDegraded'
'TransientUnhealthy'

ResourceHealthDetails

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureVmWorkloadSAPAseDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureVmWorkloadSAPAseDatabase' (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. 'Healthy'
'IRPending'
'Invalid'
'Unhealthy'
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received 'Healthy'
'IRPending'
'Invalid'
'NotReachable'
'Unhealthy'
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

AzureVmWorkloadProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this backup item. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
recoveryPointCount Number of backup copies available for this backup item. int

AzureVmWorkloadProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

ErrorDetail

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureVmWorkloadSAPHanaDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureVmWorkloadSAPHanaDatabase' (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. 'Healthy'
'IRPending'
'Invalid'
'Unhealthy'
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received 'Healthy'
'IRPending'
'Invalid'
'NotReachable'
'Unhealthy'
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

AzureVmWorkloadSQLDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. 'AzureVmWorkloadSQLDatabase' (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. 'Healthy'
'IRPending'
'Invalid'
'Unhealthy'
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received 'Healthy'
'IRPending'
'Invalid'
'NotReachable'
'Unhealthy'
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

DPMProtectedItem

Name Description Value
protectedItemType backup item type. 'DPMProtectedItem' (required)
backupEngineName Backup Management server protecting this backup item string
extendedInfo Extended info of the backup item. DPMProtectedItemExtendedInfo
friendlyName Friendly name of the managed item string
protectionState Protection state of the backup engine 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'

DPMProtectedItemExtendedInfo

Name Description Value
diskStorageUsedInBytes Used Disk storage in bytes. string
isCollocated To check if backup item is collocated. bool
isPresentOnCloud To check if backup item is cloud protected. bool
lastBackupStatus Last backup status information on backup item. string
lastRefreshedAt Last refresh time on backup item. string
oldestRecoveryPoint Oldest cloud recovery point time. string
onPremiseLatestRecoveryPoint latest disk recovery point time. string
onPremiseOldestRecoveryPoint Oldest disk recovery point time. string
onPremiseRecoveryPointCount disk recovery point count. int
protectableObjectLoadPath Attribute to provide information on various DBs. DPMProtectedItemExtendedInfoProtectableObjectLoadPat...
protected To check if backup item is disk protected. bool
protectionGroupName Protection group name of the backup item. string
recoveryPointCount cloud recovery point count. int
totalDiskStorageSizeInBytes total Disk storage in bytes. string

DPMProtectedItemExtendedInfoProtectableObjectLoadPat...

Name Description Value
{customized property} string

GenericProtectedItem

Name Description Value
protectedItemType backup item type. 'GenericProtectedItem' (required)
fabricName Name of this backup item's fabric. string
friendlyName Friendly name of the container. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
protectedItemId Data Plane Service ID of the protected item. int
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
sourceAssociations Loosely coupled (type, value) associations (example - parent of a protected item) GenericProtectedItemSourceAssociations

GenericProtectedItemSourceAssociations

Name Description Value
{customized property} string

MabFileFolderProtectedItem

Name Description Value
protectedItemType backup item type. 'MabFileFolderProtectedItem' (required)
computerName Name of the computer associated with this backup item. string
deferredDeleteSyncTimeInUTC Sync time for deferred deletion in UTC int
extendedInfo Additional information with this backup item. MabFileFolderProtectedItemExtendedInfo
friendlyName Friendly name of this backup item. string
lastBackupStatus Status of last backup operation. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectionState Protected, ProtectionStopped, IRPending or ProtectionError string

MabFileFolderProtectedItemExtendedInfo

Name Description Value
lastRefreshedAt Last time when the agent data synced to service. string
oldestRecoveryPoint The oldest backup copy available. string
recoveryPointCount Number of backup copies associated with the backup item. int

AzureIaaSClassicComputeVMProtectedItem

Name Description Value
protectedItemType backup item type. 'Microsoft.ClassicCompute/virtualMachines' (required)
extendedInfo Additional information for this backup item. AzureIaaSVMProtectedItemExtendedInfo
extendedProperties Extended Properties for Azure IaasVM Backup. ExtendedProperties
friendlyName Friendly name of the VM represented by this backup item. string
healthDetails Health details on this backup item. AzureIaaSVMHealthDetails[]
healthStatus Health status of protected item. 'ActionRequired'
'ActionSuggested'
'Invalid'
'Passed'
kpisHealths Health details of different KPIs AzureIaaSVMProtectedItemKpisHealths
lastBackupStatus Last backup operation status. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectedItemDataId Data ID of the protected item. string
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
virtualMachineId Fully qualified ARM ID of the virtual machine represented by this item. string

AzureIaaSVMProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this backup item. string
policyInconsistent Specifies if backup policy associated with the backup item is inconsistent. bool
recoveryPointCount Number of backup copies available for this backup item. int

ExtendedProperties

Name Description Value
diskExclusionProperties Extended Properties for Disk Exclusion. DiskExclusionProperties

DiskExclusionProperties

Name Description Value
diskLunList List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection. int[]
isInclusionList Flag to indicate whether DiskLunList is to be included/ excluded from backup. bool

AzureIaaSVMHealthDetails

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureIaaSVMProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

AzureIaaSComputeVMProtectedItem

Name Description Value
protectedItemType backup item type. 'Microsoft.Compute/virtualMachines' (required)
extendedInfo Additional information for this backup item. AzureIaaSVMProtectedItemExtendedInfo
extendedProperties Extended Properties for Azure IaasVM Backup. ExtendedProperties
friendlyName Friendly name of the VM represented by this backup item. string
healthDetails Health details on this backup item. AzureIaaSVMHealthDetails[]
healthStatus Health status of protected item. 'ActionRequired'
'ActionSuggested'
'Invalid'
'Passed'
kpisHealths Health details of different KPIs AzureIaaSVMProtectedItemKpisHealths
lastBackupStatus Last backup operation status. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectedItemDataId Data ID of the protected item. string
protectionState Backup state of this backup item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'
protectionStatus Backup status of this backup item. string
virtualMachineId Fully qualified ARM ID of the virtual machine represented by this item. string

AzureSqlProtectedItem

Name Description Value
protectedItemType backup item type. 'Microsoft.Sql/servers/databases' (required)
extendedInfo Additional information for this backup item. AzureSqlProtectedItemExtendedInfo
protectedItemDataId Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services. string
protectionState Backup state of the backed up item. 'IRPending'
'Invalid'
'Protected'
'ProtectionError'
'ProtectionPaused'
'ProtectionStopped'

AzureSqlProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this item in the service. string
policyState State of the backup policy associated with this backup item. string
recoveryPointCount Number of available backup copies associated with this backup item. int

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
IBM Cloud Pak for Data on Azure

Deploy to Azure
This template deploys an Openshift cluster on Azure with all the required resources, infrastructure and then deploys IBM Cloud Pak for Data along with the add-ons that user chooses.
Openshift Container Platform 4.3

Deploy to Azure
Openshift Container Platform 4.3
Backup existing IaasVM using Recovery Services

Deploy to Azure
This template will use existing recovery services vault and existing backup policy, and configures protection of multiple classic and ARM based Azure IaasVMs.
Backup existing File Share using Recovery Services (Daily)

Deploy to Azure
This template configures protection for an existing File Share present in an existing Storage Account. It creates a new or uses an existing Recovery Services Vault and Backup Policy based on the set parameter values.
Backup existing File Share using Recovery Services (hourly)

Deploy to Azure
This template configures protection with hourly frequency for an existing File Share present in an existing Storage Account. It creates a new or uses an existing Recovery Services Vault and Backup Policy based on the set parameter values.
Backup Resource Manager VMs using Recovery Services vault

Deploy to Azure
This template will use existing recovery services vault and existing backup policy, and configures backup of multiple Resource Manager VMs that belong to same resource group
Deploy a Windows VM and enable backup using Azure Backup

Deploy to Azure
This template allows you to deploy a Windows VM and Recovery Services Vault configured with the DefaultPolicy for Protection.
Azure Backup for Workload in Azure Virtual Machines

Deploy to Azure
This template creates a Recovery Services Vault and a Workload specific Backup Policy. Registers VM with Backup service and Configures Protection

Terraform (AzAPI provider) resource definition

The vaults/backupFabrics/protectionContainers/protectedItems resource type can be deployed with operations that target:

  • Resource groups

For a list of changed properties in each API version, see change log.

Resource format

To create a Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2021-07-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  body = jsonencode({
    properties = {
      backupManagementType = "string"
      backupSetName = "string"
      containerName = "string"
      createMode = "string"
      deferredDeleteTimeInUTC = "string"
      deferredDeleteTimeRemaining = "string"
      isDeferredDeleteScheduleUpcoming = bool
      isRehydrate = bool
      isScheduledForDeferredDelete = bool
      lastRecoveryPoint = "string"
      policyId = "string"
      resourceGuardOperationRequests = [
        "string"
      ]
      sourceResourceId = "string"
      workloadType = "string"
      protectedItemType = "string"
      // For remaining properties, see ProtectedItem objects
    }
    eTag = "string"
  })
}

ProtectedItem objects

Set the protectedItemType property to specify the type of object.

For AzureFileShareProtectedItem, use:

  protectedItemType = "AzureFileShareProtectedItem"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyState = "string"
    recoveryPointCount = int
  }
  friendlyName = "string"
  kpisHealths = {
    {customized property} = {
      resourceHealthDetails = [
        {
        }
      ]
      resourceHealthStatus = "string"
    }
  }
  lastBackupStatus = "string"
  lastBackupTime = "string"
  protectionState = "string"
  protectionStatus = "string"

For AzureVmWorkloadSAPAseDatabase, use:

  protectedItemType = "AzureVmWorkloadSAPAseDatabase"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyState = "string"
    recoveryPointCount = int
  }
  friendlyName = "string"
  kpisHealths = {
    {customized property} = {
      resourceHealthDetails = [
        {
        }
      ]
      resourceHealthStatus = "string"
    }
  }
  lastBackupErrorDetail = {}
  lastBackupStatus = "string"
  lastBackupTime = "string"
  parentName = "string"
  parentType = "string"
  protectedItemDataSourceId = "string"
  protectedItemHealthStatus = "string"
  protectionState = "string"
  protectionStatus = "string"
  serverName = "string"

For AzureVmWorkloadSAPHanaDatabase, use:

  protectedItemType = "AzureVmWorkloadSAPHanaDatabase"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyState = "string"
    recoveryPointCount = int
  }
  friendlyName = "string"
  kpisHealths = {
    {customized property} = {
      resourceHealthDetails = [
        {
        }
      ]
      resourceHealthStatus = "string"
    }
  }
  lastBackupErrorDetail = {}
  lastBackupStatus = "string"
  lastBackupTime = "string"
  parentName = "string"
  parentType = "string"
  protectedItemDataSourceId = "string"
  protectedItemHealthStatus = "string"
  protectionState = "string"
  protectionStatus = "string"
  serverName = "string"

For AzureVmWorkloadSQLDatabase, use:

  protectedItemType = "AzureVmWorkloadSQLDatabase"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyState = "string"
    recoveryPointCount = int
  }
  friendlyName = "string"
  kpisHealths = {
    {customized property} = {
      resourceHealthDetails = [
        {
        }
      ]
      resourceHealthStatus = "string"
    }
  }
  lastBackupErrorDetail = {}
  lastBackupStatus = "string"
  lastBackupTime = "string"
  parentName = "string"
  parentType = "string"
  protectedItemDataSourceId = "string"
  protectedItemHealthStatus = "string"
  protectionState = "string"
  protectionStatus = "string"
  serverName = "string"

For DPMProtectedItem, use:

  protectedItemType = "DPMProtectedItem"
  backupEngineName = "string"
  extendedInfo = {
    diskStorageUsedInBytes = "string"
    isCollocated = bool
    isPresentOnCloud = bool
    lastBackupStatus = "string"
    lastRefreshedAt = "string"
    oldestRecoveryPoint = "string"
    onPremiseLatestRecoveryPoint = "string"
    onPremiseOldestRecoveryPoint = "string"
    onPremiseRecoveryPointCount = int
    protectableObjectLoadPath = {
      {customized property} = "string"
    }
    protected = bool
    protectionGroupName = "string"
    recoveryPointCount = int
    totalDiskStorageSizeInBytes = "string"
  }
  friendlyName = "string"
  protectionState = "string"

For GenericProtectedItem, use:

  protectedItemType = "GenericProtectedItem"
  fabricName = "string"
  friendlyName = "string"
  policyState = "string"
  protectedItemId = int
  protectionState = "string"
  sourceAssociations = {
    {customized property} = "string"
  }

For MabFileFolderProtectedItem, use:

  protectedItemType = "MabFileFolderProtectedItem"
  computerName = "string"
  deferredDeleteSyncTimeInUTC = int
  extendedInfo = {
    lastRefreshedAt = "string"
    oldestRecoveryPoint = "string"
    recoveryPointCount = int
  }
  friendlyName = "string"
  lastBackupStatus = "string"
  lastBackupTime = "string"
  protectionState = "string"

For Microsoft.ClassicCompute/virtualMachines, use:

  protectedItemType = "Microsoft.ClassicCompute/virtualMachines"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyInconsistent = bool
    recoveryPointCount = int
  }
  extendedProperties = {
    diskExclusionProperties = {
      diskLunList = [
        int
      ]
      isInclusionList = bool
    }
  }
  friendlyName = "string"
  healthDetails = [
    {
    }
  ]
  healthStatus = "string"
  kpisHealths = {
    {customized property} = {
      resourceHealthDetails = [
        {
        }
      ]
      resourceHealthStatus = "string"
    }
  }
  lastBackupStatus = "string"
  lastBackupTime = "string"
  protectedItemDataId = "string"
  protectionState = "string"
  protectionStatus = "string"
  virtualMachineId = "string"

For Microsoft.Compute/virtualMachines, use:

  protectedItemType = "Microsoft.Compute/virtualMachines"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyInconsistent = bool
    recoveryPointCount = int
  }
  extendedProperties = {
    diskExclusionProperties = {
      diskLunList = [
        int
      ]
      isInclusionList = bool
    }
  }
  friendlyName = "string"
  healthDetails = [
    {
    }
  ]
  healthStatus = "string"
  kpisHealths = {
    {customized property} = {
      resourceHealthDetails = [
        {
        }
      ]
      resourceHealthStatus = "string"
    }
  }
  lastBackupStatus = "string"
  lastBackupTime = "string"
  protectedItemDataId = "string"
  protectionState = "string"
  protectionStatus = "string"
  virtualMachineId = "string"

For Microsoft.Sql/servers/databases, use:

  protectedItemType = "Microsoft.Sql/servers/databases"
  extendedInfo = {
    oldestRecoveryPoint = "string"
    policyState = "string"
    recoveryPointCount = int
  }
  protectedItemDataId = "string"
  protectionState = "string"

Property values

vaults/backupFabrics/protectionContainers/protectedI...

Name Description Value
type The resource type "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers/protectedItems@2021-07-01"
name The resource name string (required)
location Resource location. string
parent_id The ID of the resource that is the parent for this resource. ID for resource of type: protectionContainers
tags Resource tags. Dictionary of tag names and values.
eTag Optional ETag. string
properties ProtectedItemResource properties ProtectedItem

ProtectedItem

Name Description Value
backupManagementType Type of backup management for the backed up item. "AzureBackupServer"
"AzureIaasVM"
"AzureSql"
"AzureStorage"
"AzureWorkload"
"DPM"
"DefaultBackup"
"Invalid"
"MAB"
backupSetName Name of the backup set the backup item belongs to string
containerName Unique name of container string
createMode Create mode to indicate recovery of existing soft deleted data source or creation of new data source. "Default"
"Invalid"
"Recover"
deferredDeleteTimeInUTC Time for deferred deletion in UTC string
deferredDeleteTimeRemaining Time remaining before the DS marked for deferred delete is permanently deleted string
isDeferredDeleteScheduleUpcoming Flag to identify whether the deferred deleted DS is to be purged soon bool
isRehydrate Flag to identify that deferred deleted DS is to be moved into Pause state bool
isScheduledForDeferredDelete Flag to identify whether the DS is scheduled for deferred delete bool
lastRecoveryPoint Timestamp when the last (latest) backup copy was created for this backup item. string
policyId ID of the backup policy with which this item is backed up. string
resourceGuardOperationRequests ResourceGuardOperationRequests on which LAC check will be performed string[]
sourceResourceId ARM ID of the resource to be backed up. string
workloadType Type of workload this item represents. "AzureFileShare"
"AzureSqlDb"
"Client"
"Exchange"
"FileFolder"
"GenericDataSource"
"Invalid"
"SAPAseDatabase"
"SAPHanaDatabase"
"SQLDB"
"SQLDataBase"
"Sharepoint"
"SystemState"
"VM"
"VMwareVM"
protectedItemType Set the object type AzureFileShareProtectedItem
AzureVmWorkloadSAPAseDatabase
AzureVmWorkloadSAPHanaDatabase
AzureVmWorkloadSQLDatabase
DPMProtectedItem
GenericProtectedItem
MabFileFolderProtectedItem
Microsoft.ClassicCompute/virtualMachines
Microsoft.Compute/virtualMachines
Microsoft.Sql/servers/databases (required)

AzureFileshareProtectedItem

Name Description Value
protectedItemType backup item type. "AzureFileShareProtectedItem" (required)
extendedInfo Additional information with this backup item. AzureFileshareProtectedItemExtendedInfo
friendlyName Friendly name of the fileshare represented by this backup item. string
kpisHealths Health details of different KPIs AzureFileshareProtectedItemKpisHealths
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
protectionStatus Backup status of this backup item. string

AzureFileshareProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this item in the service. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
recoveryPointCount Number of available backup copies associated with this backup item. int

AzureFileshareProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

KPIResourceHealthDetails

Name Description Value
resourceHealthDetails Resource Health Status ResourceHealthDetails[]
resourceHealthStatus Resource Health Status "Healthy"
"Invalid"
"PersistentDegraded"
"PersistentUnhealthy"
"TransientDegraded"
"TransientUnhealthy"

ResourceHealthDetails

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureVmWorkloadSAPAseDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. "AzureVmWorkloadSAPAseDatabase" (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. "Healthy"
"IRPending"
"Invalid"
"Unhealthy"
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received "Healthy"
"IRPending"
"Invalid"
"NotReachable"
"Unhealthy"
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

AzureVmWorkloadProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this backup item. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
recoveryPointCount Number of backup copies available for this backup item. int

AzureVmWorkloadProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

ErrorDetail

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureVmWorkloadSAPHanaDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. "AzureVmWorkloadSAPHanaDatabase" (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. "Healthy"
"IRPending"
"Invalid"
"Unhealthy"
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received "Healthy"
"IRPending"
"Invalid"
"NotReachable"
"Unhealthy"
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

AzureVmWorkloadSQLDatabaseProtectedItem

Name Description Value
protectedItemType backup item type. "AzureVmWorkloadSQLDatabase" (required)
extendedInfo Additional information for this backup item. AzureVmWorkloadProtectedItemExtendedInfo
friendlyName Friendly name of the DB represented by this backup item. string
kpisHealths Health details of different KPIs AzureVmWorkloadProtectedItemKpisHealths
lastBackupErrorDetail Error details in last backup ErrorDetail
lastBackupStatus Last backup operation status. Possible values: Healthy, Unhealthy. "Healthy"
"IRPending"
"Invalid"
"Unhealthy"
lastBackupTime Timestamp of the last backup operation on this backup item. string
parentName Parent name of the DB such as Instance or Availability Group. string
parentType Parent type of protected item, example: for a DB, standalone server or distributed string
protectedItemDataSourceId Data ID of the protected item. string
protectedItemHealthStatus Health status of the backup item, evaluated based on last heartbeat received "Healthy"
"IRPending"
"Invalid"
"NotReachable"
"Unhealthy"
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
protectionStatus Backup status of this backup item. string
serverName Host/Cluster Name for instance or AG string

DPMProtectedItem

Name Description Value
protectedItemType backup item type. "DPMProtectedItem" (required)
backupEngineName Backup Management server protecting this backup item string
extendedInfo Extended info of the backup item. DPMProtectedItemExtendedInfo
friendlyName Friendly name of the managed item string
protectionState Protection state of the backup engine "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"

DPMProtectedItemExtendedInfo

Name Description Value
diskStorageUsedInBytes Used Disk storage in bytes. string
isCollocated To check if backup item is collocated. bool
isPresentOnCloud To check if backup item is cloud protected. bool
lastBackupStatus Last backup status information on backup item. string
lastRefreshedAt Last refresh time on backup item. string
oldestRecoveryPoint Oldest cloud recovery point time. string
onPremiseLatestRecoveryPoint latest disk recovery point time. string
onPremiseOldestRecoveryPoint Oldest disk recovery point time. string
onPremiseRecoveryPointCount disk recovery point count. int
protectableObjectLoadPath Attribute to provide information on various DBs. DPMProtectedItemExtendedInfoProtectableObjectLoadPat...
protected To check if backup item is disk protected. bool
protectionGroupName Protection group name of the backup item. string
recoveryPointCount cloud recovery point count. int
totalDiskStorageSizeInBytes total Disk storage in bytes. string

DPMProtectedItemExtendedInfoProtectableObjectLoadPat...

Name Description Value
{customized property} string

GenericProtectedItem

Name Description Value
protectedItemType backup item type. "GenericProtectedItem" (required)
fabricName Name of this backup item's fabric. string
friendlyName Friendly name of the container. string
policyState Indicates consistency of policy object and policy applied to this backup item. string
protectedItemId Data Plane Service ID of the protected item. int
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
sourceAssociations Loosely coupled (type, value) associations (example - parent of a protected item) GenericProtectedItemSourceAssociations

GenericProtectedItemSourceAssociations

Name Description Value
{customized property} string

MabFileFolderProtectedItem

Name Description Value
protectedItemType backup item type. "MabFileFolderProtectedItem" (required)
computerName Name of the computer associated with this backup item. string
deferredDeleteSyncTimeInUTC Sync time for deferred deletion in UTC int
extendedInfo Additional information with this backup item. MabFileFolderProtectedItemExtendedInfo
friendlyName Friendly name of this backup item. string
lastBackupStatus Status of last backup operation. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectionState Protected, ProtectionStopped, IRPending or ProtectionError string

MabFileFolderProtectedItemExtendedInfo

Name Description Value
lastRefreshedAt Last time when the agent data synced to service. string
oldestRecoveryPoint The oldest backup copy available. string
recoveryPointCount Number of backup copies associated with the backup item. int

AzureIaaSClassicComputeVMProtectedItem

Name Description Value
protectedItemType backup item type. "Microsoft.ClassicCompute/virtualMachines" (required)
extendedInfo Additional information for this backup item. AzureIaaSVMProtectedItemExtendedInfo
extendedProperties Extended Properties for Azure IaasVM Backup. ExtendedProperties
friendlyName Friendly name of the VM represented by this backup item. string
healthDetails Health details on this backup item. AzureIaaSVMHealthDetails[]
healthStatus Health status of protected item. "ActionRequired"
"ActionSuggested"
"Invalid"
"Passed"
kpisHealths Health details of different KPIs AzureIaaSVMProtectedItemKpisHealths
lastBackupStatus Last backup operation status. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectedItemDataId Data ID of the protected item. string
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
protectionStatus Backup status of this backup item. string
virtualMachineId Fully qualified ARM ID of the virtual machine represented by this item. string

AzureIaaSVMProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this backup item. string
policyInconsistent Specifies if backup policy associated with the backup item is inconsistent. bool
recoveryPointCount Number of backup copies available for this backup item. int

ExtendedProperties

Name Description Value
diskExclusionProperties Extended Properties for Disk Exclusion. DiskExclusionProperties

DiskExclusionProperties

Name Description Value
diskLunList List of Disks' Logical Unit Numbers (LUN) to be used for VM Protection. int[]
isInclusionList Flag to indicate whether DiskLunList is to be included/ excluded from backup. bool

AzureIaaSVMHealthDetails

This object doesn't contain any properties to set during deployment. All properties are ReadOnly.

AzureIaaSVMProtectedItemKpisHealths

Name Description Value
{customized property} KPIResourceHealthDetails

AzureIaaSComputeVMProtectedItem

Name Description Value
protectedItemType backup item type. "Microsoft.Compute/virtualMachines" (required)
extendedInfo Additional information for this backup item. AzureIaaSVMProtectedItemExtendedInfo
extendedProperties Extended Properties for Azure IaasVM Backup. ExtendedProperties
friendlyName Friendly name of the VM represented by this backup item. string
healthDetails Health details on this backup item. AzureIaaSVMHealthDetails[]
healthStatus Health status of protected item. "ActionRequired"
"ActionSuggested"
"Invalid"
"Passed"
kpisHealths Health details of different KPIs AzureIaaSVMProtectedItemKpisHealths
lastBackupStatus Last backup operation status. string
lastBackupTime Timestamp of the last backup operation on this backup item. string
protectedItemDataId Data ID of the protected item. string
protectionState Backup state of this backup item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"
protectionStatus Backup status of this backup item. string
virtualMachineId Fully qualified ARM ID of the virtual machine represented by this item. string

AzureSqlProtectedItem

Name Description Value
protectedItemType backup item type. "Microsoft.Sql/servers/databases" (required)
extendedInfo Additional information for this backup item. AzureSqlProtectedItemExtendedInfo
protectedItemDataId Internal ID of a backup item. Used by Azure SQL Backup engine to contact Recovery Services. string
protectionState Backup state of the backed up item. "IRPending"
"Invalid"
"Protected"
"ProtectionError"
"ProtectionPaused"
"ProtectionStopped"

AzureSqlProtectedItemExtendedInfo

Name Description Value
oldestRecoveryPoint The oldest backup copy available for this item in the service. string
policyState State of the backup policy associated with this backup item. string
recoveryPointCount Number of available backup copies associated with this backup item. int