Microsoft.RecoveryServices vaults/backupFabrics/protectionContainers 2020-10-01

Bicep resource definition

The vaults/backupFabrics/protectionContainers 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 resource, add the following Bicep to your template.

resource symbolicname 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2020-10-01' = {
  parent: resourceSymbolicName
  eTag: 'string'
  location: 'string'
  name: 'string'
  properties: {
    backupManagementType: 'string'
    friendlyName: 'string'
    healthStatus: 'string'
    registrationStatus: 'string'
    containerType: 'string'
    // For remaining properties, see ProtectionContainer objects
  }
  tags: {
    {customized property}: 'string'
  }
}

ProtectionContainer objects

Set the containerType property to specify the type of object.

For AzureBackupServerContainer, use:

{
  canReRegister: bool
  containerId: 'string'
  containerType: 'AzureBackupServerContainer'
  dpmAgentVersion: 'string'
  dpmServers: [
    'string'
  ]
  extendedInfo: {
    lastRefreshedAt: 'string'
  }
  protectedItemCount: int
  protectionStatus: 'string'
  upgradeAvailable: bool
}

For AzureSqlContainer, use:

{
  containerType: 'AzureSqlContainer'
}

For SQLAGWorkLoadContainer, use:

{
  containerType: 'SQLAGWorkLoadContainer'
  extendedInfo: {
    hostServerName: 'string'
    inquiryInfo: {
      errorDetail: {}
      inquiryDetails: [
        {
          inquiryValidation: {
            errorDetail: {}
            status: 'string'
          }
          itemCount: int
          type: 'string'
        }
      ]
      status: 'string'
    }
    nodesList: [
      {
        errorDetail: {}
        nodeName: 'string'
        status: 'string'
      }
    ]
  }
  lastUpdatedTime: 'string'
  operationType: 'string'
  sourceResourceId: 'string'
  workloadType: 'string'
}

For VMAppContainer, use:

{
  containerType: 'VMAppContainer'
  extendedInfo: {
    hostServerName: 'string'
    inquiryInfo: {
      errorDetail: {}
      inquiryDetails: [
        {
          inquiryValidation: {
            errorDetail: {}
            status: 'string'
          }
          itemCount: int
          type: 'string'
        }
      ]
      status: 'string'
    }
    nodesList: [
      {
        errorDetail: {}
        nodeName: 'string'
        status: 'string'
      }
    ]
  }
  lastUpdatedTime: 'string'
  operationType: 'string'
  sourceResourceId: 'string'
  workloadType: 'string'
}

For GenericContainer, use:

{
  containerType: 'GenericContainer'
  extendedInformation: {
    containerIdentityInfo: {
      aadTenantId: 'string'
      audience: 'string'
      servicePrincipalClientId: 'string'
      uniqueName: 'string'
    }
    rawCertData: 'string'
    serviceEndpoints: {
      {customized property}: 'string'
    }
  }
  fabricName: 'string'
}

For Microsoft.ClassicCompute/virtualMachines, use:

{
  containerType: 'Microsoft.ClassicCompute/virtualMachines'
  resourceGroup: 'string'
  virtualMachineId: 'string'
  virtualMachineVersion: 'string'
}

For Microsoft.Compute/virtualMachines, use:

{
  containerType: 'Microsoft.Compute/virtualMachines'
  resourceGroup: 'string'
  virtualMachineId: 'string'
  virtualMachineVersion: 'string'
}

For StorageContainer, use:

{
  containerType: 'StorageContainer'
  protectedItemCount: int
  resourceGroup: 'string'
  sourceResourceId: 'string'
  storageAccountVersion: 'string'
}

For Windows, use:

{
  agentVersion: 'string'
  canReRegister: bool
  containerHealthState: 'string'
  containerId: int
  containerType: 'Windows'
  extendedInfo: {
    backupItems: [
      'string'
    ]
    backupItemType: 'string'
    lastBackupStatus: 'string'
    lastRefreshedAt: 'string'
    policyName: 'string'
  }
  mabContainerHealthDetails: [
    {
      code: int
      message: 'string'
      recommendations: [
        'string'
      ]
      title: 'string'
    }
  ]
  protectedItemCount: int
}

Property values

