Microsoft.RecoveryServices vaults/backupPolicies 2016-06-01

The vaults/backupPolicies resource type can be deployed to: Resource groups.

To learn about resource group deployments, see Bicep or ARM template.

Template format

To create a Microsoft.RecoveryServices/vaults/backupPolicies resource, add the following Bicep or JSON to your template.

resource symbolicname 'Microsoft.RecoveryServices/vaults/backupPolicies@2016-06-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  parent: parentSymbolicName
  eTag: 'string'
  properties: {
    protectedItemsCount: int
    backupManagementType: 'string'
    // For remaining properties, see ProtectionPolicy objects
  }
}

ProtectionPolicy objects

Set the backupManagementType property to specify the type of object.

For AzureIaasVM, use:

  backupManagementType: 'AzureIaasVM'
  retentionPolicy: {
    retentionPolicyType: 'string'
    // For remaining properties, see RetentionPolicy objects
  }
  schedulePolicy: {
    schedulePolicyType: 'string'
    // For remaining properties, see SchedulePolicy objects
  }

For AzureSql, use:

  backupManagementType: 'AzureSql'
  retentionPolicy: {
    retentionPolicyType: 'string'
    // For remaining properties, see RetentionPolicy objects
  }

For MAB, use:

  backupManagementType: 'MAB'
  retentionPolicy: {
    retentionPolicyType: 'string'
    // For remaining properties, see RetentionPolicy objects
  }
  schedulePolicy: {
    schedulePolicyType: 'string'
    // For remaining properties, see SchedulePolicy objects
  }

RetentionPolicy objects

Set the retentionPolicyType property to specify the type of object.

For LongTermRetentionPolicy, use:

  retentionPolicyType: 'LongTermRetentionPolicy'
  dailySchedule: {
    retentionDuration: {
      count: int
      durationType: 'string'
    }
    retentionTimes: [ 'string' ]
  }
  monthlySchedule: {
    retentionDuration: {
      count: int
      durationType: 'string'
    }
    retentionScheduleDaily: {
      daysOfTheMonth: [
        {
          date: int
          isLast: bool
        }
      ]
    }
    retentionScheduleFormatType: 'string'
    retentionScheduleWeekly: {
      daysOfTheWeek: [ 'string' ]
      weeksOfTheMonth: [ 'string' ]
    }
    retentionTimes: [ 'string' ]
  }
  weeklySchedule: {
    daysOfTheWeek: [ 'string' ]
    retentionDuration: {
      count: int
      durationType: 'string'
    }
    retentionTimes: [ 'string' ]
  }
  yearlySchedule: {
    monthsOfYear: [ 'string' ]
    retentionDuration: {
      count: int
      durationType: 'string'
    }
    retentionScheduleDaily: {
      daysOfTheMonth: [
        {
          date: int
          isLast: bool
        }
      ]
    }
    retentionScheduleFormatType: 'string'
    retentionScheduleWeekly: {
      daysOfTheWeek: [ 'string' ]
      weeksOfTheMonth: [ 'string' ]
    }
    retentionTimes: [ 'string' ]
  }

For SimpleRetentionPolicy, use:

  retentionPolicyType: 'SimpleRetentionPolicy'
  retentionDuration: {
    count: int
    durationType: 'string'
  }

SchedulePolicy objects

Set the schedulePolicyType property to specify the type of object.

For LongTermSchedulePolicy, use:

  schedulePolicyType: 'LongTermSchedulePolicy'

For SimpleSchedulePolicy, use:

  schedulePolicyType: 'SimpleSchedulePolicy'
  scheduleRunDays: [ 'string' ]
  scheduleRunFrequency: 'string'
  scheduleRunTimes: [ 'string' ]
  scheduleWeeklyFrequency: int

Property values

vaults/backupPolicies

Name Description Value
type The resource type

For Bicep, set this value in the resource declaration.
'Microsoft.RecoveryServices/vaults/backupPolicies'
apiVersion The resource api version

For Bicep, set this value in the resource declaration.
'2016-06-01'
name The resource name

See how to set names and types for child resources in Bicep or JSON ARM templates.
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.
parentSymbolicName
eTag Optional ETag. string
properties The base class for a backup policy. Workload-specific backup policies are derived from this class. ProtectionPolicy

ProtectionPolicy

Name Description Value
protectedItemsCount The number of items associated with this policy. int
backupManagementType Set the object type AzureIaasVM
AzureSql
MAB

AzureIaaSVMProtectionPolicy

Name Description Value
backupManagementType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'AzureIaasVM'
retentionPolicy The base class for retention policy. RetentionPolicy
schedulePolicy The base class for backup schedules. SchedulePolicy

