Microsoft.RecoveryServices vaults/backupPolicies 2023-02-01
- Latest
- 2024-10-01
- 2024-07-30-preview
- 2024-04-30-preview
- 2024-04-01
- 2024-02-01
- 2024-01-01
- 2023-08-01
- 2023-06-01
- 2023-04-01
- 2023-02-01
- 2023-01-01
- 2022-10-01
- 2022-09-30-preview
- 2022-09-01-preview
- 2022-06-01-preview
- 2022-04-01
- 2022-03-01
- 2022-02-01
- 2022-01-01
- 2021-12-01
- 2021-10-01
- 2021-08-01
- 2021-07-01
- 2021-06-01
- 2021-04-01
- 2021-03-01
- 2021-02-10
- 2021-02-01
- 2021-02-01-preview
- 2021-01-01
- 2020-12-01
- 2020-10-01
- 2019-06-15
- 2019-05-13
- 2016-06-01
Bicep resource definition
The vaults/backupPolicies resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.RecoveryServices/vaults/backupPolicies resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.RecoveryServices/vaults/backupPolicies@2023-02-01' = {
parent: resourceSymbolicName
eTag: 'string'
location: 'string'
name: 'string'
properties: {
protectedItemsCount: int
resourceGuardOperationRequests: [
'string'
]
backupManagementType: 'string'
// For remaining properties, see ProtectionPolicy objects
}
tags: {
{customized property}: 'string'
}
}
RetentionPolicy objects
Set the retentionPolicyType property to specify the type of object.
For LongTermRetentionPolicy, use:
{
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'
]
}
retentionPolicyType: 'LongTermRetentionPolicy'
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:
{
retentionDuration: {
count: int
durationType: 'string'
}
retentionPolicyType: 'SimpleRetentionPolicy'
}
ProtectionPolicy objects
Set the backupManagementType property to specify the type of object.
For AzureIaasVM, use:
{
backupManagementType: 'AzureIaasVM'
instantRPDetails: {
azureBackupRGNamePrefix: 'string'
azureBackupRGNameSuffix: 'string'
}
instantRpRetentionRangeInDays: int
policyType: 'string'
retentionPolicy: {
retentionPolicyType: 'string'
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy: {
schedulePolicyType: 'string'
// For remaining properties, see SchedulePolicy objects
}
tieringPolicy: {
{customized property}: {
duration: int
durationType: 'string'
tieringMode: 'string'
}
}
timeZone: 'string'
}
For AzureSql, use:
{
backupManagementType: 'AzureSql'
retentionPolicy: {
retentionPolicyType: 'string'
// For remaining properties, see RetentionPolicy objects
}
}
For AzureStorage, use:
{
backupManagementType: 'AzureStorage'
retentionPolicy: {
retentionPolicyType: 'string'
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy: {
schedulePolicyType: 'string'
// For remaining properties, see SchedulePolicy objects
}
timeZone: 'string'
workLoadType: 'string'
}
For AzureWorkload, use:
{
backupManagementType: 'AzureWorkload'
makePolicyConsistent: bool
settings: {
isCompression: bool
issqlcompression: bool
timeZone: 'string'
}
subProtectionPolicy: [
{
policyType: 'string'
retentionPolicy: {
retentionPolicyType: 'string'
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy: {
schedulePolicyType: 'string'
// For remaining properties, see SchedulePolicy objects
}
tieringPolicy: {
{customized property}: {
duration: int
durationType: 'string'
tieringMode: 'string'
}
}
}
]
workLoadType: 'string'
}
For GenericProtectionPolicy, use:
{
backupManagementType: 'GenericProtectionPolicy'
fabricName: 'string'
subProtectionPolicy: [
{
policyType: 'string'
retentionPolicy: {
retentionPolicyType: 'string'
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy: {
schedulePolicyType: 'string'
// For remaining properties, see SchedulePolicy objects
}
tieringPolicy: {
{customized property}: {
duration: int
durationType: 'string'
tieringMode: 'string'
}
}
}
]
timeZone: 'string'
}
For MAB, use:
{
backupManagementType: 'MAB'
retentionPolicy: {
retentionPolicyType: 'string'
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy: {
schedulePolicyType: 'string'
// For remaining properties, see SchedulePolicy objects
}
}
SchedulePolicy objects
Set the schedulePolicyType property to specify the type of object.
For LogSchedulePolicy, use:
{
scheduleFrequencyInMins: int
schedulePolicyType: 'LogSchedulePolicy'
}
For LongTermSchedulePolicy, use:
{
schedulePolicyType: 'LongTermSchedulePolicy'
}
For SimpleSchedulePolicy, use:
{
hourlySchedule: {
interval: int
scheduleWindowDuration: int
scheduleWindowStartTime: 'string'
}
schedulePolicyType: 'SimpleSchedulePolicy'
scheduleRunDays: [
'string'
]
scheduleRunFrequency: 'string'
scheduleRunTimes: [
'string'
]
scheduleWeeklyFrequency: int
}
For SimpleSchedulePolicyV2, use:
{
dailySchedule: {
scheduleRunTimes: [
'string'
]
}
hourlySchedule: {
interval: int
scheduleWindowDuration: int
scheduleWindowStartTime: 'string'
}
schedulePolicyType: 'SimpleSchedulePolicyV2'
scheduleRunFrequency: 'string'
weeklySchedule: {
scheduleRunDays: [
'string'
]
scheduleRunTimes: [
'string'
]
}
}
Property values
AzureFileShareProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureStorage' (required) |
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
workLoadType | Type of workload for the backup management | 'AzureFileShare' 'AzureSqlDb' 'Client' 'Exchange' 'FileFolder' 'GenericDataSource' 'Invalid' 'SAPAseDatabase' 'SAPHanaDatabase' 'SAPHanaDBInstance' 'Sharepoint' 'SQLDataBase' 'SQLDB' 'SystemState' 'VM' 'VMwareVM' |
AzureIaaSVMProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureIaasVM' (required) |
instantRPDetails | InstantRPAdditionalDetails | |
instantRpRetentionRangeInDays | Instant RP retention policy range in days | int |
policyType | 'Invalid' 'V1' 'V2' |
|
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
tieringPolicy | Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier. |
AzureIaaSVMProtectionPolicyTieringPolicy |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
AzureIaaSVMProtectionPolicyTieringPolicy
Name | Description | Value |
---|
AzureSqlProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureSql' (required) |
retentionPolicy | Retention policy details. | RetentionPolicy |
AzureVmWorkloadProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureWorkload' (required) |
makePolicyConsistent | Fix the policy inconsistency | bool |
settings | Common settings for the backup management | Settings |
subProtectionPolicy | List of sub-protection policies which includes schedule and retention | SubProtectionPolicy[] |
workLoadType | Type of workload for the backup management | 'AzureFileShare' 'AzureSqlDb' 'Client' 'Exchange' 'FileFolder' 'GenericDataSource' 'Invalid' 'SAPAseDatabase' 'SAPHanaDatabase' 'SAPHanaDBInstance' 'Sharepoint' 'SQLDataBase' 'SQLDB' 'SystemState' 'VM' 'VMwareVM' |
DailyRetentionFormat
Name | Description | Value |
---|---|---|
daysOfTheMonth | List of days of the month. | Day[] |
DailyRetentionSchedule
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionTimes | Retention times of retention policy. | string[] |
DailySchedule
Name | Description | Value |
---|---|---|
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
Day
Name | Description | Value |
---|---|---|
date | Date of the month | int |
isLast | Whether Date is last date of month | bool |
GenericProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'GenericProtectionPolicy' (required) |
fabricName | Name of this policy's fabric. | string |
subProtectionPolicy | List of sub-protection policies which includes schedule and retention | SubProtectionPolicy[] |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
HourlySchedule
Name | Description | Value |
---|---|---|
interval | Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12 |
int |
scheduleWindowDuration | To specify duration of the backup window | int |
scheduleWindowStartTime | To specify start time of the backup window | string |
InstantRPAdditionalDetails
Name | Description | Value |
---|---|---|
azureBackupRGNamePrefix | string | |
azureBackupRGNameSuffix | string |
LogSchedulePolicy
Name | Description | Value |
---|---|---|
scheduleFrequencyInMins | Frequency of the log schedule operation of this policy in minutes. | int |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LogSchedulePolicy' (required) |
LongTermRetentionPolicy
Name | Description | Value |
---|---|---|
dailySchedule | Daily retention schedule of the protection policy. | DailyRetentionSchedule |
monthlySchedule | Monthly retention schedule of the protection policy. | MonthlyRetentionSchedule |
retentionPolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LongTermRetentionPolicy' (required) |
weeklySchedule | Weekly retention schedule of the protection policy. | WeeklyRetentionSchedule |
yearlySchedule | Yearly retention schedule of the protection policy. | YearlyRetentionSchedule |
LongTermSchedulePolicy
Name | Description | Value |
---|---|---|
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LongTermSchedulePolicy' (required) |
MabProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'MAB' (required) |
retentionPolicy | Retention policy details. | RetentionPolicy |
schedulePolicy | Backup schedule of backup policy. | SchedulePolicy |
Microsoft.RecoveryServices/vaults/backupPolicies
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 |
properties | ProtectionPolicyResource properties | ProtectionPolicy |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
MonthlyRetentionSchedule
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionScheduleDaily | Daily retention format for monthly retention policy. | DailyRetentionFormat |
retentionScheduleFormatType | Retention schedule format type for monthly retention policy. | 'Daily' 'Invalid' 'Weekly' |
retentionScheduleWeekly | Weekly retention format for monthly retention policy. | WeeklyRetentionFormat |
retentionTimes | Retention times of retention policy. | string[] |
ProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | Set to 'AzureIaasVM' for type AzureIaaSVMProtectionPolicy. Set to 'AzureSql' for type AzureSqlProtectionPolicy. Set to 'AzureStorage' for type AzureFileShareProtectionPolicy. Set to 'AzureWorkload' for type AzureVmWorkloadProtectionPolicy. Set to 'GenericProtectionPolicy' for type GenericProtectionPolicy. Set to 'MAB' for type MabProtectionPolicy. | 'AzureIaasVM' 'AzureSql' 'AzureStorage' 'AzureWorkload' 'GenericProtectionPolicy' 'MAB' (required) |
protectedItemsCount | Number of items associated with this policy. | int |
resourceGuardOperationRequests | ResourceGuard Operation Requests | string[] |
ResourceTags
Name | Description | Value |
---|
RetentionDuration
Name | Description | Value |
---|---|---|
count | Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks. |
int |
durationType | Retention duration type of retention policy. | 'Days' 'Invalid' 'Months' 'Weeks' 'Years' |
RetentionPolicy
Name | Description | Value |
---|---|---|
retentionPolicyType | Set to 'LongTermRetentionPolicy' for type LongTermRetentionPolicy. Set to 'SimpleRetentionPolicy' for type SimpleRetentionPolicy. | 'LongTermRetentionPolicy' 'SimpleRetentionPolicy' (required) |
SchedulePolicy
Name | Description | Value |
---|---|---|
schedulePolicyType | Set to 'LogSchedulePolicy' for type LogSchedulePolicy. Set to 'LongTermSchedulePolicy' for type LongTermSchedulePolicy. Set to 'SimpleSchedulePolicy' for type SimpleSchedulePolicy. Set to 'SimpleSchedulePolicyV2' for type SimpleSchedulePolicyV2. | 'LogSchedulePolicy' 'LongTermSchedulePolicy' 'SimpleSchedulePolicy' 'SimpleSchedulePolicyV2' (required) |
Settings
Name | Description | Value |
---|---|---|
isCompression | Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag. |
bool |
issqlcompression | SQL compression flag | bool |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
SimpleRetentionPolicy
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of the protection policy. | RetentionDuration |
retentionPolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleRetentionPolicy' (required) |
SimpleSchedulePolicy
Name | Description | Value |
---|---|---|
hourlySchedule | Hourly Schedule of this Policy | HourlySchedule |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleSchedulePolicy' (required) |
scheduleRunDays | List of days of week this schedule has to be run. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
scheduleRunFrequency | Frequency of the schedule operation of this policy. | 'Daily' 'Hourly' 'Invalid' 'Weekly' |
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
scheduleWeeklyFrequency | At every number weeks this schedule has to be run. | int |
SimpleSchedulePolicyV2
Name | Description | Value |
---|---|---|
dailySchedule | Daily schedule of this policy | DailySchedule |
hourlySchedule | hourly schedule of this policy | HourlySchedule |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleSchedulePolicyV2' (required) |
scheduleRunFrequency | Frequency of the schedule operation of this policy. | 'Daily' 'Hourly' 'Invalid' 'Weekly' |
weeklySchedule | Weekly schedule of this policy | WeeklySchedule |
SubProtectionPolicy
Name | Description | Value |
---|---|---|
policyType | Type of backup policy type | 'CopyOnlyFull' 'Differential' 'Full' 'Incremental' 'Invalid' 'Log' 'SnapshotCopyOnlyFull' 'SnapshotFull' |
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
tieringPolicy | Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier. |
SubProtectionPolicyTieringPolicy |
SubProtectionPolicyTieringPolicy
Name | Description | Value |
---|
TieringPolicy
Name | Description | Value |
---|---|---|
duration | Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter |
int |
durationType | Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter |
'Days' 'Invalid' 'Months' 'Weeks' 'Years' |
tieringMode | Tiering Mode to control automatic tiering of recovery points. Supported values are: 1. TierRecommended: Tier all recovery points recommended to be tiered 2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below. 3. DoNotTier: Do not tier any recovery points |
'DoNotTier' 'Invalid' 'TierAfter' 'TierRecommended' |
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 month. | String array containing any of: 'First' 'Fourth' 'Invalid' 'Last' 'Second' 'Third' |
WeeklyRetentionSchedule
Name | Description | Value |
---|---|---|
daysOfTheWeek | List of days of week for weekly retention policy. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionTimes | Retention times of retention policy. | string[] |
WeeklySchedule
Name | Description | Value |
---|---|---|
scheduleRunDays | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
|
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
YearlyRetentionSchedule
Name | Description | Value |
---|---|---|
monthsOfYear | List of months of year of yearly retention policy. | String array containing any of: 'April' 'August' 'December' 'February' 'Invalid' 'January' 'July' 'June' 'March' 'May' 'November' 'October' 'September' |
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionScheduleDaily | Daily retention format for yearly retention policy. | DailyRetentionFormat |
retentionScheduleFormatType | Retention schedule format for yearly retention policy. | 'Daily' 'Invalid' 'Weekly' |
retentionScheduleWeekly | Weekly retention format for yearly retention policy. | WeeklyRetentionFormat |
retentionTimes | Retention times of retention policy. | 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. |
Backup Resource Manager VMs using Recovery Services vault | 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 |
Create Daily Backup Policy for RS Vault to protect IaaSVMs | This template creates Recovery service vault and a Daily Backup Policy that can be used to protect classic and ARM based IaaS VMs. |
Create Recovery Services Vault with backup policies | This template creates a Recovery Services Vault with backup policies and configure optional features such system identity, backup storage type, cross region restore and diagnostics logs and a delete lock. |
Create Weekly Backup Policy for RS Vault to protect IaaSVMs | This template creates Recovery service vault and a Daily Backup Policy that can be used to protect classic and ARM based IaaS VMs. |
ARM template resource definition
The vaults/backupPolicies resource type can be deployed with operations that target:
- Resource groups - See resource group deployment commands
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.RecoveryServices/vaults/backupPolicies resource, add the following JSON to your template.
{
"type": "Microsoft.RecoveryServices/vaults/backupPolicies",
"apiVersion": "2023-02-01",
"name": "string",
"eTag": "string",
"location": "string",
"properties": {
"protectedItemsCount": "int",
"resourceGuardOperationRequests": [ "string" ],
"backupManagementType": "string"
// For remaining properties, see ProtectionPolicy objects
},
"tags": {
"{customized property}": "string"
}
}
RetentionPolicy objects
Set the retentionPolicyType property to specify the type of object.
For LongTermRetentionPolicy, use:
{
"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" ]
},
"retentionPolicyType": "LongTermRetentionPolicy",
"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:
{
"retentionDuration": {
"count": "int",
"durationType": "string"
},
"retentionPolicyType": "SimpleRetentionPolicy"
}
ProtectionPolicy objects
Set the backupManagementType property to specify the type of object.
For AzureIaasVM, use:
{
"backupManagementType": "AzureIaasVM",
"instantRPDetails": {
"azureBackupRGNamePrefix": "string",
"azureBackupRGNameSuffix": "string"
},
"instantRpRetentionRangeInDays": "int",
"policyType": "string",
"retentionPolicy": {
"retentionPolicyType": "string"
// For remaining properties, see RetentionPolicy objects
},
"schedulePolicy": {
"schedulePolicyType": "string"
// For remaining properties, see SchedulePolicy objects
},
"tieringPolicy": {
"{customized property}": {
"duration": "int",
"durationType": "string",
"tieringMode": "string"
}
},
"timeZone": "string"
}
For AzureSql, use:
{
"backupManagementType": "AzureSql",
"retentionPolicy": {
"retentionPolicyType": "string"
// For remaining properties, see RetentionPolicy objects
}
}
For AzureStorage, use:
{
"backupManagementType": "AzureStorage",
"retentionPolicy": {
"retentionPolicyType": "string"
// For remaining properties, see RetentionPolicy objects
},
"schedulePolicy": {
"schedulePolicyType": "string"
// For remaining properties, see SchedulePolicy objects
},
"timeZone": "string",
"workLoadType": "string"
}
For AzureWorkload, use:
{
"backupManagementType": "AzureWorkload",
"makePolicyConsistent": "bool",
"settings": {
"isCompression": "bool",
"issqlcompression": "bool",
"timeZone": "string"
},
"subProtectionPolicy": [
{
"policyType": "string",
"retentionPolicy": {
"retentionPolicyType": "string"
// For remaining properties, see RetentionPolicy objects
},
"schedulePolicy": {
"schedulePolicyType": "string"
// For remaining properties, see SchedulePolicy objects
},
"tieringPolicy": {
"{customized property}": {
"duration": "int",
"durationType": "string",
"tieringMode": "string"
}
}
}
],
"workLoadType": "string"
}
For GenericProtectionPolicy, use:
{
"backupManagementType": "GenericProtectionPolicy",
"fabricName": "string",
"subProtectionPolicy": [
{
"policyType": "string",
"retentionPolicy": {
"retentionPolicyType": "string"
// For remaining properties, see RetentionPolicy objects
},
"schedulePolicy": {
"schedulePolicyType": "string"
// For remaining properties, see SchedulePolicy objects
},
"tieringPolicy": {
"{customized property}": {
"duration": "int",
"durationType": "string",
"tieringMode": "string"
}
}
}
],
"timeZone": "string"
}
For MAB, use:
{
"backupManagementType": "MAB",
"retentionPolicy": {
"retentionPolicyType": "string"
// For remaining properties, see RetentionPolicy objects
},
"schedulePolicy": {
"schedulePolicyType": "string"
// For remaining properties, see SchedulePolicy objects
}
}
SchedulePolicy objects
Set the schedulePolicyType property to specify the type of object.
For LogSchedulePolicy, use:
{
"scheduleFrequencyInMins": "int",
"schedulePolicyType": "LogSchedulePolicy"
}
For LongTermSchedulePolicy, use:
{
"schedulePolicyType": "LongTermSchedulePolicy"
}
For SimpleSchedulePolicy, use:
{
"hourlySchedule": {
"interval": "int",
"scheduleWindowDuration": "int",
"scheduleWindowStartTime": "string"
},
"schedulePolicyType": "SimpleSchedulePolicy",
"scheduleRunDays": [ "string" ],
"scheduleRunFrequency": "string",
"scheduleRunTimes": [ "string" ],
"scheduleWeeklyFrequency": "int"
}
For SimpleSchedulePolicyV2, use:
{
"dailySchedule": {
"scheduleRunTimes": [ "string" ]
},
"hourlySchedule": {
"interval": "int",
"scheduleWindowDuration": "int",
"scheduleWindowStartTime": "string"
},
"schedulePolicyType": "SimpleSchedulePolicyV2",
"scheduleRunFrequency": "string",
"weeklySchedule": {
"scheduleRunDays": [ "string" ],
"scheduleRunTimes": [ "string" ]
}
}
Property values
AzureFileShareProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureStorage' (required) |
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
workLoadType | Type of workload for the backup management | 'AzureFileShare' 'AzureSqlDb' 'Client' 'Exchange' 'FileFolder' 'GenericDataSource' 'Invalid' 'SAPAseDatabase' 'SAPHanaDatabase' 'SAPHanaDBInstance' 'Sharepoint' 'SQLDataBase' 'SQLDB' 'SystemState' 'VM' 'VMwareVM' |
AzureIaaSVMProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureIaasVM' (required) |
instantRPDetails | InstantRPAdditionalDetails | |
instantRpRetentionRangeInDays | Instant RP retention policy range in days | int |
policyType | 'Invalid' 'V1' 'V2' |
|
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
tieringPolicy | Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier. |
AzureIaaSVMProtectionPolicyTieringPolicy |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
AzureIaaSVMProtectionPolicyTieringPolicy
Name | Description | Value |
---|
AzureSqlProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureSql' (required) |
retentionPolicy | Retention policy details. | RetentionPolicy |
AzureVmWorkloadProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureWorkload' (required) |
makePolicyConsistent | Fix the policy inconsistency | bool |
settings | Common settings for the backup management | Settings |
subProtectionPolicy | List of sub-protection policies which includes schedule and retention | SubProtectionPolicy[] |
workLoadType | Type of workload for the backup management | 'AzureFileShare' 'AzureSqlDb' 'Client' 'Exchange' 'FileFolder' 'GenericDataSource' 'Invalid' 'SAPAseDatabase' 'SAPHanaDatabase' 'SAPHanaDBInstance' 'Sharepoint' 'SQLDataBase' 'SQLDB' 'SystemState' 'VM' 'VMwareVM' |
DailyRetentionFormat
Name | Description | Value |
---|---|---|
daysOfTheMonth | List of days of the month. | Day[] |
DailyRetentionSchedule
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionTimes | Retention times of retention policy. | string[] |
DailySchedule
Name | Description | Value |
---|---|---|
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
Day
Name | Description | Value |
---|---|---|
date | Date of the month | int |
isLast | Whether Date is last date of month | bool |
GenericProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'GenericProtectionPolicy' (required) |
fabricName | Name of this policy's fabric. | string |
subProtectionPolicy | List of sub-protection policies which includes schedule and retention | SubProtectionPolicy[] |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
HourlySchedule
Name | Description | Value |
---|---|---|
interval | Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12 |
int |
scheduleWindowDuration | To specify duration of the backup window | int |
scheduleWindowStartTime | To specify start time of the backup window | string |
InstantRPAdditionalDetails
Name | Description | Value |
---|---|---|
azureBackupRGNamePrefix | string | |
azureBackupRGNameSuffix | string |
LogSchedulePolicy
Name | Description | Value |
---|---|---|
scheduleFrequencyInMins | Frequency of the log schedule operation of this policy in minutes. | int |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LogSchedulePolicy' (required) |
LongTermRetentionPolicy
Name | Description | Value |
---|---|---|
dailySchedule | Daily retention schedule of the protection policy. | DailyRetentionSchedule |
monthlySchedule | Monthly retention schedule of the protection policy. | MonthlyRetentionSchedule |
retentionPolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LongTermRetentionPolicy' (required) |
weeklySchedule | Weekly retention schedule of the protection policy. | WeeklyRetentionSchedule |
yearlySchedule | Yearly retention schedule of the protection policy. | YearlyRetentionSchedule |
LongTermSchedulePolicy
Name | Description | Value |
---|---|---|
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LongTermSchedulePolicy' (required) |
MabProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'MAB' (required) |
retentionPolicy | Retention policy details. | RetentionPolicy |
schedulePolicy | Backup schedule of backup policy. | SchedulePolicy |
Microsoft.RecoveryServices/vaults/backupPolicies
Name | Description | Value |
---|---|---|
apiVersion | The api version | '2023-02-01' |
eTag | Optional ETag. | string |
location | Resource location. | string |
name | The resource name | string (required) |
properties | ProtectionPolicyResource properties | ProtectionPolicy |
tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
type | The resource type | 'Microsoft.RecoveryServices/vaults/backupPolicies' |
MonthlyRetentionSchedule
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionScheduleDaily | Daily retention format for monthly retention policy. | DailyRetentionFormat |
retentionScheduleFormatType | Retention schedule format type for monthly retention policy. | 'Daily' 'Invalid' 'Weekly' |
retentionScheduleWeekly | Weekly retention format for monthly retention policy. | WeeklyRetentionFormat |
retentionTimes | Retention times of retention policy. | string[] |
ProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | Set to 'AzureIaasVM' for type AzureIaaSVMProtectionPolicy. Set to 'AzureSql' for type AzureSqlProtectionPolicy. Set to 'AzureStorage' for type AzureFileShareProtectionPolicy. Set to 'AzureWorkload' for type AzureVmWorkloadProtectionPolicy. Set to 'GenericProtectionPolicy' for type GenericProtectionPolicy. Set to 'MAB' for type MabProtectionPolicy. | 'AzureIaasVM' 'AzureSql' 'AzureStorage' 'AzureWorkload' 'GenericProtectionPolicy' 'MAB' (required) |
protectedItemsCount | Number of items associated with this policy. | int |
resourceGuardOperationRequests | ResourceGuard Operation Requests | string[] |
ResourceTags
Name | Description | Value |
---|
RetentionDuration
Name | Description | Value |
---|---|---|
count | Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks. |
int |
durationType | Retention duration type of retention policy. | 'Days' 'Invalid' 'Months' 'Weeks' 'Years' |
RetentionPolicy
Name | Description | Value |
---|---|---|
retentionPolicyType | Set to 'LongTermRetentionPolicy' for type LongTermRetentionPolicy. Set to 'SimpleRetentionPolicy' for type SimpleRetentionPolicy. | 'LongTermRetentionPolicy' 'SimpleRetentionPolicy' (required) |
SchedulePolicy
Name | Description | Value |
---|---|---|
schedulePolicyType | Set to 'LogSchedulePolicy' for type LogSchedulePolicy. Set to 'LongTermSchedulePolicy' for type LongTermSchedulePolicy. Set to 'SimpleSchedulePolicy' for type SimpleSchedulePolicy. Set to 'SimpleSchedulePolicyV2' for type SimpleSchedulePolicyV2. | 'LogSchedulePolicy' 'LongTermSchedulePolicy' 'SimpleSchedulePolicy' 'SimpleSchedulePolicyV2' (required) |
Settings
Name | Description | Value |
---|---|---|
isCompression | Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag. |
bool |
issqlcompression | SQL compression flag | bool |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
SimpleRetentionPolicy
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of the protection policy. | RetentionDuration |
retentionPolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleRetentionPolicy' (required) |
SimpleSchedulePolicy
Name | Description | Value |
---|---|---|
hourlySchedule | Hourly Schedule of this Policy | HourlySchedule |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleSchedulePolicy' (required) |
scheduleRunDays | List of days of week this schedule has to be run. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
scheduleRunFrequency | Frequency of the schedule operation of this policy. | 'Daily' 'Hourly' 'Invalid' 'Weekly' |
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
scheduleWeeklyFrequency | At every number weeks this schedule has to be run. | int |
SimpleSchedulePolicyV2
Name | Description | Value |
---|---|---|
dailySchedule | Daily schedule of this policy | DailySchedule |
hourlySchedule | hourly schedule of this policy | HourlySchedule |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleSchedulePolicyV2' (required) |
scheduleRunFrequency | Frequency of the schedule operation of this policy. | 'Daily' 'Hourly' 'Invalid' 'Weekly' |
weeklySchedule | Weekly schedule of this policy | WeeklySchedule |
SubProtectionPolicy
Name | Description | Value |
---|---|---|
policyType | Type of backup policy type | 'CopyOnlyFull' 'Differential' 'Full' 'Incremental' 'Invalid' 'Log' 'SnapshotCopyOnlyFull' 'SnapshotFull' |
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
tieringPolicy | Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier. |
SubProtectionPolicyTieringPolicy |
SubProtectionPolicyTieringPolicy
Name | Description | Value |
---|
TieringPolicy
Name | Description | Value |
---|---|---|
duration | Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter |
int |
durationType | Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter |
'Days' 'Invalid' 'Months' 'Weeks' 'Years' |
tieringMode | Tiering Mode to control automatic tiering of recovery points. Supported values are: 1. TierRecommended: Tier all recovery points recommended to be tiered 2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below. 3. DoNotTier: Do not tier any recovery points |
'DoNotTier' 'Invalid' 'TierAfter' 'TierRecommended' |
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 month. | String array containing any of: 'First' 'Fourth' 'Invalid' 'Last' 'Second' 'Third' |
WeeklyRetentionSchedule
Name | Description | Value |
---|---|---|
daysOfTheWeek | List of days of week for weekly retention policy. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionTimes | Retention times of retention policy. | string[] |
WeeklySchedule
Name | Description | Value |
---|---|---|
scheduleRunDays | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
|
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
YearlyRetentionSchedule
Name | Description | Value |
---|---|---|
monthsOfYear | List of months of year of yearly retention policy. | String array containing any of: 'April' 'August' 'December' 'February' 'Invalid' 'January' 'July' 'June' 'March' 'May' 'November' 'October' 'September' |
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionScheduleDaily | Daily retention format for yearly retention policy. | DailyRetentionFormat |
retentionScheduleFormatType | Retention schedule format for yearly retention policy. | 'Daily' 'Invalid' 'Weekly' |
retentionScheduleWeekly | Weekly retention format for yearly retention policy. | WeeklyRetentionFormat |
retentionTimes | Retention times of retention policy. | string[] |
Quickstart templates
The following quickstart templates deploy this resource type.
Template | 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. |
Backup Resource Manager VMs using Recovery Services vault |
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 |
Create Daily Backup Policy for RS Vault to protect IaaSVMs |
This template creates Recovery service vault and a Daily Backup Policy that can be used to protect classic and ARM based IaaS VMs. |
Create Recovery Services Vault with backup policies |
This template creates a Recovery Services Vault with backup policies and configure optional features such system identity, backup storage type, cross region restore and diagnostics logs and a delete lock. |
Create Weekly Backup Policy for RS Vault to protect IaaSVMs |
This template creates Recovery service vault and a Daily Backup Policy that can be used to protect classic and ARM based IaaS VMs. |
Terraform (AzAPI provider) resource definition
The vaults/backupPolicies 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/backupPolicies resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.RecoveryServices/vaults/backupPolicies@2023-02-01"
name = "string"
eTag = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = jsonencode({
properties = {
protectedItemsCount = int
resourceGuardOperationRequests = [
"string"
]
backupManagementType = "string"
// For remaining properties, see ProtectionPolicy objects
}
})
}
RetentionPolicy objects
Set the retentionPolicyType property to specify the type of object.
For LongTermRetentionPolicy, use:
{
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"
]
}
retentionPolicyType = "LongTermRetentionPolicy"
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:
{
retentionDuration = {
count = int
durationType = "string"
}
retentionPolicyType = "SimpleRetentionPolicy"
}
ProtectionPolicy objects
Set the backupManagementType property to specify the type of object.
For AzureIaasVM, use:
{
backupManagementType = "AzureIaasVM"
instantRPDetails = {
azureBackupRGNamePrefix = "string"
azureBackupRGNameSuffix = "string"
}
instantRpRetentionRangeInDays = int
policyType = "string"
retentionPolicy = {
retentionPolicyType = "string"
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy = {
schedulePolicyType = "string"
// For remaining properties, see SchedulePolicy objects
}
tieringPolicy = {
{customized property} = {
duration = int
durationType = "string"
tieringMode = "string"
}
}
timeZone = "string"
}
For AzureSql, use:
{
backupManagementType = "AzureSql"
retentionPolicy = {
retentionPolicyType = "string"
// For remaining properties, see RetentionPolicy objects
}
}
For AzureStorage, use:
{
backupManagementType = "AzureStorage"
retentionPolicy = {
retentionPolicyType = "string"
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy = {
schedulePolicyType = "string"
// For remaining properties, see SchedulePolicy objects
}
timeZone = "string"
workLoadType = "string"
}
For AzureWorkload, use:
{
backupManagementType = "AzureWorkload"
makePolicyConsistent = bool
settings = {
isCompression = bool
issqlcompression = bool
timeZone = "string"
}
subProtectionPolicy = [
{
policyType = "string"
retentionPolicy = {
retentionPolicyType = "string"
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy = {
schedulePolicyType = "string"
// For remaining properties, see SchedulePolicy objects
}
tieringPolicy = {
{customized property} = {
duration = int
durationType = "string"
tieringMode = "string"
}
}
}
]
workLoadType = "string"
}
For GenericProtectionPolicy, use:
{
backupManagementType = "GenericProtectionPolicy"
fabricName = "string"
subProtectionPolicy = [
{
policyType = "string"
retentionPolicy = {
retentionPolicyType = "string"
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy = {
schedulePolicyType = "string"
// For remaining properties, see SchedulePolicy objects
}
tieringPolicy = {
{customized property} = {
duration = int
durationType = "string"
tieringMode = "string"
}
}
}
]
timeZone = "string"
}
For MAB, use:
{
backupManagementType = "MAB"
retentionPolicy = {
retentionPolicyType = "string"
// For remaining properties, see RetentionPolicy objects
}
schedulePolicy = {
schedulePolicyType = "string"
// For remaining properties, see SchedulePolicy objects
}
}
SchedulePolicy objects
Set the schedulePolicyType property to specify the type of object.
For LogSchedulePolicy, use:
{
scheduleFrequencyInMins = int
schedulePolicyType = "LogSchedulePolicy"
}
For LongTermSchedulePolicy, use:
{
schedulePolicyType = "LongTermSchedulePolicy"
}
For SimpleSchedulePolicy, use:
{
hourlySchedule = {
interval = int
scheduleWindowDuration = int
scheduleWindowStartTime = "string"
}
schedulePolicyType = "SimpleSchedulePolicy"
scheduleRunDays = [
"string"
]
scheduleRunFrequency = "string"
scheduleRunTimes = [
"string"
]
scheduleWeeklyFrequency = int
}
For SimpleSchedulePolicyV2, use:
{
dailySchedule = {
scheduleRunTimes = [
"string"
]
}
hourlySchedule = {
interval = int
scheduleWindowDuration = int
scheduleWindowStartTime = "string"
}
schedulePolicyType = "SimpleSchedulePolicyV2"
scheduleRunFrequency = "string"
weeklySchedule = {
scheduleRunDays = [
"string"
]
scheduleRunTimes = [
"string"
]
}
}
Property values
AzureFileShareProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureStorage' (required) |
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
workLoadType | Type of workload for the backup management | 'AzureFileShare' 'AzureSqlDb' 'Client' 'Exchange' 'FileFolder' 'GenericDataSource' 'Invalid' 'SAPAseDatabase' 'SAPHanaDatabase' 'SAPHanaDBInstance' 'Sharepoint' 'SQLDataBase' 'SQLDB' 'SystemState' 'VM' 'VMwareVM' |
AzureIaaSVMProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureIaasVM' (required) |
instantRPDetails | InstantRPAdditionalDetails | |
instantRpRetentionRangeInDays | Instant RP retention policy range in days | int |
policyType | 'Invalid' 'V1' 'V2' |
|
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
tieringPolicy | Tiering policy to automatically move RPs to another tier Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier. |
AzureIaaSVMProtectionPolicyTieringPolicy |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
AzureIaaSVMProtectionPolicyTieringPolicy
Name | Description | Value |
---|
AzureSqlProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureSql' (required) |
retentionPolicy | Retention policy details. | RetentionPolicy |
AzureVmWorkloadProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'AzureWorkload' (required) |
makePolicyConsistent | Fix the policy inconsistency | bool |
settings | Common settings for the backup management | Settings |
subProtectionPolicy | List of sub-protection policies which includes schedule and retention | SubProtectionPolicy[] |
workLoadType | Type of workload for the backup management | 'AzureFileShare' 'AzureSqlDb' 'Client' 'Exchange' 'FileFolder' 'GenericDataSource' 'Invalid' 'SAPAseDatabase' 'SAPHanaDatabase' 'SAPHanaDBInstance' 'Sharepoint' 'SQLDataBase' 'SQLDB' 'SystemState' 'VM' 'VMwareVM' |
DailyRetentionFormat
Name | Description | Value |
---|---|---|
daysOfTheMonth | List of days of the month. | Day[] |
DailyRetentionSchedule
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionTimes | Retention times of retention policy. | string[] |
DailySchedule
Name | Description | Value |
---|---|---|
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
Day
Name | Description | Value |
---|---|---|
date | Date of the month | int |
isLast | Whether Date is last date of month | bool |
GenericProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'GenericProtectionPolicy' (required) |
fabricName | Name of this policy's fabric. | string |
subProtectionPolicy | List of sub-protection policies which includes schedule and retention | SubProtectionPolicy[] |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
HourlySchedule
Name | Description | Value |
---|---|---|
interval | Interval at which backup needs to be triggered. For hourly the value can be 4/6/8/12 |
int |
scheduleWindowDuration | To specify duration of the backup window | int |
scheduleWindowStartTime | To specify start time of the backup window | string |
InstantRPAdditionalDetails
Name | Description | Value |
---|---|---|
azureBackupRGNamePrefix | string | |
azureBackupRGNameSuffix | string |
LogSchedulePolicy
Name | Description | Value |
---|---|---|
scheduleFrequencyInMins | Frequency of the log schedule operation of this policy in minutes. | int |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LogSchedulePolicy' (required) |
LongTermRetentionPolicy
Name | Description | Value |
---|---|---|
dailySchedule | Daily retention schedule of the protection policy. | DailyRetentionSchedule |
monthlySchedule | Monthly retention schedule of the protection policy. | MonthlyRetentionSchedule |
retentionPolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LongTermRetentionPolicy' (required) |
weeklySchedule | Weekly retention schedule of the protection policy. | WeeklyRetentionSchedule |
yearlySchedule | Yearly retention schedule of the protection policy. | YearlyRetentionSchedule |
LongTermSchedulePolicy
Name | Description | Value |
---|---|---|
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'LongTermSchedulePolicy' (required) |
MabProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'MAB' (required) |
retentionPolicy | Retention policy details. | RetentionPolicy |
schedulePolicy | Backup schedule of backup policy. | SchedulePolicy |
Microsoft.RecoveryServices/vaults/backupPolicies
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 |
properties | ProtectionPolicyResource properties | ProtectionPolicy |
tags | Resource tags | Dictionary of tag names and values. |
type | The resource type | "Microsoft.RecoveryServices/vaults/backupPolicies@2023-02-01" |
MonthlyRetentionSchedule
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionScheduleDaily | Daily retention format for monthly retention policy. | DailyRetentionFormat |
retentionScheduleFormatType | Retention schedule format type for monthly retention policy. | 'Daily' 'Invalid' 'Weekly' |
retentionScheduleWeekly | Weekly retention format for monthly retention policy. | WeeklyRetentionFormat |
retentionTimes | Retention times of retention policy. | string[] |
ProtectionPolicy
Name | Description | Value |
---|---|---|
backupManagementType | Set to 'AzureIaasVM' for type AzureIaaSVMProtectionPolicy. Set to 'AzureSql' for type AzureSqlProtectionPolicy. Set to 'AzureStorage' for type AzureFileShareProtectionPolicy. Set to 'AzureWorkload' for type AzureVmWorkloadProtectionPolicy. Set to 'GenericProtectionPolicy' for type GenericProtectionPolicy. Set to 'MAB' for type MabProtectionPolicy. | 'AzureIaasVM' 'AzureSql' 'AzureStorage' 'AzureWorkload' 'GenericProtectionPolicy' 'MAB' (required) |
protectedItemsCount | Number of items associated with this policy. | int |
resourceGuardOperationRequests | ResourceGuard Operation Requests | string[] |
ResourceTags
Name | Description | Value |
---|
RetentionDuration
Name | Description | Value |
---|---|---|
count | Count of duration types. Retention duration is obtained by the counting the duration type Count times. For example, when Count = 3 and DurationType = Weeks, retention duration will be three weeks. |
int |
durationType | Retention duration type of retention policy. | 'Days' 'Invalid' 'Months' 'Weeks' 'Years' |
RetentionPolicy
Name | Description | Value |
---|---|---|
retentionPolicyType | Set to 'LongTermRetentionPolicy' for type LongTermRetentionPolicy. Set to 'SimpleRetentionPolicy' for type SimpleRetentionPolicy. | 'LongTermRetentionPolicy' 'SimpleRetentionPolicy' (required) |
SchedulePolicy
Name | Description | Value |
---|---|---|
schedulePolicyType | Set to 'LogSchedulePolicy' for type LogSchedulePolicy. Set to 'LongTermSchedulePolicy' for type LongTermSchedulePolicy. Set to 'SimpleSchedulePolicy' for type SimpleSchedulePolicy. Set to 'SimpleSchedulePolicyV2' for type SimpleSchedulePolicyV2. | 'LogSchedulePolicy' 'LongTermSchedulePolicy' 'SimpleSchedulePolicy' 'SimpleSchedulePolicyV2' (required) |
Settings
Name | Description | Value |
---|---|---|
isCompression | Workload compression flag. This has been added so that 'isSqlCompression' will be deprecated once clients upgrade to consider this flag. |
bool |
issqlcompression | SQL compression flag | bool |
timeZone | TimeZone optional input as string. For example: TimeZone = "Pacific Standard Time". | string |
SimpleRetentionPolicy
Name | Description | Value |
---|---|---|
retentionDuration | Retention duration of the protection policy. | RetentionDuration |
retentionPolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleRetentionPolicy' (required) |
SimpleSchedulePolicy
Name | Description | Value |
---|---|---|
hourlySchedule | Hourly Schedule of this Policy | HourlySchedule |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleSchedulePolicy' (required) |
scheduleRunDays | List of days of week this schedule has to be run. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
scheduleRunFrequency | Frequency of the schedule operation of this policy. | 'Daily' 'Hourly' 'Invalid' 'Weekly' |
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
scheduleWeeklyFrequency | At every number weeks this schedule has to be run. | int |
SimpleSchedulePolicyV2
Name | Description | Value |
---|---|---|
dailySchedule | Daily schedule of this policy | DailySchedule |
hourlySchedule | hourly schedule of this policy | HourlySchedule |
schedulePolicyType | This property will be used as the discriminator for deciding the specific types in the polymorphic chain of types. | 'SimpleSchedulePolicyV2' (required) |
scheduleRunFrequency | Frequency of the schedule operation of this policy. | 'Daily' 'Hourly' 'Invalid' 'Weekly' |
weeklySchedule | Weekly schedule of this policy | WeeklySchedule |
SubProtectionPolicy
Name | Description | Value |
---|---|---|
policyType | Type of backup policy type | 'CopyOnlyFull' 'Differential' 'Full' 'Incremental' 'Invalid' 'Log' 'SnapshotCopyOnlyFull' 'SnapshotFull' |
retentionPolicy | Retention policy with the details on backup copy retention ranges. | RetentionPolicy |
schedulePolicy | Backup schedule specified as part of backup policy. | SchedulePolicy |
tieringPolicy | Tiering policy to automatically move RPs to another tier. Key is Target Tier, defined in RecoveryPointTierType enum. Tiering policy specifies the criteria to move RP to the target tier. |
SubProtectionPolicyTieringPolicy |
SubProtectionPolicyTieringPolicy
Name | Description | Value |
---|
TieringPolicy
Name | Description | Value |
---|---|---|
duration | Number of days/weeks/months/years to retain backups in current tier before tiering. Used only if TieringMode is set to TierAfter |
int |
durationType | Retention duration type: days/weeks/months/years Used only if TieringMode is set to TierAfter |
'Days' 'Invalid' 'Months' 'Weeks' 'Years' |
tieringMode | Tiering Mode to control automatic tiering of recovery points. Supported values are: 1. TierRecommended: Tier all recovery points recommended to be tiered 2. TierAfter: Tier all recovery points after a fixed period, as specified in duration + durationType below. 3. DoNotTier: Do not tier any recovery points |
'DoNotTier' 'Invalid' 'TierAfter' 'TierRecommended' |
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 month. | String array containing any of: 'First' 'Fourth' 'Invalid' 'Last' 'Second' 'Third' |
WeeklyRetentionSchedule
Name | Description | Value |
---|---|---|
daysOfTheWeek | List of days of week for weekly retention policy. | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionTimes | Retention times of retention policy. | string[] |
WeeklySchedule
Name | Description | Value |
---|---|---|
scheduleRunDays | String array containing any of: 'Friday' 'Monday' 'Saturday' 'Sunday' 'Thursday' 'Tuesday' 'Wednesday' |
|
scheduleRunTimes | List of times of day this schedule has to be run. | string[] |
YearlyRetentionSchedule
Name | Description | Value |
---|---|---|
monthsOfYear | List of months of year of yearly retention policy. | String array containing any of: 'April' 'August' 'December' 'February' 'Invalid' 'January' 'July' 'June' 'March' 'May' 'November' 'October' 'September' |
retentionDuration | Retention duration of retention Policy. | RetentionDuration |
retentionScheduleDaily | Daily retention format for yearly retention policy. | DailyRetentionFormat |
retentionScheduleFormatType | Retention schedule format for yearly retention policy. | 'Daily' 'Invalid' 'Weekly' |
retentionScheduleWeekly | Weekly retention format for yearly retention policy. | WeeklyRetentionFormat |
retentionTimes | Retention times of retention policy. | string[] |