AzureBackupServerContainer

Name Description Value
canReRegister Specifies whether the container is re-registrable. bool
containerId ID of container. string
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'AzureBackupServerContainer' (required)
dpmAgentVersion Backup engine Agent version string
dpmServers List of BackupEngines protecting the container string[]
extendedInfo Extended Info of the container. DPMContainerExtendedInfo
protectedItemCount Number of protected items in the BackupEngine int
protectionStatus Protection status of the container. string
upgradeAvailable To check if upgrade available bool

AzureIaaSClassicComputeVMContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Microsoft.ClassicCompute/virtualMachines' (required)
resourceGroup Resource group name of Recovery Services Vault. string
virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. string
virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM. string

AzureIaaSComputeVMContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Microsoft.Compute/virtualMachines' (required)
resourceGroup Resource group name of Recovery Services Vault. string
virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. string
virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM. string

AzureSqlagWorkloadContainerProtectionContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'SQLAGWorkLoadContainer' (required)
extendedInfo Additional details of a workload container. AzureWorkloadContainerExtendedInfo
lastUpdatedTime Time stamp when this container was updated. string
operationType Re-Do Operation 'Invalid'
'Register'
'Reregister'
sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container string
workloadType Workload type for which registration was sent. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'

AzureSqlContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'AzureSqlContainer' (required)

AzureStorageContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'StorageContainer' (required)
protectedItemCount Number of items backed up in this container. int
resourceGroup Resource group name of Recovery Services Vault. string
sourceResourceId Fully qualified ARM url. string
storageAccountVersion Storage account version. string

AzureVMAppContainerProtectionContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'VMAppContainer' (required)
extendedInfo Additional details of a workload container. AzureWorkloadContainerExtendedInfo
lastUpdatedTime Time stamp when this container was updated. string
operationType Re-Do Operation 'Invalid'
'Register'
'Reregister'
sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container string
workloadType Workload type for which registration was sent. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'

AzureWorkloadContainerExtendedInfo

Name Description Value
hostServerName Host Os Name in case of Stand Alone and Cluster Name in case of distributed container. string
inquiryInfo Inquiry Status for the container. InquiryInfo
nodesList List of the nodes in case of distributed container. DistributedNodesInfo[]

ContainerIdentityInfo

Name Description Value
aadTenantId Protection container identity - AAD Tenant string
audience Protection container identity - Audience string
servicePrincipalClientId Protection container identity - AAD Service Principal string
uniqueName Unique name of the container string

DistributedNodesInfo

Name Description Value
errorDetail Error Details if the Status is non-success. ErrorDetail
nodeName Name of the node under a distributed container. string
status Status of this Node.
Failed
Succeeded string

DPMContainerExtendedInfo

Name Description Value
lastRefreshedAt Last refresh time of the DPMContainer. string

ErrorDetail

Name Description Value

GenericContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'GenericContainer' (required)
extendedInformation Extended information (not returned in List container API calls) GenericContainerExtendedInfo
fabricName Name of the container's fabric string

GenericContainerExtendedInfo

Name Description Value
containerIdentityInfo Container identity information ContainerIdentityInfo
rawCertData Public key of container cert string
serviceEndpoints Azure Backup Service Endpoints for the container GenericContainerExtendedInfoServiceEndpoints

GenericContainerExtendedInfoServiceEndpoints

Name Description Value

InquiryInfo

Name Description Value
errorDetail Error Details if the Status is non-success. ErrorDetail
inquiryDetails Inquiry Details which will have workload specific details.
For e.g. - For SQL and oracle this will contain different details.
WorkloadInquiryDetails[]
status Inquiry Status for this container such as
InProgress
Failed Succeeded string

InquiryValidation

Name Description Value
errorDetail Error Detail in case the status is non-success. ErrorDetail
status Status for the Inquiry Validation. string

MabContainer

Name Description Value
agentVersion Agent version of this container. string
canReRegister Can the container be registered one more time. bool
containerHealthState Health state of mab container. string
containerId ContainerID represents the container. int
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Windows' (required)
extendedInfo Additional information for this container MabContainerExtendedInfo
mabContainerHealthDetails Health details on this mab container. MABContainerHealthDetails[]
protectedItemCount Number of items backed up in this container. int