RetentionPolicy

Name Description Value
retentionPolicyType Set the object type LongTermRetentionPolicy
SimpleRetentionPolicy

LongTermRetentionPolicy

Name Description Value
retentionPolicyType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'LongTermRetentionPolicy'
dailySchedule Daily retention schedule. DailyRetentionSchedule
monthlySchedule The monthly retention schedule. MonthlyRetentionSchedule
weeklySchedule Weekly retention schedule. WeeklyRetentionSchedule
yearlySchedule Yearly retention schedule. YearlyRetentionSchedule

DailyRetentionSchedule

Name Description Value
retentionDuration Retention duration. RetentionDuration
retentionTimes The retention times of retention policy. string[]

RetentionDuration

Name Description Value
count Count of the duration types. Retention duration is determined by the combining the Count times and durationType.
For example, if Count = 3 and durationType = Weeks, then the retention duration is three weeks.
int
durationType The retention duration type of the retention policy. 'Days'
'Invalid'
'Months'
'Weeks'
'Years'

MonthlyRetentionSchedule

Name Description Value
retentionDuration Retention duration. RetentionDuration
retentionScheduleDaily Daily retention format. DailyRetentionFormat
retentionScheduleFormatType Retention schedule format type for monthly retention policy. 'Daily'
'Invalid'
'Weekly'
retentionScheduleWeekly Weekly retention format. WeeklyRetentionFormat
retentionTimes Retention times of the retention policy. string[]

DailyRetentionFormat

Name Description Value
daysOfTheMonth List of days of the month. Day[]

Day

Name Description Value
date int
isLast bool

WeeklyRetentionFormat

Name Description Value
daysOfTheWeek List of days of the week. String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
weeksOfTheMonth List of weeks of the month. String array containing any of:
'First'
'Fourth'
'Last'
'Second'
'Third'

WeeklyRetentionSchedule

Name Description Value
daysOfTheWeek List of the days of the week for the weekly retention policy. String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
retentionDuration Retention duration. RetentionDuration
retentionTimes Retention times of the retention policy. string[]

YearlyRetentionSchedule

Name Description Value
monthsOfYear List of the months of year for the yearly retention policy. String array containing any of:
'April'
'August'
'December'
'February'
'Invalid'
'January'
'July'
'June'
'March'
'May'
'November'
'October'
'September'
retentionDuration Retention duration. RetentionDuration
retentionScheduleDaily Daily retention format. DailyRetentionFormat
retentionScheduleFormatType Retention schedule format type for monthly retention policy. 'Daily'
'Invalid'
'Weekly'
retentionScheduleWeekly Weekly retention format. WeeklyRetentionFormat
retentionTimes Retention times for the retention policy. string[]

SimpleRetentionPolicy

Name Description Value
retentionPolicyType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'SimpleRetentionPolicy'
retentionDuration Retention duration. RetentionDuration

SchedulePolicy

Name Description Value
schedulePolicyType Set the object type LongTermSchedulePolicy
SimpleSchedulePolicy

LongTermSchedulePolicy

Name Description Value
schedulePolicyType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'LongTermSchedulePolicy'

SimpleSchedulePolicy

Name Description Value
schedulePolicyType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'SimpleSchedulePolicy'
scheduleRunDays This list is the days of the week when the schedule runs. String array containing any of:
'Friday'
'Monday'
'Saturday'
'Sunday'
'Thursday'
'Tuesday'
'Wednesday'
scheduleRunFrequency Defines the frequency interval (daily or weekly) for the schedule policy. 'Daily'
'Invalid'
'Weekly'
scheduleRunTimes List of times, during a day, when the schedule runs. string[]
scheduleWeeklyFrequency The number of times per week the schedule runs. int

AzureSqlProtectionPolicy

Name Description Value
backupManagementType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'AzureSql'
retentionPolicy The base class for retention policy. RetentionPolicy

MabProtectionPolicy

Name Description Value
backupManagementType This property is used as the discriminator for deciding the specific types in the polymorphic chain of types. 'MAB'
retentionPolicy The base class for retention policy. RetentionPolicy
schedulePolicy The base class for backup schedules. SchedulePolicy

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Backup existing File Share using Recovery Services

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.
Create Daily Backup Policy for RS Vault to protect IaaSVMs

Deploy to Azure
This template creates Recovery service vault and a Daily Backup Policy that can be used to protect classic and ARM based IaaS VMs.
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
Create Weekly Backup Policy for RS Vault to protect IaaSVMs

Deploy to Azure
This template creates Recovery service vault and a Daily Backup Policy that can be used to protect classic and ARM based IaaS VMs.