MabContainerExtendedInfo

Name Description Value
backupItems List of backup items associated with this container. string[]
backupItemType Type of backup items associated with this container. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'
lastBackupStatus Latest backup status of this container. string
lastRefreshedAt Time stamp when this container was refreshed. string
policyName Backup policy associated with this container. string

MABContainerHealthDetails

Name Description Value
code Health Code int
message Health Message string
recommendations Health Recommended Actions string[]
title Health Title string

Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers

Name Description Value
eTag Optional ETag. string
location Resource location. string
name The resource name string (required)
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: vaults/backupFabrics
properties ProtectionContainerResource properties ProtectionContainer
tags Resource tags Dictionary of tag names and values. See Tags in templates

ProtectionContainer

Name Description Value
backupManagementType Type of backup management for the container. 'AzureBackupServer'
'AzureIaasVM'
'AzureSql'
'AzureStorage'
'AzureWorkload'
'DefaultBackup'
'DPM'
'Invalid'
'MAB'
containerType Set to 'AzureBackupServerContainer' for type AzureBackupServerContainer. Set to 'AzureSqlContainer' for type AzureSqlContainer. Set to 'SQLAGWorkLoadContainer' for type AzureSqlagWorkloadContainerProtectionContainer. Set to 'VMAppContainer' for type AzureVMAppContainerProtectionContainer. Set to 'GenericContainer' for type GenericContainer. Set to 'Microsoft.ClassicCompute/virtualMachines' for type AzureIaaSClassicComputeVMContainer. Set to 'Microsoft.Compute/virtualMachines' for type AzureIaaSComputeVMContainer. Set to 'StorageContainer' for type AzureStorageContainer. Set to 'Windows' for type MabContainer. 'AzureBackupServerContainer'
'AzureSqlContainer'
'GenericContainer'
'Microsoft.ClassicCompute/virtualMachines'
'Microsoft.Compute/virtualMachines'
'SQLAGWorkLoadContainer'
'StorageContainer'
'VMAppContainer'
'Windows' (required)
friendlyName Friendly name of the container. string
healthStatus Status of health of the container. string
registrationStatus Status of registration of the container with the Recovery Services Vault. string

ResourceTags

Name Description Value

WorkloadInquiryDetails

Name Description Value
inquiryValidation Inquiry validation such as permissions and other backup validations. InquiryValidation
itemCount Contains the protectable item Count inside this Container. int
type Type of the Workload such as SQL, Oracle etc. string

Quickstart samples

The following quickstart samples deploy this resource type.

Bicep File Description
Azure Backup for Workload in Azure Virtual Machines This template creates a Recovery Services Vault and a Workload specific Backup Policy. Registers VM with Backup service and Configures Protection
Backup existing File Share using Recovery Services (Daily) 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) 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.

ARM template resource definition

The vaults/backupFabrics/protectionContainers 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 resource, add the following JSON to your template.

{
  "type": "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers",
  "apiVersion": "2020-10-01",
  "name": "string",
  "eTag": "string",
  "location": "string",
  "properties": {
    "backupManagementType": "string",
    "friendlyName": "string",
    "healthStatus": "string",
    "registrationStatus": "string",
    "containerType": "string"
    // For remaining properties, see ProtectionContainer objects
  },
  "tags": {
    "{customized property}": "string"
  }
}

ProtectionContainer objects

Set the containerType property to specify the type of object.

For AzureBackupServerContainer, use:

{
  "canReRegister": "bool",
  "containerId": "string",
  "containerType": "AzureBackupServerContainer",
  "dpmAgentVersion": "string",
  "dpmServers": [ "string" ],
  "extendedInfo": {
    "lastRefreshedAt": "string"
  },
  "protectedItemCount": "int",
  "protectionStatus": "string",
  "upgradeAvailable": "bool"
}

For AzureSqlContainer, use:

{
  "containerType": "AzureSqlContainer"
}

For SQLAGWorkLoadContainer, use:

{
  "containerType": "SQLAGWorkLoadContainer",
  "extendedInfo": {
    "hostServerName": "string",
    "inquiryInfo": {
      "errorDetail": {
      },
      "inquiryDetails": [
        {
          "inquiryValidation": {
            "errorDetail": {
            },
            "status": "string"
          },
          "itemCount": "int",
          "type": "string"
        }
      ],
      "status": "string"
    },
    "nodesList": [
      {
        "errorDetail": {
        },
        "nodeName": "string",
        "status": "string"
      }
    ]
  },
  "lastUpdatedTime": "string",
  "operationType": "string",
  "sourceResourceId": "string",
  "workloadType": "string"
}

For VMAppContainer, use:

{
  "containerType": "VMAppContainer",
  "extendedInfo": {
    "hostServerName": "string",
    "inquiryInfo": {
      "errorDetail": {
      },
      "inquiryDetails": [
        {
          "inquiryValidation": {
            "errorDetail": {
            },
            "status": "string"
          },
          "itemCount": "int",
          "type": "string"
        }
      ],
      "status": "string"
    },
    "nodesList": [
      {
        "errorDetail": {
        },
        "nodeName": "string",
        "status": "string"
      }
    ]
  },
  "lastUpdatedTime": "string",
  "operationType": "string",
  "sourceResourceId": "string",
  "workloadType": "string"
}

For GenericContainer, use:

{
  "containerType": "GenericContainer",
  "extendedInformation": {
    "containerIdentityInfo": {
      "aadTenantId": "string",
      "audience": "string",
      "servicePrincipalClientId": "string",
      "uniqueName": "string"
    },
    "rawCertData": "string",
    "serviceEndpoints": {
      "{customized property}": "string"
    }
  },
  "fabricName": "string"
}

For Microsoft.ClassicCompute/virtualMachines, use:

{
  "containerType": "Microsoft.ClassicCompute/virtualMachines",
  "resourceGroup": "string",
  "virtualMachineId": "string",
  "virtualMachineVersion": "string"
}

For Microsoft.Compute/virtualMachines, use:

{
  "containerType": "Microsoft.Compute/virtualMachines",
  "resourceGroup": "string",
  "virtualMachineId": "string",
  "virtualMachineVersion": "string"
}

For StorageContainer, use:

{
  "containerType": "StorageContainer",
  "protectedItemCount": "int",
  "resourceGroup": "string",
  "sourceResourceId": "string",
  "storageAccountVersion": "string"
}

For Windows, use:

{
  "agentVersion": "string",
  "canReRegister": "bool",
  "containerHealthState": "string",
  "containerId": "int",
  "containerType": "Windows",
  "extendedInfo": {
    "backupItems": [ "string" ],
    "backupItemType": "string",
    "lastBackupStatus": "string",
    "lastRefreshedAt": "string",
    "policyName": "string"
  },
  "mabContainerHealthDetails": [
    {
      "code": "int",
      "message": "string",
      "recommendations": [ "string" ],
      "title": "string"
    }
  ],
  "protectedItemCount": "int"
}

Property values

AzureBackupServerContainer

Name Description Value
canReRegister Specifies whether the container is re-registrable. bool
containerId ID of container. string
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'AzureBackupServerContainer' (required)
dpmAgentVersion Backup engine Agent version string
dpmServers List of BackupEngines protecting the container string[]
extendedInfo Extended Info of the container. DPMContainerExtendedInfo
protectedItemCount Number of protected items in the BackupEngine int
protectionStatus Protection status of the container. string
upgradeAvailable To check if upgrade available bool

AzureIaaSClassicComputeVMContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Microsoft.ClassicCompute/virtualMachines' (required)
resourceGroup Resource group name of Recovery Services Vault. string
virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. string
virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM. string

AzureIaaSComputeVMContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Microsoft.Compute/virtualMachines' (required)
resourceGroup Resource group name of Recovery Services Vault. string
virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. string
virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM. string

AzureSqlagWorkloadContainerProtectionContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'SQLAGWorkLoadContainer' (required)
extendedInfo Additional details of a workload container. AzureWorkloadContainerExtendedInfo
lastUpdatedTime Time stamp when this container was updated. string
operationType Re-Do Operation 'Invalid'
'Register'
'Reregister'
sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container string
workloadType Workload type for which registration was sent. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'

AzureSqlContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'AzureSqlContainer' (required)

AzureStorageContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'StorageContainer' (required)
protectedItemCount Number of items backed up in this container. int
resourceGroup Resource group name of Recovery Services Vault. string
sourceResourceId Fully qualified ARM url. string
storageAccountVersion Storage account version. string

AzureVMAppContainerProtectionContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'VMAppContainer' (required)
extendedInfo Additional details of a workload container. AzureWorkloadContainerExtendedInfo
lastUpdatedTime Time stamp when this container was updated. string
operationType Re-Do Operation 'Invalid'
'Register'
'Reregister'
sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container string
workloadType Workload type for which registration was sent. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'

AzureWorkloadContainerExtendedInfo

Name Description Value
hostServerName Host Os Name in case of Stand Alone and Cluster Name in case of distributed container. string
inquiryInfo Inquiry Status for the container. InquiryInfo
nodesList List of the nodes in case of distributed container. DistributedNodesInfo[]

ContainerIdentityInfo

Name Description Value
aadTenantId Protection container identity - AAD Tenant string
audience Protection container identity - Audience string
servicePrincipalClientId Protection container identity - AAD Service Principal string
uniqueName Unique name of the container string

DistributedNodesInfo

Name Description Value
errorDetail Error Details if the Status is non-success. ErrorDetail
nodeName Name of the node under a distributed container. string
status Status of this Node.
Failed
Succeeded string

DPMContainerExtendedInfo

Name Description Value
lastRefreshedAt Last refresh time of the DPMContainer. string

ErrorDetail

Name Description Value

GenericContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'GenericContainer' (required)
extendedInformation Extended information (not returned in List container API calls) GenericContainerExtendedInfo
fabricName Name of the container's fabric string

GenericContainerExtendedInfo

Name Description Value
containerIdentityInfo Container identity information ContainerIdentityInfo
rawCertData Public key of container cert string
serviceEndpoints Azure Backup Service Endpoints for the container GenericContainerExtendedInfoServiceEndpoints

GenericContainerExtendedInfoServiceEndpoints

Name Description Value

InquiryInfo

Name Description Value
errorDetail Error Details if the Status is non-success. ErrorDetail
inquiryDetails Inquiry Details which will have workload specific details.
For e.g. - For SQL and oracle this will contain different details.
WorkloadInquiryDetails[]
status Inquiry Status for this container such as
InProgress
Failed Succeeded string

InquiryValidation

Name Description Value
errorDetail Error Detail in case the status is non-success. ErrorDetail
status Status for the Inquiry Validation. string

MabContainer

Name Description Value
agentVersion Agent version of this container. string
canReRegister Can the container be registered one more time. bool
containerHealthState Health state of mab container. string
containerId ContainerID represents the container. int
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Windows' (required)
extendedInfo Additional information for this container MabContainerExtendedInfo
mabContainerHealthDetails Health details on this mab container. MABContainerHealthDetails[]
protectedItemCount Number of items backed up in this container. int

MabContainerExtendedInfo

Name Description Value
backupItems List of backup items associated with this container. string[]
backupItemType Type of backup items associated with this container. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'
lastBackupStatus Latest backup status of this container. string
lastRefreshedAt Time stamp when this container was refreshed. string
policyName Backup policy associated with this container. string

MABContainerHealthDetails

Name Description Value
code Health Code int
message Health Message string
recommendations Health Recommended Actions string[]
title Health Title string

Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers

Name Description Value
apiVersion The api version '2020-10-01'
eTag Optional ETag. string
location Resource location. string
name The resource name string (required)
properties ProtectionContainerResource properties ProtectionContainer
tags Resource tags Dictionary of tag names and values. See Tags in templates
type The resource type 'Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers'

ProtectionContainer

Name Description Value
backupManagementType Type of backup management for the container. 'AzureBackupServer'
'AzureIaasVM'
'AzureSql'
'AzureStorage'
'AzureWorkload'
'DefaultBackup'
'DPM'
'Invalid'
'MAB'
containerType Set to 'AzureBackupServerContainer' for type AzureBackupServerContainer. Set to 'AzureSqlContainer' for type AzureSqlContainer. Set to 'SQLAGWorkLoadContainer' for type AzureSqlagWorkloadContainerProtectionContainer. Set to 'VMAppContainer' for type AzureVMAppContainerProtectionContainer. Set to 'GenericContainer' for type GenericContainer. Set to 'Microsoft.ClassicCompute/virtualMachines' for type AzureIaaSClassicComputeVMContainer. Set to 'Microsoft.Compute/virtualMachines' for type AzureIaaSComputeVMContainer. Set to 'StorageContainer' for type AzureStorageContainer. Set to 'Windows' for type MabContainer. 'AzureBackupServerContainer'
'AzureSqlContainer'
'GenericContainer'
'Microsoft.ClassicCompute/virtualMachines'
'Microsoft.Compute/virtualMachines'
'SQLAGWorkLoadContainer'
'StorageContainer'
'VMAppContainer'
'Windows' (required)
friendlyName Friendly name of the container. string
healthStatus Status of health of the container. string
registrationStatus Status of registration of the container with the Recovery Services Vault. string

ResourceTags

Name Description Value

WorkloadInquiryDetails

Name Description Value
inquiryValidation Inquiry validation such as permissions and other backup validations. InquiryValidation
itemCount Contains the protectable item Count inside this Container. int
type Type of the Workload such as SQL, Oracle etc. string

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
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
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.

Terraform (AzAPI provider) resource definition

The vaults/backupFabrics/protectionContainers 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 resource, add the following Terraform to your template.

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers@2020-10-01"
  name = "string"
  eTag = "string"
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      backupManagementType = "string"
      friendlyName = "string"
      healthStatus = "string"
      registrationStatus = "string"
      containerType = "string"
      // For remaining properties, see ProtectionContainer objects
    }
  })
}

ProtectionContainer objects

Set the containerType property to specify the type of object.

For AzureBackupServerContainer, use:

{
  canReRegister = bool
  containerId = "string"
  containerType = "AzureBackupServerContainer"
  dpmAgentVersion = "string"
  dpmServers = [
    "string"
  ]
  extendedInfo = {
    lastRefreshedAt = "string"
  }
  protectedItemCount = int
  protectionStatus = "string"
  upgradeAvailable = bool
}

For AzureSqlContainer, use:

{
  containerType = "AzureSqlContainer"
}

For SQLAGWorkLoadContainer, use:

{
  containerType = "SQLAGWorkLoadContainer"
  extendedInfo = {
    hostServerName = "string"
    inquiryInfo = {
      errorDetail = {
      }
      inquiryDetails = [
        {
          inquiryValidation = {
            errorDetail = {
            }
            status = "string"
          }
          itemCount = int
          type = "string"
        }
      ]
      status = "string"
    }
    nodesList = [
      {
        errorDetail = {
        }
        nodeName = "string"
        status = "string"
      }
    ]
  }
  lastUpdatedTime = "string"
  operationType = "string"
  sourceResourceId = "string"
  workloadType = "string"
}

For VMAppContainer, use:

{
  containerType = "VMAppContainer"
  extendedInfo = {
    hostServerName = "string"
    inquiryInfo = {
      errorDetail = {
      }
      inquiryDetails = [
        {
          inquiryValidation = {
            errorDetail = {
            }
            status = "string"
          }
          itemCount = int
          type = "string"
        }
      ]
      status = "string"
    }
    nodesList = [
      {
        errorDetail = {
        }
        nodeName = "string"
        status = "string"
      }
    ]
  }
  lastUpdatedTime = "string"
  operationType = "string"
  sourceResourceId = "string"
  workloadType = "string"
}

For GenericContainer, use:

{
  containerType = "GenericContainer"
  extendedInformation = {
    containerIdentityInfo = {
      aadTenantId = "string"
      audience = "string"
      servicePrincipalClientId = "string"
      uniqueName = "string"
    }
    rawCertData = "string"
    serviceEndpoints = {
      {customized property} = "string"
    }
  }
  fabricName = "string"
}

For Microsoft.ClassicCompute/virtualMachines, use:

{
  containerType = "Microsoft.ClassicCompute/virtualMachines"
  resourceGroup = "string"
  virtualMachineId = "string"
  virtualMachineVersion = "string"
}

For Microsoft.Compute/virtualMachines, use:

{
  containerType = "Microsoft.Compute/virtualMachines"
  resourceGroup = "string"
  virtualMachineId = "string"
  virtualMachineVersion = "string"
}

For StorageContainer, use:

{
  containerType = "StorageContainer"
  protectedItemCount = int
  resourceGroup = "string"
  sourceResourceId = "string"
  storageAccountVersion = "string"
}

For Windows, use:

{
  agentVersion = "string"
  canReRegister = bool
  containerHealthState = "string"
  containerId = int
  containerType = "Windows"
  extendedInfo = {
    backupItems = [
      "string"
    ]
    backupItemType = "string"
    lastBackupStatus = "string"
    lastRefreshedAt = "string"
    policyName = "string"
  }
  mabContainerHealthDetails = [
    {
      code = int
      message = "string"
      recommendations = [
        "string"
      ]
      title = "string"
    }
  ]
  protectedItemCount = int
}

Property values

AzureBackupServerContainer

Name Description Value
canReRegister Specifies whether the container is re-registrable. bool
containerId ID of container. string
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'AzureBackupServerContainer' (required)
dpmAgentVersion Backup engine Agent version string
dpmServers List of BackupEngines protecting the container string[]
extendedInfo Extended Info of the container. DPMContainerExtendedInfo
protectedItemCount Number of protected items in the BackupEngine int
protectionStatus Protection status of the container. string
upgradeAvailable To check if upgrade available bool

AzureIaaSClassicComputeVMContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Microsoft.ClassicCompute/virtualMachines' (required)
resourceGroup Resource group name of Recovery Services Vault. string
virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. string
virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM. string

AzureIaaSComputeVMContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Microsoft.Compute/virtualMachines' (required)
resourceGroup Resource group name of Recovery Services Vault. string
virtualMachineId Fully qualified ARM url of the virtual machine represented by this Azure IaaS VM container. string
virtualMachineVersion Specifies whether the container represents a Classic or an Azure Resource Manager VM. string

AzureSqlagWorkloadContainerProtectionContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'SQLAGWorkLoadContainer' (required)
extendedInfo Additional details of a workload container. AzureWorkloadContainerExtendedInfo
lastUpdatedTime Time stamp when this container was updated. string
operationType Re-Do Operation 'Invalid'
'Register'
'Reregister'
sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container string
workloadType Workload type for which registration was sent. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'

AzureSqlContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'AzureSqlContainer' (required)

AzureStorageContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'StorageContainer' (required)
protectedItemCount Number of items backed up in this container. int
resourceGroup Resource group name of Recovery Services Vault. string
sourceResourceId Fully qualified ARM url. string
storageAccountVersion Storage account version. string

AzureVMAppContainerProtectionContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'VMAppContainer' (required)
extendedInfo Additional details of a workload container. AzureWorkloadContainerExtendedInfo
lastUpdatedTime Time stamp when this container was updated. string
operationType Re-Do Operation 'Invalid'
'Register'
'Reregister'
sourceResourceId ARM ID of the virtual machine represented by this Azure Workload Container string
workloadType Workload type for which registration was sent. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'

AzureWorkloadContainerExtendedInfo

Name Description Value
hostServerName Host Os Name in case of Stand Alone and Cluster Name in case of distributed container. string
inquiryInfo Inquiry Status for the container. InquiryInfo
nodesList List of the nodes in case of distributed container. DistributedNodesInfo[]

ContainerIdentityInfo

Name Description Value
aadTenantId Protection container identity - AAD Tenant string
audience Protection container identity - Audience string
servicePrincipalClientId Protection container identity - AAD Service Principal string
uniqueName Unique name of the container string

DistributedNodesInfo

Name Description Value
errorDetail Error Details if the Status is non-success. ErrorDetail
nodeName Name of the node under a distributed container. string
status Status of this Node.
Failed
Succeeded string

DPMContainerExtendedInfo

Name Description Value
lastRefreshedAt Last refresh time of the DPMContainer. string

ErrorDetail

Name Description Value

GenericContainer

Name Description Value
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'GenericContainer' (required)
extendedInformation Extended information (not returned in List container API calls) GenericContainerExtendedInfo
fabricName Name of the container's fabric string

GenericContainerExtendedInfo

Name Description Value
containerIdentityInfo Container identity information ContainerIdentityInfo
rawCertData Public key of container cert string
serviceEndpoints Azure Backup Service Endpoints for the container GenericContainerExtendedInfoServiceEndpoints

GenericContainerExtendedInfoServiceEndpoints

Name Description Value

InquiryInfo

Name Description Value
errorDetail Error Details if the Status is non-success. ErrorDetail
inquiryDetails Inquiry Details which will have workload specific details.
For e.g. - For SQL and oracle this will contain different details.
WorkloadInquiryDetails[]
status Inquiry Status for this container such as
InProgress
Failed Succeeded string

InquiryValidation

Name Description Value
errorDetail Error Detail in case the status is non-success. ErrorDetail
status Status for the Inquiry Validation. string

MabContainer

Name Description Value
agentVersion Agent version of this container. string
canReRegister Can the container be registered one more time. bool
containerHealthState Health state of mab container. string
containerId ContainerID represents the container. int
containerType Type of the container. The value of this property for: 1. Compute Azure VM is Microsoft.Compute/virtualMachines 2.
Classic Compute Azure VM is Microsoft.ClassicCompute/virtualMachines 3. Windows machines (like MAB, DPM etc) is
Windows 4. Azure SQL instance is AzureSqlContainer. 5. Storage containers is StorageContainer. 6. Azure workload
Backup is VMAppContainer
'Windows' (required)
extendedInfo Additional information for this container MabContainerExtendedInfo
mabContainerHealthDetails Health details on this mab container. MABContainerHealthDetails[]
protectedItemCount Number of items backed up in this container. int

MabContainerExtendedInfo

Name Description Value
backupItems List of backup items associated with this container. string[]
backupItemType Type of backup items associated with this container. 'AzureFileShare'
'AzureSqlDb'
'Client'
'Exchange'
'FileFolder'
'GenericDataSource'
'Invalid'
'SAPAseDatabase'
'SAPHanaDatabase'
'Sharepoint'
'SQLDataBase'
'SQLDB'
'SystemState'
'VM'
'VMwareVM'
lastBackupStatus Latest backup status of this container. string
lastRefreshedAt Time stamp when this container was refreshed. string
policyName Backup policy associated with this container. string

MABContainerHealthDetails

Name Description Value
code Health Code int
message Health Message string
recommendations Health Recommended Actions string[]
title Health Title string

Microsoft.RecoveryServices/vaults/backupFabrics/protectionContainers

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

ProtectionContainer

Name Description Value
backupManagementType Type of backup management for the container. 'AzureBackupServer'
'AzureIaasVM'
'AzureSql'
'AzureStorage'
'AzureWorkload'
'DefaultBackup'
'DPM'
'Invalid'
'MAB'
containerType Set to 'AzureBackupServerContainer' for type AzureBackupServerContainer. Set to 'AzureSqlContainer' for type AzureSqlContainer. Set to 'SQLAGWorkLoadContainer' for type AzureSqlagWorkloadContainerProtectionContainer. Set to 'VMAppContainer' for type AzureVMAppContainerProtectionContainer. Set to 'GenericContainer' for type GenericContainer. Set to 'Microsoft.ClassicCompute/virtualMachines' for type AzureIaaSClassicComputeVMContainer. Set to 'Microsoft.Compute/virtualMachines' for type AzureIaaSComputeVMContainer. Set to 'StorageContainer' for type AzureStorageContainer. Set to 'Windows' for type MabContainer. 'AzureBackupServerContainer'
'AzureSqlContainer'
'GenericContainer'
'Microsoft.ClassicCompute/virtualMachines'
'Microsoft.Compute/virtualMachines'
'SQLAGWorkLoadContainer'
'StorageContainer'
'VMAppContainer'
'Windows' (required)
friendlyName Friendly name of the container. string
healthStatus Status of health of the container. string
registrationStatus Status of registration of the container with the Recovery Services Vault. string

ResourceTags

Name Description Value

WorkloadInquiryDetails

Name Description Value
inquiryValidation Inquiry validation such as permissions and other backup validations. InquiryValidation
itemCount Contains the protectable item Count inside this Container. int
type Type of the Workload such as SQL, Oracle etc. string